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. Node-Red Hilfe

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Node-Red Hilfe

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      stefan22 @stefan22 last edited by

      @stefan22 Siehe letzte Node

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

        @stefan22 Ja damit hast Dir die Antwort ja selbst gegeben - bei dem udp Node gibst ip-Zieladresse und port an und der schickt die msg.payload dorthin.

        Trotzdem frage ich mich - warum Du auf Netzwerkebene kommunizieren willst ?

        S 1 Reply Last reply Reply Quote 0
        • S
          stefan22 @mickym last edited by

          @mickym siehst und da Ist mein Problem. Jetzt weiß ich das ich MessagePayload brauch, aber wie kommt der Code in die Message Den ich senden möchte ????
          Ich denk ich hab von Grund auf zu wenig Ahnung von Node Red .
          Da war das VPN demand beim bestimmten Port einfacher

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

            @stefan22 das geniale an NodeRed ist, dass es im Prinzip alles transparent macht vom Trigger mit dem Du eine Nachricht erzeugst bis zum Output mit dem die Nachricht verschickt wird.

            Die Nodes werden "grafisch" verdrahtet und in diesen Drähten fließt dann Dein Nachrichtenobjekt. Das Nachrichtenobjekt ist ein ganz normales Java-Objekt mit verschiedenen Elementen.

            In der Regel hat ein Nachricht immer ein Topic (ist nicht zwingend) um zu zeigen, um was es sich bei der Nachricht handelt und um eine payload - die den Inhalt der Nachricht enthält. Dies kann ein einfacher String sein oder wieder ein Java-Objekt usw.

            Du kannst jeder Zeit eine Nachricht mit einem ChangeNode generieren indem Du die msg.payload festlegst.

            Willst Du also den Befehl "Hallo" über den upd Node verschicken - generierst Du ein msg- Objekt und legst den String auf "Hallo" fest den Du dann an die UDP-Node schickst.

            Ich mach Dir wieder mal ein Beispiel-Flow:

            [
                {
                    "id": "2584387.06b99c8",
                    "type": "udp out",
                    "z": "cbd44c7e.fa8fd",
                    "name": "",
                    "addr": "",
                    "iface": "",
                    "port": "",
                    "ipv": "udp4",
                    "outport": "",
                    "base64": false,
                    "multicast": "false",
                    "x": 750,
                    "y": 260,
                    "wires": []
                },
                {
                    "id": "9227533a.0063d",
                    "type": "inject",
                    "z": "cbd44c7e.fa8fd",
                    "name": "",
                    "props": [
                        {
                            "p": "payload"
                        },
                        {
                            "p": "topic",
                            "vt": "str"
                        }
                    ],
                    "repeat": "",
                    "crontab": "",
                    "once": false,
                    "onceDelay": 0.1,
                    "topic": "",
                    "payload": "Hallo",
                    "payloadType": "str",
                    "x": 430,
                    "y": 220,
                    "wires": [
                        [
                            "2584387.06b99c8"
                        ]
                    ]
                },
                {
                    "id": "2b8feae8.11da46",
                    "type": "change",
                    "z": "cbd44c7e.fa8fd",
                    "name": "",
                    "rules": [
                        {
                            "t": "set",
                            "p": "payload",
                            "pt": "msg",
                            "to": "Hallo",
                            "tot": "str"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 500,
                    "y": 300,
                    "wires": [
                        [
                            "2584387.06b99c8"
                        ]
                    ]
                }
            ]
            

            Normalerweise hängst Du einen anderen Trigger oder einen Flow vor die Change Node und legst dann ggf. die payload fest (gelbe Node).

            Mit der Injekt Node - kannst Du aber zur Laufzeit die Nachricht generieren - als selbst triggern und direkt zum Beispiel über den udp Node rausschicken.

            screen.png

            Also einfach den Code in die payload schreiben. Trotzdem bin ich zu Deiner Low-Level Netzwerkkommunikation nicht überzeugt. 😉

            ... und statt Hallo verschickst Du einfach Deinen Code. 😉 - Ist doch easy.

            S 1 Reply Last reply Reply Quote 0
            • S
              stefan22 @mickym last edited by

              @mickym Siehst wenn ich mal nen Anfang richtig erklärt bekomm dann Steig ich da langsam hinter . Lach ok was meinst du mit dem low Level ?????

              Gruß

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

                @stefan22 Nun ich verstehe immer noch nicht warum DU über UPD oder TCP kommunizierst (das nenn ich Low-Level) - in der Regel machen das Anwendungen oder auf Neudeutsch "Apps" 😜

                S 1 Reply Last reply Reply Quote 0
                • S
                  stefan22 @mickym last edited by

                  @mickym ahhhh sooooo 😀 . Na mit dem udp schalt ich nur meine Steckdosenleiste im Rack .
                  Da ich nicht mehr Geräte als notwendig laufen lassen will.
                  Sprich ich habe pro Raum mit Netzwerkdosen ne 8 Port Switch . Ist niemand im Raum ( Bewegungsmelder) oder niemand daheim siehe Geofency werden die Switches weg geschaltet .

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

                    @stefan22 Noch eine kleine Ergänzung- Viele wissen nicht dass mit der Change Node einfach die Nachrichten festlegen oder definieren kann und verwenden dafür unsinnigerweise Function-Nodes. Teilweise ist das auch der etwas stümperhaften Übersetzung geschuldet.

                    Im Deutschen sieht man bei der Change Node : Festlegen - bis
                    Im Englischen steht da: Set - to

                    ich glaube da ist das verständlicher.

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

                      @stefan22 said in Node-Red Hilfe:

                      @mickym ahhhh sooooo 😀 . Na mit dem udp schalt ich nur meine Steckdosenleiste im Rack .
                      Da ich nicht mehr Geräte als notwendig laufen lassen will.
                      Sprich ich habe pro Raum mit Netzwerkdosen ne 8 Port Switch . Ist niemand im Raum ( Bewegungsmelder) oder niemand daheim siehe Geofency werden die Switches weg geschaltet .

                      Ach so. 😉 Ja ich schalte noch alle Lampen aus und die Heizung klein - und die Bewegungsmelder werden zur Überwachung anstelle ihrer Funktion als Lichtschalter bei Anwesenheit. 😉

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        stefan22 @mickym last edited by

                        @mickym ich werde das heut Nacht gleich mal probieren und geb dir ein Feedback.
                        Aber erstmal danke für die Hilfe . Jetzt bin ich ein bisschen schlauer.
                        DANKE 😀

                        1 Reply Last reply Reply Quote 0
                        • S
                          stefan22 @mickym last edited by

                          @mickym 😬 Yep deshalb hab ich auch vier linienkoppler statt zwei Lach

                          1 Reply Last reply Reply Quote 0
                          • S
                            stefan22 @mickym last edited by

                            @mickym blöde Frage noch also über mqtt kommuniziere ich definitiv nicht , das wüsste ich .
                            Das andere heißt dann es wird eine Datei auf dem raspi erstellt .
                            Die wird dann durch den Befehl hin von der App gefüllt und wird von Node Red weiterverarbeitet.
                            Warum macht man das nicht durch ein Http In ????

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

                              @stefan22 Ich weiß erst mal immer noch nicht, was Du für ein geofencing tool nimmst.

                              @mickym Moin . Sorry für die späte Antwort bin gerade auf Montage .

                              So der Node Red läuft bei mir auf dem RealAirserver von RealKnx. Ipadress:1880
                              Die sendende App ist Geofencing
                              Diese sendet ja ne html/json beim Betreten und verlassen von nem vor definierten Bereich .
                              Wie kann ich die Datei umwandeln und den Wert entry umwandeln oder auslesen um meine Verbraucher im Knx zu schalten ? .
                              Das mit dem Knx hab ich hinbekommen

                              Gruß

                              Anhand dieses Postings bin ich auf die Idee gekommen, dass Du

                              1. Owntracks vielleicht nutzt

                              und

                              1. hast Du angefangen was von einer Datei zu "faseln" ;).

                              Wenn es owntracks ist ???? - dann könntest DU anstelle von MQTT auf HTTP nutzen. (s. owntracks - Booklet https://owntracks.org/booklet/tech/http/).

                              Jetzt hast Du auch noch Glück, dass Node-Red Dir einen eigenen WEB-Server zur Verfügung stellen kann - sogar mit einer frei verfügbare IN-Node, sodass Du diese zur Identifikation in Deiner owntracks APP angeben kannst. Das musst halt ausprobieren - das kannst aber mit Browser simulieren.

                              Zu diesem Zweck nimmst Du als IN-Node eine HTTP-In Node und kannst dann noch eine spezielle Kennung an die URL hängen (z.Bsp "/owntracks" ) und gibst diese in Owntracks als Ziel an.
                              Der Node-Red WebServer hört ebenfalls auf den 1880. Also URL in owntracks wäre dann: http://<dein nodered-server>/owntracks

                              Ich hab zwar den Webserver an sich ausprobiert (allerdings GET Methode) und bin auch nicht der HTTP Spezialist - aber insofern wäre das doch ziemlich genial, weil dann würde der JSON String durch den HTTP Post aus der APP direkt den NodeRED Server ansprechen und Du bekommst den JSON String frei Haus aus der HTTP In Node. 😉

                              screen.png

                              Zu Schluß:

                              Deine geofencing App muss ja den Trigger für Deinen Flow liefern. Nur diese ermittelt, ob Du zuhause bist oder nicht und wie diese App kommunizert - das bestimmt wohl oder übel der Programmierer dieser App. 😉

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

                                @stefan22 Übrigens mit diesem Webserver in node-red kann man mit der URL auch toll die Kurzbefehle von IOS nutzen - um Flows zu starten. 😉

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  stefan22 @mickym last edited by

                                  @mickym lach ja manchmal in der Eile bekommt so manches Ding einfach ein Ding aufgedrückt von mir 53F2746C-10BB-4923-9F96-94DAD1208253.png

                                  Im Endeffekt generiert die App nen webhook/json was die Json dann per http Befehl verschickt .

                                  Man kann wohl auch ibacons mit einbinden.

                                  C0EEE8AD-71F0-4AB6-851A-2E96AF0CB454.png 8D09B2F3-A505-41F7-91B9-7DAC8F13A546.png F80D9464-E889-4F37-AC75-2189154AA927.png

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

                                    @stefan22 Na ja - so einem Ding einfach ein Ding aufdrücken, kann ziemlich in die Irre führen. Nimm einfach die GET HTTP Methode und dann trag einfach mal

                                    http://<dein nodered-server>/geofency ein.

                                    [
                                        {
                                            "id": "21f890eb.fe1b9",
                                            "type": "http in",
                                            "z": "e681ba2a.defd68",
                                            "name": "",
                                            "url": "/geofency",
                                            "method": "get",
                                            "upload": false,
                                            "swaggerDoc": "",
                                            "x": 280,
                                            "y": 140,
                                            "wires": [
                                                [
                                                    "1627f3a3.a74dac",
                                                    "48e2deff.3269d"
                                                ]
                                            ]
                                        },
                                        {
                                            "id": "1627f3a3.a74dac",
                                            "type": "debug",
                                            "z": "e681ba2a.defd68",
                                            "name": "",
                                            "active": true,
                                            "tosidebar": true,
                                            "console": false,
                                            "tostatus": false,
                                            "complete": "false",
                                            "statusVal": "",
                                            "statusType": "auto",
                                            "x": 490,
                                            "y": 140,
                                            "wires": []
                                        },
                                        {
                                            "id": "48e2deff.3269d",
                                            "type": "http response",
                                            "z": "e681ba2a.defd68",
                                            "name": "",
                                            "statusCode": "",
                                            "headers": {},
                                            "x": 490,
                                            "y": 80,
                                            "wires": []
                                        }
                                    ]
                                    

                                    gg. musst halt in der Doku schauen - welche Antwort die App erwartet - wenn Du in den HTTP out Node nichts eingibst - wird zum. Code 200 zurückgegeben - d.h. alles OK.

                                    screen.png

                                    Zumindest kannst Du damit im Debug Fenster anschauen, ob der JSON String ankommt.

                                    S 1 Reply Last reply Reply Quote 0
                                    • S
                                      stefan22 @mickym last edited by

                                      @mickym Also wenn ich bei der App http://192.168.204:1880/geofency eingebe kommt nix beim debbuging an

                                      F11ACAB5-2024-490F-A2A5-E813C3420145.png

                                      Und der Fehler kommt.

                                      Geb ich das gleiche im Browser ein kommt beim debbuging {empty} und im Browser {}

                                      S mickym 2 Replies Last reply Reply Quote 0
                                      • S
                                        stefan22 @stefan22 last edited by

                                        @stefan22 Debugging

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

                                          @stefan22 Zumindest mit dieser IP.Adresse kann nichts ankommen. 😉

                                          S 1 Reply Last reply Reply Quote 0
                                          • S
                                            stefan22 @mickym last edited by

                                            @mickym lag an der App . Wenn ich quasi get bei Node-red einstelle muss ich quasi auch get bei der App einstellen . Wenn quasi Post bei Node dann Post bei der App .
                                            Daten sind da jetzt muss ich nur noch den Entry Eintrag rausfiltern der dann das schalten mit den KNX Aktoren übernimmt

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            572
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            103
                                            6930
                                            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