Support-Thread Modul 36_Shelly.pm

Begonnen von Prof. Dr. Peter Henning, 03 Februar 2021, 08:03:09

Vorheriges Thema - Nächstes Thema

Ruggy

Naja, Du hast schon recht. Ein Update hätte bei der Shelly viel Ärger erspart.

Backup mache ich und das Update muß noch etwas warten.
Derzeit hätte ich wenig Zeit mit Fehlersuche. Und wenn ich nicht weiter komme müsste ich wieder das Forum bemühen.

Viele Grüße
Ruggy

Gisbert

ZitatUnd wenn ich nicht weiter komme müsste ich wieder das Forum bemühen.
Dafür ist das Forum da, nur Mut.
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

laufhem

Hallo,
ich habe bei mir verschiedene Shelly-Module im Einsatz. Die Shelly1 tauchen im FHEM zum Beispiel auch "problemlos" auf und lassen sich bedienen.
Allerdings bei den RGBW-Controllern ("4-Farb"-Modus) habe ich das Problem, dass im FHEM Interface keine Steuermöglichkeit angezeigt wird. Es gibt lediglich den Hinweis "Initialized" bzw. "Error", aber es gibt z.B. keine set-Methoden.


SHELLYID
shellyrgbw2-4E39B3
STATE
initialized
TCPIP
192.168.178.32
TYPE
Shelly
eventCount
2

Readings
cloud
disabled
firmware
v1.11.8
network
connected to 192.168.178.32
state
initialized

Attributes
model
shellyrgbw
.

Ist das Verhalten so iO?
(Wo) Gibt es eine Doku, wie die Shelly RGBW Controller anzusteuern sind?

Prof. Dr. Peter Henning

Bitte die CommandRef lesen. Es fehlt das mode-Attribut.

LG

pah

stef7

Hallo,

da mich die WLAN-Empfangsstärke der Module interessiert hat, habe ich hierfür ein Reading "wlan_rssi" erzeugt, das den wert enthält.
Das Diff bezieht sich auf die aktuelle Version nach update.

diff /opt/fhem/FHEM/36_Shelly.pm 36_Shelly.pm
1115a1116,1119
>   #-- for all models set internal rssi reading
>   if ($jhash->{'wifi_sta'}{'rssi'}) {
>     readingsBulkUpdateIfChanged($hash,"wlan_rssi",$jhash->{'wifi_sta'}{'rssi'});
>   }


Vielleicht kann das jemand brauchen.

Gruß
Stefan

Prof. Dr. Peter Henning

Das werde ich nicht in das veröffentlichte Modul einbauen.

LG

pah

Kristof

Hallo miteinander,

seit ich jüngst mein neues Shelly Plus 1PM in FHEM eingebunden habe, bekomme ich im 5-Minuten-Rhythmus (->attr interval 300) diese Fehlermeldungen im Log:

PERL WARNING: Use of uninitialized value $value in string eq at fhem.pl line 4981.
stacktrace:
main::__ANON__                      called by fhem.pl (4981)
main::readingsBulkUpdateIfChanged   called by ./FHEM/36_Shelly.pm (1426)
main::Shelly_proc2G                 called by ./FHEM/36_Shelly.pm (1071)
main::__ANON__                      called by FHEM/HttpUtils.pm (720)
main::__ANON__                      called by fhem.pl (778)


Welche Informationen müsste ich noch liefern, um der Sache auf die Spur zu kommen?

(fhem.pl:26248/2022-07-19 perl:5.024001 os:linux - läuft auf einem RasPi)





Prof. Dr. Peter Henning

Das sind keine Fehlermeldungen, sondern nur Warnungen. Kann man ignorieren.

Und ohne dass ich weiß, welche Modulversion benutzt wird, kann ich das auch nicht in einem der nächsten Releases beheben.

LG

pah

FSausF

#233
Hallo in die Runde, ich hoffe, ich bin mit der Frage richtig im Support-Thread für Shelly:

Ich habe zahlreiche Shelly Plug S (model shellyplug) im Einsatz, und die scheinen soweit auch gut zu funktionieren.
(Zuvor hatte ich Fritz!DECT und Homemmatic am Start.)

Was ich vermisse, sind Nachrichten im Log.
Ich würde mir wünschen, dass im Log das Ein- und das Ausschalten geloggt werden kann.

Dazu habe ich mein Glück mit verschiedenen Werten des Attributs "verbose" versucht. (event-on-update-reading hat "status,power,energy,etc.)
Bei 0-4 passiert meiner Wahrnehmung nach im Log genau nichts.
Bei 5 oder 6 wird das Log sehr großzügig und periodisch geflutet.

1.) Gibt es etwas dazwischen?
2.) Wie erreiche ich das?

Danke vorab für Euer Hirnschmalz!

FrankSausF

Ruggy

Zitat von: Gisbert am 31 Juli 2022, 19:13:15
Dafür ist das Forum da, nur Mut.

Ich bin jetzt mal mutig und möchte mich mit einer weiteren Frage an euch wenden. ;-)


Nach den "Startschwierigkeiten" funktioniert die Shelly3em mit den ShellyModul ohne Probleme.
Es werden u.a. die Readings Power_0 bis Power_2 (aktueller Verbrauch in Watt) und energy_0 bis energy_2 (Gesamtverbrauch über gesamten Zeitraum) angezeigt.
Diese Readings lasse ich mir derzeit in zwei SVG-Plots anzeigen.

Den Plot mit dem Verbrauch finde ich ganz Praktisch um die täglichen Schwankungen zu sehen.
Aus dem Plot mit dem Gesamtverbrauch kann man wenig herauslesen. Die drei Graphen für die drei Phasen steigen halt immer mehr an.

Wie kann ich FHEM konfigurieren, um den (täglichen, wöchentlichen) monatlichen und jährlichen Verbrauch in Zahlen und in einer Balkengrafik darstellen zu können.
Habe auch von der "Problematik" gelesen, dass z.B. nach einen Stromausfall die Messwerte der Shelly3em wieder auf Null zurück gesetzt werden.


Vielen Dank
Grüße
Ruggy

Frank_Huber

Zitat von: Ruggy am 16 August 2022, 09:41:34
Wie kann ich FHEM konfigurieren, um den (täglichen, wöchentlichen) monatlichen und jährlichen Verbrauch in Zahlen und in einer Balkengrafik darstellen zu können.
Habe auch von der "Problematik" gelesen, dass z.B. nach einen Stromausfall die Messwerte der Shelly3em wieder auf Null zurück gesetzt werden.

Hi,

schau die mal das Statistics Modul an. Denke das ist das was Du suchst.
https://wiki.fhem.de/wiki/Statistics

/Frank

Ruggy

Habe mir das Statistic Modul mal angesehen und es auch getestet.
Die Shelly3em stellt ja Readings für die drei Phasen zur Verfügung (energy_0, energy_1 und energy_2).

Habe jetzt im Statistik Modul diese drei Readings bei deltareadings eingetragen und auch bei singularReadings

Im Shelly3em Device werden aber nur die Readings (statEnergy_0) im Zusammenhang mit Energy_0 aktualisiert.

Kann ich diese Readings so nicht zusammenfassend eintragen?

Hier das List vom Shelly3em und von dem eben angelegten myStatDevice:

Internals:
   DEF        192.168.33.43
   DURATION   0
   FUUID      62e55f01-f33f-194f-c60d-526add52254d1b91
   INTERVAL   20
   NAME       myShellyEM3
   NR         601
   SHELLYID   shellyem3-BCFF4DFD1A0D
   STATE      OK
   TCPIP      192.168.33.43
   TYPE       Shelly
   Helper:
     DBLOG:
       energy_0:
         DbLog:
           TIME       1660645203.14565
           VALUE      190123.7
       energy_1:
         DbLog:
           TIME       1660645203.14565
           VALUE      121982.5
       energy_2:
         DbLog:
           TIME       1660645203.14565
           VALUE      121419.1
       power_0:
         DbLog:
           TIME       1660645243.36178
           VALUE      51.7
       power_1:
         DbLog:
           TIME       1660645243.36178
           VALUE      110.12
       power_2:
         DbLog:
           TIME       1660645243.36178
           VALUE      29.09
       state:
         DbLog:
           TIME       1660644639.3385
           VALUE      OK
   READINGS:
     2022-07-30 18:40:34   cloud           disabled
     2022-08-16 12:20:03   energy_0        190123.7
     2022-08-16 12:20:03   energy_1        121982.5
     2022-08-16 12:20:03   energy_2        121419.1
     2022-07-30 18:40:34   firmware        v1.11.8
     2022-08-16 12:10:34   network         <html>connected to <a href="http://192.168.33.43">192.168.33.43</a></html>
     2022-07-30 18:41:55   overpower       0
     2022-08-16 12:20:43   power_0         51.7
     2022-08-16 12:20:43   power_1         110.12
     2022-08-16 12:20:43   power_2         29.09
     2022-07-30 18:54:36   relay           on
     2022-08-16 12:03:39   statEnergy_0    Hour: 8.7 Day: 8.7 Month: 8.7 Year: 8.7 (since: 2022-08-16_11:59:38 )
     2022-08-16 12:03:39   statEnergy_0Day 8.7
     2022-08-16 12:03:39   statEnergy_0Hour 8.7
     2022-08-16 11:59:55   statEnergy_0Last Hour: 0.0 Day: - Month: - Year: - (since: 2022-08-16_11:59:38 )
     2022-08-16 12:03:39   statEnergy_0Month 8.7
     2022-08-16 12:03:39   statEnergy_0Year 8.7
     2022-08-16 12:03:59   statEnergy_1    Hour: 0 Day: 0 Month: 0 Year: 0 (since: 2022-08-16_12:03:59 )
     2022-08-16 12:04:19   statEnergy_2    Hour: 0 Day: 0 Month: 0 Year: 0 (since: 2022-08-16_12:04:19 )
     2022-08-16 12:20:43   statStateDay    OK: 00:47:57 OK_Count: 1 (since: 2022-08-16_11:32:46)
     2022-08-16 12:20:43   statStateMonth  OK: 00:47:57 OK_Count: 1 (since: 2022-08-16_11:32:46)
     2022-08-16 12:20:43   statStateYear   OK: 00:47:57 OK_Count: 1 (since: 2022-08-16_11:32:46)
     2022-08-16 12:10:39   state           OK
     2022-08-16 12:20:43   voltage_0       228.83
     2022-08-16 12:20:43   voltage_1       227.11
     2022-08-16 12:20:43   voltage_2       226.46
   helper:
     _98_statistics myStatDevice
Attributes:
   event-on-change-reading .*
   icon       measure_power
   interval   20
   model      shelly3em
   room       Flur




Internals:
   DEF        myShellyEM3
   DEV_REGEXP myShellyEM3
   FUUID      62fb643b-f33f-194f-2bd3-3447dfa3379f9ed5
   NAME       myStatDevice
   NOTIFYDEV  global,myShellyEM3
   NR         611
   NTFY_ORDER 10-myStatDevice
   PREFIX     stat
   STATE      Updated stats for: myShellyEM3
   TYPE       statistics
   Helper:
     DBLOG:
       state:
         DbLog:
           TIME       1660645283.67563
           VALUE      Updated stats for: myShellyEM3
   READINGS:
     2022-08-16 12:10:39   monitoredDevicesShelly myShellyEM3
     2022-08-16 12:10:45   nextPeriodChangeCalc 2022-08-16 12:59:55
     2022-08-16 12:21:23   state           Updated stats for: myShellyEM3
   fhem:
     modulVersion $Date: 2022-07-12 07:25:06 +0200 (Tue, 12 Jul 2022) $
     nextPeriodChangeTime 1660647595
Attributes:
   deltaReadings energy_0|energy_1|energy_2
   room       Plots
   singularReadings myShellyEM3:energy_0:Delta:Hour|myShellyEM3:energy_0:Delta:Day|myShellyEM3:energy_0:Delta:Month|myShellyEM3:energy_0:Delta:Year|myShellyEM3:energy_1:Delta:Hour|myShellyEM3:energy_1:Delta:Day|myShellyEM3:energy_1:Delta:Month|myShellyEM3:energy_1:Delta:Year|myShellyEM3:energy_2:Delta:Hour|myShellyEM3:energy_2:Delta:Day|myShellyEM3:energy_2:Delta:Month|myShellyEM3:energy_2:Delta:Year

FSausF

Zitat von: Ruggy am 16 August 2022, 12:22:15
Habe mir das Statistic Modul mal angesehen und es auch getestet.
Die Shelly3em stellt ja Readings für die drei Phasen zur Verfügung (energy_0, energy_1 und energy_2).
Habe jetzt im Statistik Modul diese drei Readings bei deltareadings eingetragen und auch bei singularReadings
Im Shelly3em Device werden aber nur die Readings (statEnergy_0) im Zusammenhang mit Energy_0 aktualisiert.
Kann ich diese Readings so nicht zusammenfassend eintragen?
Hi Ruggy,
mein Shelly hat zudem weitere Readings:
emeter_total
emeter_total_net
emeter_total_returned

Dazu steht im Attribut "userreadings" (Zeilenumbrüche ggf. wegnehmen, die habe ich hier zur besseren Übersicht eingefügt):
emeter_0_energy_total:emeter_0_energy:.* monotonic {ReadingsNum("$name","emeter_0_energy",0)}, emeter_1_energy_total:emeter_1_energy:.* monotonic {ReadingsNum("$name","emeter_1_energy",0)}, emeter_2_energy_total:emeter_2_energy:.* monotonic {ReadingsNum("$name","emeter_2_energy",0)},
totalpower:(emeter_0_power:.*|emeter_1_power:.*|emeter_2_power:.*) {ReadingsNum("$name","emeter_2_power",0)+ReadingsNum("$name","emeter_1_power",0)+ReadingsNum("$name","emeter_0_power",0)},
emeter_total:(emeter_0_total:.*|emeter_1_total:.*|emeter_2_total:.*) {ReadingsNum("$name","emeter_2_total",0)+ReadingsNum("$name","emeter_1_total",0)+ReadingsNum("$name","emeter_0_total",0)}, emeter_total_returned:(emeter_0_total_returned:.*|emeter_1_total_returned:.*|emeter_2_total_returned:.*) {ReadingsNum("$name","emeter_2_total_returned",0)+ReadingsNum("$name","emeter_1_total_returned",0)+ReadingsNum("$name","emeter_0_total_returned",0)},
emeter_total_net:(emeter_0_total:.*|emeter_1_total:.*|emeter_2_total:.*|emeter_0_total_returned:.*|emeter_1_total_returned:.*|emeter_2_total_returned:.*) {ReadingsNum("$name","emeter_2_total",0)+ReadingsNum("$name","emeter_1_total",0)+ReadingsNum("$name","emeter_0_total",0)-ReadingsNum("$name","emeter_2_total_returned",0)-ReadingsNum("$name","emeter_1_total_returned",0)-ReadingsNum("$name","emeter_0_total_returned",0)}

Wenn Du auf diese Readigns die Statistik machst, müsste das eigentlich wie von Dir gewünscht klappen.
Bei mir tut's das.

Ich hab' dann aber immer noch ein Dummy-Device am Start, um den in HT/NT arbeitenden offiziellen Elektrozähler abzubilden.

Etwas Vorsicht bei den Logs: Der Shelly ballert ein einfaches Filelog gnadenlos zu, da mußt Du, damit Deine SVGs performant bleiben, die zu loggenden Readings / Events stark ausdünnen.
Ich hab' zum Beispiel für die Werte der letzten Tage, Wochen, Monate ein "Yesterlog", in das nur die LAST-Werte der Statistics geloggt werden.
Weiterer Tipp zum SVG: Wenn Du Statistics normal laufen lässt, werden die Werte NACH Mitternacht erhoben. Genau genommen für einen "LAST" Wert richtig. Du willst ihn aber im Graphen nicht am Tag, sondern am Vortag sehen. Also stell' bei den Statistics ein, dass die Statistik 5 Sekunden vor Mitternacht gemacht wird...

Ruggy

@FSausF

Die Readings emeter_total usw. habe ich bei mir nicht. Das mit den "userreadings" habe ich nicht so ganz verstanden.

Deshalb habe ich jetzt in Ruhe nochmal "statistics" angesehen und Fehler gefunden.

Beim folgenden Reading mussten die Readings mit "," getrennt werden
deltaReadings energy_0,energy_1,energy_2

Das andere Reading habe ich etwas zusammengefasst
singularReadings myShellyEM3:energy_0:Delta:(Hour|Day|Month|Year)|myShellyEM3:energy_1:Delta:(Hour|Day|Month|Year)|myShellyEM3:energy_2:Delta:(Hour|Day|Month|Year)

Jetzt werden zumindest die verschiedenen Werte im Device myShellyEM3 angezeigt.


Wie Du bereit geschrieben hast, sind dies viele Werte, welche jetzt ins Log geschrieben werden. Ich weiß auch nicht, ob jetzt durch die zwei genannten Attribute die Werte doppelt erfasst werden oder nur einmal, weil es ja eigentlich die selben Werte wären.
Evlt. könnte ich auch das Attribut singularReadings komplett weg lassen, weil diese Werte ja auch im deltaReadings vorhanden sind?

Das nächste ist, dass ich ja den Gesamtverbrauch von allen drei Phasen zusammen pro Tag, Monat, Jahr haben möchte.
Wie kann ich diese zusammenrechnen und dann z.B. in einen SVG Plot als einen "Wert" anzeigen lassen? Oder auch als Zahl?

Habe ich das Problem bzgl. der "LAST-Werte" trotzdem auch?

Ruggy

Ich denke mein "Problem" mit der Darstellung ist hier wahrscheinlich etwas OffTopic, weil es nichts mit dem Modul 36_Shelly zu tun hat.
Habe hierzu einen anderern Thread eröffnet.