NEWS
Nur eine Lampe ein- und ausschalten...
-
@gregor37 diese Doku ist seit 2018 vom Netz
-
@homoran
Danke - ich habe node red iobroker in Google eingegeben und bin als Erstes auf diese Seite gekommen.Ich arbeite zwar schon länger mit Node Red, habe aber erst vorgestern mit ioBroker und Node Red begonnen,
Wo finde ich denn etwas aktuelles?Die eigentliche Frage lautet:
Ich will eine Lampe über inject ansteuern. Der Flow hat zwei Einträge. inject und ioBroker out.Ohne ioBroker habe ich bisher in inject unter msg.payload den JSON-Wert {"state":"toggle"} geschrieben.
Mit ioBroker:
In ioBroker out steht als Topic zigbee.0.a4c1386b06b043b6
Die Lampe lässt sich über die Zigbee-Instanz von Hand ein- und ausschalten. Wo finde ich Hinweise, wie ich jetzt vorzugehen habe?Danke im voraus!
-
@gregor37 sagte in Node red doku: jpeg-Files nicht erreichbar:
als Erstes auf diese Seite gekommen.
und einen Beitrag von
@gregor37 sagte in Node red doku: jpeg-Files nicht erreichbar:
uploads/2015/04/iobroker
solltest du sowieso nicht mehr anwenden.
Da sind inzwischen Welten zwischen.@gregor37 sagte in Node red doku: jpeg-Files nicht erreichbar:
Wo finde ich denn etwas aktuelles?
hier in der Menüleiste ist ein Link zur Doku
@gregor37 sagte in Node red doku: jpeg-Files nicht erreichbar:
Die eigentliche Frage lautet:
Ich will eine Lampe über inject ansteuern. Der Flow hat zwei Einträge. inject und ioBroker out.dann bist du hier aber vollkommen falsch!
hier meldet man sich wenn man an der Doku mitschreiben willich verschiebe das mal, damit man das auch findet.
-
@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).