Node-Blue: Nodes verlieren ihre Verbindung


#1

Die Nodes verlieren ihre Variablenbindung seit 0.8.0-2380. Der Fehler tritt mit 2384 noch auf, bei 2378 ist er nicht vorhanden.

Glücklicherweise ist das “nur” optisch, öffnet man den Editor neu sind die Bindungen wieder sichtbar. Allerdings ziemlich unschön und verwirrend, da man die Nodes dann nicht mehr anpassen kann.

Das gilt nicht nur für Device Variablen sondern auch für Systemvariablen. Sobald der Zustand einmal erreicht ist, kann man den Node-Blue-Editor nur vollständig neu starten. => http://<IP>:2001/node-blue

Ich gehe wieder zurück auf 0.8.0-2378.


#2

Hallo @job,

das ist komisch. Ich kann das Problem hier leider nicht reproduzieren, habe aber viel an den Variablen-Nodes geändert (vor allem habe ich Flow- und globale Variablen ergänzt). Ich vermute mal, es taucht ein Fehler in der Browser-Konsole auf (kannst du mit F12 in Firefox oder Chrome öffnen). Daher muss die Seite auch vollständig neugeladen werden. Die Fehlermeldung bräuchte ich, dann kann ich das Problem direkt lösen.

Viele Grüße

Sathya


#3

Leider keine Fehlermeldung. Zumindest sehe ich keine. Ich habe das aktuelle Nightly 0.8.0-2387 installiert. Der Browser ist Chrome.

Folgendes habe ich gemacht.

  • flow geöffnet
  • eine node verschoben
  • deployed
  • Doppelklick auf node.

Die 4 Violations am Schluss kamen, als ich in die leeren Listen geklickt habe.

image

Das Problem tritt erst auf, nachdem man neu deployed hat.

Zusätzlich fällt auf, dass der blaue Kreis bei nicht geänderten nodes “kaputt” ist.

image


#4

Firefox enthält sich entsprechend:

Unterschied ist, dass bei Firefox der blaue Kreis bei Änderung noch funktioniert.


#5

Wenn ich über https://10.10.10.10:2002/ einsteige, dann zeigt sich das Problem aktuell nicht. Der blaue Kreis ist aber dennoch kaputt.

Wie ist denn der empfohlene Einstieg? http oder https?


#6

Wenn ich über https://10.10.10.10:2002/ einsteige, dann zeigt sich das Problem aktuell nicht. Der blaue Kreis ist aber dennoch kaputt.

Ah ok. Ist in /etc/homegear/rpcservers.conf für Port 2001 webSocket = true und websocketAuthType = session? Das habe ich beim Laden nicht geprüft. In der nächsten Version lädt Node-BLUE nicht, wenn die Einstellungen nicht korrekt gesetzt sind. Ich gehe immer über Port 2002, damit die Verbindung verschlüsselt ist.

Zusätzlich fällt auf, dass der blaue Kreis bei nicht geänderten nodes “kaputt” ist.

Das ist der doofe Chrome. Der kann innerhalb von Canvas keine SVGs zeichnen. Ich muss also wieder zurück auf PNGs. Das empfinde ich irgendwie als Rückschritt.

Viele Grüße

Sathya


#7

Ich habe jetzt auch mal wieder High-DPI-taugliche PNGs eingebaut. Sollte in der nächsten Version also auch in Chrome funktionieren.


#8

Ja, ist bei beiden. Bei RPC1 auf Port 2001 und bei RPC2 auf Port 2002


#9

ok, komisch. Meine Annahme war allerdings auch Unsinn, da dann ja überhaupt keine Variablen geladen würden. Wenn der Fehler auftritt, zeigt Homegear dann noch eine aktive WebSocket-Verbindung an? Das siehst du folgendermaßen:

homegear -r
rcl

Bei aktiver Verbindung sieht die Ausgabe so aus:

> rcl
Server RPCServer1 (Port: 2001):
    Client ID   Address                           Init URL                        Init ID                            XML-RPC  Binary RPC    JSON-RPC   Websocket  

Server RPCServer2 (Port: 2002):
    Client ID   Address                           Init URL                        Init ID                            XML-RPC  Binary RPC    JSON-RPC   Websocket  
    162         fdef:2::c506:48ec:8ae4:63c4       Single connection               rpc-client-fdef:2::c506:48e...       false       false       false        true  

Siehe das true in der Spalte WebSocket.

Viele Grüße

Sathya


#10

Sieht wie erwartet aus. Ich habe auf beiden Ports eine Verbindung gemacht, beide haben websocket = true.

10.10.10.10 homegear/openHAB
10.10.10.64 Webbrowser

> rcl
Server RPCServer1 (Port: 2001):
    Client ID   Address                           Init URL                        Init ID                            XML-RPC  Binary RPC    JSON-RPC   Websocket
    1235        10.10.10.10                                                       rpc-client-10.10.10.10:35494         false        true       false       false
    1247        10.10.10.64                       Single connection               rpc-client-10.10.10.64:63533         false       false       false        true

Server RPCServer2 (Port: 2002):
    Client ID   Address                           Init URL                        Init ID                            XML-RPC  Binary RPC    JSON-RPC   Websocket
    1254        10.10.10.64                                                       rpc-client-10.10.10.64:63545         false       false       false       false
    1255        10.10.10.64                                                       rpc-client-10.10.10.64:63546         false       false       false       false
    1261        10.10.10.64                                                       rpc-client-10.10.10.64:63552         false       false       false       false
    1262        10.10.10.64                                                       rpc-client-10.10.10.64:63553         false       false       false       false
    1263        10.10.10.64                                                       rpc-client-10.10.10.64:63554         false       false       false       false
    1266        10.10.10.64                       Single connection               rpc-client-10.10.10.64:63557         false       false       false        true
    1270        10.10.10.64                                                       rpc-client-10.10.10.64:63561         false       false       false       false

Server RPCServer3 (Port: 2003):
    Client ID   Address                           Init URL                        Init ID                            XML-RPC  Binary RPC    JSON-RPC   Websocket

Viele Grüße

Joachim

PS: Mit dem Workaround RPCServer2 bin ich jetzt wieder auf 0.8.0-2387, sei also auf weitere Fehlermeldungen gefasst. :wink:


#11

PS: Mit dem Workaround RPCServer2 bin ich jetzt wieder auf 0.8.0-2387, sei also auf weitere Fehlermeldungen gefasst. :wink:

Hehe, gerne.

Das Problem habe ich jetzt auch auf zwei Systemen reproduzieren können. Noch habe ich keine Idee, woran es liegt, schaue es mir aber an.

Viele Grüße

Sathya


#12

Hilft das nicht, um die Änderungen einzgrenzen? 0.8.0-2378 hat diesen Effekt in keinster Weise gezeigt.


#13

Hallo @job,

ich glaube, der Fehler war schon vorher da, hat sich aber durch Änderungen an Node-BLUE erst jetzt gezeigt. Ich habe gestern (heute) noch bis nach 2 Uhr an dem Problem gesessen und hoffe, es jetzt gelöst zu haben. Vermutlich gab es einen Fehler in der WebSocket-Paketverarbeitung. Magst du schauen, ob das Problem im aktuellen Nightly gelöst ist (nach dem Löschen der runscript-Node :blush: [die ist noch nicht fertig])?

Viele Grüße

Sathya


#14

Im nächsten Nightly sind noch ein paar Änderungen.


#15

Hallo @sathya

0.8.0-2395 funktioniert gar nicht.

Der hier gemledete Fehler war zwar nicht existent, dafür funktionierte nicht ein einziger meiner flows.

variable-out und toogle node haben die Variable nicht geschrieben.

Ich bin ich jetzt wieder auf 2387.


#16

Hallo @job,

ok, komisch. In der 2395 hätte es eigentlich auch funktionieren müssen, zumal ich am Backend nichts verändert habe (welches die Nodes ausführt). Die Frontend-Änderungen (bzw. Änderungen an der HTTP- und WebSocket-Verarbeitung) in Homegear waren tatsächlich ziemlich massiv, aber letztlich zum Besseren ;-). Bei mir zu Hause läuft jetzt die 0.8.0-2398 stabil. Lass es mich aber noch zwei Tage testen.

Viele Grüße

Sathya


#17

Hi @sathya,

Ziemlich komisch. Ich hatte den Effekt auch schon einmal, da bin ich dann wieder auf die 2378 zurück gegangen.

OK, mach ich. :wink:

Vielen Dank und viele Grüße

Joachim


#18

Hallo @sathya,

Nein, nicht mehr komisch. :grinning:

Mit Installation der 0.8.0-2398 ist kein Hue-Gateway mehr vorhanden. Beim Versuch das Gateway manuell über das Admin-UI hinzuzufügen, gab es eine Fehlermeldung.

Meine Aussage, das kein Flow mehr ging, lief in die falsche Richtung, sorry. Es sind halt die flows, die mit Licht zu tun haben, die ich ruckzuck testen kann. Von denen ging verständlicherweise keiner mehr. :wink:

Zurück auf 0.8.0-2387, und die hue-bridge war wieder vorhanden.

Nachtrag: Nach Durchsicht des Logs, wollte die Hue-Bridge dass ich den Pairing-Knopf drücke. Ich weiss jetzt nicht, ob das mein manuell (halb?-) erzeugtes oder mein ursprüngliches war.

Fakt ist, nach erneuter Installation von 0.8.0-2398 und Drücken des Pair-Knopfes auf der Hue-Bridge waren auf einmal beide Gateways vorhanden. Nach Löschen der manuell erzeugten liefen meine Flows wieder wie erwartet.

Viele Grüße

Joachim


#19

Hallo @job,

ich habe leider keien Erklärung für das Verhalten. An Stellen, welche die Hue-Bridge beeinflussen habe ich wochenlang nichts verändert. Aber ich bin froh, dass es doch (wieder) funktioniert!

Und: Vielen Dank für’s Testen :slight_smile:

Viele Grüße

Sathya