fhempy: rct_power (RCT-Power)

Begonnen von dominik, 10 Februar 2022, 20:20:12

Vorheriges Thema - Nächstes Thema

dominik

Du musst nix kopieren. Einfach uninstall wie Chris geschrieben hat und Neustart. Die fhempy Installation startet von selbst sobald ein BindingsIo Device definiert ist. Das also nicht löschen.

Du kannst mir auch noch gerne das fhempy Log posten, mich würde nämlich der Fehler interessieren.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

lr002585

die log files sind 300MB groß...nur von heute

dominik

Bitte mal einen Auszug schicken und welche Version du aktuell hast.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

chris_kmn

In dem fhempy modul - bei mir heisst es local-pybinding - kannst du das update starten oder einen restart

lr002585

Vielen Dank, Deinstallation hat funktioniert, Version jetzt 0.1.424, nach ca. 10 sec kamen die Werte wieder rüber.

Auszug kommt gleich

lr002585


marc2

Hallo zusammen!

Nachdem ich meinen SMA Tripower in Rente geschickt und durch einen RCT Powerstorage 10 ersetzt habe, muss ich nun auch in Sachen Datenerfassung umsteigen. Früher hatte mir Solarview die Daten per MQTT ins FHEM geblasen. Für den RCT habe ich jetzt fhempy installiert. Ich muss einräumen, dass mein Setup etwas speziell ist. FHEM läuft nicht als root, aber der Runtimeuser hat für fhempy sein eigenes Pyhthon ENV. D.h die Installation lief problemlos, wenngleich das ganze nicht auf Debian, sondern CentOS 8 mit Python 3.8 unterwegs ist.

Wie gesagt, die Installation und Konfiguration war kein Thema. Ich habe aber zwei Probleme. Zum einen  jede Menge Timeouts:


2022-09-02 19:15:56,442 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBeginUpdate($defs{'RCT_10'});;
2022-09-02 19:16:57,468 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:17:57,469 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'inverter_sn','0065B4023096');;
2022-09-02 19:18:57,473 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:19:57,474 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'db.temp1','33.69');;
2022-09-02 19:20:57,475 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:21:57,477 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'battery.soc','0.94');;
2022-09-02 19:22:57,479 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:23:57,483 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'battery.soc_target','0.97');;
2022-09-02 19:24:57,486 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:25:57,488 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'battery.cycles','10');;
2022-09-02 19:26:57,491 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:27:57,492 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'battery.soh','1.00');;
2022-09-02 19:28:57,495 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:29:57,497 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'power_mng.soc_max','0.97');;
2022-09-02 19:30:57,500 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:31:57,503 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'power_mng.soc_min','0.07');;
2022-09-02 19:32:57,507 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:33:57,510 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'battery.temperature','26.65');;


Zum anderen scheinbar ebenfalls jede Menge abgeschnittene JSONs:

2022.09.02 19:27:01 1: BindingsIo (fhempy_local): received JSON was: SetAction);\n          function\n          helpSetAction(){\n            var cmd = $(\"select.set\").val()\n   
2022.09.02 19:27:02 1: BindingsIo (fhempy_local): ERROR: Timeout while waiting for function to finish (id: 57978812)
2022.09.02 19:27:02 1:   NAME =>  RCT_10
2022.09.02 19:27:02 1:   args =>  ARRAY(0x5596d88c75f8)
2022.09.02 19:27:02 1:   defargsh =>  HASH(0x5596d7295df0)
2022.09.02 19:27:02 1:   argsh =>  HASH(0x5596d8709058)
2022.09.02 19:27:02 1:   defargs =>  ARRAY(0x5596d620d658)
2022.09.02 19:27:02 1:   FHEMPYTYPE =>  rct_power
2022.09.02 19:27:02 1:   id =>  57978812
2022.09.02 19:27:02 1:   msgtype =>  function
2022.09.02 19:27:02 1:   PYTHONTYPE =>  rct_power
2022.09.02 19:27:02 1:   function =>  Set
2022.09.02 19:27:02 1: BindingsIo (fhempy_local): ERROR JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 10 (before "}\\n          helpSe...") at /usr/local/share/perl5/JSON.pm line 190.

2022.09.02 19:27:02 1: BindingsIo (fhempy_local): received JSON was:           }\n          helpSetAction�~{"argsh": {}, "args": ["RCT_10", "?"], "defargsh": {}, "NAME": "RCT_10
2022.09.02 19:27:02 1: BindingsIo (fhempy_local): ERROR JSON: garbage after JSON object, at character offset 9 (before ": "function", "defar...") at /usr/local/share/perl5/JSON.pm line 190.

2022.09.02 19:27:02 1: BindingsIo (fhempy_local): received JSON was: "msgtype": "function", "defargs"
2022.09.02 19:27:02 1: BindingsIo (fhempy_local): ERROR JSON: , or ] expected while parsing array, at character offset 32 (before "(end of string)") at /usr/local/share/perl5/JSON.pm line 190.

2022.09.02 19:27:02 1: BindingsIo (fhempy_local): received JSON was: ["RCT_10", "fhempy", "rct_power"
2022.09.02 19:27:02 1: BindingsIo (fhempy_local): ERROR JSON: garbage after JSON object, at character offset 15 (before "], "finished": 1,") at /usr/local/share/perl5/JSON.pm line 190.

2022.09.02 19:27:02 1: BindingsIo (fhempy_local): received JSON was: "192.168.40.18"], "finished": 1,
2022.09.02 19:27:57 1: BindingsIo (fhempy_local): ERROR JSON: unexpected end of string while parsing JSON string, at character offset 32 (before "(end of string)") at /usr/local/share/perl5/JSON.pm line 190.

2022.09.02 19:27:57 1: BindingsIo (fhempy_local): received JSON was: "readingsBulkUpdateIfChanged($de


FHEM und fhempy sind natürich auf dem aktuellsten Stand. Irgendweine Idee?

VG, Marc

Slanesh

Hallo zusammen,

hat jemand mit einem RCT Power Switch bereits eine Möglichkeit gefunden auszulesen, ob sich die RCT Anlage gerade im Inselmodus für Ersatzstrom befindet?

Gruß Slanesh
Intel NUC, 2x HM-LAN, 1x CUL-USB, 2x CCU2, 1x Harmony-Hub, 20x HM-LC-Sw1PBU-FM, 5x HM-LC-SW1-PL2, JeeLink mit 15x TX-29-DTH, 7x HM-SEC-SC-2, 3x HM-LC-SW1-BA-PCB, 8x HM-SEC-SD, 3x HM-SEC-MDIR-2, 2x HM-ES-PMSw1-Pl, 8x HmIP-BWTH, 3xHM-CC-RT-DN, 16xHM-LC-Bl1PBU-FM, 8x HM-SEC-SCo, 1xHM-ES-PMSw1-SM

dominik

Zitat von: marc2 am 02 September 2022, 19:46:38
Hallo zusammen!

Nachdem ich meinen SMA Tripower in Rente geschickt und durch einen RCT Powerstorage 10 ersetzt habe, muss ich nun auch in Sachen Datenerfassung umsteigen. Früher hatte mir Solarview die Daten per MQTT ins FHEM geblasen. Für den RCT habe ich jetzt fhempy installiert. Ich muss einräumen, dass mein Setup etwas speziell ist. FHEM läuft nicht als root, aber der Runtimeuser hat für fhempy sein eigenes Pyhthon ENV. D.h die Installation lief problemlos, wenngleich das ganze nicht auf Debian, sondern CentOS 8 mit Python 3.8 unterwegs ist.

Wie gesagt, die Installation und Konfiguration war kein Thema. Ich habe aber zwei Probleme. Zum einen  jede Menge Timeouts:


2022-09-02 19:15:56,442 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBeginUpdate($defs{'RCT_10'});;
2022-09-02 19:16:57,468 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:17:57,469 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'inverter_sn','0065B4023096');;
2022-09-02 19:18:57,473 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:19:57,474 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'db.temp1','33.69');;
2022-09-02 19:20:57,475 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:21:57,477 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'battery.soc','0.94');;
2022-09-02 19:22:57,479 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:23:57,483 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'battery.soc_target','0.97');;
2022-09-02 19:24:57,486 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:25:57,488 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'battery.cycles','10');;
2022-09-02 19:26:57,491 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:27:57,492 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'battery.soh','1.00');;
2022-09-02 19:28:57,495 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:29:57,497 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'power_mng.soc_max','0.97');;
2022-09-02 19:30:57,500 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:31:57,503 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'power_mng.soc_min','0.07');;
2022-09-02 19:32:57,507 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:33:57,510 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'battery.temperature','26.65');;


Zum anderen scheinbar ebenfalls jede Menge abgeschnittene JSONs:

2022.09.02 19:27:01 1: BindingsIo (fhempy_local): received JSON was: SetAction);\n          function\n          helpSetAction(){\n            var cmd = $(\"select.set\").val()\n   
2022.09.02 19:27:02 1: BindingsIo (fhempy_local): ERROR: Timeout while waiting for function to finish (id: 57978812)
2022.09.02 19:27:02 1:   NAME =>  RCT_10
2022.09.02 19:27:02 1:   args =>  ARRAY(0x5596d88c75f8)
2022.09.02 19:27:02 1:   defargsh =>  HASH(0x5596d7295df0)
2022.09.02 19:27:02 1:   argsh =>  HASH(0x5596d8709058)
2022.09.02 19:27:02 1:   defargs =>  ARRAY(0x5596d620d658)
2022.09.02 19:27:02 1:   FHEMPYTYPE =>  rct_power
2022.09.02 19:27:02 1:   id =>  57978812
2022.09.02 19:27:02 1:   msgtype =>  function
2022.09.02 19:27:02 1:   PYTHONTYPE =>  rct_power
2022.09.02 19:27:02 1:   function =>  Set
2022.09.02 19:27:02 1: BindingsIo (fhempy_local): ERROR JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 10 (before "}\\n          helpSe...") at /usr/local/share/perl5/JSON.pm line 190.

2022.09.02 19:27:02 1: BindingsIo (fhempy_local): received JSON was:           }\n          helpSetAction�~{"argsh": {}, "args": ["RCT_10", "?"], "defargsh": {}, "NAME": "RCT_10
2022.09.02 19:27:02 1: BindingsIo (fhempy_local): ERROR JSON: garbage after JSON object, at character offset 9 (before ": "function", "defar...") at /usr/local/share/perl5/JSON.pm line 190.

2022.09.02 19:27:02 1: BindingsIo (fhempy_local): received JSON was: "msgtype": "function", "defargs"
2022.09.02 19:27:02 1: BindingsIo (fhempy_local): ERROR JSON: , or ] expected while parsing array, at character offset 32 (before "(end of string)") at /usr/local/share/perl5/JSON.pm line 190.

2022.09.02 19:27:02 1: BindingsIo (fhempy_local): received JSON was: ["RCT_10", "fhempy", "rct_power"
2022.09.02 19:27:02 1: BindingsIo (fhempy_local): ERROR JSON: garbage after JSON object, at character offset 15 (before "], "finished": 1,") at /usr/local/share/perl5/JSON.pm line 190.

2022.09.02 19:27:02 1: BindingsIo (fhempy_local): received JSON was: "192.168.40.18"], "finished": 1,
2022.09.02 19:27:57 1: BindingsIo (fhempy_local): ERROR JSON: unexpected end of string while parsing JSON string, at character offset 32 (before "(end of string)") at /usr/local/share/perl5/JSON.pm line 190.

2022.09.02 19:27:57 1: BindingsIo (fhempy_local): received JSON was: "readingsBulkUpdateIfChanged($de


FHEM und fhempy sind natürich auf dem aktuellsten Stand. Irgendweine Idee?

VG, Marc
Was passiert wenn du nur einen fhempyServer restart machst? Also nicht FHEM neu starten, sondern nur fhempyServer.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

chris_kmn

In welchem Intervall fragst du denn die Werte vom WR ab ?

chris_kmn

Zitat von: Slanesh am 02 September 2022, 20:10:12
Hallo zusammen,

hat jemand mit einem RCT Power Switch bereits eine Möglichkeit gefunden auszulesen, ob sich die RCT Anlage gerade im Inselmodus für Ersatzstrom befindet?

Gruß Slanesh

Du kannst mal versuchen die folgenden beiden Readings einzulesen:

prim_sm.island_flag
power_mng.is_grid


marc2

Zitat von: chris_kmn am 02 September 2022, 20:27:12
In welchem Intervall fragst du denn die Werte vom WR ab ?

Ich habe das Intervall nicht dediziert gesetzt, es seht also auf Default (10s ?). Es holen sich aber noch andere Programme (laufen auf anderen VMs) Daten vom RCT, Solaranzeige und testweise OpenWB und EVCC. Die haben soweit aber kein Problem.

FHEM stürzt nach einiger Zeit sogar komplett ab. Ich werde die anderen Programme mal deaktivieren und wieder testen.

chris_kmn

Ich habe in anderen Foren gelesen, dass RCT Probleme mit zu kleinen Intervallen hat (<5 Sek.). Früher konnte der WR auch nur eine einzige Applikation bedienen. Wenn bei dir mehrere Instanzen auf den WR zugreifen könnte das das Problem sein.

Machen OpenWB, EVCC und Solaranzeige nicht ähnliche Dinge ? Ich versuche das alles auf einer Plattform zu halten. Die PV Überschussladung (wie in OpenWB und EVCC) mache ich z.B. auch im FHEM.

laserrichi

da ich kein Freund bin von zusätzlichen Serverinstanzen Webzugriffe und Abfragen mit 100 Zeichen abfragen wenn man nur 4 braucht, habe ich mir für RCT ein Modbus Modul gebaut.

Das läuft jetzt schon eine weile bei mir tadellos. Einzig mangels "Fehler" konnte ich die Fehlerregister noch nicht checken :-) Hoffe das die auch nie auftreten.

Das mit Parallelzugriffen über die App und von Fhem ist mir auch aufgefallen das sich das in die Quere kommt, also es gilt "es kann nur einen geben zur gleichen Zeit".
Werde das fhempy dann wieder rausschmeißen und nur noch mit modbus arbeiten und das kommt sich mit der App auch nicht in die Quere.

Das Modul kann ich gerne hier reinstellen oder ich mache ein Extra Thema dazu auf da es ja mit dem hier nichts zu tun hat.
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

chris_kmn

Dann brauchst du aber noch ein Modbus-Interface, korrekt ? Und wahrscheinlich eines, dass seriell am WR verkabelt ist ? Oder läuft das via tcp?