Entwicklungs-Thread Modul 36_Shelly.pm

Begonnen von Starkstrombastler, 24 Februar 2024, 12:15:05

Vorheriges Thema - Nächstes Thema

Starkstrombastler

Nach der Diskussion bezüglich des Verhaltens bei interval==0 hier die versprochene neue Testversion Du darfst diesen Dateianhang nicht ansehen. :

Folgendes Verhalten sollte jetzt sowohl bei aktivem Polling als auch bei deaktiviertem Polling (Intervall via attr oder set auf Null gesetzt) funktionieren:
Bei zeitbasierten Befehlen (on-for-timer, off-for-timer, dim-for-timer, blink, u.a.) holt sich FHEM den Status vom Shelly bei Beginn und nach Ende der Zeitperiode. Bei Dim-Befehlen entsprechend der im Shelly eingestellten Transition-Time zeitverzögert.

Ist das Polling-Interval kürzer als die geschaltete Zeitperiode, wird entsprechend  gepollt und das letzte Polling-Intervall ggf. passend gekürzt, so dass zeitnahe Werte geholt werden.

Wird der Shelly nur via FHEM geschaltet, sollte mit diesem Mechanismus ein langes Polling-Interval ausreichend sein.
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

Charity

Hallo Starkstrombastler,

danke für den Tipp mit der 36_Shelly.pm Testversion.
Damit hat es super geklappt den Shelly 2PM Gen3 einzubinden. Die Readings werde nun anngelegt.

Internals:
   .AttrList  model:generic,shellyplus2pm maxAge ShellyName mode:relay,roller interval timeout  defchannel pct100:open,closed maxtime_close maxtime_open showinputs:show,hide maxpower showunits:none,original,normal,normal2,ISO webhook:WEB,WEBhook verbose:0,1,2,3,4,5 event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading
   CFGFN     
   DEF        192.168.0.120
   FUUID      6783b7f3-f33f-2728-a64d-6496c328f4dde8bc
   INTERVAL   60
   NAME       ShellySwitchKitchen
   NR         1069
   NTFY_ORDER 50-ShellySwitchKitchen
   SHELLYID   shelly2pmg3-8cbfeaa29a40
   STATE      OK
   TYPE       Shelly
   eventCount 12
   units      0
   .attraggr:
   .attrminint:
   OLDREADINGS:
   READINGS:
     2025-01-12 13:39:15   ap              disabled open
     2025-01-12 13:39:15   ap_clients      disabled
     2025-01-12 13:39:15   ap_name         Shelly2PMG3-8CBFEAA29A40
     2025-01-12 13:39:15   auto_off_0      disabled
     2025-01-12 13:39:15   auto_off_1      disabled
     2025-01-12 13:39:15   auto_on_0       disabled
     2025-01-12 13:39:15   auto_on_1       disabled
     2025-01-12 13:39:15   ble             disabled
     2025-01-12 13:39:15   ble_obs         -
     2025-01-12 13:39:15   ble_rpc         -
     2025-01-12 13:39:15   cloud           enabled(connected)
     2025-01-12 13:39:15   current_0       0
     2025-01-12 13:39:15   current_1       0
     2025-01-12 13:39:15   energy_0        277.954
     2025-01-12 13:39:15   energy_1        104.628
     2025-01-12 13:39:15   energy_purchased_0 277.954
     2025-01-12 13:39:15   energy_purchased_1 104.628
     2025-01-12 13:39:15   energy_returned_0 0
     2025-01-12 13:39:15   energy_returned_1 0
     2025-01-12 13:39:15   firmware_ID     20240731-123728/1.4.99-2pmg3prod0-ge3db05c
     2025-01-12 13:39:15   firmware_current v1.4.99-2pmg3prod0
     2025-01-12 13:40:15   firmware_updIcon OK
     2025-01-12 13:40:15   firmware_updText -/-
     2025-01-12 13:39:15   frequency_0     50
     2025-01-12 13:39:15   frequency_1     50
     2025-01-12 13:39:15   input_0         on
     2025-01-12 13:39:15   input_0_function flip
     2025-01-12 13:39:15   input_0_mode    switch straight enabled
     2025-01-12 13:39:15   input_1         on
     2025-01-12 13:39:15   input_1_mode    switch straight enabled
     2025-01-12 13:40:15   inttemp         45.4
     2025-01-12 13:39:15   mac             8C:BF:EA:A2:9A:40
     2025-01-12 13:39:15   model_ID        S3SW-002P16EU
     2025-01-12 13:39:15   model_family    Gen3
     2025-01-12 13:39:15   model_function  switch
     2025-01-12 13:39:15   model_name      Shelly 2PM Gen3
     2025-01-12 13:39:15   network         <html>connected to <a href="http://192.168.0.120">192.168.0.120</a> (Wifi)</html>
     2025-01-12 13:39:15   network_DNS     shelly2pmg3-8cbfeaa29a40.GT550BrainWorxs.net
     2025-01-12 13:39:15   network_connection online
     2025-01-12 13:39:15   network_ip-address 192.168.0.120
     2025-01-12 13:40:15   network_rssi    -55
     2025-01-12 13:39:15   network_ssid    GT550WLAN25
     2025-01-12 13:39:15   network_wifi_roaming -80
     2025-01-12 13:39:15   pfactor_0       0
     2025-01-12 13:39:15   pfactor_1       0
     2025-01-12 13:39:15   power_0         0
     2025-01-12 13:39:15   power_1         0
     2025-01-12 13:39:15   protection_0    none
     2025-01-12 13:39:15   protection_1    none
     2025-01-12 13:39:15   relay_0         off
     2025-01-12 13:39:15   relay_1         off
     2025-01-12 13:39:27   scripts         0
     2025-01-12 13:39:15   source_0        SHC
     2025-01-12 13:39:15   source_1        SHC
     2025-01-12 13:39:15   state           OK
     2025-01-12 13:40:15   uptime          172211
     2025-01-12 13:39:15   voltage_0       231.9
     2025-01-12 13:39:15   voltage_1       232
     2025-01-12 13:39:15   webhook_cnt     0 / 0 / 0
     2025-01-12 13:39:15   webhook_ver     0
   helper:
     Sets       config:ap_disable,ap_enable interval password reboot:noArg update:noArg name reset:noArg clear:disconnects,error,energy,responsetimes actions on off toggle on-for-timer off-for-timer ON:noArg OFF:noArg xtrachannels:noArg
     StatusCall 0
     range_extender disabled
     settings_time 1736685555.88638
     timer      0
Attributes:
   mode       relay
   model      shellyplus2pm
   room       Shelly

Leider werden die einzelnen Kanäle zum schalten nicht angelegt.
Die Energy und power Werte werden allerdings nur aktualisiert, wenn über den Ein/Aus ( da werden beide Kanäle eingeschalten ) in Fhem aktualisiert.
Sobald ich den Lichtschalter (Unterputz) oder die Shelly App oder Alexa zum schalten verwende, bekommt Fhem die Energywerte nicht mehr mit.
Mit der Testversion ist das leider auch mit den Shelly Plug S MTR passiert. Die zeigen jetzt auch keine Werte mehr an.

Ich hab mich auch schon mit dem Attribut "interval" gespielt. Das hilft leider nicht.
Gibt es da eine andere Lösung?

Starkstrombastler

Zitat von: Charity am 14 Januar 2025, 16:34:14Leider werden die einzelnen Kanäle zum schalten nicht angelegt.
Meinst du damit, dass
set ... readingsProxy nicht funktioniert?
Zitat von: Charity am 14 Januar 2025, 16:34:14Sobald ich den Lichtschalter (Unterputz) oder die Shelly App oder Alexa zum schalten verwende, bekommt Fhem die Energywerte nicht mehr mit.
Du hast keine Actions definiert. Du kannst die Actions automatisch anlegen lassen:
set ... actions create all
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

Starkstrombastler

Hier die überarbeitete Version 6.02 Beta3 des Moduls Du darfst diesen Dateianhang nicht ansehen. , welche zunächst zum Testen zur Verfügung gestellt wird.

Folgende Punkte sind darin gefixt bzw. ergänzt:
  • Energy-Readings beim ShellyPlusRGBWpm
  • Befehl set ... clear energy bei ShellyPMMini devices
  • Set-Befehle für ShellyProDual: Bei den Befehlen muss der Kanal (also 0 oder 1) als zusätzlicher Parameter mit übergeben werden    z.B. set myRollo pct 44 1
  • Set-Befehle für Zieltemperatur und Einstellungen beim ShellyWallDisplay
  • Das Attribut host_ip für Systeme, die  "hostname --all-ip-addresses" nicht unterstützen
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

Charity

Hi,
wollte mal kurz einen Status zur Beta 3 geben.

Mit dieser Version funktioniert nun ( zumindest in den ersten 10 min nach einspielen ) nun auch mein Shelly 2PM Gen3. Der bis dahin nicht mitbekommen hat, wenn er über einen anderen Weg - Alexa, Shelly App, eingeschalten wurde.
Alle Shelly liefern wieder einwandfrei Daten.

Danke

Mr. Flash

Hallo Starkstrombastler,

vielen Dank für Deine beta3, damit kommen von meinem Shelly Pro EM-50 endlich auch sinnvolle Werte für Power etc. an.

Eine Frage: welche Werte werden für den "state" verarbeitet?
Es sieht so aus, als würde hier sowohl der Status des Gerätes ("OK") als auch der Zustand des Relais ("on", "off") ausgegeben werden.
Ist das Relais aus, wechselt der "state" zwischen "OK" und "off", ist es an, zwischen "OK" und "on".
Eigentlich reicht es doch, wenn das Relais über das Reading "relay" seinen Zustand meldet.


2025-01-19_18:53:40 shellyproem50.01 OK
2025-01-19_18:54:07 shellyproem50.01 uptime: 7956635
2025-01-19_18:54:07 shellyproem50.01 off
2025-01-19_18:54:41 shellyproem50.01 Active_Power_A:   1.5
2025-01-19_18:54:41 shellyproem50.01 Voltage_A: 229.0
2025-01-19_18:54:41 shellyproem50.01 PowerReactive_A:  4.3
2025-01-19_18:54:41 shellyproem50.01 OK
2025-01-19_18:55:07 shellyproem50.01 uptime: 7956695
2025-01-19_18:55:07 shellyproem50.01 relay: on
2025-01-19_18:55:07 shellyproem50.01 source: WS_in
2025-01-19_18:55:07 shellyproem50.01 on
2025-01-19_18:55:41 shellyproem50.01 Active_Power_A:   1.3
2025-01-19_18:55:41 shellyproem50.01 Voltage_A: 228.4
2025-01-19_18:55:41 shellyproem50.01 PowerReactive_A:  4.4
2025-01-19_18:55:41 shellyproem50.01 OK
2025-01-19_18:56:07 shellyproem50.01 uptime: 7956755
2025-01-19_18:56:07 shellyproem50.01 relay: off
2025-01-19_18:56:07 shellyproem50.01 off
2025-01-19_18:56:07 shellyproem50.01 inttemp: 46.7
2025-01-19_18:56:41 shellyproem50.01 Active_Power_A:   1.0
2025-01-19_18:56:41 shellyproem50.01 Voltage_A: 228.0
2025-01-19_18:56:41 shellyproem50.01 PowerReactive_A:  4.5
2025-01-19_18:56:41 shellyproem50.01 OK
2025-01-19_18:57:07 shellyproem50.01 uptime: 7956815
2025-01-19_18:57:07 shellyproem50.01 off
2025-01-19_18:57:42 shellyproem50.01 Voltage_A: 226.7
2025-01-19_18:57:42 shellyproem50.01 OK
2025-01-19_18:58:08 shellyproem50.01 uptime: 7956875
2025-01-19_18:58:08 shellyproem50.01 off
2025-01-19_18:58:08 shellyproem50.01 inttemp: 46.6

Danke für Deine Arbeit!
RPi 4; Bullseye; FHEM 6.3; S.USV basic; BME280; TSL25911.
HM: CFG-LAN,CFG-USB-2,CC-RT-DN,Dis-(EP-)WM55,ES-PMSw1-Pl,ES-TX-WM,LC-Dim1T-FM,LC-Sw1-FM,LC-Sw2-FM,MOD-RPI-PCB,OU-CFM-Pl,RC-Dis-H-x-EU,SCI-3-FM,Sec-MDIR-2,-RHS,-SD,-SC-2,-SCo,-Sir-WM,-TiS,-WDS-2,TC-IT-WM-W-EU,WDS10-TH-O,WDS30-OT2-SM.
Shelly's.

Starkstrombastler

Zitat von: Mr. Flash am 20 Januar 2025, 20:39:51Ist das Relais aus, wechselt der "state" zwischen "OK" und "off", ist es an, zwischen "OK" und "on".
Vielen Dank für die Rückmeldung - das konnte ich selbst nicht bemerken, weil ich keinen ShellyEM50 zur Verfügung habe.
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200