Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Cloud Dienste
    4. [Frage] Node Red Server per iot erreichbar

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    [Frage] Node Red Server per iot erreichbar

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @Linedancer last edited by

      @linedancer Hab zwar keine Ahnung vom iot Adapter, aber wenn Du damit eine URL verschicken kannst, dann kannst ja auch NodeRed als Server nutzen und Flows anstossen.

      1 Reply Last reply Reply Quote 0
      • L
        Linedancer last edited by

        Danke für die Rückmeldung.
        Der Flow mit dem Node red Server läuft, ist aber halt nur aus dem Heimnetzwerk erreichbar. Ich möchte ihn aber von extern erreichen, deshalb die Idee mit iot

        liv-in-sky 1 Reply Last reply Reply Quote 0
        • liv-in-sky
          liv-in-sky @Linedancer last edited by liv-in-sky

          @linedancer Unter Service und ifttt kannst du im iot Settung einen Service einrichten
          Dieser Service ist im Endeffekt ein dp, den du mit einer url sicher ansprechen kannst
          Z.b. mit Tasker über httpget
          Den dp kannst du in nodered einbinden

          L 1 Reply Last reply Reply Quote 0
          • L
            Linedancer @liv-in-sky last edited by

            @liv-in-sky
            So, bin wieder online. Gibt tatsächlich noch Gegenden in D wo Netz quasi nicht vorhanden ist.

            Mine Datenquelle ist die Android App torque. Dort kann ein Webserver eingetragen werden, der die Daten empfängt. Im Heimnetz funktioniert das problemlos mit Node Red.

            192.168.178.65:1880/torque
            

            Für den iot Adapter muss ich sowas wie

            https://service.iobroker.in/v1/iotService?Service=custom_torque&Key=xxx&User=yyy&data=zzz
            

            eintragen.
            die beiden url´s unterscheiden sich dadurch, das im zweiten Fall die zu übertagenden Daten Teil der url sind, im ersten Fall nicht.
            Das bekomme ich mit meinen rudimentären Kenntnissen nicht auf die Reihe.

            liv-in-sky 1 Reply Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @Linedancer last edited by

              @linedancer

              da geht es mir nicht anders - das ist eine frage von torque - was damit machbar ist - ich kenne die app nicht

              anscheinend kann die app an einen server senden, der in node red eine eigene node hat - diese node weiß dann, was zu tun ist. diese kommunikation ist in der app und dem server definiert und kann so nicht geändert werden - eigentlich nur über eine port öffnung- was sehr gefährlich sein kann und ich nicht empfehle

              es gibt hier versuche über tasker daten zu senden https://forum.xda-developers.com/t/q-tasker-torque-integration.1927504/post-51724497
              torque kann wohl ein csv file schreiben - was dann an iot gesendet werden müßte und du die werte über ein script auslesen müßtest
              und es gibt wohl einen intend alarm in der app, der auch irgendwie genutzt werden kann

              ich persönlich würde meine vpn verbindung zu meiner fritzbox vom handy aus starten und dann an node red übertragen - evtl ist das ein weg - evtl ist das auch nicht besonders stabil - evtl auch ein traffic-mengen-problem - je nach flatrate

              vielleicht hat noch jmd anders eine lösung, der diese s torque nutzt - da würde ich aber einen thread öffnen mit der passenden überschrift, damit die leute es auch finden

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @liv-in-sky last edited by mickym

                @liv-in-sky Das wird wahrscheinlich keine besondere Node sein, sondern ist schlicht eine HTTP IN Node. Zumindest was ich in der Beschreibung zu dem Flow lesen konnte. Die Frage ist wohl eher ob der iot Adapter sowas wie eine Reverse-Proxy Funktion bietet?

                @Linedancer
                Ansonsten bleibt Dir nur der Weg über eine Portöffnung und eigenes VPN oder ReverseProxy übrig. So mach ich das - ist kein Hexenwerk. Ich habe inzwischen einen openvpn Server intern auf einer eigenen Maschine, da ich das Fritzbox VPN aufgrund fehlender IPv4 Adressen vom Handy nicht mehr nutzen kann. Zudem habe ich auch noch einen nginx Proxy laufen.

                liv-in-sky 1 Reply Last reply Reply Quote 1
                • liv-in-sky
                  liv-in-sky @mickym last edited by

                  @mickym

                  da bist du besser informiert wie ich - daher , denke ich, kannst du besser helfen

                  mickym 1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @liv-in-sky last edited by

                    @liv-in-sky Nein, weil ich den iot Adapter nicht kenne - kann der sowas wie Reverse Proxy? Sprich kann man damit Daten einfach auf eine andere URL intern umleiten?

                    liv-in-sky 1 Reply Last reply Reply Quote 0
                    • liv-in-sky
                      liv-in-sky @mickym last edited by

                      @mickym

                      sorry da bin ich "blank" - keine ahnung was iot da macht bzw kann 😞

                      mickym 1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @liv-in-sky last edited by mickym

                        @liv-in-sky Na OK - ich hab auch nicht die Ahnung davon.

                        Lese gerade mal die Beschreibung. Das einzige was vielleicht noch ginge mit dem iot Adapter scheint das text2command zu sein.

                        text2command
                        You may write "text2command" in white list, you can send POST request to https://service.iobroker.in/v1/iotService?service=text2command&key=<user-app-key>&user=<USER_EMAIL> to write data into text2command.X.text variable. Dazu weiß ich aber wiederum nicht, ob die torque App - HTTP Post Kommandos verschicken kann??

                        Damit müssten die Daten in diese **text2command.X.text ** Variable kommen, die man dann als Trigger für einen NodeRed Flow nützen könnte. Allerdings weiss ich nicht, was man da in dem Adapter konfigurieren muss, was da Alexa für Antworten erwartet.

                        liv-in-sky 1 Reply Last reply Reply Quote 0
                        • liv-in-sky
                          liv-in-sky @mickym last edited by

                          @mickym sagte in [Frage] Node Red Server per iot erreichbar:

                          , ob die torque App - HTTP Post Kommandos verschicken kann

                          ich denke, dass ist das problem - wahrscheinlich kann man das nicht (ist zu überprüfen)

                          daher ist der text2command wie schon mein vorschlag nur über z.b tasker ansprechbar

                          mickym 1 Reply Last reply Reply Quote 0
                          • mickym
                            mickym Most Active @liv-in-sky last edited by

                            @Linedancer

                            Ich habe mir gerade die Beschreibung zu der App angeschaut:

                            • Send logging information to web or email CSV/KML for analysis via excel / openoffice reader

                            Ggf. kannst Du Dir das doch über E-Mail schicken lassen und dann die E-Mail im NodeRed weiterverarbeiten, wenn Dir alles andere zu aufwändig erscheint?

                            liv-in-sky 1 Reply Last reply Reply Quote 0
                            • liv-in-sky
                              liv-in-sky @mickym last edited by

                              @mickym

                              ist auch eine gute idee - dass csv file über email zu senden

                              mickym 1 Reply Last reply Reply Quote 0
                              • mickym
                                mickym Most Active @liv-in-sky last edited by

                                @liv-in-sky Ja und ich mir gerade mal angeschaut - mit der CSV Node ist es auch kein Problem, die Daten dann zu analysieren. Ich habe das beispielsweise mal mit einer CSV Datei aus Excel gemacht.

                                Der Flow, den @Linedancer wahrscheinlich benutzt macht ja auch nicht viel ausser die Daten der Objekte zu analysieren.
                                Ich gehe mal davon aus, dass er diesen Flow nutzt:

                                185b5a7e-3617-4975-a307-976ea6b16eb5-image.png

                                Mit so einer CSV Node ist es kein Problem solche Daten dann zu analysieren:

                                Es entsteht für jeden Datensatz/Zeile ein JS-Objekt, das man genauso gemäß dem Flow aufteilen kann. Ich hab jetzt nur mal eine Beispiel CSV genommen:

                                ae892d23-0d7b-4f52-996b-08f8fb60e7d2-image.png

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

                                  So ich habe mal einen ganzen Flow gemacht, um zu demonstrieren, wie die Kommunikation über E-Mail aussehen kann.

                                  3e0377ab-eaca-46ae-ab18-de4c9818c3a9-image.png

                                  Man sollte nun ggf. nach der E-Mail Node - natürlich noch einen Filter setzen, dass nur die relevanten Mails aus der Torque-App analysiert werden.

                                  Die Attachments habe ich mal in das Homeverzeichnis vom iobroker im Ordner mail gespeichert. (/home/iobroker/mail) Den Analyse Flow - also der untere Teil, den habe ich nicht direkt an den Flow angeschlossen, sondern wird über eine Watch-Node getriggert, falls der Dateiname gleich ist. Ansonsten kann man das natürlich auch noch auseinander fieseln. Ich habe ja keine Ahnung welche Dateinamen die torque-App vergibt. Falls die Dateinamen unterschiedlich sind - gibt aber bei Überwachung des Verzeichnisses die Watch-Node die entsprechenden Dateinamen mit, so dass man diese auch direkt aus der Watch Node der File-In Node übergeben kann, da diese ja die msg.filename liefert.

                                  Hier mal der Flow zum Import ohne die E-Mail Node:

                                  [
                                      {
                                          "id": "aeb3a12.1acef6",
                                          "type": "csv",
                                          "z": "6e170384.60c96c",
                                          "name": "",
                                          "sep": ";",
                                          "hdrin": true,
                                          "hdrout": "none",
                                          "multi": "one",
                                          "ret": "\\r\\n",
                                          "temp": "",
                                          "skip": "0",
                                          "strings": false,
                                          "include_empty_strings": "",
                                          "include_null_values": "",
                                          "x": 3470,
                                          "y": 3680,
                                          "wires": [
                                              [
                                                  "6551a238.70735c"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "b5459637.ee52b8",
                                          "type": "file in",
                                          "z": "6e170384.60c96c",
                                          "name": "",
                                          "filename": "/home/iobroker/mail/Test_Indextrading.csv",
                                          "format": "utf8",
                                          "chunk": false,
                                          "sendError": false,
                                          "encoding": "none",
                                          "x": 3220,
                                          "y": 3680,
                                          "wires": [
                                              [
                                                  "aeb3a12.1acef6"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "6551a238.70735c",
                                          "type": "debug",
                                          "z": "6e170384.60c96c",
                                          "name": "",
                                          "active": true,
                                          "tosidebar": true,
                                          "console": false,
                                          "tostatus": false,
                                          "complete": "payload",
                                          "targetType": "msg",
                                          "statusVal": "",
                                          "statusType": "auto",
                                          "x": 3630,
                                          "y": 3680,
                                          "wires": []
                                      },
                                      {
                                          "id": "ec86d463.0bb728",
                                          "type": "debug",
                                          "z": "6e170384.60c96c",
                                          "name": "",
                                          "active": false,
                                          "tosidebar": true,
                                          "console": false,
                                          "tostatus": false,
                                          "complete": "true",
                                          "targetType": "full",
                                          "statusVal": "",
                                          "statusType": "auto",
                                          "x": 3670,
                                          "y": 3580,
                                          "wires": []
                                      },
                                      {
                                          "id": "ebf78b78.54af08",
                                          "type": "file",
                                          "z": "6e170384.60c96c",
                                          "name": "",
                                          "filename": "",
                                          "appendNewline": false,
                                          "createDir": false,
                                          "overwriteFile": "true",
                                          "encoding": "none",
                                          "x": 3530,
                                          "y": 3580,
                                          "wires": [
                                              [
                                                  "ec86d463.0bb728"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "c5668784.6a4fa8",
                                          "type": "change",
                                          "z": "6e170384.60c96c",
                                          "name": "get attachments",
                                          "rules": [
                                              {
                                                  "t": "set",
                                                  "p": "payload",
                                                  "pt": "msg",
                                                  "to": "attachments",
                                                  "tot": "msg"
                                              },
                                              {
                                                  "t": "delete",
                                                  "p": "attachments",
                                                  "pt": "msg"
                                              }
                                          ],
                                          "action": "",
                                          "property": "",
                                          "from": "",
                                          "to": "",
                                          "reg": false,
                                          "x": 2940,
                                          "y": 3580,
                                          "wires": [
                                              [
                                                  "9ca624f.ad292d8"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "9ca624f.ad292d8",
                                          "type": "split",
                                          "z": "6e170384.60c96c",
                                          "name": "",
                                          "splt": "\\n",
                                          "spltType": "str",
                                          "arraySplt": 1,
                                          "arraySpltType": "len",
                                          "stream": false,
                                          "addname": "",
                                          "x": 3110,
                                          "y": 3580,
                                          "wires": [
                                              [
                                                  "99b40aaa.975e58"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "99b40aaa.975e58",
                                          "type": "change",
                                          "z": "6e170384.60c96c",
                                          "name": "prepare to write attachments",
                                          "rules": [
                                              {
                                                  "t": "set",
                                                  "p": "filename",
                                                  "pt": "msg",
                                                  "to": "'/home/iobroker/mail/' & payload.filename",
                                                  "tot": "jsonata"
                                              },
                                              {
                                                  "t": "set",
                                                  "p": "payload",
                                                  "pt": "msg",
                                                  "to": "payload.content",
                                                  "tot": "msg"
                                              }
                                          ],
                                          "action": "",
                                          "property": "",
                                          "from": "",
                                          "to": "",
                                          "reg": false,
                                          "x": 3320,
                                          "y": 3580,
                                          "wires": [
                                              [
                                                  "ebf78b78.54af08"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "d1a9473c.edb718",
                                          "type": "watch",
                                          "z": "6e170384.60c96c",
                                          "name": "",
                                          "files": "/home/iobroker/mail/Test_Indextrading.csv",
                                          "recursive": "",
                                          "x": 2860,
                                          "y": 3680,
                                          "wires": [
                                              [
                                                  "b5459637.ee52b8"
                                              ]
                                          ]
                                      }
                                  ]
                                  

                                  Die Dateinamen muss man halt anpassen. 😉

                                  1 Reply Last reply Reply Quote 0
                                  • L
                                    Linedancer last edited by

                                    Vielen Dank, das ihr euch so intensiv mit meinem Thema beschäftigt.
                                    Dann muss ich mein Projekt doch etwas ausführlicher beschreiben.

                                    Ich werkel an dem Thema „Mercedes Me für Arme“. Ziel ist es Fahrzeug Zustände und Daten regelmäßig in iobroker zu bekommen, ohne eine Hersteller Cloud zu verwenden. Mein Auto ist eh zu alt, als das es sowas vom Hersteller gäbe.

                                    Position, Speed und Ladezustand des Handys kommt über Tasker zum iot Adapter.
                                    Das läuft alle 2Minuten wenn das Auto fährt und stündlich, wenn das Auto steht. Das läuft schon zufriedenstellend per iot.

                                    Mit einem Wemos erfasse ich schon länger Ladezustand der Fahrzeug Batterie, Innenraum Temp und Humidity. Das soll noch ergänzt werden um Zustände wie Fzg. Verriegelt, Fenster geschlossen… Der Wemos sendet heute ins Heimnetz, wird dann auch an iot senden.

                                    Von torque will ich km-Stand, momentanverbrauch, langfristiger Verbrauch, Motor läuft ja/nein und Tankinhalt empfangen. Das sollte auch alle 2 Minuten passieren, wenn der Motor läuft. Das läuft zur Zeit nur im Heimnetzwerk.

                                    Gefühlt ist Email da nicht der richtige Weg, ich schau mir das mal an.

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

                                      @linedancer

                                      Lass es mich wie folgt zusammenfassen:

                                      Du willst in Dein internes Netz - willst aber keine Hersteller Cloud - oder generell eine fremde Cloud nutzen.
                                      Die torque App beherrscht kein HTTP Post (?)

                                      1. Du machst ein VPN für Dein Handy auf und greifst auf Dein internes Netz zu - NodeRed Flow bleibt wie er ist.
                                      2. Du installierst ein Reverse Proxy z. Bsp. nginx und greifst via http auf Dein internes Netz zu - NodeRed Flow bleibt wie er ist. (ggf. kannst Du hier auch https zum Zugang auf den Proxy und http vom Proxy auf Node Red umsetzen)
                                      3. Falls Du HTTP Post nutzen kannst, wäre ggf. die text2command Lösung machbar.
                                      4. Du nutzt die E-Mail Lösung. Wenn alle 2 Minuten eine E-Mail verschickt wird kann die Node ja alle Minuten auf neuen Eingang prüfen. Entweder machst wie gesagt einen eigenen E-Mail Account - Du kannst aber natürlich die Mails filtern.
                                        Sobald die E-Mail eingegangen ist, ist die Verarbeitung ein Klacks. Du hättest max. eine Verzögerung von 1 Minute drin.
                                        In der Mercedes-Me APP siehst Du auch keinen Momentanverbrauch, Motorstatus in Realtime etc. insofern werden die Daten auch nicht zeitnah geliefert. Insofern sollte man für den Zweck auch generell nochmals überlegen, welche Zeitintervalle Sinn machen.

                                      In letzter Konsequenz hängt es doch nur an den Fähigkeiten der torque-App.

                                      1 Reply Last reply Reply Quote 0
                                      • L
                                        Linedancer last edited by Linedancer

                                        Das hast du so korrekt zusammengefasst.
                                        Dann werd ich mich mal in das Thema Reverse Proxy einlesen, hab da zur Zeit noch gar keine Ahnung von.
                                        Ich denke mal das kann in einer Proxmox VM laufen.

                                        Danke für das Anschubsen.

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

                                          @linedancer
                                          In Fällen von VPN und ReverseProxy brauchst halt noch einen DDNS Dienst oder falls einfacher über MyFritz.

                                          Ich nutze den nginx. In Deinem Fall dürfte die Konfiguration einfach sein. Auf den iobroker Admin über den Reverse Proxy zuzugreifen funktioniert auf der vielen Umleitungen oder internas nicht einwandfrei bzw. ich blicke die Funktionsweise ehrlich gesagt oft selbst nicht.

                                          Habs zumindest mal grob getestet, die nginx Konfig um das so umzuleiten, scheint einfach zu funktionieren:

                                                        location /torque {
                                                                  proxy_pass http://iobroker.fritz.box:1880/torque;
                                                          }
                                          

                                          6dff260c-8bce-4c68-9bf4-f96c04e841e8-image.png

                                          a95e1d3a-bf02-4b2a-a79c-8d25982b5bd8-image.png

                                          Ist zwar jetzt ein get und kein post HTTP Request - aber nachdem Du es ja schon getestet hast, sollte es ja gehen. Allerdings kann ich Dir bei weiteren nginx Problemen auch nicht helfen. Das können dann ggf. andere WEB Profis hier an Board.

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          744
                                          Online

                                          32.1k
                                          Users

                                          80.7k
                                          Topics

                                          1.3m
                                          Posts

                                          3
                                          20
                                          839
                                          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