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

                        440
                        Online

                        32.1k
                        Users

                        80.7k
                        Topics

                        1.3m
                        Posts

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