@haus-automatisierung Danke. Dann hoffe ich mal auf die Community...
NEWS
Latest posts made by schnipsel71
-
RE: Shelly Plus Uni: Voltmeter in iobroker auslesen
-
RE: Shelly Plus Uni: Voltmeter in iobroker auslesen
@haus-automatisierung Ich will niemanden unter Druck setzen, aber darf ich dennoch fragen, wann damit ungefähr gerechnet werden kann?
-
RE: Shelly Plus Uni: Voltmeter in iobroker auslesen
@haus-automatisierung Das heißt also, der Datenpunkt des Voltmeters wird in der nächsten Version des Adapters noch nachgeliefert?
-
Shelly Plus Uni: Voltmeter in iobroker auslesen
Ich messe über einen Shelly Plus Uni eine Spannung im Bereich von ca. 6 bis 17 Volt DC mit dem zur Verfügung stehenden "Voltmeter" unter "Peripherals". Der Wert wird in der Shelly-App richtig gemessen und dargestellt. Mit dem Shelly-Adapter (Version 8.1.1) bekomme ich unter iobroker zwar alle möglichen Werte und Einstellmöglichkeiten des Plus Uni, aber ausgerechnet die Spannungswerte des Voltmeters nicht.
Mache ich was falsch oder wird das Auslesen des Spannungswertes tatsächlich nicht unterstützt?
Gibt es einen Workaround? -
RE: Zugangsgeschützte API-Schnittstelle auslesen mit Blockly
@heiko-glohr Du kannst über die entsprechenden Datenpunkte auch die Momentanleistung oder die Momentanstromstärke deines externen Wechselrichters auslesen.
Ich habe beispielsweise folgende Programmzeile zur Erfassung meiner Solarerzeugung:if ((Math.round(result["solar_total_P"] - result["Meter2_P"])) < 0) { setState('0_userdata.0.HyWeb.Solarerzeugung', 0); } else { setState('0_userdata.0.HyWeb.Solarerzeugung', Math.round(result["solar_total_P"] - result["Meter2_P"])); }
-
RE: Zugangsgeschützte API-Schnittstelle auslesen mit Blockly
@heiko-glohr Oder du verwendest den Befehl im Originalscript (siehe in einer meiner ersten Beiträge).
-
RE: Zugangsgeschützte API-Schnittstelle auslesen mit Blockly
@tt-tom Dir natürlich auch herzlichen Dank!
-
RE: Zugangsgeschützte API-Schnittstelle auslesen mit Blockly
@oliverio Klingt logisch. Ich habe es ausprobiert und es klappt!
Vielen herzlichen Dank, OliverIO! -
RE: Zugangsgeschützte API-Schnittstelle auslesen mit Blockly
@oliverio Ja, habe es schon gesehen und schon erfolgreich getestet:
javascript.0 00:44:41.907 info Start JavaScript script.js.common.HycubeOliverIO (Javascript/js) javascript.0 00:44:41.909 info script.js.common.HycubeOliverIO: httpGet(config={"method":"get","url":"http://ip/auth/","responseType":"text","responseEncoding":"utf8","timeout":2000,"headers":{"User-Agent":"Mozilla/5.0 (X11; Linux i686; rv:109.0) Gecko/20100101 Firefox/121.0","Authorization":"QmFzaWMgaHljdWJlOmh5Y3ViZQ=="}}) javascript.0 00:44:41.910 info script.js.common.HycubeOliverIO: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 00:44:41.955 info script.js.common.HycubeOliverIO: Token ewogICAgIlBlcm1pc3Npb24iOiAzLAogICAgImV4cCI6IDE3MjEwMDA2ODEKfQo= javascript.0 00:44:41.956 info script.js.common.HycubeOliverIO: httpGet(config={"method":"get","url":"http://ip/get_values/","responseType":"text","responseEncoding":"utf8","timeout":2000,"headers":{"User-Agent":"Mozilla/5.0 (X11; Linux i686; rv:109.0) Gecko/20100101 Firefox/121.0","Authorization":"ewogICAgIlBlcm1pc3Npb24iOiAzLAogICAgImV4cCI6IDE3MjEwMDA2ODEKfQo="}}) javascript.0 00:44:42.016 info script.js.common.HycubeOliverIO: 200 javascript.0 00:44:42.016 info script.js.common.HycubeOliverIO: { "Battery_C": 52, "Battery_I": -13, "Battery_P": -615, "Battery_V": 49.5, "Grid_P": -5, "Grid_V": 226.26, "Grid_f": 50.005, "Home_P": 563, "Inv1_I": 2.5, "Inv1_P": 570, "Inv1_V": 227.4, "Meter2_P": 2, "solar1_I": 0, "solar1_p": 0, "solar1_v": 7.9, "solar2_I": 0, "solar2_p": 0, "solar2_v": 8.9, "solar_total_P": 0 } javascript.0 00:44:42.016 info script.js.common.HycubeOliverIO: Object [AxiosHeaders] { 'access-control-allow-headers': 'Authorization', 'access-control-allow-origin': '*', connection: 'close', 'content-length': '393', 'content-type': 'application/json; charset=utf-8' }
Jetzt muss ich die Werte nur noch in die Variablen kriegen...
-
RE: Zugangsgeschützte API-Schnittstelle auslesen mit Blockly
@oliverio Entschuldige bitte, aber ich glaube du verwechselst da etwas. Also nochmal: Wenn ich das hier teste:
httpGet( 'http://ip/auth/', { headers: { "Authorization": Buffer.from("Basic hycube:hycube").toString("base64") } }, (error, response) => { if (!error) { console.log(response.statusCode); console.log(response.data); console.log(response.headers); } else { console.error(error); } } );
dann bekomme ich dieses Ergebnis:
javascript.0 23:49:41.323 info Start JavaScript script.js.common.HycubeOliverIO (Javascript/js) javascript.0 23:49:41.325 info script.js.common.HycubeOliverIO: httpGet(config={"method":"get","url":"http://ip/auth/","responseType":"text","responseEncoding":"utf8","timeout":2000,"headers":{"User-Agent":"Mozilla/5.0 (X11; Linux i686; rv:109.0) Gecko/20100101 Firefox/121.0","Authorization":"QmFzaWMgaHljdWJlOmh5Y3ViZQ=="}}) javascript.0 23:49:41.326 info script.js.common.HycubeOliverIO: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 23:49:41.392 info script.js.common.HycubeOliverIO: 200 javascript.0 23:49:41.392 info script.js.common.HycubeOliverIO: ewogICAgIlBlcm1pc3Npb24iOiAzLAogICAgImV4cCI6IDE3MjA5OTczODEKfQo= javascript.0 23:49:41.392 info script.js.common.HycubeOliverIO: Object [AxiosHeaders] { 'access-control-allow-headers': 'Authorization', 'access-control-allow-origin': '*', connection: 'close', 'content-length': '64', 'content-type': 'cty' }
Exakt so steht es bereits in meinem Post direkt nach dem von dir hier zitierten Post.
Die andere Version, also:
httpGet( 'http://ip/auth/', { headers: { "Authorization": "Basic " + Buffer.from("hycube:hycube").toString("base64") } }, (error, response) => { if (!error) { console.log(response.statusCode); console.log(response.data); console.log(response.headers); } else { console.error(error); } } );
führt zu folgendem Fehler:
javascript.0 00:40:22.638 info Start JavaScript script.js.common.HycubeOliverIO (Javascript/js) javascript.0 00:40:22.647 info script.js.common.HycubeOliverIO: httpGet(config={"method":"get","url":"http://ip/auth/","responseType":"text","responseEncoding":"utf8","timeout":2000,"headers":{"User-Agent":"Mozilla/5.0 (X11; Linux i686; rv:109.0) Gecko/20100101 Firefox/121.0","Authorization":"Basic aHljdWJlOmh5Y3ViZQ=="}}) javascript.0 00:40:22.649 info script.js.common.HycubeOliverIO: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 00:40:22.706 info script.js.common.HycubeOliverIO: 401 javascript.0 00:40:22.706 info script.js.common.HycubeOliverIO: javascript.0 00:40:22.706 info script.js.common.HycubeOliverIO: Object [AxiosHeaders] { 'access-control-allow-headers': 'Authorization', 'access-control-allow-origin': '*', connection: 'close', 'content-length': '0', 'content-type': 'cty', 'www-authenticate': 'Basic realm="00"' }