NEWS
Datenpunkte eines anderen IoBrokers anzeigen
-
Guten Morgen,
ich habe 2 RaspBerry PI und auf beiden läuft IoBroker. Der PI mit 8 GB ist mein Produktivsystem und der mit 4 GB mein Testsystem.
Auf meinem Produktivsystem habe ich auch VIS laufen und dort eine View in dem BackItUp dargestellt wird. Die Vorlage dieser View ist von @sigi234 und klappt auch alles super.
Kann man es hinbekommen das ich auch die Daten vom BackItUp das Testsystems dort eingebunden bekomme? Kann man irgendwie Aliase oder Datenpunkte erstellen die auf ein zweites System verweisen?
Im Netz hab ich dazu nix gefunden.Gruß JoJo
-
@jojo58 exportiere die Datenpunkte mit mqtt über eigenen Präfix. Auf dem Produktivsystem hast du entweder den Broker oder ein mqtt-Client und externen Broker
-
@mickym Ich glaub ich weiß was du meinst. Allerdings habe ich mich mit mqtt noch garnicht beschäftig. Hab zwar 2 Shelly, aber die sind über den Shelly Adapter verbunden.
Werde mich bei Gelegenheit mal damit beschäftigen. Danke für deine Hilfe.
JoJo
-
@jojo58 Auf deiner exportierenden Seite,
kannst Du dann (bei mir der tr-064 Adapter bei dir den backup Adapter) als eigene States angeben. Du musst zwingend ein Präfix (bei mir iobroker - kannst nehmen was Du willst) angeben unter dem findest Du die DP vom Testsystem.Du musst Zustände publishen - deswegen darf das Teil nichts subscriben.
-
@mickym Muss ich dann auf beiden den Broker installieren? Auf dem Testsystem, damit der sendet und auf dem Anderen dann, damit der das annehmen kann?
-
@jojo58 Du installierst denselben Adapter - auf dem Hauptsystem als Broker - auf dem exportierenden System - also Testsystem - als Client.
Der Adapter lässt sich als Client wie als Broker betreiben. Mit dem Client auf dem Testsystem stellst Du zum Broker auf dem Prodsystem die Verbindung her.
Auf der Broker-Seite - musst du gar nichts konfigurieren - alle Haken rausmachen. Auf der Clientseite siehe Screenshot
-
@mickym Stimmt, da war was. Muss mir die Anleitung von Matthias Kleine noch mal ansehen, dann komme ich damit klar.
Weißt du ob man damit auch json übermitteln kann? Die BackItUp History ist ja ein json und es wäre cool wenn ich die auch kriegen könnte. Wenn nicht und ich bekomme "nur" die aktuellen DP, kann ich damit auch leben. -
@jojo58 json werden immer als JSON Strings transportiert. Eine Spezialität von MQTT
-
@jojo58 Nur der Vollständigkeit halber: Wenn es nur um einige wenige Werte gibt, die Du übertragen möchtest, kannst Du das auch per Script auf dem ioBroker mit den Werten machen und die Daten per SimpleAPI in Datenpunkte unter 0_userdata auf dem "Haupt" ioBroker schreiben
-
-
@bahnuhr Das habe ich bewusst nicht erwähnt, weil man das ja nicht mehr machen sollte.
-
@ahnungsbefreit sagte in Datenpunkte eines anderen IoBrokers anzeigen:
weil man das ja nicht mehr machen sollte.
Und diese Aussage ist falsch.
Es gilt auch hier weiterhin:
userdata geht
javascript geht auchIch habe noch nirgends gelesen, dass man auf userdata gehen soll !
-
@bahnuhr @Ahnungsbefreit
Es sind nur 3 oder 4 Datenpunkte (sitze gerade nicht am Rechner) und da wäre es mit Script wahrscheinlich einfacher, wenn man es denn könnte. Ich habe von scripten absolut keinen Plan.
Wenn mir jemand so ein Script zur Verfügung stellen kann, wäre das natürlich okay, ansonsten werde ich es über mqtt machen.
Wahrscheinlich ist mqtt für mich sinnvoller, kann es dann bei Bedarf erweitern und zusätzliche Daten übertragen, ohne jedesmal um Hilfe zu bitten. Hoffe ich zumindest.
Schweeere Entscheidung… -
@bahnuhr said in Datenpunkte eines anderen IoBrokers anzeigen:
Ich habe noch nirgends gelesen, dass man auf userdata gehen soll
Ich schon, finde aber gerade die Quelle nicht.
-
@jojo58
Adapter installieren:
Doku lesen:
https://github.com/ioBroker/ioBroker.simple-api/blob/master/README.mdDP schreibst du z.B. mit:
http://ipaddress:8087/set/javascript.0.test?value=1oder als js so:
var request = require ('request'); request('http://ipaddress:8087/set/javascript.0.test?value=1"}');
(nicht getestet, müsste aber so funktionieren)
Wenn nicht; dann nochmal melden. -
mqtt ist am Einfachsten - ansonsten ist NodeRed noch eine einfachere Alternative als simpleApi
-
@bahnuhr Ich hab mir jetzt die README durchgelesen und es verwirrt mich alles. Ich werde es morgen installieren und ausprobieren. Sage dann Bescheid wie es klappt.
-
@jojo58
Eigentlich ist es ganz einfach.Beispiel:
du hast 2 x iob
primär: IP ...10
test: IP ..20Jetzt willst du ja Daten senden von dem test iob zum primär iob
Also muss auf dem primär simpli api installiert sein; denn dort willst du ja empfangen.
Und das script muss laufen auf dem test iob denn der sendet ja an die IP des primär. -
@bahnuhr
Moin, mit dem übertragen der Daten das funktioniert soweit schon mal. In deiner Scriptzeile ist wohl eine geschweifte Klammer und einmal Anführungszeichen zuviel oder zuwenig drin.Ich habe in Blockly eine Funktion erstellt und die Zeilen eingetragen.
var request = require ('request'); request('http://192.168.1.14:8087/set/0_userdata.0.BackItUp_4GB.iobrokerSuccess?value=test');
Wie du siehst habe ich mir einen Ordner unter Userdata und den Datenpunkt angelegt. Was im Script hinter Value steht, wird auch übertragen und gesetzt.
Wie kriege ich es jetzt hin, das der Wert aus einem bestehenden Datenpunkt genommen wird? Wie beispielsweise:backitup.0.history.iobrokerLastTime (ist String)
backitup.0.history.iobrokerSuccess (ist boolean)
backitup.0.history.json (ist json)Bin etwas ratlos...
-
var request = require ('request'); on({id: "DP der sich ändert"}, function (obj) { request("http://ipaddress:8087/set/javascript.0.test?value=" + obj.state.val); });