NEWS
Node-RED Nodes für externe ioBroker Integration
-
@mickym sagte in Node-RED Nodes für externe ioBroker Integration:
und das Erstellen von Datenpunkten mit der automatischen Generierung der Hierarchien steht noch aus.
Ja, das steht als Nächstes auf der Todo List, ich benutze das nicht.
-
@mickym sagte in Node-RED Nodes für externe ioBroker Integration:
Wenn man "cleared" und anschließend "refreshed" dann scheint das Aktualisieren zu funktionieren.
Okay, das war ein Browser-Cache Thema. Die 0.4.4 sollte dies fixen und die neu geladenen Daten in jedem Fall an den Browser durchreichen. Nach dem Laden des Updates unbedingt den Cache löschen, es sollte der Text oben angezeigt werden.
In der 0.4.4 wurden auch noch ein paar Edge Cases bzgl. der Verbindung zum ioBroker angegangen. Bisher war es u.a. noch so, dass der ioBroker zum Start von Node RED laufen musste. Jetzt wird auch unabhängig davon der Verbindungsaufbau versucht.
-
@mickym sagte in Node-RED Nodes für externe ioBroker Integration:
Ich hatte in der Vergangenheit oft das Gefühl, dass das IOB Team zum einen deswegen die interne Adapterlösung verwendet haben, da es ggf. geringerer Aufwand ist
Es IST natürlich ein viel geringerer Aufwand. Ca. 90% der Entwicklungsarbeit für die externen Nodes gingen in den Test und das Handling der verschiedenen potentiellen Connection-Probleme, Token Ablauf Erneuerung (bei aktivierter Authentifizierung) inkl. der dann jeweils zu erneuernden Subscriptions, Node-Status-Texte, etc.
Beim Adapter ist die Gleichung im Vergleich recht einfach: "Wenn ioBroker aus, dann auch Node RED". Und für 99% aller Nutzer ist der Adapter auch die bessere Lösung.
und das es vielleicht strategisch nicht gewollt ist, ein API von außen zugänglich zu machen.
Im Ernst? Bei der Anzahl der zur Verfügung stehenden Schnittstellen (REST API, Simple API, Websocket, socket.io, ...)?
-
@marc-berg sagte in Node-RED Nodes für externe ioBroker Integration:
@mickym sagte in Node-RED Nodes für externe ioBroker Integration:
Wenn man "cleared" und anschließend "refreshed" dann scheint das Aktualisieren zu funktionieren.
Okay, das war ein Browser-Cache Thema. Die 0.4.4 sollte dies fixen und die neu geladenen Daten in jedem Fall an den Browser durchreichen. Nach dem Laden des Updates unbedingt den Cache löschen, es sollte der Text oben angezeigt werden.
In der 0.4.4 wurden auch noch ein paar Edge Cases bzgl. der Verbindung zum ioBroker angegangen. Bisher war es u.a. noch so, dass der ioBroker zum Start von Node RED laufen musste. Jetzt wird auch unabhängig davon der Verbindungsaufbau versucht.
Das mit dem Refresh funktioniert jetzt wunderbar (auch die Anzeige ob Cache oder neu eingelesen). - Der Clear Button erschließt sich mir allerdings nicht ganz.
Allerdings wenn kein gültiger Topic/State eingetragen ist - also bei einer leeren Node oder wenn man das topic löscht und dann auf den Refresh-Button oder die Baumansicht geht, dann verheddert sich die Node.
Erst wenn man dann manuell einen gültigen Pfad eingibt und deployed - dann kann man auch den Treeview in der Node wieder verwenden. -
@mickym sagte in Node-RED Nodes für externe ioBroker Integration:
Allerdings wenn kein gültiger Topic/State eingetragen ist - also bei einer leeren Node oder wenn man das topic löscht und dann auf den Refresh-Button oder die Baumansicht geht, dann verheddert sich die Node.
Dann hat dein Browser noch einen alten Stand im Cache. Tritt es auch auf, wenn du mal einen Inkognito Tab öffnest? Wenn ja, bitte mal Schritt für Schritt, damit ich es nachstellen kann.
-
@marc-berg In dem Inkognito Fenster trat der Fehler nicht auf. Ich hatte zwar den Cache gelöscht, aber vielleicht hätte ich alles zu machen müssen.
Also alles fein.Kannst Du mir noch erklären, wofür der Clear Button ist?
Etwas gewöhnungsbedürftig ist noch, dass man aus dem Tree-View die Übernahme des Topics mit einem Doppelklick machen muss. Oft klickt man auf die manuelle Ansicht oder denkt man hat den topic ausgewählt und schließt den Dialog und wundert sich, warum das Topic nicht übernommen wurde.
-
@mickym sagte in Node-RED Nodes für externe ioBroker Integration:
Kannst Du mir noch erklären, wofür der Clear Button ist?
Der löscht den search Input und setzt den Baum zurück, (falls man sich verlaufen hat)
-
@marc-berg sagte in Node-RED Nodes für externe ioBroker Integration:
@mickym sagte in Node-RED Nodes für externe ioBroker Integration:
und das Erstellen von Datenpunkten mit der automatischen Generierung der Hierarchien steht noch aus.
Ja, das steht als Nächstes auf der Todo List, ich benutze das nicht.
In der 0.5.0 gibt es jetzt eine Node "iob out+"
Die kann jetzt auch Objekte erstellen. Bin noch nicht groß zum Testen gekommen, insbesondere die Autodetect Funktion für den Payload-Type müsste mal durchgetestet werden. Wenn das alles gut ist, würde ich die Funktion in die iobout Node übernehmen.
-
@marc-berg sagte in Node-RED Nodes für externe ioBroker Integration:
@mickym sagte in Node-RED Nodes für externe ioBroker Integration:
Kannst Du mir noch erklären, wofür der Clear Button ist?
Der löscht den search Input und setzt den Baum zurück, (falls man sich verlaufen hat)
OK
@mickym sagte in Node-RED Nodes für externe ioBroker Integration:
Etwas gewöhnungsbedürftig ist noch, dass man aus dem Tree-View die Übernahme des Topics mit einem Doppelklick machen muss. Oft klickt man auf die manuelle Ansicht oder denkt man hat den topic ausgewählt und schließt den Dialog und wundert sich, warum das Topic nicht übernommen wurde.
Meines Erachtens wäre es sinnvoll den aktiven State auch in dem Tree View als Read-Only anzuzeigen.
Das sind halt kleine Anpassungen, um den Dialog etwas intuitiver zu machen.
-
@marc-berg Die 0.5.0 Version wird mir in der Palette nicht angeboten.
Du kannst das aber mit meinem Subflow selbst testen.Im Prinzip hänge ich sonst nur noch die iob-Out Node dran. Die Angaben die in der iob-out stehen - stehen dann halt in der Prio über die automatischen Erkennungen.
Im Topic steht ja - welche Datenpunkte zu beschreiben sind - egal, ob er bereits existiert oder nicht.
Hier der Testflow:
Im Prinzip ist das das 6. Beispiel JSON String in meinem Subflow und so sollte der Baum dann auch aussehen:
https://forum.iobroker.net/topic/43856/json-oder-javascript-objekt-in-iobroker-datenpunkte-zerlegen
Ich muss jetzt für heute erst mal weg. Also lass Dir ruhig Zeit. -
@marc-berg sagte in Node-RED Nodes für externe ioBroker Integration:
@mickym sagte in Node-RED Nodes für externe ioBroker Integration:
Kannst Du mir noch erklären, wofür der Clear Button ist?
Der löscht den search Input und setzt den Baum zurück, (falls man sich verlaufen hat)
Meines Erachtens braucht es den Button aber nicht, weil der Refreshknopf ja auch die Suche zurücksetzt - aber Du bist der Chef.
-
@mickym sagte in Node-RED Nodes für externe ioBroker Integration:
Meines Erachtens braucht es den Button aber nicht, weil der Refreshknopf ja auch die Suche zurücksetzt - aber Du bist der Chef.
Wenn man eine Vielzahl von States hat, kann das Refreshen schon mal länger dauern, deshalb diese einfache Alternative.
Als very-very-very-nice-to-have möchte ich den refresh Button abschaffen und auf Objekt-Änderungen in Realtime reagieren.
-
@marc-berg sagte in Node-RED Nodes für externe ioBroker Integration:
@mickym sagte in Node-RED Nodes für externe ioBroker Integration:
Meines Erachtens braucht es den Button aber nicht, weil der Refreshknopf ja auch die Suche zurücksetzt - aber Du bist der Chef.
Wenn man eine Vielzahl von States hat, kann das Refreshen schon mal länger dauern, deshalb diese einfache Alternative.
Als very-very-very-nice-to-have möchte ich den refresh Button abschaffen und auf Objekt-Änderungen in Realtime reagieren.
Ich finde, dass Dein Refresh Button gut funktioniert. Im Adapter funktioniert der Refresh bis heute nicht und ich hatte das schon vor Jahren "angemerkt". - Also lieber ein funktionierender Refresh, als kein Refresh.
-
@mickym sagte in Node-RED Nodes für externe ioBroker Integration:
Meines Erachtens wäre es sinnvoll den aktiven State auch in dem Tree View als Read-Only anzuzeigen.
---> 0.5.1 (es dauert meist eine halbe Stunde, bis es in der Palette erscheint)
-
@marc-berg Also 0.5.0 schaut erst mal sehr gut aus.
String, Boolean und Number wurden richtig erkannt. Das ist doch schon sehr gut!! Bei der Erkennung gehts ja auch nur um skalare Objekte. Auch die Updates funktionieren.
Danke erst mal dafür. -
@mickym sagte in Node-RED Nodes für externe ioBroker Integration:
Bei der Erkennung gehts ja auch nur um skalare Objekte.
Es können auch Arrays, Objekte und Files erkannt werden. Ob das nun praktisch relevant sein könnte -- keine Ahnung. Besser haben als brauchen.
-
@marc-berg sagte in Node-RED Nodes für externe ioBroker Integration:
Es können auch Arrays, Objekte und Files erkannt werden.
Na ja - die drösel ich ja mit dem Subflow auf. Sprich Du schreibst ein Array, Objekt in EINEN Datenpunkt und machst wieder ein JSON-Objekt daraus oder machst Du dann auch mehrere Datenpunkte daraus?
-
@mickym sagte in Node-RED Nodes für externe ioBroker Integration:
Sprich Du schreibst ein Array, Objekt in EINEN Datenpunkt oder machst Du dann auch mehrere Datenpunkte daraus?
Nein, das bleibt alles ein Datenpunkt. Diese "Intelligenz" möchte ich mir nicht antun.
-
@marc-berg sagte in Node-RED Nodes für externe ioBroker Integration:
@mickym sagte in Node-RED Nodes für externe ioBroker Integration:
Sprich Du schreibst ein Array, Objekt in EINEN Datenpunkt oder machst Du dann auch mehrere Datenpunkte daraus?
Nein, das bleibt alles ein Datenpunkt. Diese "Intelligenz" möchte ich mir nicht antun.
Na dann behält mein Subflow ja noch seinen Sinn. Also vielen Dank - wie gesagt produktiv werde ich es erst irgendwann in der Zukunft einsetzen, aber wenn ich noch mal was konkret testen soll, dann mache ich das gerne.
-
@marc-berg Die Verbindung steht. Die Uhrzeit an den Nodes läuft in einer anderen Zeitzone.
Die Uhrzeit könnte aber auch an meinem Docker-System liegen.
Ich will jetzt erstmal die Last auf dem ioBroker loggen.