Zwei varianten. RPC und skript. Mit RPC: anfrage: http://192.168.178.26/rpc/EM.GetStatus?id=0 antwort: {"id":0,"a_current":0.030,"a_voltage":0.1,"a_act_power":-0.0,"a_aprt_pow er":0.0,"a_pf":1.00,"b_current":0.027,"b_voltage":0.1,"b_act_power":0.0, "b_aprt_power":0.0,"b_pf":1.00,"c_current":0.028,"c_voltage":237.5,"c_ac t_power":0.1,"c_aprt_power":6.7,"c_pf":1.00,"n_current":null,"total_curr ent":0.085,"total_act_power":0.084,"total_aprt_power":6.679} Mit skript: anfrage: http://192.168.178.30/script/1/pwr antwort: PWR: -0.219000 Skript dazu: function GetPwr(request, response) { //print('Executing function open'); let EMpower = Shelly.getComponentStatus("em:0"); response.body = "PWR: " + JSON.stringify(EMpower.total_act_power); response.code = 200; response.send(); } HTTPServer.registerEndpoint('pwr', GetPwr) // http://192.168.178.26/script/1/pwr Ich hab dafür stunden gebraucht! Die doku ist katastrophal. Ziel war möglichst wenig WiFi traffic für sekunden-abfrage.
:
Bearbeitet durch User
Auf mein erstes Shell Skript war ich auch so stolz dass ich einen neuen Thread eröffnet habe. Interessiert hat es keinen. Zu Dokumentationszwecken für Dich selbst nutze bitte gitlab oder github.
Hallo, ja, genau das will ich auch: Shelly 3EM pro. Leistung über http beziehen. Ich bin auch auf die gleiche Lösung gekommen wie der TO:
1 | http://192.168.0.151/rpc/EM.GetStatus?id=0 |
Wenn ich das in meinen Browser eingebe, bekomme ich auch die entsprechende Liste als Antwort. Ich möchte aber innerhalb eines Python-Scripts auf die einzelnen Werte zugreifen, und komme da nicht weiter. Ich brauche die momentane Gesamtleistung um damit weiter zu rechnen. Die Doku für den Pro 3EM verwirrt mich mehr, als dass sie mir hilft. Kann mir da jemand weiterhelfen? Vielen Dank, atuditu
Mathias M. schrieb: > Wenn ich das in meinen Browser eingebe, bekomme ich auch die > entsprechende Liste als Antwort. > > Ich möchte aber innerhalb eines Python-Scripts auf die einzelnen Werte > zugreifen Den JSON String muss man halt parsen. Hat mit Shelly wenig zu tun. Eher so die ganz grundlegenden Basics der SW Entwicklung.
Cyblord -. schrieb: > Den JSON String muss man halt parsen. Ja. Du kannst das im shelly parsen und nur den interessanten wert übertragen, oder du kannst das ganze json garbage übertragen und das im client parsen. Wie man das im shelly parst hab ich oben gezeigt.
:
Bearbeitet durch User
Hadmut F. schrieb: > Ja. > Du kannst das im shelly parsen und nur den interessanten wert > übertragen, oder du kannst das ganze json garbage übertragen und das im > client parsen. Ja nun, wenn man sowieso am Ende Python verwenden will, dann lässt man das JSON dort parsen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.