Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Externes node-RED und ioBroker. Wie verbinden ?

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Externes node-RED und ioBroker. Wie verbinden ?

    This topic has been deleted. Only users with topic management privileges can see it.
    • ?
      A Former User last edited by

      Moin,
      Mein Raspi ist abgeraucht und nun kommt bei der Gelegenheit der Umstieg auf Proxmos.

      Node-RED soll dan in einem eigenen LXC laufen.
      Es gibt ja leider keine Nodes für ioBroker. Oder ?

      Wie komuniziert Node-RED dann nun mit dem ioBroker ?

      • nur mit Get und Put ? Also aktive Abfrage von Werten ohne Trigger ?

      Gibt es evtl doch Nodes und ich habe diese nur nicht gefunden ?

      Welchen Adpater brauche ich im ioBroker ?
      (nur WEB ? oder sollte/muss es doch Simple-API sein ?

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @Guest last edited by

        @dreistein Nein - einen direkten Zugriff auf den iobroker hast Du nur, wenn Du NodeRed als Adapter innerhalb des iobrokers betreibst oder hat halt in der gleichen Maschine.

        Wenn Du mit einem externen NodeRed kommunizieren willst, dann kannst Du rudimentär mit simpleAPI kommunizieren.

        Wenn Du innerhalb des iobrokers mit Blockly oder JS arbeiten willst, dann kannst Du über mqtt Daten mit der externen NodeRed Instanz kommunizieren.

        Am Sinnvollsten ist, trotz der externen NodeRed Instanz noch den NodeRed Adapter zu installieren. Die Kommunikation zwischen der externen und internen Instanz kann dann über MQTT oder HTTP erfolgen, da Du ja die interen Instanz auch als Webserver betreiben kannst.

        ? 1 Reply Last reply Reply Quote 0
        • ?
          A Former User @mickym last edited by

          @mickym

          Ach schade. Ich hatte auf ioBroker Nodes gehofft.
          Aber was nicht ist ...

          Den Weg über MQTT hatte ich mir auch schon überlegt.
          Wird wohl auch so kommen.
          Danke.

          A 1 Reply Last reply Reply Quote 0
          • A
            alex303 @Guest last edited by

            Hallo,
            bin mich jetzt mit nodered am einlesen.
            Hatte zuerst ioBroker im Docker auf mein Synology installiert, anschließend nodered, dann im ioBroker den nodered Adapter.
            Die Programme laufen auch, aber in nodered ist keine node mit ioBroker.

            Wie bekommt man die her?

            Gruß
            Alexander

            mickym 1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @alex303 last edited by mickym

              @alex303 Die iobroker Nodes gibts nur im Adapter. Node-Red parallel zum iobroker installieren macht keinen Sinn. Ein externes NodeRed lässt sich nicht mit iobroker verbinden

              Externes NodeRed nur mit internem NodeRed oder Simple Api - wie bereits beschrieben.

              Lösch Dein externes NodeRed wieder.

              1 Reply Last reply Reply Quote 0
              • ?
                A Former User last edited by

                Ein Punkt für eine Externe Version sind die Updates.
                Der Adapter im ioBroker ist ein Jahr "hinterher".

                A 1 Reply Last reply Reply Quote 0
                • A
                  alex303 @Guest last edited by

                  @dreistein said in Externes node-RED und ioBroker. Wie verbinden ?:

                  Ein Punkt für eine Externe Version sind die Updates.
                  Der Adapter im ioBroker ist ein Jahr "hinterher".

                  Wie bekomme ich denn Datenpunkte vom ioBroker in nodered bei externer Version?

                  @mickym Die externe Version habe ich abgeschaltet, im ioBroker nodered gelöscht und neu installiert, jetzt bekomme ich das Programm nicht mehr geöffnet.
                  Was läuft hier noch falsch?

                  Homoran mickym 2 Replies Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @alex303 last edited by

                    @alex303 sagte in Externes node-RED und ioBroker. Wie verbinden ?:

                    Was läuft hier noch falsch?

                    was sagt denn iob diag in der Langfassung?
                    ohne Kenntnis des Zustands ist Hilfe nicht möglich

                    A 1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @alex303 last edited by

                      @alex303 Wie @Homoran schon sagte - kann ich nicht in Dein System schauen und ob wirklich Dein externes NodeRed wirklich weg ist. Du kannst ja mal Deiner NodeRed Instanz unter dem iobroker einen anderen Port zuweisen und schauen, ob das geht. Aber letztlich hast Du ein Problem mit Deinem System.

                      Grundsätzlich kann man iobroker mit einem externen NodeRed über mqtt austauschen - aber es gibt keinen direkten Zugriff.

                      Homoran 1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @mickym last edited by

                        @mickym sagte in Externes node-RED und ioBroker. Wie verbinden ?:

                        einen anderen Port zuweisen

                        genau das will ich sehen

                        1 Reply Last reply Reply Quote 0
                        • A
                          alex303 @Homoran last edited by

                          @homoran Wie kann ich mit Putty das Terminal vom ioBroker aufrufen?
                          ioBroker läuft im Docker der Synology.

                          Homoran 1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @alex303 last edited by

                            @alex303 sagte in Externes node-RED und ioBroker. Wie verbinden ?:

                            ioBroker läuft im Docker der Synology.

                            mit Docker kenne ich mich nicht aus

                            1 Reply Last reply Reply Quote 0
                            • andre
                              andre Developer last edited by

                              Auf der Suche nach genau dieser Lösung bin ich auch hier vorbei gekommen: https://github.com/ioBroker/ioBroker.node-red/issues/124
                              Das ist der zugehörige Feature Request...

                              MfG,
                              André

                              wuast94 created this issue in ioBroker/ioBroker.node-red

                              open Use External NodeRed Instance #124

                              1 Reply Last reply Reply Quote 1
                              • mickym
                                mickym Most Active last edited by

                                geht nicht!!!

                                andre 1 Reply Last reply Reply Quote 0
                                • andre
                                  andre Developer @mickym last edited by

                                  @mickym Sehr konstruktiver Beitrag!
                                  Ich glaube, dass es aktuell nicht geht kann man diesem Thread und dem Feature Request ganz gut entnehmen. Wollte nur sicherstellen, dass andere User, die Google bedienen können, (evtl. schneller) zur gleichen Erkenntnis gelangen... Weiß ehrlich gesagt nicht warum dich das jetzt getriggert hat...

                                  Dass es allerdings nicht geht, finde ich persönlich sehr schade. Gerade in Bezug auf containerisierte Umgebungen strebt man ja bekanntlich eher nach der Unabhängigkeit und Isolation der einzelnen Services, statt diese in andere Software zu inkludieren und Abhängigkeiten zu schaffen.
                                  Ich sehe technisch keinen Grund warum es keine ioBroker Nodes für NodeRED geben können sollte. Immerhin können es "die Anderen" ja auch.

                                  Ich persönlich werde für meine custom Alexa Integration jetzt den Umweg über MQTT gehen um NodeRED aus ioBroker heraus lösen zu können. Schade.

                                  MfG,
                                  André

                                  Homoran mickym 3 Replies Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators @andre last edited by

                                    @andre sagte in Externes node-RED und ioBroker. Wie verbinden ?:

                                    Ich sehe technisch keinen Grund warum es keine ioBroker Nodes für NodeRED geben können sollte. Immerhin können es "die Anderen" ja auch.

                                    geben können wäre auch meiner Meinung nach möglich.
                                    im Moment sind sie aber nur Bestandteil des Adapters und nicht als "Einzelmodul" verfügbar

                                    haus-automatisierung 1 Reply Last reply Reply Quote 0
                                    • haus-automatisierung
                                      haus-automatisierung Developer Most Active @Homoran last edited by haus-automatisierung

                                      @homoran sagte in Externes node-RED und ioBroker. Wie verbinden ?:

                                      im Moment sind sie aber nur Bestandteil des Adapters und nicht als "Einzelmodul" verfügbar

                                      Das hat technische Gründe, weil die ioBroker-Nodes aktuell ganz normal mit den adapter-utils implementiert wurden. Also die nodes kommunizieren genau auf dem gleichen Weg mit dem js-controller, wie jede andere Instanz auch. Das hat den Vorteil, dass man das Rad nicht neu erfinden musste.

                                      https://github.com/ioBroker/ioBroker.node-red/blob/25f13ce8f7e359d1dac04cadf75aef3725839ce6/nodes/ioBroker.js#L26

                                      Möchte man das nun extern auslagern, müsste man diese Nodes gegen irgendetwas verbinden (rest-api, sockets, ...) mit Authentication und allem drum und dran.

                                      Bei der Rest-API kann man sich auch für State-Changes usw. "anmelden" und bekommt dann einen HTTP-Push: https://github.com/ioBroker/ioBroker.rest-api?tab=readme-ov-file#subscribe-to-the-states-or-objects-changes

                                      Das könnte man jetzt schon genau so in Node-RED selbst bauen (mit den HTTP-Nodes).

                                      haus-automatisierung 1 Reply Last reply Reply Quote 3
                                      • haus-automatisierung
                                        haus-automatisierung Developer Most Active @haus-automatisierung last edited by

                                        So z.B.

                                        Screenshot 2024-01-31 at 22.28.37.png

                                        [
                                            {
                                                "id": "e4524f82656cd957",
                                                "type": "tab",
                                                "label": "Flow 2",
                                                "disabled": false,
                                                "info": "",
                                                "env": []
                                            },
                                            {
                                                "id": "ac1e2c56d66e6954",
                                                "type": "http in",
                                                "z": "e4524f82656cd957",
                                                "name": "ioBroker State Change",
                                                "url": "/ioBroker/stateChange",
                                                "method": "post",
                                                "upload": false,
                                                "swaggerDoc": "",
                                                "x": 220,
                                                "y": 120,
                                                "wires": [
                                                    [
                                                        "1d7f4181f4024d03",
                                                        "b59cdb052b959c5e"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "a3320f282da607bf",
                                                "type": "inject",
                                                "z": "e4524f82656cd957",
                                                "name": "Register for state changes",
                                                "props": [
                                                    {
                                                        "p": "payload"
                                                    }
                                                ],
                                                "repeat": "",
                                                "crontab": "",
                                                "once": true,
                                                "onceDelay": 0.1,
                                                "topic": "",
                                                "payload": "",
                                                "payloadType": "date",
                                                "x": 240,
                                                "y": 60,
                                                "wires": [
                                                    [
                                                        "2438b2516da0d404"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "18d235b5987d73d7",
                                                "type": "http request",
                                                "z": "e4524f82656cd957",
                                                "name": "ioBroker Subscribe",
                                                "method": "POST",
                                                "ret": "txt",
                                                "paytoqs": "ignore",
                                                "url": "",
                                                "tls": "",
                                                "persist": false,
                                                "proxy": "",
                                                "insecureHTTPParser": false,
                                                "authType": "",
                                                "senderr": false,
                                                "headers": [],
                                                "x": 770,
                                                "y": 60,
                                                "wires": [
                                                    [
                                                        "3558d8854fd87800"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "2438b2516da0d404",
                                                "type": "function",
                                                "z": "e4524f82656cd957",
                                                "name": "Set url and payload",
                                                "func": "const nodeRedIp = '10.10.9.27:1880';\nconst ioBrokerIp = '10.10.2.51';\n\nconst stateId = '0_userdata.0.test';\n\nmsg.url = `http://${ioBrokerIp}:8082/rest-api/v1/state/${stateId}/subscribe`;\nmsg.payload = {\n    url: `http://${nodeRedIp}/ioBroker/stateChange`\n};\n\nreturn msg;",
                                                "outputs": 1,
                                                "timeout": 0,
                                                "noerr": 0,
                                                "initialize": "",
                                                "finalize": "",
                                                "libs": [],
                                                "x": 530,
                                                "y": 60,
                                                "wires": [
                                                    [
                                                        "18d235b5987d73d7"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "3558d8854fd87800",
                                                "type": "debug",
                                                "z": "e4524f82656cd957",
                                                "name": "debug 3",
                                                "active": false,
                                                "tosidebar": true,
                                                "console": false,
                                                "tostatus": false,
                                                "complete": "true",
                                                "targetType": "full",
                                                "statusVal": "",
                                                "statusType": "auto",
                                                "x": 980,
                                                "y": 60,
                                                "wires": []
                                            },
                                            {
                                                "id": "1d7f4181f4024d03",
                                                "type": "http response",
                                                "z": "e4524f82656cd957",
                                                "name": "",
                                                "statusCode": "",
                                                "headers": {},
                                                "x": 450,
                                                "y": 160,
                                                "wires": []
                                            },
                                            {
                                                "id": "b59cdb052b959c5e",
                                                "type": "switch",
                                                "z": "e4524f82656cd957",
                                                "name": "Just a test?",
                                                "property": "payload.test",
                                                "propertyType": "msg",
                                                "rules": [
                                                    {
                                                        "t": "true"
                                                    },
                                                    {
                                                        "t": "else"
                                                    }
                                                ],
                                                "checkall": "false",
                                                "repair": false,
                                                "outputs": 2,
                                                "x": 470,
                                                "y": 120,
                                                "wires": [
                                                    [],
                                                    [
                                                        "375c837e9615b225"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "375c837e9615b225",
                                                "type": "debug",
                                                "z": "e4524f82656cd957",
                                                "name": "debug 4",
                                                "active": true,
                                                "tosidebar": true,
                                                "console": false,
                                                "tostatus": false,
                                                "complete": "payload",
                                                "targetType": "msg",
                                                "statusVal": "",
                                                "statusType": "auto",
                                                "x": 680,
                                                "y": 120,
                                                "wires": []
                                            }
                                        ]
                                        
                                        • Erfordert im ioBroker die rest-api
                                        • In diesem Beispiel ist die rest-api als web-Extension konfiguriert (ansonsten url anpassen)
                                        1 Reply Last reply Reply Quote 2
                                        • andre
                                          andre Developer last edited by

                                          @haus-automatisierung sagte in Externes node-RED und ioBroker. Wie verbinden ?:

                                          Bei der Rest-API kann man sich auch für State-Changes usw. "anmelden" und bekommt dann einen HTTP-Push: https://github.com/ioBroker/ioBroker.rest-api?tab=readme-ov-file#subscribe-to-the-states-or-objects-changes

                                          Du hast mal wieder absolut recht! 🙂
                                          Danke für den Schubs in diese Richtung und das Beispiel. Für einfaches lesen/schreiben (bei mir geht es aktuell primär um states schreiben) würde sogar simple-api reichen. Der Witz ist, dass ich eine vergleichbare Lösung (abseits von Node-RED) sogar schon für eine handvoll States im ioBroker nutze. 🙂

                                          MfG,
                                          André

                                          1 Reply Last reply Reply Quote 0
                                          • ?
                                            A Former User last edited by A Former User

                                            @haus-automatisierung

                                            Ich bin zu doof.
                                            Wenn ich deine Node kopiere, kommt eine Fehlermeldung. Klar. Falsche IP's und fehlender Adapter.
                                            Bisher nur Simple Api vom WEB Adapter benutzt, oder besser gekannt.
                                            Angapsst. Läuft.
                                            Nodes Kopiert. Dein Flow gelöscht. Nichts geht mehr.
                                            Funktioniert das alles nur mit dem Node Red adapter von ioBroker ?

                                            Wo ist da der (mein) Fehler ?

                                            Den auf das Triggern von Node Red Nodes durch den ioBroker habe ich ewig gesucht und nichts gefunden.

                                            Falls dir Ideen ausgehen für Videos. Ich hätte da eine 😉

                                            haus-automatisierung 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            760
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            42
                                            4033
                                            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