NEWS
Nur eine Lampe ein- und ausschalten...
-
@homoran
Danke sehr. Vielleicht lässt sich der alte ungültige Beitrag entfernen oder mit einer Warnung versehen? -
Wenn Du den zigbee Adapter nutzt dann siehst Du ja über welchen Datenpunkt Du das ansteuerst also einen Boolean im state Datenpunkt. Ich denke da hast Du noch weitere Datenpunkte drunter. Erst wenn Du weißt wie Du im iobroker schaltest nimmst Du die iobroker out node und schickst die gleiche payload als command an den Datenpunkt.
Also erst mal überprüfen bzw. screenshot welchen Datenpunkt Du im iobroker schaltest.
-
@mickym
Danke, der Hinweis auf "Boolean" hat es geklärt. Funktioniert jetzt.Für alle, die wie ich bei den ersten Versuchen mit ioBroker und node red sind:
-
2 injects einrichten, einer für on und liefert über msg.payload den Boolean-Wert true, der andere für off mit dem Wert false.
-
Im ioBroker out als Topic zigbee.0.a4c1xxxxxx.state eintragen.
toggle geht anscheinend nur mit einer Funktion - oder geht es doch einfacher? Egal, funktioniert jetzt auch.
Ich habe in der Docu nach node red gesucht und keinen Eintrag gefunden - gibt es da wirklich keinen?
-
-
@gregor37 sagte in Nur eine Lampe ein- und ausschalten...:
zigbee.0.a4c1xxxxxx.state
Wenn Du togglen willst musst halt einfach den state Datenpunkt auslesen und den Boolean verneinen:
-
@mickym
Ja, ist soweit klar. Aber die Lampe selbst versteht toggle.
Mit zigbee2mqtt kann ich {state:"toggle"} direkt senden, ohne get und change. Geht offenbar hier nicht direkt - oder habe ich etwas übersehen? -
@gregor37 Ja wenn Du zigbee2mqtt nehmen würdest, dann ging das - aber Du verwendest ja den zigbee Adapter.
Der interpretiert und übersetzt. Des einen Fluch des anderen Freud. Deswegen nutze ich diese Adapter alle nicht.
-
@mickym Danke - mir geht es darum, die Zusammenhänge und Unterschiede zu klären.
-
@gregor37 Wenn Du reines mqtt mit dem zigbee-Adapter verwendest, dann setzt Du eben auch Objekte wie
{"state":"on"}, der zigbee-Adapter macht daraus aber ein true und ein false:
Ich nutze eben reines mqtt und zigbee2mqtt, dann sieht das so aus, wie Du beschrieben hast.
Ich nutze auch keinen Shelly oder Sonoff Adapter, da ich alle Geräte die mqtt sprechen lieber gemäß der Originaldokumentation anspreche.
-
@mickym said in Nur eine Lampe ein- und ausschalten...:
@gregor37 Wenn Du reines mqtt mit dem zigbee-Adapter verwendest, dann setzt Du eben auch Objekte wie
{"state":"on"}, der zigbee-Adapter macht daraus aber ein true und ein false:
Ich nutze eben reines mqtt und zigbee2mqtt, dann sieht das so aus, wie Du beschrieben hast.
Ich nutze auch keinen Shelly oder Sonoff Adapter, da ich alle Geräte die mqtt sprechen lieber gemäß der Originaldokumentation anspreche.
Ich denke, ich werde das auch so machen. zigbee2mqtt kenne ich ja schon. Interessant wäre, welche der Varianten (ioBroker in, ioBroker out oder zigbee2mqtt) effizienter sind.
-
@gregor37 Das eine hat mit dem anderen nichts zu tun.
Du kannst über Node-Red mit den iobroker-IN und iobroker-OUT Nodes die Datenpunkte im iobroker beschreiben egal wo.
Das zigbee2mqtt hängt nun davon ab, wie Du es verwendest zusammen mit dem iobroker:
- Wenn Du einen externen mqtt-broker verwendest (zum Beispiel) mosquitto bekommst Du die Datenpunkte in den iobroker mit dem mqtt-Adapter als Client konfiguriert. (so habe ich es gemacht).
- Wenn Du den mqtt-Adapter als Broker definierst, dann hast Du die datenpunkte direkt und kannst den Broker auch direkt ansprechen.
Aus Node-Red kannst Du alle (fast) Datenpunkte im iobroker, via der iobroker Nodes ansprechen, bei mqtt (als zigbee2mqtt) auch noch mit den mqtt-Nodes.
Es gibt auch noch einen neuen zigbee2mqtt Adapter, der entweder selbst als mqtt-Broker agiert oder (vorbildlich !) auch einen externen mqtt-Broker nutzen kann. Damit werde die Datenpunkte wieder interpretiert, man kann aber ggf. auch direkt via mqtt zugreifen.
Die Fragen stellt sich also nicht, welche Nodes Du verwendest, sondern eher ob Du lieber den zigbee-Adapter oder zigbee2mqtt verwenden willst. Ich bin aus mehrfach schon erwähnten Gründen auf zigbee2mqtt umgestiegen, da ich auch den Conbee2 Stick als Koordinator verwende, der von den zigbee Adapter Entwicklern anfangs nicht voll unterstützt wurde. Inzwischen mag das besser sein.
Der zigbee-Adapter greift aber letztlich anscheinend auch nur auf das zurück, was zigbee2mqtt anbietet. Aber wie gesagt, das hat alles nichts mit den Nodes bzw. NodeRed zu tun. NodeRed spielt hier was die Effizienz betrifft gar keine Rolle, sondern eher die ausführende Schickt (zigbee-Adapter oder zigbee2mqtt Service).