Ankündigung

Einklappen
Keine Ankündigung bisher.

Node-RED und IFTTT

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #31
    Wenn ich den Befehl direkt im Node-Red mit dem Inject-Trigger auslöse funktioniert es ja und die Daten für den Zugriff auf die Kamera stehen ja in der "function-node"
    Bei mir scheitert er aber beim Zugriff auf den Node-Red Server (Raspberry). Der Webhook Befehl im IFTTT gibt die Daten ja nur an den Node-Red weiter und nicht direkt an die Kameras.
    Ja ich kann auch direkt einen CGI Befehl aussenden, was auch funktioniert. Aber dann muss ich für jede Kamera eine Portweiterleitung einrichten. Soo muss ich nur eine Portweiterleitung auf den Raspberry machen, der dann intern den Befehl auf die Kamera sendet. In der App von Instar kann ich leider nicht sagen, dass er die Alarme deaktivieren soll, wenn ich nach Hause komme. Soll ja automatisch passieren. Ich werde mal die Suchfunktion bemühen und vielleicht hat ja noch jemand einen Tipp für mich wieso es hier scheitert.

    Kommentar


    • #32
      Den Port vom RasPI hast Du im Router weitergeleitet?

      Kommentar


      • #33
        Ja natürlich. Ich komme von außerhalb auch auf den Raspi drauf.

        Kommentar


        • #34
          Im Web-Request des IFTTT-Applets muss korrekt der DDNS der Kamera (für den Raspi) und Dein API-Key verbaut sein. Da würde ich nochmal nachsehen. Die Zeile dürfte wohl auch ausserhalb Deines Netzwerkes per Browser überprüfbar sein und am Raspi was auslösen.

          Kommentar


          • #35
            Ja das mit dem API-Key habe ich mir auch schon gedacht, aber wie gebe ich den mit?

            webrequest.jpg

            Kommentar


            • #36
              Vielleicht wird der Key nur in einer Richtung gebraucht und zwar von IFTTT nach Node-Red.

              Kommentar


              • #37
                Die einzige Möglichkeit wäre über den IFTTT Out Node - nur erwartet dieser einen Event Name, den ich im Web Request aber nicht mitgeben kann, weil es kein Feld dafür gibt.

                ifttt_out.jpg

                Kommentar


                • #38
                  Zitat von Markus2806 Beitrag anzeigen
                  Die einzige Möglichkeit wäre über den IFTTT Out Node - nur erwartet dieser einen Event Name, den ich im Web Request aber nicht mitgeben kann, weil es kein Feld dafür gibt.

                  Servus Markus,

                  Ich habe den Thread gerade einmal überflogen und bin etwas verwirrt. Wenn ich das richtig sehe benögtigt der Flow einen IFTTT Eingang um die Alarmbereiche zu schalten?

                  Ein IFTTT Eingangsknoten benötigt ein IFTTT Applet, dass einen Webhook kontaktiert (THEN-Bedingung). Dieser Webhook muß dann in Node-RED über einen Eingangsknoten angelegt werden und kann beliebig benannt werden. Daraus ergibt sich dann die URL die bei IFTTT hinterlegt werden muß. Um es zu testen kann man dann auch einmal die URL im Browser aufrufen - z.B. https://meine.ddns.addresse:1881/mein/webhook. Der Port 1881 muß dafür auf den Raspberry Pi durchgeleitet sein - und Achtung, bei manchen Router (z.B. Telekom Speedport) kann man nicht aus dem lokalen Netz auf eine URL zugreifen die über Portweiterleitung wieder ins lokale Netz führt. Da würde der Test fehlschlagen, obewohl alles richtig konfiguriert ist.


                  Ich gehe davon aus, dass bei Node-RED auch eine Benutzer Authentifizierung hinterlegt wurde. Dann müsste man das Benutzer-Login natürlich noch bei IFTTT mit hinterlegen.


                  ----

                  Einen IFTTT Ausgang würde einen Webhook bei IFTTT über die folgenden URL ansprechen: https://maker.ifttt.com/trigger/EVEN...th/key/API_KEY


                  Der EVENT_NAME und API_KEY sind dann jeweils direkt in dem Ausgangsknoten hinterlegt. D.h. man müsste dann nur noch bei IFTTT einen Webhook Eingang (IF-Bedingung) mit einem Namen (EVENT_NAME) anlegen und schon hat man die Verbindung.


                  INSTAR Support

                  Kommentar


                  • #39
                    INSTAR Ich habe mal eine Nachfrage zu dem API-Key. Ist das Euer persönlicher Key oder bekommt jeder User einen eigenen Key? Wird der in Node-RED und IFTTT benötigt? Ihr schreibt nämlich im Wiki, https://wiki.instar.de/Erweitert/Node-RED_und_IFTTT/
                    4. Um Zugang zu unserem persönlichen API-Schlüssel zu erhalten, müssen Sie sich zunächst bei unserem IFTTT-Konto anmelden und die folgende Seite öffnen https://ifttt.com/services/maker_webhooks/settings. Kopieren Sie den alphanumerischen Schlüssel aus den Webhook Einstellungen

                    Kommentar


                    • #40
                      Wenn man einen Account bei IFTTT anlegt, bekommt man einen persönlichen API Schlüssel zugewiesen. Wenn man auf der Seite angemeldet ist, wird einem unter dem folgenden Link der Key angezeigt:

                      https://ifttt.com/services/maker_webhooks/settings

                      Dieser Schlüssel darf nicht weitergegeben werden, da er einem Zugriff auf die in IFTTT angelegten Schnittstellen gibt - z.B. die Webhooks für die Kamera. Es ist also das "Schnittstellen-Login" das IFTTT braucht um Anfragen an den richtigen Benutzer-Account weiterzuleiten.

                      Kommentar


                      • #41
                        Markus2806 : Hat es jetzt geklappt mit Node-RED oder ist Deine Nose red?
                        Wie ist denn jetzt der Workflow? Ich möchte schliesslich auch was lernen.

                        Kommentar


                        • #42
                          Hallo. Leider bin ich bisher noch nicht dazu gekommen mir das ganze weiter anzusehen.
                          Möchte mir morgen aber wieder etwas Zeit dafür nehmen und dann werde ich natürlich berichten

                          Kommentar


                          • #43
                            Hallo @Instar,

                            mit dem IFTTT Out Node kontaktiere ich ja den IFTTT-Webhook.
                            Beim ersten Beispiel z.B löse ich eine Aktion durch das Klicken auf das Inject Node aus, wo dann das IFTTT Webhook
                            konkaktiert wird (IF THIS) und dann ein Mail verschickt wird (THEN THAT).
                            Nun bräuchte ich das aber umgekehrt, wenn ich eine Location verlasse (IF THIS),
                            dann soll ein Web Request ausgelöst werden (THEN THAT), der die jeweilige JSON-Variable (on/off) an das Node-Red übergibt.
                            Daher bräuchte ich einen IFTTT In Node, der Daten vom IFTTT Webhook entgegen nimmt, oder? Nur wo finde ich diesen Eingangsknoten?

                            Wenn ich die Seite https://meine.ddns.addresse:1881/mein/webhook über extern aufrufe erhalte ich einen SSL_PROTOCOL_ERROR.
                            Ohne https - also nur mit http, komme ich die Meldung "Anmelden - für http://meine.ddns.addresse:1881 sind ein Nutzername und ein Passwort erforderlich."
                            Die Verbindung zu dieser Webseite ist nicht sicher. Leider funktioniert hier nicht der Benutzer (Admin) mit dem ich mich auch anmelde wenn ich
                            https://meine.ddns.addresse:1881 aufrufe.
                            Wo genau müsste ich diese Benutzer Authentifizierung im IFTTT hinterlegen?
                            Zuletzt geändert von Markus2806; 09.11.2019, 22:35.

                            Kommentar


                            • #44
                              Markus2806 Sollte es überhaupt nicht weitergehen auch gerne den Node-Red Flow exportieren und hier reinstellen (Die Exportfunktion spart den API Key aus - wenn man noch die DDNS Adresse/Login abändert beinhaltet der JSON Export keine persönlichen Daten). Dann können wir da gerne einmal drüber schauen.

                              NACHTRAG: Ich hatte die letzte Antwort zu spät gesehen. Man braucht auf jeden Fall SSL für den Node-RED Webhook. Wenn die Kamera sich im gleichen Netzwerk befindet wie der Node-RED Server, kann man aber die INSTAR DDNS (und damit das - vorrausgesetzt, dass es sich um eine Full HD Kamera mit HTTPS Support handelt - INSTAR Zertifikat) verwenden, um per HTTPS auf die Node-RED Oberfläche zu kommen.


                              Wenn man keine Full HD Kamera hat, müsste man sich selbst ein Zertifikat austellen - wir haben z.B. hier beschrieben, wie man unter LINUX an sowas rankommt:

                              https://wiki.instar.de/Software/Linu...inzuf%C3%BCgen


                              Den Benutzernamen und Kennwort für Node-RED kann man in der Konfigurationsdatei im Node-RED Installationsverzeichnis hinterlegen:

                              https://wiki.instar.de/Software/Linu...-konfiguration


                              Wenn man dann über IFTTT einen Webhook in Node-RED kontaktieren möchte, muß man das Login entsprechend mit angeben. Ich meine man könnte es dort als basicAuth der URL voranstellen:


                              https://meinname:meinkennwort@instar...3/mein/webhook






                              estimator Wir warten geraden noch, dass das Update freigegeben wird. Aber mit der nächsten Firmware Version wird die Einbindung bei IFTTT - für Full HD Kameramodelle - auch ohne Node-RED möglich sein. Das macht es einfacher es mal kurz auszuprobieren. Wobei Node-RED in der Heimautomatisierung ein extrem mächtiges Tool das sich natürlich lohnt zu lernen. Wenn man es einmal beherrscht gibt es wenig was man damit nicht umsetzen kann.



                              https://wiki.instar.de/Erweitert/IFT...R_FHD_Kameras/

                              https://wiki.instar.de/Erweitert/IFTTT_als_Alarmserver/


                              (Der SSL Support und die Möglichkeit POST Anfragen zu senden fehlen z.Z. - 11.11.2019 - noch in der Firmware. Daher steht die Alarmserver Funktion erst mit dem nächsten Update für die IFTTT Einbindung bereit.)



                              INSTAR Support

                              Kommentar


                              • #45
                                Hallo, hier ist der Flow.
                                Es fehlt halt der Übergang von IFTTT zum Node-Red. Ersetz ich den IFTTT Trigger mit einem Inject Node funktioniert der Rest ohne Probleme.


                                Code:
                                [{"id":"25641f1f.b629","type":"tab","label":"IN-8015","disabled":false,"info":""},{"id":"7612d9fe.cb1dc8","type":"http in","z":"25641f1f.b629","name":"IFTTT Trigger","url":"/alarm/md/areas","method":"post","upload":false,"swaggerDoc":"","x":250,"y":300,"wires":[["f07530.ffbc0ad","8efc297d.66e588"]]},{"id":"f07530.ffbc0ad","type":"http response","z":"25641f1f.b629","name":"","statusCode":"","headers":{},"x":494,"y":242,"wires":[]},{"id":"14d778c5.570777","type":"function","z":"25641f1f.b629","name":"Enable Area 1","func":"var ip = \"x.x.x.x\";\nvar user = \"x\";\nvar password = \"x\";\n\n// Update the status with current timestamp\nvar now = new Date();\nvar yyyy = now.getFullYear();\nvar mm = now.getMonth() < 9 ? \"0\" + (now.getMonth() + 1) : (now.getMonth() + 1); // getMonth() is zero-based\nvar dd  = now.getDate() < 10 ? \"0\" + now.getDate() : now.getDate();\nvar hh = now.getHours() < 10 ? \"0\" + now.getHours() : now.getHours();\nvar mmm  = now.getMinutes() < 10 ? \"0\" + now.getMinutes() : now.getMinutes();\nvar ss  = now.getSeconds() < 10 ? \"0\" + now.getSeconds() : now.getSeconds();\nvar currenttime= hh + \":\" + mmm + \":\" + ss;\nvar currentdate= dd + \".\" + mm + \".\" + yyyy;\n\nnode.status({fill:\"blue\",shape:\"ring\",text:\"Last update: \" + currentdate + \" - \" + currenttime});\n\nmsg.topic = \"area 1\";\nmsg.payload = ip+\"/param.cgi?cmd=setmdattr&-name=1&-enable=1&-usr=\"+user+\"&-pwd=\"+password;\nreturn msg;","outputs":1,"noerr":0,"x":675,"y":130,"wires":[["5cfd8031.25c58"]]},{"id":"ae34e974.79a838","type":"function","z":"25641f1f.b629","name":"Disable Area 1","func":"var ip = \"x.x.x.x\";\nvar user = \"x\";\nvar password = \"x\";\n\n// Update the status with current timestamp\nvar now = new Date();\nvar yyyy = now.getFullYear();\nvar mm = now.getMonth() < 9 ? \"0\" + (now.getMonth() + 1) : (now.getMonth() + 1); // getMonth() is zero-based\nvar dd  = now.getDate() < 10 ? \"0\" + now.getDate() : now.getDate();\nvar hh = now.getHours() < 10 ? \"0\" + now.getHours() : now.getHours();\nvar mmm  = now.getMinutes() < 10 ? \"0\" + now.getMinutes() : now.getMinutes();\nvar ss  = now.getSeconds() < 10 ? \"0\" + now.getSeconds() : now.getSeconds();\nvar currenttime= hh + \":\" + mmm + \":\" + ss;\nvar currentdate= dd + \".\" + mm + \".\" + yyyy;\n\nnode.status({fill:\"blue\",shape:\"ring\",text:\"Last update: \" + currentdate + \" - \" + currenttime});\n\nmsg.topic = \"area 1\";\nmsg.payload = ip+\"/param.cgi?cmd=setmdattr&-name=1&-enable=0&-usr=\"+user+\"&-pwd=\"+password;\nreturn msg;","outputs":1,"noerr":0,"x":675,"y":310,"wires":[["ea882aa0.ed4468"]]},{"id":"ea882aa0.ed4468","type":"change","z":"25641f1f.b629","name":"Set URL","rules":[{"t":"set","p":"url","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":830,"y":310,"wires":[["3ccae916.416666"]]},{"id":"5cfd8031.25c58","type":"change","z":"25641f1f.b629","name":"Set URL","rules":[{"t":"set","p":"url","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":830,"y":130,"wires":[["d1adb163.6422f"]]},{"id":"3ccae916.416666","type":"http request","z":"25641f1f.b629","name":"m1_disable","method":"GET","ret":"txt","url":"","tls":"","x":974,"y":310,"wires":[["a7a2d77c.9fda68"]]},{"id":"d1adb163.6422f","type":"http request","z":"25641f1f.b629","name":"m1_enable","method":"GET","ret":"txt","paytoqs":false,"url":"","tls":"","persist":false,"proxy":"","authType":"","x":974,"y":130,"wires":[["a7a2d77c.9fda68"]]},{"id":"c82cd44a.cfc898","type":"switch","z":"25641f1f.b629","name":"Push","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"{\"val\":\"on\"}","vt":"str"},{"t":"eq","v":"{\"val\":\"off\"}","vt":"str"}],"checkall":"false","repair":false,"outputs":2,"x":493,"y":280,"wires":[["14d778c5.570777","7e2c1c23.c625d4","346e6961.9a43c6","379e803b.2d0ef"],["ae34e974.79a838","99b85162.d2b4c","31aae64a.0edc6a","345120b3.d0b7b"]]},{"id":"a7a2d77c.9fda68","type":"debug","z":"25641f1f.b629","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":1179,"y":278,"wires":[]},{"id":"7e2c1c23.c625d4","type":"function","z":"25641f1f.b629","name":"Enable Area 2","func":"var ip = \"x.x.x.x\";\nvar user = \"x\";\nvar password = \"x\";\n\n// Update the status with current timestamp\nvar now = new Date();\nvar yyyy = now.getFullYear();\nvar mm = now.getMonth() < 9 ? \"0\" + (now.getMonth() + 1) : (now.getMonth() + 1); // getMonth() is zero-based\nvar dd  = now.getDate() < 10 ? \"0\" + now.getDate() : now.getDate();\nvar hh = now.getHours() < 10 ? \"0\" + now.getHours() : now.getHours();\nvar mmm  = now.getMinutes() < 10 ? \"0\" + now.getMinutes() : now.getMinutes();\nvar ss  = now.getSeconds() < 10 ? \"0\" + now.getSeconds() : now.getSeconds();\nvar currenttime= hh + \":\" + mmm + \":\" + ss;\nvar currentdate= dd + \".\" + mm + \".\" + yyyy;\n\nnode.status({fill:\"blue\",shape:\"ring\",text:\"Last update: \" + currentdate + \" - \" + currenttime});\n\nmsg.topic = \"area 2\";\nmsg.payload = ip+\"/param.cgi?cmd=setmdattr&-name=2&-enable=1&-usr=\"+user+\"&-pwd=\"+password;\nreturn msg;","outputs":1,"noerr":0,"x":675,"y":172,"wires":[["d3453aa.68b3fc8"]]},{"id":"d3453aa.68b3fc8","type":"change","z":"25641f1f.b629","name":"Set URL","rules":[{"t":"set","p":"url","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":830,"y":172,"wires":[["893d21f4.c172c"]]},{"id":"893d21f4.c172c","type":"http request","z":"25641f1f.b629","name":"m1_enable","method":"GET","ret":"txt","url":"","tls":"","x":974,"y":172,"wires":[["a7a2d77c.9fda68"]]},{"id":"346e6961.9a43c6","type":"function","z":"25641f1f.b629","name":"Enable Area 3","func":"var ip = \"x.x.x.x\";\nvar user = \"x\";\nvar password = \"x\";\n\n// Update the status with current timestamp\nvar now = new Date();\nvar yyyy = now.getFullYear();\nvar mm = now.getMonth() < 9 ? \"0\" + (now.getMonth() + 1) : (now.getMonth() + 1); // getMonth() is zero-based\nvar dd  = now.getDate() < 10 ? \"0\" + now.getDate() : now.getDate();\nvar hh = now.getHours() < 10 ? \"0\" + now.getHours() : now.getHours();\nvar mmm  = now.getMinutes() < 10 ? \"0\" + now.getMinutes() : now.getMinutes();\nvar ss  = now.getSeconds() < 10 ? \"0\" + now.getSeconds() : now.getSeconds();\nvar currenttime= hh + \":\" + mmm + \":\" + ss;\nvar currentdate= dd + \".\" + mm + \".\" + yyyy;\n\nnode.status({fill:\"blue\",shape:\"ring\",text:\"Last update: \" + currentdate + \" - \" + currenttime});\n\nmsg.topic = \"area 3\";\nmsg.payload = ip+\"/param.cgi?cmd=setmdattr&-name=3&-enable=1&-usr=\"+user+\"&-pwd=\"+password;\nreturn msg;","outputs":1,"noerr":0,"x":675,"y":212,"wires":[["44d399f3.bc4be8"]]},{"id":"44d399f3.bc4be8","type":"change","z":"25641f1f.b629","name":"Set URL","rules":[{"t":"set","p":"url","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":830,"y":212,"wires":[["6e7f5a3e.16a664"]]},{"id":"6e7f5a3e.16a664","type":"http request","z":"25641f1f.b629","name":"m1_enable","method":"GET","ret":"txt","url":"","tls":"","x":974,"y":212,"wires":[["a7a2d77c.9fda68"]]},{"id":"379e803b.2d0ef","type":"function","z":"25641f1f.b629","name":"Enable Area 4","func":"var ip = \"x.x.x.x\";\nvar user = \"x\";\nvar password = \"x\";\n\n// Update the status with current timestamp\nvar now = new Date();\nvar yyyy = now.getFullYear();\nvar mm = now.getMonth() < 9 ? \"0\" + (now.getMonth() + 1) : (now.getMonth() + 1); // getMonth() is zero-based\nvar dd  = now.getDate() < 10 ? \"0\" + now.getDate() : now.getDate();\nvar hh = now.getHours() < 10 ? \"0\" + now.getHours() : now.getHours();\nvar mmm  = now.getMinutes() < 10 ? \"0\" + now.getMinutes() : now.getMinutes();\nvar ss  = now.getSeconds() < 10 ? \"0\" + now.getSeconds() : now.getSeconds();\nvar currenttime= hh + \":\" + mmm + \":\" + ss;\nvar currentdate= dd + \".\" + mm + \".\" + yyyy;\n\nnode.status({fill:\"blue\",shape:\"ring\",text:\"Last update: \" + currentdate + \" - \" + currenttime});\n\nmsg.topic = \"area 4\";\nmsg.payload = ip+\"/param.cgi?cmd=setmdattr&-name=4&-enable=1&-usr=\"+user+\"&-pwd=\"+password;\nreturn msg;","outputs":1,"noerr":0,"x":675,"y":252,"wires":[["54d49c1b.160124"]]},{"id":"54d49c1b.160124","type":"change","z":"25641f1f.b629","name":"Set URL","rules":[{"t":"set","p":"url","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":830,"y":252,"wires":[["43896642.430e38"]]},{"id":"43896642.430e38","type":"http request","z":"25641f1f.b629","name":"m1_enable","method":"GET","ret":"txt","url":"","tls":"","x":974,"y":252,"wires":[["a7a2d77c.9fda68"]]},{"id":"99b85162.d2b4c","type":"function","z":"25641f1f.b629","name":"Disable Area 2","func":"var ip = \"x.x.x.x\";\nvar user = \"x\";\nvar password = \"x\";\n\n// Update the status with current timestamp\nvar now = new Date();\nvar yyyy = now.getFullYear();\nvar mm = now.getMonth() < 9 ? \"0\" + (now.getMonth() + 1) : (now.getMonth() + 1); // getMonth() is zero-based\nvar dd  = now.getDate() < 10 ? \"0\" + now.getDate() : now.getDate();\nvar hh = now.getHours() < 10 ? \"0\" + now.getHours() : now.getHours();\nvar mmm  = now.getMinutes() < 10 ? \"0\" + now.getMinutes() : now.getMinutes();\nvar ss  = now.getSeconds() < 10 ? \"0\" + now.getSeconds() : now.getSeconds();\nvar currenttime= hh + \":\" + mmm + \":\" + ss;\nvar currentdate= dd + \".\" + mm + \".\" + yyyy;\n\nnode.status({fill:\"blue\",shape:\"ring\",text:\"Last update: \" + currentdate + \" - \" + currenttime});\n\nmsg.topic = \"area 2\";\nmsg.payload = ip+\"/param.cgi?cmd=setmdattr&-name=2&-enable=0&-usr=\"+user+\"&-pwd=\"+password;\nreturn msg;","outputs":1,"noerr":0,"x":675,"y":352,"wires":[["ab481c53.f4cd4"]]},{"id":"ab481c53.f4cd4","type":"change","z":"25641f1f.b629","name":"Set URL","rules":[{"t":"set","p":"url","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":830,"y":352,"wires":[["be42b319.a78c4"]]},{"id":"be42b319.a78c4","type":"http request","z":"25641f1f.b629","name":"m1_disable","method":"GET","ret":"txt","url":"","tls":"","x":974,"y":352,"wires":[["a7a2d77c.9fda68"]]},{"id":"31aae64a.0edc6a","type":"function","z":"25641f1f.b629","name":"Disable Area 3","func":"var ip = \"x.x.x.x\";\nvar user = \"x\";\nvar password = \"x\";\n\n// Update the status with current timestamp\nvar now = new Date();\nvar yyyy = now.getFullYear();\nvar mm = now.getMonth() < 9 ? \"0\" + (now.getMonth() + 1) : (now.getMonth() + 1); // getMonth() is zero-based\nvar dd  = now.getDate() < 10 ? \"0\" + now.getDate() : now.getDate();\nvar hh = now.getHours() < 10 ? \"0\" + now.getHours() : now.getHours();\nvar mmm  = now.getMinutes() < 10 ? \"0\" + now.getMinutes() : now.getMinutes();\nvar ss  = now.getSeconds() < 10 ? \"0\" + now.getSeconds() : now.getSeconds();\nvar currenttime= hh + \":\" + mmm + \":\" + ss;\nvar currentdate= dd + \".\" + mm + \".\" + yyyy;\n\nnode.status({fill:\"blue\",shape:\"ring\",text:\"Last update: \" + currentdate + \" - \" + currenttime});\n\nmsg.topic = \"area 3\";\nmsg.payload = ip+\"/param.cgi?cmd=setmdattr&-name=3&-enable=0&-usr=\"+user+\"&-pwd=\"+password;\nreturn msg;","outputs":1,"noerr":0,"x":675,"y":392,"wires":[["de0080a3.f3239"]]},{"id":"de0080a3.f3239","type":"change","z":"25641f1f.b629","name":"Set URL","rules":[{"t":"set","p":"url","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":830,"y":392,"wires":[["b3d312b9.3e345"]]},{"id":"b3d312b9.3e345","type":"http request","z":"25641f1f.b629","name":"m1_disable","method":"GET","ret":"txt","url":"","tls":"","x":974,"y":392,"wires":[["a7a2d77c.9fda68"]]},{"id":"345120b3.d0b7b","type":"function","z":"25641f1f.b629","name":"Disable Area 4","func":"var ip = \"x.x.x.x\";\nvar user = \"x\";\nvar password = \"x\";\n\n// Update the status with current timestamp\nvar now = new Date();\nvar yyyy = now.getFullYear();\nvar mm = now.getMonth() < 9 ? \"0\" + (now.getMonth() + 1) : (now.getMonth() + 1); // getMonth() is zero-based\nvar dd  = now.getDate() < 10 ? \"0\" + now.getDate() : now.getDate();\nvar hh = now.getHours() < 10 ? \"0\" + now.getHours() : now.getHours();\nvar mmm  = now.getMinutes() < 10 ? \"0\" + now.getMinutes() : now.getMinutes();\nvar ss  = now.getSeconds() < 10 ? \"0\" + now.getSeconds() : now.getSeconds();\nvar currenttime= hh + \":\" + mmm + \":\" + ss;\nvar currentdate= dd + \".\" + mm + \".\" + yyyy;\n\nnode.status({fill:\"blue\",shape:\"ring\",text:\"Last update: \" + currentdate + \" - \" + currenttime});\n\nmsg.topic = \"area 4\";\nmsg.payload = ip+\"/param.cgi?cmd=setmdattr&-name=4&-enable=0&-usr=\"+user+\"&-pwd=\"+password;\nreturn msg;","outputs":1,"noerr":0,"x":675,"y":432,"wires":[["7adea3fb.3ec5cc"]]},{"id":"7adea3fb.3ec5cc","type":"change","z":"25641f1f.b629","name":"Set URL","rules":[{"t":"set","p":"url","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":830,"y":432,"wires":[["4a58620a.6533cc"]]},{"id":"4a58620a.6533cc","type":"http request","z":"25641f1f.b629","name":"m1_disable","method":"GET","ret":"txt","url":"","tls":"","x":974,"y":432,"wires":[["a7a2d77c.9fda68"]]},{"id":"8efc297d.66e588","type":"json","z":"25641f1f.b629","name":"","property":"payload","action":"","pretty":false,"x":487,"y":323,"wires":[["c82cd44a.cfc898"]]},{"id":"29b4474a.a01088","type":"inject","z":"25641f1f.b629","name":"","topic":"","payload":"{\"val\":\"off\"}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":160,"y":40,"wires":[[]]},{"id":"653e7d1e.d5fe54","type":"ifttt out","z":"25641f1f.b629","eventName":"event1","x":340,"y":140,"wires":[]}]

                                Bei den Kameras handelt es sich um eine IN-8015 und eine IN-9020.
                                Zertifikat ist auch vorhanden, nur muss ich das jetzt irgendwo installieren? Wo kann ich das Instar Zertifikat herunterladen, um es in der settings.js einzubinden?

                                ssl.jpg
                                Zuletzt geändert von Markus2806; 16.11.2019, 12:48.

                                Kommentar

                                Lädt...
                                X