Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red Deployment Probleme *** Gelöst ***

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Node-Red Deployment Probleme *** Gelöst ***

    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      nobody last edited by

      Hallo Tom,

      die verlorene Verbindung ist die Websocket-Verbindung, mit der node-red die Debug-Informationen vom Serverprozess an den Browser sendet. Soweit mit dem Netz keine Probleme existieren und keine Proxy-Server dazwischen sind, ist dies meistens ein Zeichen dafür, dass der node-red Prozess abgestützt ist. Dieser wird vom node-red-Adapter ein paar Sekunden später neu gestartet und ist dann wieder da.

      Wichtig wäre es zunächst einmal zu klären, ob dies bei dir die Ursache ist und wenn ja warum der Prozess abstützt.

      Die log-Ausgaben von node-red werden in das Log von ioBroker umgeleitet. Sie werden jedoch nur dann angezeigt, wenn im iobroker auf dem Reiter Instanzen bei node-red die Log-Stufe auf debug steht.

      Kannst du das mal einschalten und dann im Reiter Log die Ausgaben beobachten?

      Viele Grüße

      Markus

      1 Reply Last reply Reply Quote 0
      • Bluefox
        Bluefox last edited by

        Auch RAM auf dem Rechner/banana/Pi beobachten.

        1 Reply Last reply Reply Quote 0
        • T
          tp1de last edited by

          So ich hab nun den Node-Red Start beobachtet. Keine Auffälligkeiten beim Start.

          Ich vermute, dass das an der Node "node-red-node-piface" liegt.

          Ich bekomme die Flows nur händisch nach mehrfachem Versuch ans laufe, indem ich einzelne Nodes des Flows ändere und neu "deploye". Dann läuft alles durch.

          Da ich eine Heizungsteuerung realisieren möchte - mit Piface Board - ist das ein KO-Kriterium für einen produktiven Betrieb. Am Speicher liegt es nicht - ich habe ca. 300 MB frei und die CPU-Last ist bei ca. 30%.

          Beim Deploy der Änderungen kommen folgende Logs:

          • node-red-0 2016-01-29 17:08:28 debug 29 Jan 17:08:28 - [info] [mqtt-broker:979509a3.e9ffb] Connected to broker: mqtt://localhost:1883
          node-red-0 2016-01-29 17:08:28 debug 29 Jan 17:08:28 - [info] serial port /dev/ttyUSB0 opened at 9600 baud 8N1
          
          node-red-0 2016-01-29 17:08:28 debug 29 Jan 17:08:28 - [info] Started flows
          
          node-red-0 2016-01-29 17:08:28 debug 29 Jan 17:08:28 - [info] [inject:Alle 10 Sekunden ] repeat = 10000
          
          node-red-0 2016-01-29 17:08:26 debug 29 Jan 17:08:26 - [info] [inject:Reset 00:00 Uhr] crontab = 00 00 * * *
          
          node-red-0 2016-01-29 17:08:19 info Save /opt/iobroker/iobroker-data/node-red/flows.json
          
          node-red-0 2016-01-29 17:08:19 debug 29 Jan 17:08:19 - [info] Starting flows
          
          node-red-0 2016-01-29 17:08:19 debug 29 Jan 17:08:19 - [info] Missing type registered: rpi-piface out
          
          node-red-0 2016-01-29 17:08:19 debug 29 Jan 17:08:19 - [info] Missing type registered: rpi-piface in
          
          node-red-0 2016-01-29 17:08:19 debug 29 Jan 17:08:19 - [info] - rpi-piface out
          
          node-red-0 2016-01-29 17:08:19 debug 29 Jan 17:08:19 - [info] - rpi-piface in
          
          node-red-0 2016-01-29 17:08:19 debug 29 Jan 17:08:19 - [info] Waiting for missing types to be registered:
          
          node-red-0 2016-01-29 17:08:18 debug 29 Jan 17:08:18 - [info] Server now running at [http://127.0.0.1:1880/](http://127.0.0.1:1880/)
          
          node-red-0 2016-01-29 17:08:18 debug 29 Jan 17:08:18 - [info] Flows file : /opt/iobroker/iobroker-data/node-red/flows.json
          
          node-red-0 2016-01-29 17:08:18 debug 29 Jan 17:08:18 - [info] User directory : /opt/iobroker/iobroker-data/node-red/
          
          node-red-0 2016-01-29 17:08:18 debug 29 Jan 17:08:18 - [info] Settings file : /opt/iobroker/iobroker-data/node-red/settings.js
          
          node-red-0 2016-01-29 17:08:09 debug 29 Jan 17:08:09 - [info] Loading palette nodes
          
          node-red-0 2016-01-29 17:08:09 debug 29 Jan 17:08:09 - [info] Node.js version: v0.12.6
          
          node-red-0 2016-01-29 17:08:09 debug 29 Jan 17:08:09 - [info] Node-RED version: v0.12.5
          
          node-red-0 2016-01-29 17:08:09 debug ===================
          
          node-red-0 2016-01-29 17:08:09 debug Welcome to Node-RED
          
          node-red-0 2016-01-29 17:08:09 debug
          
          node-red-0 2016-01-29 17:08:05 info Starting node-red: –max-old-space-size=128 /opt/iobroker/node_modules/iobroker.node-red/node_modules/node-red/red.js -v --settings /opt/iobroker/iobroker-data/node-red/settings.js
          
          node-red-0 2016-01-29 17:08:00 info node-red exited with 1
          
          node-red-0 2016-01-29 17:08:00 debug at Timer.listOnTimeout (timers.js:119:15)
          
          node-red-0 2016-01-29 17:08:00 debug at null._onTimeout (/opt/iobroker/node_modules/iobroker.node-red/node_modules/node-red/node_modules/node-red-node-serialport/25-serial.js:146:38)
          
          node-red-0 2016-01-29 17:08:00 debug at SerialInNode.Node.send (/opt/iobroker/node_modules/iobroker.node-red/node_modules/node-red/red/nodes/Node.js:118:26)
          
          node-red-0 2016-01-29 17:08:00 debug at Object.getNode [as get] (/opt/iobroker/node_modules/iobroker.node-red/node_modules/node-red/red/nodes/flows/index.js:130:50)
          
          node-red-0 2016-01-29 17:08:00 debug 29 Jan 17:08:00 - TypeError: Cannot read property 'getNode' of undefined
          
          node-red-0 2016-01-29 17:08:00 debug 29 Jan 17:08:00 - Uncaught Exception:
          
          node-red-0 2016-01-29 17:07:59 info Save /opt/iobroker/iobroker-data/node-red/flows.json
          1 Reply Last reply Reply Quote 0
          • N
            nobody last edited by

            @tom57:

            • node-red-0 2016-01-29 17:08:00 debug at SerialInNode.Node.send (/opt/iobroker/node_modules/iobroker.node-red/node_modules/node-red/red/nodes/Node.js:118:26)

              node-red-0 2016-01-29 17:08:00 debug at Object.getNode [as get] (/opt/iobroker/node_modules/iobroker.node-red/node_modules/node-red/red/nodes/flows/index.js:130:50)

              node-red-0 2016-01-29 17:08:00 debug 29 Jan 17:08:00 - TypeError: Cannot read property 'getNode' of undefined

              node-red-0 2016-01-29 17:08:00 debug 29 Jan 17:08:00 - Uncaught Exception:

              node-red-0 2016-01-29 17:07:59 info Save /opt/iobroker/iobroker-data/node-red/flows.json

            @tom57:

            • node-red-0 2016-01-29 17:08:19 debug 29 Jan 17:08:19 - [info] Missing type registered: rpi-piface out

              node-red-0 2016-01-29 17:08:19 debug 29 Jan 17:08:19 - [info] Missing type registered: rpi-piface in

              node-red-0 2016-01-29 17:08:19 debug 29 Jan 17:08:19 - [info] - rpi-piface out

              node-red-0 2016-01-29 17:08:19 debug 29 Jan 17:08:19 - [info] - rpi-piface in

              node-red-0 2016-01-29 17:08:19 debug 29 Jan 17:08:19 - [info] Waiting for missing types to be registered: `

            https://www.npmjs.com/package/node-red-node-piface

            /opt/iobroker/node_modules/iobroker.node-red
            iobroker stop node-red.0
            npm i --unsafe-perm node-red-node-piface
            iobroker start node-red.0
            
            
            /opt/iobroker/node_modules/iobroker.node-red#
            iobroker stop node-red.0
            npm i --unsafe-perm node-red@0.13.1
            iobroker start node-red.0
            
            ```` ` 
            1 Reply Last reply Reply Quote 0
            • T
              tp1de last edited by

              Hallo Markus,

              vielen Dank für Deine Hilfe.

              zu (1) - ja war alles installiert

              zu (2) - habe ich ausgeführt keine Änderung

              zu (3) - habe nun Version 13.1 von node-red installiert:

              So wie es aussieht sind nun beim Neustart alle Flows aktiv - das war mir am Wichtigsten.

              Ich werde dies am Samstag noch einmal verifizieren.

              Die Meldung 'Waiting for missing types to be registered:' erscheint nachwievor.

              Wie hast Du die Node für PIface installiert? Über den Parameter im Node-red Adapter im ioBroker oder direkt per npm? Welche node.js Version setzt Du ein?

              Die andere Fehlermeldung 'Uncaught Exception:' scheint verschwunden mit der neuen node-red Version.

              Meine Deployment-Probleme bei Änderungen sind nachwievor da - (Error: no response from server)

              Dh. die blauen Punkte für geänderte nodes verschwinden nicht - aber:

              Bei einem Refresh der Seite im Browser sind die Änderungen dann doch deployed.

              Hast Du eine Idee woran das liegen könnte (Timing Parameter ?)

              Viele Grüße

              Thomas

              1 Reply Last reply Reply Quote 0
              • N
                nobody last edited by

                Hallo Thomas,

                ich hab selbst keine piface-Boards und deswegen selbst den Node nicht installiert. Ich kann somit nur versuchen, mögliche Ursachen direkt aus dem Adapter-Code auf github zu suchen.

                Ich selbst hab node.js 4.2.6 installiert. Ich glaube aber nicht, dass hier die Node-Version relevant ist.

                Ich hab mir den Node mal etwas genauer angesehen. Der Node greift an mehren Stellen über das exec-Kommando auf das Programm gpio zu. Unter anderem auch direkt beim Start des Nodes.

                Ich hatte vor ein paar Wochen Probleme mit child_proces.exec, was bei mir auch sporadisch zu Abstützen des node-Prozesses von node-red mit Uncaught Exception geführt hat.

                Tauchen bei dir im Log noch Einträge mit Uncaught Exception auf?

                1 Reply Last reply Reply Quote 0
                • T
                  tp1de last edited by

                  Hallo Markus,

                  mit der Node-Red Version 13.1 laufen die Flows und Nodes stabil. Auch der Neustart des Iobrokers bzw. Reboot des PI's stellen kein Problem mehr da. –> Das ist sehr gut. 😄

                  Die Version 13.1 hat noch ein paar Funktionserweiterungen. Z.B. beim Inject für Flows auch Globale Varianten verwenden zu können. Dass passt gut.

                  Die Uncaught Exception Fehler sind weg !!

                  Funktional läuft nun alles sauber - nur die Deployment-Probleme bleiben übrig.

                  Ich hab noch eine Frage: Kennst Du eine Lösung um globale Variablen (context.global …) bei Neustart bzw. beim neuen Deployment zu sichern bzw. beim Neustart auf die alten Werte zu setzten?

                  Ich bin dabei die Anwendung aktuell auf zwei PI's zu verteilen. Eine für die Heizungssteuerung mit Node-red, OWFS,MQTT und PI-Face und den Historian und VIS auf den anderen PI zu übernehmen. Dann bau ich die Heizungssteuerung eventuell ganz neu auf und schau mal ob der Deploymentfehler weg ist.

                  Danke für Deine Unterstützung.

                  Grüße

                  Thomas

                  1 Reply Last reply Reply Quote 0
                  • N
                    nobody last edited by

                    Hallo Thomas,

                    wenn das soweit läuft und weder Abstütze noch Fehlermeldungen auftreten fällt mir jetzt auch nichts weiter ein. Es kann schon sein, dass die exec-Aufrufe für jeden piFaces-Adapter nach dem Deploy dafür führen, dass die Socket-Verbindung kurzzeitig abbricht.

                    Warum hier gpio über die Kommandoschnittstelle aufgerufen wird statt die APIs direkt anzusprechen erschließt sich mir nicht. Aber es ist halt so.

                    Die Inhalte vom context-Objekt persistent zu speichern ist erstmal nicht vorgesehen. Sie liegen im Hauptspeicher und sind weg, wenn der Node-Prozess beendet wird oder auch wenn ein Deployment durchgeführt wird. Man müsste die Objekte halt zusätzlich zu einer persistenten Stelle ausleiten (json-Datei, Datenbank usw.) und nach dem Neustart durch einen automatisch startenden Flow wieder einlesen lassen. Die einzig persistente Speichermöglichkeit ist beim Pi erstmal nur die SD-Karte (falls man keine zusätzliche HDD angeschlossen hat) und die mag es halt nicht, wenn immer die gleichen Speicherstellen überschrieben werden.

                    1 Reply Last reply Reply Quote 0
                    • T
                      tp1de last edited by

                      Hallo Markus,

                      ja das war auch mein Kenntnisstand. Mein PI läuft mit USB-Stick - SD-Karte nur zum Booten.

                      json-Datei hatte ich auch vorgesehen.

                      Ich habe aber gerade einen anderen Post von Dir gefunden, zum Abfragen von ioBroker states in Flows.

                      Das werde ich mal ausbrobieren. 😄
                      9054_abwesend.jpg
                      9054_anwesend.jpg

                      1 Reply Last reply Reply Quote 0
                      • T
                        tp1de last edited by

                        Hallo,

                        hab nun die die aktuelle Node-red Version 0.13.2 installiert.

                        Damit sind meine Deployment-Probleme mit "Error: connection to server lost" auch endlich gelöst.

                        cd /opt/iobroker/node_modules/iobroker.node-red
                        iobroker stop node-red.0
                        npm i --unsafe-perm node-red@0.13.2
                        iobroker start node-red.0
                        

                        Es läuft nun alles stabil…. 🙂 🙂 🙂

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        679
                        Online

                        31.7k
                        Users

                        79.7k
                        Topics

                        1.3m
                        Posts

                        3
                        11
                        5697
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo