Modul 36_Shelly.pm

Begonnen von Prof. Dr. Peter Henning, 15 November 2018, 10:24:39

Vorheriges Thema - Nächstes Thema

JWRu

Ich habe schon mehrere ShellyPlugS erfolgreich in FHEM eingebunden.
Jetzt habe ich mir einen Shelly Dimmer 2 gekauft und erfolgreich integriert.
Allerdings fehlt das Reading "power" - die Leistung ist aber auf der Shelly-Weboberfläche zu sehen. Das Attribut "model" habe ich auf "shellydimmer" gesetzt.
Ist das evtl. ein neues Feature des Shelly Dimmer 2?
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

Prof. Dr. Peter Henning


JWRu

#617
Dann bitte ich hiermit den Modul-Autor ganz freundlich, das neue Feature ins Shelly-Modul zu integrieren.  :)
Vielen Dank vorab!
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

Prof. Dr. Peter Henning

Das im Modul hinterlegte API für shellydimmer hat ein Reading "power". Da ich allerdings nicht Hardware nur kaufe, um sie in FHEM zu integrieren, habe ich die Änderung des API an dieser Stelle nicht mitbekommen.

Mit der angehängten Version des Moduls sollte es funktionieren, bitte testen.

LG

pah


JWRu

Vielen Dank für die schnelle Reaktion.
Leider hat es nicht funktioniert.
Beim FHEM-Start bekomme ich Fehlermeldungen und alle meinen Shell-Devices sind verschwunden.
Global symbol "$old_pwd" requires explicit package name (did you forget to declare "my $old_pwd"?) at ./FHEM/36_Shelly.pm line 238.

2020.11.30 10:41:44 0: Global symbol "$old_pwd" requires explicit package name (did you forget to declare "my $old_pwd"?) at ./FHEM/36_Shelly.pm line 238.

2020.11.30 10:41:44 3: myMQTT_Server: port 1883 opened
2020.11.30 10:41:45 1: PERL WARNING: Subroutine Shelly_Initialize redefined at ./FHEM/36_Shelly.pm line 129.
2020.11.30 10:41:45 1: PERL WARNING: Subroutine Shelly_Define redefined at ./FHEM/36_Shelly.pm line 152.
2020.11.30 10:41:45 1: PERL WARNING: Subroutine Shelly_Delete redefined at ./FHEM/36_Shelly.pm line 200.
2020.11.30 10:41:45 1: PERL WARNING: Subroutine Shelly_Undef redefined at ./FHEM/36_Shelly.pm line 215.
2020.11.30 10:41:45 1: reload: Error:Modul 36_Shelly deactivated:
Global symbol "$old_pwd" requires explicit package name (did you forget to declare "my $old_pwd"?) at ./FHEM/36_Shelly.pm line 238.

2020.11.30 10:41:45 0: Global symbol "$old_pwd" requires explicit package name (did you forget to declare "my $old_pwd"?) at ./FHEM/36_Shelly.pm line 238.

2020.11.30 10:41:45 1: reload: Error:Modul 36_Shelly deactivated:
Global symbol "$old_pwd" requires explicit package name (did you forget to declare "my $old_pwd"?) at ./FHEM/36_Shelly.pm line 238.

2020.11.30 10:41:45 0: Global symbol "$old_pwd" requires explicit package name (did you forget to declare "my $old_pwd"?) at ./FHEM/36_Shelly.pm line 238.

2020.11.30 10:41:45 1: reload: Error:Modul 36_Shelly deactivated:
Global symbol "$old_pwd" requires explicit package name (did you forget to declare "my $old_pwd"?) at ./FHEM/36_Shelly.pm line 238.

2020.11.30 10:41:45 0: Global symbol "$old_pwd" requires explicit package name (did you forget to declare "my $old_pwd"?) at ./FHEM/36_Shelly.pm line 238.


Mit der alten Version von 36_Shelly läuft's jetzt wieder - allerdings bekomme ich beim Start auch damit die Warnung:
PERL WARNING: Subroutine Shelly_Undef redefined at ./FHEM/36_Shelly.pm line 200.
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

michlm

Hallo,

bei mir ist das gleiche, alle Shellys ohne "power" reading (Shelly1) werden nicht mehr angezeigt/verschwunden

Gruss


cs-online

...Shelly 1 mit Power Reading ??? Beim 2 und 2.5 kenne ich das, aber nicht beim Shelly1. Mein Shelly1 hat das auch nicht im WebIf, die anderen wohl... Beim Shelly 2 mit FW v1.6.0 ist auch im FHEM das Power-Reading drin, heute morgen noch gefüttert worden. Beim 2.5er gibts Power (letztes Reading gestern) und Power_0 (letztes Reading heute), FW v1.6.0
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

MadMax-FHEM

michlm schreibt ja, dass eben Shellys OHNE power Reading "weg" sind, also in seinem Fall alle Shelly1...

Zumindest lese ich das so... ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

cs-online

OK, ja, könnte auch so verstanden werden, dann bin ich leider in die falsche Richtung gelaufen ;-)
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

michlm

Servus,

Joachim hat es richtig gelesen  ;)

Michl

Prof. Dr. Peter Henning

Leute, das ist ein typischer Fall von "Wir zünden eine Nebelkerze". Dieser Fehler hat _gar nichts_ mit "power" zu tun, und es sollten tatsächlich alle Devices verschwunden sein (also ist der Post von michlm mit Sicherheit nicht richtig). Übrigens sind solche Effekte der Grund dafür, dass ich schreibe "bitte testen".

Sondern der neue Fehler hat auschließlich mit einem Fehler im FHEMWiki für Developer zu tun - nämlich die Übernahme des Passworts bei einem Rename. Diesen Fehler habe ich, wie sollte es anders sein, einfach ohne nachzudenken übernommen...

Sollte in der angehängten Version behoben sein - und im FHEMWiki habe ich es auch gleich verbessert.

LG

pah


JWRu

#626
Die neue Version zeigt beim Start keine Fehler oder Warnungen.
ShellyPlugS Devices funktionieren einwandfrei.
Allerdings taucht bei meinem Dimmer kein Reading "power" auf - auch nach ca. 10 Minuten warten.

Update: Wenn ich get ... registers ausführe, erhalte ich beim Dimmer nichts zurück.
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

TRallala

#627
Moin,
kann JWRu bestätigen, es funktioniert weiterhin alles, der Dimmer will jedoch kein Power Reading befüllen, noch seine "registers".


edit:
die register für den dimmer sind einfach nicht definiert und können aber auch nur befüllt werden, wenn
es in den zeilen 430 und 458 light, nicht lights heißt

und für power fehlt ab Zeile 1060  einfach der meters Teil.
    for( my $i=0;$i<$meters;$i++){
      $subs  = ($meters == 1) ? "" : "_".$i;
      $power = $jhash->{'meters'}[$i]{'power'};
      $energy = int($jhash->{'meters'}[$i]{'total'}/6)/10;
      readingsBulkUpdateIfChanged($hash,"power".$subs,$power);
      readingsBulkUpdateIfChanged($hash,"energy".$subs,$energy);
    } 


Gruß
Markus

edit 2:
wer testen mag - anbei.

Prof. Dr. Peter Henning

#628
@trallala:   ::) ::)

Zu 1: Von den Registern war bisher noch nicht die Rede.

Zu 2.: Granatenmäßiger Unsinn. Die gestern gepostete Version enthält genau diese Abfragen bzw. Ausgaben in den Zeilen 1052/53 und 1057/58. Wobei in Zeile 1053 noch ein Copy-Paste-Error steckt, der in der angehängten Version behoben ist.

Edit: Bitte keine selbst geänderten Module unter dem gleichen Namen posten - unbedingt aus dem vorigen Post löschen.

@JWRu: Bitte mal den Inhalt von http://<ip-device>/status posten

LG

pah

JWRu

#629
ZitatVon den Registern war bisher noch nicht die Rede.
Das war mir schon klar. Ich dachte, es hilft vielleicht bei der Fehlersuche - tut es aber offenbar nicht.

ZitatBitte mal den Inhalt von http://<ip-device>/status posten
{"wifi_sta":{"connected":true,"ssid":"XXXXXXXXX","ip":"XXXXXXXXX","rssi":-66},"cloud":{"enabled":false,"connected":false},"mqtt":{"connected":false},"time":"13:49","unixtime":1606830543,"serial":1240,"has_update":false,"mac":"XXXXXXXXX","cfg_changed_cnt":0,"actions_stats":{"skipped":0},"lights":[{"ison":true,"source":"http","has_timer":false,"timer_started":0,"timer_duration":0,"timer_remaining":0,"mode":"white","brightness":60}],"meters":[{"power":41.95,"overpower":0.00,"is_valid":true, "timestamp":1606830543,"counters":[10.281, 0.000, 0.000],"total":948}],"inputs":[{"input":0,"event":"","event_cnt":0},{"input":0,"event":"","event_cnt":0}],"tmp":{"tC":36.71,"tF":98.08, "is_valid":true},"calibrated":true,"calib_progress":0,"calib_status":0,"wire_mode":0,"overtemperature":false,"loaderror":0,"overpower":false,"debug":0,"update":{"status":"idle","has_update":false,"new_version":"20201124-092706/v1.9.0@57ac4ad8","old_version":"20201124-092706/v1.9.0@57ac4ad8"},"ram_total":48368,"ram_free":35388,"fs_size":233681,"fs_free":113954,"uptime":72686}
Ich habe die Ausgabe an den XXXXX..-Stellen anonymisiert.
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter