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
      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
                        • haus-automatisierung
                          haus-automatisierung Developer Most Active @Guest last edited by

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

                          Funktioniert das alles nur mit dem Node Red adapter von ioBroker ?

                          Nein - genau darum ging es doch hier. Um eine externe Installation von Node-RED.

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

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

                          Das sind ja absolute Basics und das habe ich (meiner Meinung nach) schon zig mal gezeigt. Was fehlt Dir an Infos? Wie man die rest-api anspricht?!

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

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

                            Wenn ich deine Node kopiere, kommt eine Fehlermeldung.

                            Beim kopieren? Beim Import? Oder beim Ausführen? Was denn genau für eine Meldung? Ich habe das mit Node-RED 3.1 getestet und es werden nur Standard-Nodes verwendet.

                            1 Reply Last reply Reply Quote 0
                            • ?
                              A Former User @haus-automatisierung last edited by A Former User

                              @haus-automatisierung

                              UI, jetzt wird es für mich kompliziert.,

                              Deine Nodes, bei mir in Flow 2 markiert, und in meinen "Spielplatz" kopiert.
                              IP's angepasst.
                              Deploy.
                              Werte änderungen im '0_userdata.0.test' werden über 'Debug 4' angezeigt. (Dein Flow)
                              Dein Flow (Flow2) deaktivert. Keine Änderung wird mehr angezigt.
                              Bei mir wäre das dann z.b. Debug 31.

                              Antwort: Alles OK


                              2.2.2024, 10:28:07node: debug 30
                              msg : Object
                              object
                              _msgid: "2280b714f7c82175"
                              payload: "{"val":"77","ack":false,"ts":1706865332143,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1706865332143}"
                              url: "http://192.168.19.17:8082/rest-api/v1/state/0_userdata.0.test/subscribe"
                              statusCode: 200
                              headers: object
                              responseUrl: "http://192.168.19.17:8082/rest-api/v1/state/0_userdata.0.test/subscribe"
                              redirectList: array[0]
                              retry: 0

                              Und die Antworten kommen nur einmal irgendwo an.
                              Wenn man verschieden Abos in verschiedenen Flows hat, kommt die Antwort, scheinbar zufällig, und nur einmal
                              an irgendeinem "Http In Node" an.
                              Ziemlich verwirrend das ganze.

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

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

                                und nur einmal
                                an irgendeinem "Http In Node" an.

                                Naja Du brauchst ja nur eine http-In Node. Dort kommen alle abonnierten Nachrichten an. Oder Du müsstest für jeden State eine eigene URL anlegen (finde ich etwas nervig).

                                ? 1 Reply Last reply Reply Quote 0
                                • ?
                                  A Former User @haus-automatisierung last edited by

                                  @haus-automatisierung

                                  Schade. Funktioniert dann nicht wie erhofft.

                                  Alle Trigger laufen auf einen Node. Eher suboptimal.
                                  Dann eben doch HA.

                                  Danke für deine Mühe.

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

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

                                    Alle Trigger laufen auf einen Node. Eher suboptimal.

                                    Mh? Einfach eine Switch-Node dahinter und gut.
                                    Oder eben jede Subscription auf einer eigenen Url registrieren.

                                    ? 1 Reply Last reply Reply Quote 0
                                    • ?
                                      A Former User @haus-automatisierung last edited by A Former User

                                      @haus-automatisierung

                                      Wie schon geschrieben, ich scheitetere schon an den Basics. Sprich dem Import und änderung an deinem Flow.

                                      Ich werde wohl doch alt ... und sehe dann Wald vor lauter Bäumen nicht.

                                      Nachtrag:
                                      Nach Stunden des rumprobierens funktioniert es jetzt.
                                      Was habe ich gemacht:

                                      • WEB Adapter mir aktivierter Simple API. (Weniger änderungen an meinen Flows)
                                      • Adapter "rest-api" läuft ohnne integration in den WEB Adapter auf einem eigenen Port (8083).
                                      • Die Pfade wurden angepasst. (/rest-api/ hat nie funktioniert)
                                      • Die " HTTP In" - Node läuft in einem eigenem Flow und verzweigt dann mit über "Link In / Out" - Nodes in alle anderen Flows.
                                        Dort werden dann "Switch" - Nodes verwendet. (Wie Vorgeschlagen)

                                      Ein langer und nerviger Weg des Probierens.
                                      Danke für die Geduld und das Schubsen in die richtige Richtung.

                                      Nachtrag zum Nachtrag. Nach einem Neustart von Node Red und ioBroker geht nichts mehr.
                                      Error 403 .
                                      Ich geb's auf . Ohne Informatik Studium wird das nichts mit dem ioBroker.

                                      Mein Spielplatz Flow :
                                      [gelöscht]
                                      [

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

                                        @dreistein Meine url war ja (wie geschrieben) für den rest api als Web Extension. Ginge auch nur per rest api Adapter auf port 8083. Dann hat der web adapter damit auch nix mehr zu tun.

                                        Simple api hat mit dem ganzen Thema gar nichts zu tun.

                                        ? 1 Reply Last reply Reply Quote 0
                                        • ?
                                          A Former User @haus-automatisierung last edited by

                                          @haus-automatisierung

                                          Ja, Lesen und so. Noob halt.

                                          Nur wenn man keine Ahnung hat und nicht versteht was da steht, verrent man sich ständig und rafft nichts.
                                          Wald und so ....

                                          Generation YT 😉 Click, Click , geht nicht -> Mist. 😉
                                          Ich würde mir ja immer noch die ioBroker Nodes zur "freien" Verfühgung wünschen.
                                          Click, Click. Geht -> Toll 😉

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

                                            @dreistein Dann erklär gerne wie technisch die Kommunikation der ioBroker Nodes laufen soll. Dass es die nicht separat gibt, hat ja einen technischen Grund und wurde nicht gemacht um Dich zu ärgern 😉

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            701
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            43
                                            4382
                                            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