Zigbee2mqtt mit Tradfri-LED

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
OpenHAB_Anwender
Beiträge: 7
Registriert: 27. Sep 2019 12:55
Answers: 0

Zigbee2mqtt mit Tradfri-LED

Beitrag von OpenHAB_Anwender »

Hallo zusammen,
ich komme leider bei meinem aktuellen Projekt nicht weiter und habe somit zwei Fragen zur Verwendung eines Zigbee2mqtt-Sticks im Zusammenhang mit den Ikea-Tradfri-Komponenten:

1. Obwohl ich eine Color-LED mit dem Stick gepairt habe, wird mir in der Publish-Nachricht keine Farbeigenschaft angezeigt. Somit ist es mir wahrscheinlich nicht möglich die die Farbe über Zigbee2mqtt-Stick zu ändern, oder? Bei den zu findenden Beispielen wurde immer nur ein Switch ("state") und ein Dimmer ("brightness") verwendet.

Betriebsmittel: Ikea Tradfri color

Code: Alles auswählen

zigbee2mqtt:info  2019-12-16T09:20:29: Tradfri_Tischleuchte (0xccccccfffe93f751): LED1624G9 - IKEA TRADFRI LED bulb E14/E26/E27 600 lumen, dimmable, color, opal white (Router)
Payload des Betriebsmittels:

Code: Alles auswählen

zigbee2mqtt:info  2019-12-16T09:20:29: MQTT publish: topic 'zigbee2mqtt/Tradfri_Tischleuchte', payload {"state":"ON","brightness":47,"device":{"friendlyName":"Tradfri_Tischleuchte","ieeeAddr":"0xccccccfffe93f751","networkAddress":1523,"type":"Router","manufacturerID":4476,"manufacturerName":"IKEA of Sweden","powerSource":"Mains (single phase)","applicationVersion":17,"stackVersion":87,"zclVersion":1,"hardwareVersion":1,"dateCode":"20170315","softwareBuildID":"1.3.002"}}
Payload Tradfri.PNG

2. Leider funktioniert das Schalten der Color-LED nicht korrekt (Dimmfunktion funktioniert). Dies liegt an der Syntax, da die Ansteuerung über MQTT.fx-Software mittels "publish" funktioniert.
Anstatt eines { \"state\": \"ON\" } oder eines { \"state\": \"OFF\" } wird nur eine 1 bzw. eine 0 übergeben. Es sieht so aus als wenn die "tradfri.js" nicht aufgerufen wird, aber ich weiß nicht warum. Bei der Helligkeit ist die Ausgabe korrekt und die Funktion gegeben.
Tradfri subscribe set brightness (korrekt):
Tradfri subscribe set brightness.PNG
Tradfri subscribe set state (nicht korrekt):
Tradfri subscribe set state.PNG
Hier die things-Datei

Code: Alles auswählen

Thing mqtt:topic:Tradfri_Tischleuchte "Tischleuchte" {
    Channels:
Type switch : Tradfri_switch "Tischleuchte Switch" [ stateTopic="zigbee2mqtt/Tradfri_Tischleuchte", commandTopic="zigbee2mqtt/Tradfri_Tischleuchte/set", transformationPattern="JSONPATH:$.state", transformationPatternOut="JS:tradfri.js"]
Type dimmer : dimmer "Tischleuchte Dimmer" [ stateTopic="zigbee2mqtt/Tradfri_Tischleuchte", commandTopic="zigbee2mqtt/Tradfri_Tischleuchte/set", min=0, max=254, step=1, transformationPattern="JSONPATH:$.brightness", formatBeforePublish="{   \"brightness\": %s }" ]//transformationPatternOut="JS:openhabdimmer2zigbeebridge.js", transformationPattern="JS:tradfri2openhab.js" ]
    }
Hier die tradfri.js:

Code: Alles auswählen

(function(x) {
    var result = "";
    if (x == '1' || x == 'ON') {
        result="{ \"state\": \"ON\" }";
    } else {
        result="{ \"state\": \"OFF\" }";
    }
    return result;
})(input)
Hier die item-Datei:

Code: Alles auswählen

//Tradfri
Switch Tradfri_Tischleuchte "Tischleuchte [%s]"     { channel="mqtt:topic:Tradfri_Tischleuchte:Tradfri_switch" }
Dimmer Tradfri_Dimmer "Dimmer Tischleuchte [%.1f]"  { channel="mqtt:topic:Tradfri_Tischleuchte:dimmer"}
Vielen Dank für eure Unterstützung!
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

PeterK
Beiträge: 1
Registriert: 2. Jan 2020 15:09
Answers: 0

Re: Zigbee2mqtt mit Tradfri-LED

Beitrag von PeterK »

Hi,

zu 1. hast du über MQTT.fx mal ausgelesen was die Lampe an Daten liefert?
z.B. Subscribe zigbee2mqtt/#
Bei mir kamen nicht sofort alle Daten über Zigbee, erst nach ein paar Minuten tauchten dann vollständig alle Payloads auf.

zu 2. Wenn die Scripts im Transforming nicht zu funktionieren scheinen dann prüfe mal ob du JavaScripting in openHAB installiert hast.


Gruß
Peter

Benutzeravatar
udo1toni
Beiträge: 15248
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Zigbee2mqtt mit Tradfri-LED

Beitrag von udo1toni »

Du könntest auch versuchen, statt der outgoingTransformation einfach die beiden Parameter on und off zu setzen.

Code: Alles auswählen

Type switch : Tradfri_switch "Tischleuchte Switch" [ stateTopic="zigbee2mqtt/Tradfri_Tischleuchte",  commandTopic="zigbee2mqtt/Tradfri_Tischleuchte/set", transformationPattern="JSONPATH:$.state",  on="{ \"state\": \"ON\" }", off="{ \"state\": \"OFF\" }" ]
Rest müsste eigntlich auch so passen
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Zigbee2mqtt mit Tradfri-LED

Beitrag von sihui »

OpenHAB_Anwender hat geschrieben: 16. Dez 2019 11:34 Farbeigenschaft
... oder du nutzt die folgende neue Funktion von zigbee2mqtt:

Code: Alles auswählen

experimental:
  output: attribute
und wirst damit alle Transformationsprobleme los.

Die grundlegende Anleitung dazu findet man hier:

https://community.openhab.org/t/zigbee2 ... ions/86362

und wenn du dich da durchgewühlt hast nimmst du ganz weit unten diesen Post bezüglich Color:

https://community.openhab.org/t/zigbee2 ... 54?u=sihui
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

Antworten