NEWS
[geloest] Gembird, Energenie Lan-Steckdosen
-
Ne das passt. Dachte der Pfad ist unvollständig, aber du hast das Objekt einfach global angelegt. Typischerweise legt man solche Objekte in JavaScript.0 an.
Wie beschreibt du das Objekt?
Gesendet von meinem m8 mit Tapatalk
-
Wie meinst du beschreiben? Steh auf dem Schlauch
-
Wenn ich das Skript starte mit dem selbsterstellten Objekt bekomme ich diese Fehlermeldung.
ReferenceError: request is not defined at doPostRequest (script.js.common.Gembird_Test.Gembird:28:5) at chainPostRequests (script.js.common.Gembird_Test.Gembird:38:5) at Object. (script.js.common.Gembird_Test.Gembird:22:9) at Object.subs.callback (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1325:48) at /opt/iobroker/node_modules/iobroker.javascript/javascript.js:585:48 at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:3210:17) at checkPatterns (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:581:17) at Object.utils.adapter.stateChange (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:253:17) at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2866:37) at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30)
Keine Ahnung was das bedeutet :?
Ich weiss leider auch nicht wie das Objekt aussehen sollte, sprich mit welchen Einstellungen es erstellt werden sollte.
-
Hier mal ein Beispiel wie so ein Objekt aussehen sollte:
filename="objekt.PNG" index="0">~~Wie meinst du beschreiben? Steh auf dem Schlauch `
Damit meinte ich wie du den Status (Wert/Value) deines Objekts von "false" auf "true" setzt.Wenn ich das Skript starte mit dem selbsterstellten Objekt bekomme ich diese Fehlermeldung.
ReferenceError: request is not defined at doPostRequest (script.js.common.Gembird_Test.Gembird:28:5) at chainPostRequests (script.js.common.Gembird_Test.Gembird:38:5) at Object. (script.js.common.Gembird_Test.Gembird:22:9) at Object.subs.callback (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1325:48) at /opt/iobroker/node_modules/iobroker.javascript/javascript.js:585:48 at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:3210:17) at checkPatterns (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:581:17) at Object.utils.adapter.stateChange (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:253:17) at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2866:37) at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30) `
Der Fehler sagt dir das du den Befehl request nicht definiert hast. Der kommt von einem Modul das du in deinem Skript aufrufen musst.
var request = require('request');
Am Anfang deines Scripts einfügen. Dann sollte es gehen.
Lies dich hier mal ein: http://www.iobroker.net/?page_id=5385&lang=de
-
Hi Danke, schau mir das gleich mal an.
Dein Anhang wie ein Objekt ausschauen sollte ist leer - magst nochmal schicken?
Danke,
Axel
-
Hi,
Ich gebe auf.
Der Code freezt jetzt wieder die komplette Steckdosenleiste.
Schade das es so kompliziert ist eine einfache Steckdosenleiste anzusprechen.
-
Ich habe die CURL mit Chrome Dev-Inspector ausgelesen und in ein shellskript gepackt. Dieses starte ich nun per skript aus iobroker. Damit funktioniert es super…
so sieht der CURL vom Socket01 aus, aufgeteilt in Login, Delay 2 Sekunden, An oder aus, Delay 2 Sekunden, Logout
#!/bin/bash curl 'http://192.168.1.9/login.html' -H 'Origin: http://192.168.1.9' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en-US,en;q=0.8,de;q=0.6' -H 'Upgrade-Insecure-Requests: 1' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' -H 'Cache-Control: max-age=0' -H 'Referer: http://192.168.1.9/' -H 'Connection: keep-alive' --data 'pw=1' --compressed sleep 2 curl 'http://192.168.1.9/' -H 'Origin: http://192.168.1.9' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en-US,en;q=0.8,de;q=0.6' -H 'Upgrade-Insecure-Requests: 1' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' -H 'Cache-Control: max-age=0' -H 'Referer: http://192.168.1.9/login.html' -H 'Connection: keep-alive' --data 'cte1=0&cte2=&cte3=&cte4=' --compressed sleep 2 curl 'http://192.168.1.9/login.html' -H 'Accept-Encoding: gzip, deflate, sdch' -H 'Accept-Language: en-US,en;q=0.8,de;q=0.6' -H 'Upgrade-Insecure-Requests: 1' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' -H 'Referer: http://192.168.1.9/' -H 'Connection: keep-alive' --compressed
Und so das Script was aus iobroker gestartet wird. Hier werden jeweils der An oder Aus Befehl getriggert in abhaengigkeit zum Status.
on({id: "javascript.0.scriptEnabled.common.HardShutdown.LeftSocket-1_Dummy"/*scriptEnabled.common.HardShutdown.LeftSocket-1_Dummy*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("javascript.0.scriptEnabled.common.HardShutdown.LeftSocket-1_Dummy").val == true) { exec('bash /home/pi/GembirdPowerSocket/LeftSocket1-on.sh'); console.log("exec: " + 'bash /home/pi/GembirdPowerSocket/LeftSocket1-on.sh'); } else if (getState("javascript.0.scriptEnabled.common.HardShutdown.LeftSocket-1_Dummy").val == false) { exec('bash /home/pi/GembirdPowerSocket/LeftSocket1-off.sh'); console.log("exec: " + 'bash /home/pi/GembirdPowerSocket/LeftSocket1-off.sh'); } });
-
Hat jemand eine Lösung für die Gembird Steckdose gefunden um sie in iob zu integrieren?
-
@mickyboys Hast du das irgendwie hinbekommen die Steckdose in iob zu integrieren bzw zu steuern da dein Post als gelöst markiert wurde. Ich habe es nun mehrmals mit meiner Steckdose probiert und bekomme es einfach nicht hin.
-
@mickyboys Denkst du da man das Script auch direkt per iobroker auslösen kann. Ich weiß der Beitrag ist schon alt aber vielleicht hast du es ja in der zwischen Zeit laufen?