Beiträge von ostfriese
-
-
-
Und nimm bitte in Post #7 die lange Zeile am Ende raus.
-
Cloud und App sind Misst im Zusammenhang mit Skripts.
Ohne Rechner mit Browser geht da gar nichts.
-
Sollte gehen, aber das mit der
id_inside : 1,
ist bestimmt falsch. Aber wir bekommen das dann schon hin.
-
Gib einfach, auf einem Rechner im Browser in die Adresszeile die IP des Shelly ein.
Dann auf Settings und da auf Debug
-
-
Du musst bei dem Skriptshelly
unter Settings/Debug folgendes einstellen und dann(vorsichthalber einen Reboot machen:
Dann solltest du Ausgaben sehen
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. -
Und benutze bitte Codetags für Programmcode (so ist das nur schwer lesbar):
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. -
Hallo, welche FW hast du und welche Meldungen gibt das Skript aus?
-
-
-
-
Ok, dann kann das Skript als Vorlage für die vielen Leute die immer nach "Saldieren" fragen, dienen. Muss man nur leicht modifizieren.
Sollen die Admins entscheiden
-
Ich gehe mal davon aus das dieses hier geschlossen wird 🤔
Warum?
EDIT: Ich gehe davon aus, dass der TE 3 mal 200 Watt hat.
-
Testen, hatte nur einen 3EM zum ausprobieren. Aktuelle Firmware 1.0.7-beta1 auf dem Skript-Shelly.
In der Konfiguration Websocket debug enablen.
Ich gehe davon aus, dass das Skript auf dem Plus 1 PM läuft, der auch schalten soll. Deswegen localhost. Die period soll mindesten 30 sein!
Und, es gibt evtl. noch ein Problem, das ich von hier schlecht lösen kann. Wenn die WP läuft, beeinflusst das die Messungen der EM-Shelly?
Code
Alles anzeigenlet Config = { emips : ["172.16.0.77","172.16.0.78","172.16.0.79"], actor_ip : "localhost", actor_relay : "0", on_time : 5, watt : -500, period : 30 } function react() { print("Sum_power", sum_power,"Watt"); if(sum_power < Config.watt) { print(a_url); Shelly.call('http.get', {url:a_url, timeout:5}); } } function get_power() { Timer.set(Config.period * 500, false, react); sum_power = 0; for (let i=0; i<Config.emips.length; i++) { let url = "http://" + Config.emips[i] + "/emeter/0/em_data"; Shelly.call('http.get', {url:url, timeout:5}, function(result, error_code, error_message,action_type) { if(error_code === 0) { let body = JSON.parse(result.body); let power = body.power; print(url,power,"Watt") sum_power = sum_power + power; } } ) } } let sum_power; let t = JSON.stringify(Config.on_time * 60); let a_url = "http://" + Config.actor_ip + "/relay/"; a_url = a_url + Config.actor_relay + "?turn=on&timer=" + t; Timer.set(Config.period * 1000, true, get_power);
-
Jeder, wie er will
-
-
Es gibt auch noch die Möglichkeit, das Skript über den spezifischen Stromverbrauch deines Ultaschall-Gerätes zu triggern.
Aber, Skript an/aus geht natürlich auch.
-
Bitte schön, gerne geschehen.