Seite 1 von 1

http-Gerät mit Vorgabe zu verbrauchender Leistung

Verfasst: Di Sep 20, 2022 10:52 am
von Gero
Hallo Oliver,

gerade bastele ich ja an meinem ATON herum und möchte den nun etwas stärker ins smarthome2.0 einbinden. Hier habe ich schon einmal meine ersten Schritte dokumentiert, wie ich die Daten von der openWB-Welt in die der Technischen Alternative bringe.

viewtopic.php?f=6&t=5863

Nun ist mir folgendes aufgefallen:
Es gibt auch für das http-Gerät ja auch Einschalt- und Ausschalt-URLs. Ist ja auch sinnvoll, denn nicht jeder muss ja mit der Leistungsvorgabe 0 oder 1800W klarkommen. Ich schalte so einen Shelly1 und fällt gerade auf, dass wenn man das Device auf "Manuell" stellt, das Schalten nicht funktioniert. Der Name wird gelb und bleibt gelb. Eigentlich hätte ich erwartet, dass der Shelly schaltet und der Name dann grün wird.

Im Log finde ich diese Meldung hier:

Code: Alles auswählen

2022-09-20 12:17:40-: (1) on / off Shttp 1 192.168.8.23 Fehlermeldung: Can't convert 'int' object to str implicitly 
und hier mal im gesamten Regeldurchlauf:

Code: Alles auswählen

2022-09-20 12:17:40-: (9) Trockner manueller Modus aktiviert, keine Regelung
2022-09-20 12:17:40-: (8) WaschMasch manueller Modus aktiviert, keine Regelung
2022-09-20 12:17:40-: (1) Heizstab manueller Modus aktiviert, keine Regelung
2022-09-20 12:17:40-: (1) on / off Shttp 1 192.168.8.23 Fehlermeldung: Can't convert 'int' object to str implicitly 
2022-09-20 12:17:40-: (1) angeschaltet. Überschussberechnung (1 = mit  Speicher, 2 = mit Offset) 0
2022-09-20 12:17:40-: (2) Heizluefter Einschaltverzögerung erreicht, bereits ein
2022-09-20 12:17:40-: (2) Heizluefter Überschuss 7814 größer Einschaltschwelle oder Immer an zeit erreicht 500
2022-09-20 12:17:40-: (2) Heizluefter Mindesteinschaltdauer erreicht, Ausschaltschwelle 0 gesetzt
2022-09-20 12:17:40-: (2) Heizluefter Ladung läuft, pruefe Mindestlaufzeit
2022-09-20 12:17:40-: (2) Heizluefter Soll reduziert/abgeschaltet werden bei Ladung, pruefe 5549
2022-09-20 12:17:40-: (2) Heizluefter Maximale Einschaltdauer nicht erreicht
2022-09-20 12:17:40-: Mq pub openWB/SmartHome/Devices/8/RunningTimeToday=44223 old 44214
2022-09-20 12:17:40-: Mq pub openWB/SmartHome/Status/uberschuss=7814 old 8054
2022-09-20 12:17:40-: Mq pub openWB/SmartHome/Status/uberschussoffset=1814 old 2054
2022-09-20 12:17:40-: Mq pub openWB/SmartHome/Devices/1/oncountnor=258 old 257
2022-09-20 12:17:40-: Mq pub openWB/SmartHome/Devices/2/RunningTimeToday=4546 old 4537
2022-09-20 12:17:40-: Mq pub openWB/SmartHome/Devices/9/RunningTimeToday=44223 old 44213
2022-09-20 12:17:40-: Einschaltgruppe rel: 0 Summe Einschaltschwelle: 0 max Einschaltverzögerung 0 nur Einschaltgruppe prüfen bis: 0
2022-09-20 12:17:40-: Anzahl devices in Auschaltgruppe: 1 akt: 0 Anzahl devices in Einschaltgruppe: 0
2022-09-20 12:17:40-: Total Watt nicht im Hausverbrauch: 0
2022-09-20 12:17:40-: Total Watt nichtabschaltbarer smarthomedevices: 0
2022-09-20 12:17:40-: Total Watt abschaltbarer smarthomedevices: 0
2022-09-20 12:17:40-: (1) Heizstab rel: 0 oncnt/onstandby/time: 258/0/1927 Status/Üeb: 10/0 akt: 0 Z: 0
2022-09-20 12:17:38-: (9) Trockner rel: 1 oncnt/onstandby/time: 0/0/44223 Status/Üeb: 10/0 akt: 0 Z: 0
2022-09-20 12:17:37-: (8) WaschMasch rel: 1 oncnt/onstandby/time: 0/0/44223 Status/Üeb: 10/0 akt: 0 Z: 0
2022-09-20 12:17:36-: (2) Heizluefter rel: 1 oncnt/onstandby/time: 6/0/4546 Status/Üeb: 10/1 akt: 0 Z: 0
2022-09-20 12:17:35-: Speicher Entladung(-)/Ladung(+): 7788 SpeicherSoC: 83
2022-09-20 12:17:35-: Uberschuss: 7814 Uberschuss mit Offset: 1814
2022-09-20 12:17:35-: EVU Bezug(-)/Einspeisung(+): 26 max Speicherladung: 6000
Die Fehlermeldung bleibt auch, wenn ich den Shelly über seine Homepage oder per curl einschalte. Der Name wird auch nicht grün, so wie ich es von anderen manuell gesteuerten Shellies her kenne.

Es funktioniert ein wenig besser, wenn man mit dem Status-URL arbeitet: Dann bekommt der smarthomehandler mit, wie der Shelly geschaltet ist und stellt den Namen grün oder rot dar. Über das UI der openWB schalten kann man aber immer noch nicht. Bei hinterlegtem Status-URL wird auch nicht die Lauferkennung über die Leistungsaufnahme abgestellt. Sprich, der Name wird grün im manuellen Modus, wenn der Leistungs-URL einen Wert >0 zurückliefert, der Status-URL aber ausgeschaltet meldet.

Und im Status Manuell wird der Leistungs-URL immer mit einer Leistungsvorgabe aufgerufen. Wäre hier 0 nicht sinnvoller? So wie es aktuell ist, muss ich noch zusätzlich den Modus "Manuell" abfragen, damit ich nicht aus Versehen den Heizstab im manuellen Modus einschalte. Für die Abwärtskompatibilität könnte ja einen neuen URL-Parameter <openwb_ueberschuss_auto>, der nur im Automatik-Modus den Überschuss übermittelt. Im manuellen Modus würde ich erwarten, dass mit den Ein- und Ausschalt-URLs geschaltet wird.

Hier noch mein nodeRED-Flow, mit dem ich das ausgetestet habe. (Es sind zwei Shellies im Einsatz: ein 1er (192.168.8.23) für das potentialfreie Schalten und einer 1pm (192.168.8.24) zur Leistungsmessung

Code: Alles auswählen

[{"id":"44a2e09c.0f4148","type":"function","z":"b8ffe81b.38e0c8","name":"","func":"var m = msg;\nvar n = msg;\n\nvar w;\n\nif (msg.req.query.watt === undefined ){\n    w = \"0\";\n}\nelse{\n    w = msg.req.query.watt;\n}\n\nif ( w > 0 ){\n  n.payload = w;\n}\nelse{\n  n.payload = 0;\n}\n\nm.payload = w;\n\nreturn [m, n];","outputs":2,"noerr":0,"initialize":"","finalize":"","x":400,"y":300,"wires":[["33d4078a.9ff1a8"],["13aa1d0a.4da8cb"]]},{"id":"2c8d77bc.893b9","type":"http in","z":"b8ffe81b.38e0c8","name":"","url":"/heizstab","method":"get","upload":false,"swaggerDoc":"","x":160,"y":300,"wires":[["44a2e09c.0f4148"]]},{"id":"558314c1.ae8104","type":"http response","z":"b8ffe81b.38e0c8","name":"","statusCode":"","headers":{},"x":1030,"y":340,"wires":[]},{"id":"af8ddf23.6b6ba8","type":"function","z":"b8ffe81b.38e0c8","name":"","func":"msg.payload = msg.payload.meters[0].power;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":840,"y":340,"wires":[["558314c1.ae8104","5dfb331f.2b7ddc"]]},{"id":"13aa1d0a.4da8cb","type":"http request","z":"b8ffe81b.38e0c8","name":"","method":"GET","ret":"obj","paytoqs":"ignore","url":"192.168.8.24/status","tls":"","persist":false,"proxy":"","authType":"","x":650,"y":340,"wires":[["af8ddf23.6b6ba8"]]},{"id":"33d4078a.9ff1a8","type":"debug","z":"b8ffe81b.38e0c8","name":"watt_set","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":650,"y":260,"wires":[]},{"id":"5dfb331f.2b7ddc","type":"debug","z":"b8ffe81b.38e0c8","name":"current_power","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1020,"y":400,"wires":[]},{"id":"1cf245ec.13e5a2","type":"http request","z":"b8ffe81b.38e0c8","name":"","method":"GET","ret":"obj","paytoqs":"ignore","url":"192.168.8.23/status","tls":"","persist":false,"proxy":"","authType":"","x":430,"y":440,"wires":[["551242b0.37c5d4"]]},{"id":"6524d6cc.2ef438","type":"debug","z":"b8ffe81b.38e0c8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":820,"y":560,"wires":[]},{"id":"b9c82b70.163c18","type":"http response","z":"b8ffe81b.38e0c8","name":"","statusCode":"","headers":{},"x":830,"y":440,"wires":[]},{"id":"551242b0.37c5d4","type":"function","z":"b8ffe81b.38e0c8","name":"","func":"if ( msg.payload.relays[0].ison ){\n    msg.payload = \"1\";\n}\nelse{\n    msg.payload = \"0\";\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":640,"y":440,"wires":[["b9c82b70.163c18","6524d6cc.2ef438"]]},{"id":"43c49975.4748b","type":"http in","z":"b8ffe81b.38e0c8","name":"","url":"/heizstab_status","method":"get","upload":false,"swaggerDoc":"","x":170,"y":440,"wires":[["1cf245ec.13e5a2"]]}]

Re: http-Gerät mit Vorgabe zu verbrauchender Leistung

Verfasst: Di Sep 20, 2022 4:20 pm
von okaegi
Gero hat geschrieben: Di Sep 20, 2022 10:52 am Hallo Oliver,


Im Log finde ich diese Meldung hier:

Code: Alles auswählen

2022-09-20 12:17:40-: (1) on / off Shttp 1 192.168.8.23 Fehlermeldung: Can't convert 'int' object to str implicitly 
und hier mal im gesamten Regeldurchlauf:

Code: Alles auswählen

2022-09-20 12:17:40-: (9) Trockner manueller Modus aktiviert, keine Regelung
2022-09-20 12:17:40-: (8) WaschMasch manueller Modus aktiviert, keine Regelung
2022-09-20 12:17:40-: (1) Heizstab manueller Modus aktiviert, keine Regelung
2022-09-20 12:17:40-: (1) on / off Shttp 1 192.168.8.23 Fehlermeldung: Can't convert 'int' object to str implicitly 
2022-09-20 12:17:40-: (1) angeschaltet. Überschussberechnung (1 = mit  Speicher, 2 = mit Offset) 0
2022-09-20 12:17:40-: (2) Heizluefter Einschaltverzögerung erreicht, bereits ein
2022-09-20 12:17:40-: (2) Heizluefter Überschuss 7814 größer Einschaltschwelle oder Immer an zeit erreicht 500
2022-09-20 12:17:40-: (2) Heizluefter Mindesteinschaltdauer erreicht, Ausschaltschwelle 0 gesetzt
2022-09-20 12:17:40-: (2) Heizluefter Ladung läuft, pruefe Mindestlaufzeit
2022-09-20 12:17:40-: (2) Heizluefter Soll reduziert/abgeschaltet werden bei Ladung, pruefe 5549
2022-09-20 12:17:40-: (2) Heizluefter Maximale Einschaltdauer nicht erreicht
2022-09-20 12:17:40-: Mq pub openWB/SmartHome/Devices/8/RunningTimeToday=44223 old 44214
2022-09-20 12:17:40-: Mq pub openWB/SmartHome/Status/uberschuss=7814 old 8054
2022-09-20 12:17:40-: Mq pub openWB/SmartHome/Status/uberschussoffset=1814 old 2054
2022-09-20 12:17:40-: Mq pub openWB/SmartHome/Devices/1/oncountnor=258 old 257
2022-09-20 12:17:40-: Mq pub openWB/SmartHome/Devices/2/RunningTimeToday=4546 old 4537
2022-09-20 12:17:40-: Mq pub openWB/SmartHome/Devices/9/RunningTimeToday=44223 old 44213
2022-09-20 12:17:40-: Einschaltgruppe rel: 0 Summe Einschaltschwelle: 0 max Einschaltverzögerung 0 nur Einschaltgruppe prüfen bis: 0
2022-09-20 12:17:40-: Anzahl devices in Auschaltgruppe: 1 akt: 0 Anzahl devices in Einschaltgruppe: 0
2022-09-20 12:17:40-: Total Watt nicht im Hausverbrauch: 0
2022-09-20 12:17:40-: Total Watt nichtabschaltbarer smarthomedevices: 0
2022-09-20 12:17:40-: Total Watt abschaltbarer smarthomedevices: 0
2022-09-20 12:17:40-: (1) Heizstab rel: 0 oncnt/onstandby/time: 258/0/1927 Status/Üeb: 10/0 akt: 0 Z: 0
2022-09-20 12:17:38-: (9) Trockner rel: 1 oncnt/onstandby/time: 0/0/44223 Status/Üeb: 10/0 akt: 0 Z: 0
2022-09-20 12:17:37-: (8) WaschMasch rel: 1 oncnt/onstandby/time: 0/0/44223 Status/Üeb: 10/0 akt: 0 Z: 0
2022-09-20 12:17:36-: (2) Heizluefter rel: 1 oncnt/onstandby/time: 6/0/4546 Status/Üeb: 10/1 akt: 0 Z: 0
2022-09-20 12:17:35-: Speicher Entladung(-)/Ladung(+): 7788 SpeicherSoC: 83
2022-09-20 12:17:35-: Uberschuss: 7814 Uberschuss mit Offset: 1814
2022-09-20 12:17:35-: EVU Bezug(-)/Einspeisung(+): 26 max Speicherladung: 6000
Die Fehlermeldung bleibt auch, wenn ich den Shelly über seine Homepage oder per curl einschalte. Der Name wird auch nicht grün, so wie ich es von anderen manuell gesteuerten Shellies her kenne.
Dieser Fehler ist bekannt und bereits in der aktuellen Nightly behoben. Bitte upgraden und noch mal testen,
Gruss Oliver

Re: http-Gerät mit Vorgabe zu verbrauchender Leistung

Verfasst: Di Sep 20, 2022 6:29 pm
von Gero
Danke Oliver, schalten übers UI funktioniert nun. Wie das mit der Leistungsvorgabe aussieht, probiere ich morgen mal aus wenn die Sonne wieder scheint.