NEWS
Werte aus Iobroker mit fremdem Node Red auslesen
-
Hallo,
ich habe folgendes vor. Ich baue einen Batteriespeicher mit einem Victron VenusOS auf.
Dieses VenusOS bringt ein eigenes Node Red mit um Daten einzulesen.
Da ich all meine Daten bereist im Iobroker habe würde ich diese gern auslesen oder übergeben.
Wie macht man sowas am geschicktesten? -
@joeysch
Ich würde den simple api Adapter verwenden -
@joeysch Alternativ könntest Du auch auf Basis des mqtt-Adapters einen eigenen MQTT-Broker erstellen in den Du mit den mqtt-Nodes reinschreibst.
-
-
@joeysch Dann verpasst Du ihm halt einen anderen Port.
-
@mickym
Dann muß ich an allen Tasmota Geräten den Port von 1883 auf XXXX ändern und das sind eine ganze Menge.
Ausserdem laufen einige Daten über Wemos D1 und Tasmota, die müsste ich dann aus dem Sonof rausnehmen.
Welchen Vorteil hätte der MQTT den gegenüber dem Simple Api? -
@joeysch Du kannst doch auch dem mqtt Adapter einen anderen Port zuweisen. Eventuell könntest Du die topics in den MQTT dynamisch nutzen. Aber wie gesagt - muss nicht sein, wenn Du nicht willst. Simple-Api geht ja auch - musst halt dann mit http-request Nodes arbeiten.
-
@mickym
Kannst du mir mal bitte auf die Sprüng helfen.
Ich habe bereits deine Erklärungen zum MQTT gelesen und auch soweit verstanden.
Wo ich noch hänge ist, ich möchte einen Datenpunkt von einem vorhandenen Sonoff Gerät mit Node Red
auslesen. Ich habe einen MQTT-In Node mit "sonoff.0.Smart Meter.MT681_Power_cur" erzeugt. Jetzt erzeugt dder Broker
einen neuen Datenpunkt im Verzeichnis MQTT mit diesem Namen, wenn ich hier den Wert ändere bekomme ihn auch in Node Red angezeigt.
Wie sage ich dem Broker welche Datenpunkte er bereitstellen soll oder muss ich z.B. per Blockly den neu erzeugten Datenpunkt füttern? -
@joeysch Der Client sagt dem Broker welche Datenpunkte ihn interessieren. Wenn Du mit einer mqtt-in Node den topic subscribed hast dann hört er auch darauf. Das heißt dem Broker sagst Du gar nichts, sondern der Client sagt, was ihn interessiert. Wenn der MQTT-Adapter Dein Broker ist, kannst Du die Punkte mit Blockly speisen, Du kannst aber auch dem MQTT-Adapter sagen, dass er die Datenpunkte eines anderen Adapters unter einem Topic speichern soll. Du kannst also theoretisch alle Datenpunkte eines Adapters publishen, aber hier muss man sehr vorsichtig sein, sonst hat man schnell Endlosschleifen insbesondere wenn der MQTT-Adapter Zustände und alles mögliche published. Da eher aufpassen. Ich kann nur sagen - der Broker ist nur passiv.
-
@mickym
Genau hier ist das Problem, ich weiß nicht wie ich ihm das sage.
Das hier sind Datenpunkte die ich gern auslesen würde.
Das habe ich im Node stehen.
Dann legt er das an und wenn ich der Wert ändere wird er auch sofort übernommen.
Kann ich nicht direkt auf die obigen Werte zugreifen? Wenn ja wie? -
@joeysch Nein auf die oberen Werte kann er nicht zugreifen, da der Sonoff zwar einen mqtt-Broker emuliert, sicher aber nicht wie einer verhält. Deshalb kannst Du auch über NR nicht darauf zugreifen. Am sinnvollsten wäre halt ohne Sonoff Adapter zu arbeiten - aber das Thema werde ich nicht mehr diskutieren. Sonoff-Adapter ist KEIN mqtt-Broker.
-
@mickym
Ok dann wäre eine Möglichkeit, für jeden DP ein Node anzulegen und diesen DP dann per Blockly permanent zu aktualisieren. -
@joeysch Ich dachte Du hast doch den mqtt so konfiguriert, dass er die sonoff Datenpunkte unter dem mqtt- Adapter spiegelt? Bin jetzt aber bis 23 Uhr erst mal off. das geht doch in beide Richtungen. Aus dem mqtt- zum Sonoff kannst Du ja dann im mqtt-ändern.
-
@mickym
Ich bin noch am rumspielen um mich in das Thema einzuarbeiten.