[GELÖST] Synchronous-Node defekt?

Hallo liebes Forum,

ich habe vorgestern mein Homegear auf die Version 0.8.0-2887 upgedatet (letztes Update davor ca. 1 Jahr her).
Später am Abend musste ich feststellen, dass meine Hausklingel nicht mehr funktioniert. Diese habe ich mit Hilfe von @Micha erstellt (siehe Beitrag: https://forum.homegear.eu/t/funktionsfrage-zum-http-in-node/2842).
Darin wird ein Synchronous-Node verwendet.
Als ich mich nun auf die Fehlersuche begab, fand ich heraus, dass nun die Schrittkette hinter der Synchronous-Node nicht richtig abgearbeitet wird. Man sieht, dass beim Ablauf die Linien blau werden (und das auch in der richtigen Reihenfolge), aber immer nur jeweils bis zum ersten Knoten nach dem Synchronous-Node, nie die Linien nach dem ersten Knoten.

Kann es sein, dass es hier einen Fehler in der Synchronous-Node gibt oder hat sich etwas an ihrer Funktion seit dem Update verändert?

Liebe Grüße, Frott.

paging @sathya

Hallo @Frott,

Du beschreibst ein Symptom an der Oberfläche, hast Du geprüft, ob das ein Problem der
Darstellung oder der Funktionalität ist? (Mit debug-nodes?)

Ich benutze die “Synchronous”-Node mit 0.8.0-2877 (20.1.2020), damit werden auch die folgenden Nodes nach “Synchronous” angesprochen. Ob allerdings “die Linien blau werden” habe ich nicht geprüft.

Hallo @job,
danke für deine Antwort.
Ja, ich habe es auch mit Debug-Nodes geprüft und festgestellt, dass die Knoten ohne den Synchronous-Node funktionieren, aber sobald man diesen davor setzt nicht mehr.
Da es bei Dir funktioniert, scheint es nicht am Synchronous-Node selbst zu liegen.
Aber dann weiß ich momentan nicht warum es bei mir nicht mehr geht; wie gesagt: vor dem Update lief es fast ein Jahr lang einwandfrei.:man_shrugging:

Halt… nicht so schnell. Ich setze eine ältere Version als Du ein. Installier doch mal bitte die 0.8.0-2877, mit dem Datum vom 20.01.2020 (Parameter 20200120).

Mit dieser Version habe ich keine Probleme mit “Synchronous”. Solltest Du mit dieser Version auch keine Probleme haben, kann @sathya das Problem viel besser eingrenzen (>0.8.0-2877).

OK. Habe eben die Version 0.8.0-2877 installiert und es das Problem ist immer noch da.
Ohne Synchr. gehen die Knoten nacheinander durch, mit Synchr. nicht.

Habe dann folgendes getestet:
Constant-Node mit Wert “true” in einen Synchronous-Node (mit einem Ausgang) und an den Ausgang einen Debug-Node. Ergebnis: Es kommt nichts im Debug-Node an
Test-Flow.txt (1,4 KB)

Das ist komisch bei mir funktioniert das problemlos. Hier im Subflow, steuert mein ganzes “Bewegungsmelder-Licht” (Dauernd im Test ;-)):

image

Und hier beim Wecker. Auch problemlos (gerade noch getestet):

Oh man, das ist echt verrückt…
Ich habe nun einiges ausprobiert, was nichts geholfen hat und habe eben die SD Karte von meinem Pi komplett neu aufgesetzt mit Buster und dem neuen Nightly. Habe bei der Installation gar keine Module gewählt, da ich nur mal schauen wollte ob es auf einem komplett neuaufgesetzten System geht und der Synchronous-Node lässt immer noch nichts durch.
Ich kann es mir einfach nicht erklären, da ich wie gesagt die SD-Karte komplett neu geflasht habe.
Was nimmt denn sonst Einfluss darauf; es wird doch wohl kaum die Hardware sein???
Ich habe in der Node Beschreibung zum Synchronous folgendes gelesen:
“…Bitte beachten Sie, dass die synchrone Sequenz von PHP-Knoten unterbrochen wird…”
könnte das in irgendeiner Weise bei mir das Problem sein?
Ich habe zum Test nur folgenden Flow gebaut (sonst ist nicht vorhanden)

Hier noch ein Auszug aus dem homegear-flows.log:

02/05/20 13:18:01.378 Node-BLUE (2132): Error in file Node-BLUE/NodeBlueClient.cpp line 1135 in 
function void Homegear::NodeBlue::NodeBlueClient::queueOutput(const string&, uint32_t, 
Flows::PVariable, bool): locale::facet::_S_create_c_locale name not valid
02/05/20 13:18:01.379 Node-BLUE (2132): Error in file Node-BLUE/NodeBlueClient.cpp line 1135 in 
function void Homegear::NodeBlue::NodeBlueClient::queueOutput(const string&, uint32_t, 
Flows::PVariable, bool): locale::facet::_S_create_c_locale name not valid

Danke vorab für hilfreiche Lösungsvorschläge

1 Like

Schau mal hier rein:

Synchronous funktioniert, nur deine Debug-Node ist kaputt. Ich glaube, die Lösung war: sudo dpkg-reconfigure locales und dann die fehlende en-US.UTF-8 hinzufügen.

1 Like

Hallo @job,
vielen Dank für den Tipp!
Ich habe zwischenzeitlich (gestern Abend noch vor deinem Post) nochmals versucht die SD Karte neu aufzusetzen und habe sie nochmal komplett neuformatiert und zunächst die Homegear-stable-Version installiert und da ging es dann plötzlich.
Als ich deinen Beitrag gelesen habe, habe ich explizit nochmal nach den Locales-Einstellungen geschaut und in der Stable-Version wurde die en-US.UTF-8 gleich mit installiert.
Als ich neulich die Neuinstallation mit dem nightly gemacht habe, habe ich nur die de-DE.UTF-8 gewählt. Also muss es daran gelegen haben.
Ich finde es nur seltsam, dass es vor dem Update alles funktioniert hat und erst nach dem Update auf das aktuelle nightly nicht mehr. Wurde dabei etwa die ursprüngliche Localeinstellung en-US.UTF-8 abgewählt oder ist diese erst seit den neueren Versionen für den richtigen Betrieb notwendig?
Und warum hat sich das auf die Snchronous-Node ausgewirkt? So wie ich es aus deinem zitierten Beitrag rausgelesen habe wäre ja nur die Debug-Node beeinträchtigt.
… naja ist ja auch egal, Hauptsache es geht wieder :wink:
Und hätte ich gleich den Error-Log ausgelesen und gepostet, dann wäre der ganze Umstand auch nicht notwendig gewesen (…bin halt nur Amateur :sweat_smile:)
Andererseits bin ich irgendwie auch froh darüber, weil ich beim Recherchieren im Forum viele tolle Sachen gesehen habe und mich nun langsam an die UI ranwagen möchte.

Also abschließend nochmal ein großes Dankeschön für deine Mühe @job :+1:

Die Abhängigkeit zur Locale kam in einem nightly erst rein.

Hast sich nicht auf die Synchronous-Node ausgewirkt, nur auf den Prozess danach. Durch die Exception in der Debug-Node wurde der gesamte synchrone Prozess abgebrochen. Wenn du keine Debug-Node gehabt hättest, wäre alles gelaufen. :wink:

2 Likes