Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. Node-Red Hilfe

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Node-Red Hilfe

Scheduled Pinned Locked Moved Node-Red
103 Posts 3 Posters 10.6k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • mickymM mickym

    @stefan22 Ich habe zwar keine Ahnung was das upd für ein Befehl ist. Ich kenne die Output Nodes für KNX nicht. Du schriebst ja, dass Du das mit dem KNX hinbekommen hast?

    Falls Du das realKNX da nutzt - musst Du meines Erachtens nur realKNX Knoten (out Node) wie die grüne Debug Node verdrahten.

    Was ist upd bzw. was macht das? Wie Du Deine App dazu bringst ein Update zu machen - falls das nicht automatisch vom Handy erfolgt ist mir ehrlich gesagt schleierhaft. Zeitlich zu pollen - das ist ja wohl Technik aus den 90igern. ;)

    Und falls das ein Betriebssystem-Befehl ist, den Du auf Deinem Raspi absetzen willst - nimmst halt den exec-Node.

    Ansonsten kann ich Dir zum geofencing nur owntracks mit MQTT Server empfehlen - Du brauchst halt einen MQTT Server im eigenen Netz und einen VPN Zugang - aber auf dem Handyschirm scheinst Du ja mit VPN vertraut zu sein.

    S Offline
    S Offline
    stefan22
    wrote on last edited by
    #13

    @mickym :blush: sollte udp/tcp heißen . Hat nix mit dem knx zu tun. :blush: gibt ja auch udp und tcp Node .

    Gruß

    mickymM 1 Reply Last reply
    0
    • mickymM mickym

      @stefan22 Ich habe zwar keine Ahnung was das upd für ein Befehl ist. Ich kenne die Output Nodes für KNX nicht. Du schriebst ja, dass Du das mit dem KNX hinbekommen hast?

      Falls Du das realKNX da nutzt - musst Du meines Erachtens nur realKNX Knoten (out Node) wie die grüne Debug Node verdrahten.

      Was ist upd bzw. was macht das? Wie Du Deine App dazu bringst ein Update zu machen - falls das nicht automatisch vom Handy erfolgt ist mir ehrlich gesagt schleierhaft. Zeitlich zu pollen - das ist ja wohl Technik aus den 90igern. ;)

      Und falls das ein Betriebssystem-Befehl ist, den Du auf Deinem Raspi absetzen willst - nimmst halt den exec-Node.

      Ansonsten kann ich Dir zum geofencing nur owntracks mit MQTT Server empfehlen - Du brauchst halt einen MQTT Server im eigenen Netz und einen VPN Zugang - aber auf dem Handyschirm scheinst Du ja mit VPN vertraut zu sein.

      S Offline
      S Offline
      stefan22
      wrote on last edited by
      #14

      @mickym F3A2F927-581B-4780-BBE6-C0B243501082.png

      S 1 Reply Last reply
      0
      • S stefan22

        @mickym F3A2F927-581B-4780-BBE6-C0B243501082.png

        S Offline
        S Offline
        stefan22
        wrote on last edited by
        #15

        @stefan22 Siehe letzte Node

        1 Reply Last reply
        0
        • S stefan22

          @mickym :blush: sollte udp/tcp heißen . Hat nix mit dem knx zu tun. :blush: gibt ja auch udp und tcp Node .

          Gruß

          mickymM Offline
          mickymM Offline
          mickym
          Most Active
          wrote on last edited by mickym
          #16

          @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 ?

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          S 1 Reply Last reply
          0
          • mickymM 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 Offline
            S Offline
            stefan22
            wrote on last edited by
            #17

            @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

            mickymM 1 Reply Last reply
            0
            • S stefan22

              @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

              mickymM Offline
              mickymM Offline
              mickym
              Most Active
              wrote on last edited by mickym
              #18

              @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.

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              S 1 Reply Last reply
              0
              • mickymM 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 Offline
                S Offline
                stefan22
                wrote on last edited by
                #19

                @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ß

                mickymM 1 Reply Last reply
                0
                • S stefan22

                  @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ß

                  mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  wrote on last edited by mickym
                  #20

                  @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" :stuck_out_tongue_winking_eye:

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  S 1 Reply Last reply
                  0
                  • mickymM 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" :stuck_out_tongue_winking_eye:

                    S Offline
                    S Offline
                    stefan22
                    wrote on last edited by
                    #21

                    @mickym ahhhh sooooo :grinning: . 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 .

                    mickymM 1 Reply Last reply
                    0
                    • S stefan22

                      Moin Gemeinde.

                      Ich bräuchte mal Hilfe beim verstehen für Node-Red

                      Ich möchte eine json Datei empfangen und aufteilen. Um mit einem true/false meinen KNX Aktor zu schalten.
                      Aber irgendwie bekomme ich das nicht hin.
                      Quasi ich stehe vor Node-Red wie der Sprichwörtliche Ochs vorm Berg.
                      Quasi null Plan.

                      Gruss und Danke

                      mickymM Offline
                      mickymM Offline
                      mickym
                      Most Active
                      wrote on last edited by mickym
                      #22

                      @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.

                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                      S 1 Reply Last reply
                      0
                      • S stefan22

                        @mickym ahhhh sooooo :grinning: . 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 .

                        mickymM Offline
                        mickymM Offline
                        mickym
                        Most Active
                        wrote on last edited by
                        #23

                        @stefan22 said in Node-Red Hilfe:

                        @mickym ahhhh sooooo :grinning: . 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. ;)

                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                        S 1 Reply Last reply
                        0
                        • mickymM 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 Offline
                          S Offline
                          stefan22
                          wrote on last edited by
                          #24

                          @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 :grinning:

                          1 Reply Last reply
                          0
                          • mickymM mickym

                            @stefan22 said in Node-Red Hilfe:

                            @mickym ahhhh sooooo :grinning: . 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 Offline
                            S Offline
                            stefan22
                            wrote on last edited by
                            #25

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

                            1 Reply Last reply
                            0
                            • mickymM mickym

                              @stefan22 Ok - hast wohl momentan wenig Zeit.

                              Ich nutze für das Geofencing owntracks - damit kommuniziere ich zwar über mqtt und nicht über eine Datei.

                              Ich habe Dir aber nun 2 Flows gebastelt - da ich mal denke, dass der JSON String vielleicht genauso aufgebaut ist:

                              {
                                  "t": "c",
                                  "tst": 123456789,
                                  "acc": 5,
                                  "_type": "transition",
                                  "event": "enter",
                                  "lon": 11,
                                  "lat": 49,
                                  "wtst": 1581954003,
                                  "tid": "XX",
                                  "desc": "Location"
                              }
                              

                              Diesen hab ich mal in den Inject Node verbannt - damit Du siehst, wie ich auf den event Parameter im switch node direkt zugreife:

                              [
                                  {
                                      "id": "3f6b154f.c11fba",
                                      "type": "inject",
                                      "z": "d3cedfe7.726d1",
                                      "name": "Beispiel JSON",
                                      "props": [
                                          {
                                              "p": "payload"
                                          },
                                          {
                                              "p": "topic",
                                              "vt": "str"
                                          }
                                      ],
                                      "repeat": "",
                                      "crontab": "",
                                      "once": false,
                                      "onceDelay": 0.1,
                                      "topic": "",
                                      "payload": "{\"t\":\"c\",\"tst\":123456789,\"acc\":5,\"_type\":\"transition\",\"event\":\"enter\",\"lon\":11,\"lat\":49,\"wtst\":1581954003,\"tid\":\"XX\",\"desc\":\"Location\"}",
                                      "payloadType": "json",
                                      "x": 440,
                                      "y": 260,
                                      "wires": [
                                          [
                                              "7b88d3e5.f8e79c"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "7b88d3e5.f8e79c",
                                      "type": "switch",
                                      "z": "d3cedfe7.726d1",
                                      "name": "",
                                      "property": "payload.event",
                                      "propertyType": "msg",
                                      "rules": [
                                          {
                                              "t": "eq",
                                              "v": "enter",
                                              "vt": "str"
                                          },
                                          {
                                              "t": "eq",
                                              "v": "leave",
                                              "vt": "str"
                                          }
                                      ],
                                      "checkall": "true",
                                      "repair": false,
                                      "outputs": 2,
                                      "x": 630,
                                      "y": 260,
                                      "wires": [
                                          [
                                              "7e9f0ec7.6e16a"
                                          ],
                                          [
                                              "fbb14bc9.976718"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "13315852.ed89c8",
                                      "type": "debug",
                                      "z": "d3cedfe7.726d1",
                                      "name": "KNX Gerät",
                                      "active": true,
                                      "tosidebar": true,
                                      "console": false,
                                      "tostatus": false,
                                      "complete": "payload",
                                      "targetType": "msg",
                                      "statusVal": "",
                                      "statusType": "auto",
                                      "x": 1150,
                                      "y": 240,
                                      "wires": []
                                  },
                                  {
                                      "id": "7e9f0ec7.6e16a",
                                      "type": "change",
                                      "z": "d3cedfe7.726d1",
                                      "name": "setze true",
                                      "rules": [
                                          {
                                              "t": "set",
                                              "p": "payload",
                                              "pt": "msg",
                                              "to": "true",
                                              "tot": "bool"
                                          }
                                      ],
                                      "action": "",
                                      "property": "",
                                      "from": "",
                                      "to": "",
                                      "reg": false,
                                      "x": 800,
                                      "y": 200,
                                      "wires": [
                                          [
                                              "13315852.ed89c8"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "fbb14bc9.976718",
                                      "type": "change",
                                      "z": "d3cedfe7.726d1",
                                      "name": "setze false",
                                      "rules": [
                                          {
                                              "t": "set",
                                              "p": "payload",
                                              "pt": "msg",
                                              "to": "false",
                                              "tot": "bool"
                                          }
                                      ],
                                      "action": "",
                                      "property": "",
                                      "from": "",
                                      "to": "",
                                      "reg": false,
                                      "x": 810,
                                      "y": 300,
                                      "wires": [
                                          [
                                              "13315852.ed89c8"
                                          ]
                                      ]
                                  }
                              ]
                              

                              Das sieht dann so aus - die letzte Debug Node ist halt dann Deine Node zu Deinem KNX Aktor.

                              screen.png

                              Im Prinzip geht es sogar noch einfacher - in dem Du alles in einen Change Node verpackst:

                              [
                                  {
                                      "id": "3f6b154f.c11fba",
                                      "type": "inject",
                                      "z": "d3cedfe7.726d1",
                                      "name": "Beispiel JSON",
                                      "props": [
                                          {
                                              "p": "payload"
                                          },
                                          {
                                              "p": "topic",
                                              "vt": "str"
                                          }
                                      ],
                                      "repeat": "",
                                      "crontab": "",
                                      "once": false,
                                      "onceDelay": 0.1,
                                      "topic": "",
                                      "payload": "{\"t\":\"c\",\"tst\":123456789,\"acc\":5,\"_type\":\"transition\",\"event\":\"enter\",\"lon\":11,\"lat\":49,\"wtst\":1581954003,\"tid\":\"XX\",\"desc\":\"Location\"}",
                                      "payloadType": "json",
                                      "x": 440,
                                      "y": 260,
                                      "wires": [
                                          [
                                              "e0c2bb47.77fb38"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "13315852.ed89c8",
                                      "type": "debug",
                                      "z": "d3cedfe7.726d1",
                                      "name": "KNX Gerät",
                                      "active": true,
                                      "tosidebar": true,
                                      "console": false,
                                      "tostatus": false,
                                      "complete": "payload",
                                      "targetType": "msg",
                                      "statusVal": "",
                                      "statusType": "auto",
                                      "x": 830,
                                      "y": 260,
                                      "wires": []
                                  },
                                  {
                                      "id": "e0c2bb47.77fb38",
                                      "type": "change",
                                      "z": "d3cedfe7.726d1",
                                      "name": "translate event",
                                      "rules": [
                                          {
                                              "t": "change",
                                              "p": "payload.event",
                                              "pt": "msg",
                                              "from": "enter",
                                              "fromt": "str",
                                              "to": "true",
                                              "tot": "bool"
                                          },
                                          {
                                              "t": "change",
                                              "p": "payload.event",
                                              "pt": "msg",
                                              "from": "leave",
                                              "fromt": "str",
                                              "to": "false",
                                              "tot": "bool"
                                          },
                                          {
                                              "t": "set",
                                              "p": "payload",
                                              "pt": "msg",
                                              "to": "payload.event",
                                              "tot": "msg"
                                          }
                                      ],
                                      "action": "",
                                      "property": "",
                                      "from": "",
                                      "to": "",
                                      "reg": false,
                                      "x": 640,
                                      "y": 260,
                                      "wires": [
                                          [
                                              "13315852.ed89c8"
                                          ]
                                      ]
                                  }
                              ]
                              

                              Das schaut dann ganz clean ;) aus.

                              screen.png

                              Falls Du über Dateien kommunizierst und nicht über mqtt nimmst Du ("unter Speicher" ) den watch Node und liest mit file-in ein. Dann konvertierst Du den Text in JSON Format und greifst dann analog oben dann darauf zu. Damit müsstest Du das alles in den Griff bekommen.

                              [
                                  {
                                      "id": "4ff32339.2830dc",
                                      "type": "watch",
                                      "z": "d3cedfe7.726d1",
                                      "name": "",
                                      "files": "/home/pi/package-lock.json",
                                      "recursive": "",
                                      "x": 220,
                                      "y": 380,
                                      "wires": [
                                          [
                                              "7b232dce.c21b04"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "7b232dce.c21b04",
                                      "type": "file in",
                                      "z": "d3cedfe7.726d1",
                                      "name": "",
                                      "filename": "",
                                      "format": "utf8",
                                      "chunk": false,
                                      "sendError": false,
                                      "encoding": "none",
                                      "x": 450,
                                      "y": 380,
                                      "wires": [
                                          [
                                              "b6f50216.0a6bd"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "2e14a940.8785f6",
                                      "type": "debug",
                                      "z": "d3cedfe7.726d1",
                                      "name": "",
                                      "active": true,
                                      "tosidebar": true,
                                      "console": false,
                                      "tostatus": false,
                                      "complete": "false",
                                      "statusVal": "",
                                      "statusType": "auto",
                                      "x": 870,
                                      "y": 380,
                                      "wires": []
                                  },
                                  {
                                      "id": "b6f50216.0a6bd",
                                      "type": "json",
                                      "z": "d3cedfe7.726d1",
                                      "name": "",
                                      "property": "payload",
                                      "action": "",
                                      "pretty": false,
                                      "x": 650,
                                      "y": 380,
                                      "wires": [
                                          [
                                              "2e14a940.8785f6"
                                          ]
                                      ]
                                  }
                              ]
                              

                              Das heißt du verkabelst anstelle des Inject Nodes den JSON Node aus dem Datei auslesen.

                              screen.png

                              Warum ich nach dem Betriebssystem gefragt habe? Nun da müssen halt die Dateipfade mit doppeltem Backslash eingetragen werden - siehst Du aber an der Info zu dem watch Node.

                              S Offline
                              S Offline
                              stefan22
                              wrote on last edited by
                              #26

                              @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 ????

                              mickymM 1 Reply Last reply
                              0
                              • S stefan22

                                @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 ????

                                mickymM Offline
                                mickymM Offline
                                mickym
                                Most Active
                                wrote on last edited by mickym
                                #27

                                @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. ;)

                                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                1 Reply Last reply
                                0
                                • S stefan22

                                  Moin Gemeinde.

                                  Ich bräuchte mal Hilfe beim verstehen für Node-Red

                                  Ich möchte eine json Datei empfangen und aufteilen. Um mit einem true/false meinen KNX Aktor zu schalten.
                                  Aber irgendwie bekomme ich das nicht hin.
                                  Quasi ich stehe vor Node-Red wie der Sprichwörtliche Ochs vorm Berg.
                                  Quasi null Plan.

                                  Gruss und Danke

                                  mickymM Offline
                                  mickymM Offline
                                  mickym
                                  Most Active
                                  wrote on last edited by
                                  #28

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

                                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                  S 1 Reply Last reply
                                  0
                                  • mickymM mickym

                                    @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 Offline
                                    S Offline
                                    stefan22
                                    wrote on last edited by
                                    #29

                                    @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

                                    mickymM 1 Reply Last reply
                                    0
                                    • S stefan22

                                      @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

                                      mickymM Offline
                                      mickymM Offline
                                      mickym
                                      Most Active
                                      wrote on last edited by
                                      #30

                                      @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.

                                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                      S 1 Reply Last reply
                                      0
                                      • mickymM mickym

                                        @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 Offline
                                        S Offline
                                        stefan22
                                        wrote on last edited by
                                        #31

                                        @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 mickymM 2 Replies Last reply
                                        0
                                        • S stefan22

                                          @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 Offline
                                          S Offline
                                          stefan22
                                          wrote on last edited by
                                          #32

                                          @stefan22 Debugging

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          295

                                          Online

                                          32.7k

                                          Users

                                          82.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe