NEWS
Node-Red Skript an iobroker anpassen
-
Hallo zusammen,
ich bin dabei, mir eine Dosieranlage für den Pool zu bauen und möchte dabei, ein Skript inkl. Dashboard aus einem Forum nutzen.
Das ursprüngliche Skript steuert und holt sich die relevanten Daten jeweils per MQTT ab. Ich würde das Ganze aber gerne so anpassen, dass er die Daten direkt aus den Datenpunkten im Iobroker holt.
Nun, gibt es ja die ioBroker-Befehlen. Allerdings leuchten mir die Erklärungen nicht so recht ein.
Vielleicht kann mir hier jemand helfen, wann man welchen "Befehl" nimmt oder auch gerne einen Link teilen, wo das alles verständlich erklärt ist.
-
@bf0911 Wenn Du den NodeRed Adapter verwendest, dann hast Du entsprechende Nodes. Falls Du ein externes Node-Red hast, dann exportiere Deine Flows und importiere es in das Node-Red des iobroker Adapters. Lösche anschließend Deine externe Node-Red Instanz, falls es auf der gleichen Maschine liegt.
Ansonsten falls NodeRed auf einer anderen Maschine läuft kannst Du entweder über die simpleAPI und HTTP mit dem iobroker kommunizieren. Oder Du baust über den NodeRed Adapter ein Webserver auf und kommunizierst mit Deinem externen NodeRed über HTTP.
-
Ja, das habe ich bereits gemacht. Node-Red läuft als Adapter im iobroker.
Mir ging es eher darum, wann ich ein "iobroker in", wann ein "iobroker get", wann ein "iobroker out" nehmen.
Denn soweit ich das verstanden habe, muss ich ja die MQTT-Befehle durch die oben genannten ersetzen und anpassen.
-
@bf0911 Mit iobroker-IN werden die Werte, sobald sie getriggert werden (aktualisiert) den Flow anstossen, das ist wie mqtt-IN.
Mit iobroker-OUT wird die payload in einen Datenpunkt geschrieben. Ist wie mqtt-Out.
Mit iobroker-GET kannst Du innerhalb eines Flows (also ohne Trigger) den Wert eines Datenpunktes aktiv holen - zum Beispiel wenn Du nicht über den Kontext gehen willst und 2 Werte miteinander vergleichen willst.
-
Heißt also, zum Schalten von Geräte nutze ich in und qour und für die Anzeige von Werten, wie Leistung etc, dann den get?!
-
@bf0911 Zum schalten SCHREIBST Du in einem Datenpunkt also iobroker-OUT und zwar mit Type: "command".
Zum Anzeigen im Dashboard zeigst Du die payload an, die entweder aus der iobroker-IN Node kommt (getriggert) oder du sie aktiv holst (mit get-Node)
-
Danke für die Ausführungen.
Ich merke schon, dass das "umschreiben" nicht so einfach wird, wie gedacht.
Es wurden auch offensichtlich diverse Variable per MQTT definiert und abgefragt
-
@bf0911 Ich verstehe auch nicht warum Du MQTT nicht behälst. Auch im Node-Red Adapter im iobroker kannst Du über die mqtt-Nodes direkt auf einen mqtt Broker zugreifen.
-
Weil ich der Meinung bin/war, dass das Doppel-Gemoppel ist. Z. B. Die Shelly plus sind ja schon per Mqtt im Shelly Adapter hinterlegt.
Das zweite Problem ist, dass Mqtt für mich ein weiteres Neuland ist
-
@bf0911 OK - zu den Adaptern habe ich meine eigene Meinung, da sie meist einen mqtt-Broker simulieren und Du darauf angewiesen bist, dass die Geräte unterstützt werden. Aber mag Geschmackssache sein, da JSONS nicht jedermanns Sache sind. Aber gerade NodeRed unterstützt Objekte wesentlich besser als Blockly.
Da der reiner mqtt-Adapter aber auch Probleme hat nutze ich mosquitto als Broker und subscribe alles im iobroker mit dem mqtt-Adapter. Jedenfalls braucht man dann nicht für jeden Broker adapter einen eigenen Port.
Der mqtt-Adapter als Broker macht öfter mal Spirenzchen, deswegen bevorzuge ich den mosquitto und nutze den mqtt-Adapter als Client.
Da ist dann alles drin und ich brauche keinen Shelly, keinen Sonoff, keinen Fhem, keinen owntracks Adapter - da ich alles was mqtt spricht auch unverfälscht empfangen will und nicht darauf angewiesen sein möchte, das es richtig interpretiert wird. Wenn Du einen externen mqtt Broker nutzt - kann man halt den mqtt Adapter als zusätzliche Fehlerquelle ausschließen.
Aber das ist Geschmackssache und Du wirst hier an Board genügend Leute finden, die stürzen sich auf jeden Adapter, den es gibt.
-
Mosquitto hat ich mal für 5 Minuten auf Proxmox installiert, allerdings bin ich da nicht ganz so durchgestiegen.
Kannst du irgendwas zum lesen diesbezüglich empfehlen?
Geben die Geräte z. B. die Topics vor oder kann ich die vorgeben?
-
@bf0911 Generell bekommst Du von dem Broker nicht viel mit und der verteilt nur die Nachrichten
Geben die Geräte z. B. die Topics vor oder kann ich die vorgeben?
Derjenige der Informationen published, gibt die Topics vor bzw. darauf wird gehört. In der Regel geben die Geräte vor, was sie publishen und worauf sie hören.
Für eigene Zwecke ohne Geräte kannst Du aber veröffentlichen was Du willst.
Die offizielle Doku ist hier: https://mosquitto.org/documentation/
Hier eine kleine Installationsanleitung, die mosquitto-clients brauchst Du nicht.
https://www.elektronik-kompendium.de/sites/raspberry-pi/2709041.htm
Testen kannst Du ja mit NodeRed