Support-Thread Modul 36_Shelly.pm

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

Vorheriges Thema - Nächstes Thema

Starkstrombastler

Zitat von: RalfRog am 01 November 2024, 11:31:07Beim 3EM hat es beim Übergang auf die 1.12 eine Änderung im internen Langzeitspeicher gegeben.
Ja, OK, also doch. Ich hab' das aber nicht mitbekommen, weil ich keinen 3EM im Einsatz habe.
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

Nobbynews

Zitat von: Starkstrombastler am 01 November 2024, 09:33:04Es ist für mich als Entwickler unmöglich alle möglichen Konstellationen für das Testen bereit zu halten. Ich halte dafür einige Shellies absichtlich mit veralteter Firmware vor, um so etwas beim Testen zu erkennen, aber eben keinen mit v.1.12
Kann ich mehr als nachvollziehen.
Nur leider würfte es für die Gen1 Teile irgendwann keine Updates mehr geben.

Nobbynews

Zitat von: Starkstrombastler am 01 November 2024, 09:33:04Ja, die Ursache ist lokalisiert und wird behoben.
Ich habe meine Shellys jetzt mal bis auf den einen aktualisiert.
Nach dem heutigen Update ist das warning aber leider noch immer vorhanden.

Norbert

RalfRog

Zitat von: Starkstrombastler am 01 November 2024, 14:07:35Ja, OK, also doch. Ich hab' das aber nicht mitbekommen, weil ich keinen 3EM im Einsatz habe.

In dem Fall aber für das Modul auch nicht relevant  ;)
War mir in der Einbauphase aufgefallen, weil der 3EM noch nicht in FHEM angebunden war und ich mir die Verbrauchswerte aus den internen Listen geholt habe - nach Update auf 1.12 waren die einzelnen Phasen dann auf einmal weg  >:(
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

Nobbynews

#1024
Hallo Starkstrombastler,

mir ist heute in der aktuellen Version des Moduls noch etwas aufgefallen.

Bei der Neudefinition eines Shelly habe ich versehentlich folgendes geschrieben:
dfine Pumpe Shelly 192.168 2.242Die IP ist also fehlerhaft.
Das Modul regiert mit:
2024.11.04 14:59:47 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/36_Shelly.pm line 3282.
2024.11.04 14:59:47 1: stacktrace:
2024.11.04 14:59:47 1:     main::__ANON__                      called by ./FHEM/36_Shelly.pm (3282)
2024.11.04 14:59:47 1:     main::Shelly_status                 called by ./FHEM/36_Shelly.pm (2907)
2024.11.04 14:59:47 1:     main::Shelly_Set                    called by ./FHEM/36_Shelly.pm (843)
2024.11.04 14:59:47 1:     main::Shelly_Define                 called by fhem.pl (3985)
2024.11.04 14:59:47 1:     main::CallFn                        called by fhem.pl (2162)
2024.11.04 14:59:47 1:     main::CommandDefine                 called by fhem.pl (1282)
2024.11.04 14:59:47 1:     main::AnalyzeCommand                called by fhem.pl (1133)
2024.11.04 14:59:47 1:     main::AnalyzeCommandChain           called by ./FHEM/01_FHEMWEB.pm (2870)
2024.11.04 14:59:47 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (1031)
2024.11.04 14:59:47 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (610)
2024.11.04 14:59:47 1:     main::FW_Read                       called by fhem.pl (3985)
2024.11.04 14:59:47 1:     main::CallFn                        called by fhem.pl (786)
2024.11.04 14:59:47 1: PERL WARNING: Use of uninitialized value in numeric gt (>) at ./FHEM/36_Shelly.pm line 3289.
2024.11.04 14:59:47 1: stacktrace:
2024.11.04 14:59:47 1:     main::__ANON__                      called by ./FHEM/36_Shelly.pm (3289)
2024.11.04 14:59:47 1:     main::Shelly_status                 called by ./FHEM/36_Shelly.pm (2907)
2024.11.04 14:59:47 1:     main::Shelly_Set                    called by ./FHEM/36_Shelly.pm (843)
2024.11.04 14:59:47 1:     main::Shelly_Define                 called by fhem.pl (3985)
2024.11.04 14:59:47 1:     main::CallFn                        called by fhem.pl (2162)
2024.11.04 14:59:47 1:     main::CommandDefine                 called by fhem.pl (1282)
2024.11.04 14:59:47 1:     main::AnalyzeCommand                called by fhem.pl (1133)
2024.11.04 14:59:47 1:     main::AnalyzeCommandChain           called by ./FHEM/01_FHEMWEB.pm (2870)
2024.11.04 14:59:47 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (1031)
2024.11.04 14:59:47 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (610)
2024.11.04 14:59:47 1:     main::FW_Read                       called by fhem.pl (3985)
2024.11.04 14:59:47 1:     main::CallFn                        called by fhem.pl (786)
2024.11.04 14:59:47 1: PERL WARNING: Use of uninitialized value $timer in numeric le (<=) at ./FHEM/36_Shelly.pm line 3305.
2024.11.04 14:59:47 1: stacktrace:
2024.11.04 14:59:47 1:     main::__ANON__                      called by ./FHEM/36_Shelly.pm (3305)
2024.11.04 14:59:47 1:     main::Shelly_status                 called by ./FHEM/36_Shelly.pm (2907)
2024.11.04 14:59:47 1:     main::Shelly_Set                    called by ./FHEM/36_Shelly.pm (843)
2024.11.04 14:59:47 1:     main::Shelly_Define                 called by fhem.pl (3985)
2024.11.04 14:59:47 1:     main::CallFn                        called by fhem.pl (2162)
2024.11.04 14:59:47 1:     main::CommandDefine                 called by fhem.pl (1282)
2024.11.04 14:59:47 1:     main::AnalyzeCommand                called by fhem.pl (1133)
2024.11.04 14:59:47 1:     main::AnalyzeCommandChain           called by ./FHEM/01_FHEMWEB.pm (2870)
2024.11.04 14:59:47 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (1031)
2024.11.04 14:59:47 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (610)
2024.11.04 14:59:47 1:     main::FW_Read                       called by fhem.pl (3985)
2024.11.04 14:59:47 1:     main::CallFn                        called by fhem.pl (786)
2024.11.04 14:59:47 1: PERL WARNING: Use of uninitialized value $timer in concatenation (.) or string at ./FHEM/36_Shelly.pm line 3308.
2024.11.04 14:59:47 1: stacktrace:
2024.11.04 14:59:47 1:     main::__ANON__                      called by ./FHEM/36_Shelly.pm (3308)
2024.11.04 14:59:47 1:     main::Shelly_status                 called by ./FHEM/36_Shelly.pm (2907)
2024.11.04 14:59:47 1:     main::Shelly_Set                    called by ./FHEM/36_Shelly.pm (843)
2024.11.04 14:59:47 1:     main::Shelly_Define                 called by fhem.pl (3985)
2024.11.04 14:59:47 1:     main::CallFn                        called by fhem.pl (2162)
2024.11.04 14:59:47 1:     main::CommandDefine                 called by fhem.pl (1282)
2024.11.04 14:59:47 1:     main::AnalyzeCommand                called by fhem.pl (1133)
2024.11.04 14:59:47 1:     main::AnalyzeCommandChain           called by ./FHEM/01_FHEMWEB.pm (2870)
2024.11.04 14:59:47 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (1031)
2024.11.04 14:59:47 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (610)
2024.11.04 14:59:47 1:     main::FW_Read                       called by fhem.pl (3985)
2024.11.04 14:59:47 1:     main::CallFn                        called by fhem.pl (786)
2024.11.04 14:59:47 1: PERL WARNING: Use of uninitialized value $timer in numeric gt (>) at ./FHEM/36_Shelly.pm line 3320.
2024.11.04 14:59:47 1: stacktrace:
2024.11.04 14:59:47 1:     main::__ANON__                      called by ./FHEM/36_Shelly.pm (3320)
2024.11.04 14:59:47 1:     main::Shelly_status                 called by ./FHEM/36_Shelly.pm (2907)
2024.11.04 14:59:47 1:     main::Shelly_Set                    called by ./FHEM/36_Shelly.pm (843)
2024.11.04 14:59:47 1:     main::Shelly_Define                 called by fhem.pl (3985)
2024.11.04 14:59:47 1:     main::CallFn                        called by fhem.pl (2162)
2024.11.04 14:59:47 1:     main::CommandDefine                 called by fhem.pl (1282)
2024.11.04 14:59:47 1:     main::AnalyzeCommand                called by fhem.pl (1133)
2024.11.04 14:59:47 1:     main::AnalyzeCommandChain           called by ./FHEM/01_FHEMWEB.pm (2870)
2024.11.04 14:59:47 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (1031)
2024.11.04 14:59:47 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (610)
2024.11.04 14:59:47 1:     main::FW_Read                       called by fhem.pl (3985)
2024.11.04 14:59:47 1:     main::CallFn                        called by fhem.pl (786)
2024.11.04 14:59:47 1: define Pumpe Shelly 192.168 2.242: [Shelly_Define] Pumpe: invalid IP address / DNS name / MAC address192.168 of Shelly
2024.11.04 14:59:47 2: (Shelly_HttpResponse:err) Device Pumpe has Error 'DNS: Cant find host :: /status', state is set to 'Error'
2024.11.04 14:59:48 1: perform a browser refresh of WEB 
Durch den refresh des Browsers sind Korrekturen erst einmal nicht mehr möglich, da auch jedesmal die Kommandezeile zurückgesetzt wird.
Das Logfile wird mit diesen warnings geflutet.

Norbert

TheDestroyer

Zitat von: Starkstrombastler am 31 Oktober 2024, 19:34:35
Zitat von: TheDestroyer am 31 Oktober 2024, 15:56:13In den Aktionen vom Shelly sind tatsächlich Leerzeichen anstatt %20 eingetragen.
Wenn ich die Leerzeichen durch %20 ersetze funktioniert wieder alles. Die %20 bleiben auch bis zum nächsten Neustart von Fhem eingetragen.
Bei dem Hin- und Her zwischen Fhem, dem Shelly und dem Browser hat jedes System seine eigene Methode für die Behandlung von %20 bzw. Leerzeichen.
Im Shelly-Modul war das auch so, zur besseren Lesbarkeit wurde für die Anzeige get actions die %20 durch Leerzeichen ersetzt.
Mit der aktuellen Version des Moduls ist das geändert, die %20 werden durch Blank-Symbole (so ähnlich wie ein Unterstrich) dargestellt (aber nur bei get actions).

Nach meiner Erkenntnis verhält sich die Shelly-Firmware unterschiedlich, je nachdem ob eine Action neu angelegt oder ob sie geändert wird. In der aktuellen Version des Moduls wird daher bei ÄNDERUNG anstatt von %20 ein Plus-Zeichen + in den String eingetragen. Das scheint einigermaßen robust zu sein.

Wird denn die Action auf dem Shelly überhaupt bei Neustart von Fhem verändert? Sollte nämlich gar nicht sein, da der von dir vergebene Name nicht mit Unterstrich anfängt/aufhört.
  • Ist Fhem, speziell das Shelly-Modul, aktuell?
  • Ändert sich der Wert von webhook_ver beim Neustart?
  • Stelle mal den Verbose Level des Devices für den Neustart auf 3 oder 4
  • Ersetze mal versuchsweise die %20 auf dem Shelly durch Pluszeichen

Tatsächlich fangen meine Actions mit _ an.
Habe es zuerst ohne Probiert, ging nicht. Automatisch wurde auch nichts angelegt. Also habe ich vor meinen Actions den _ geschrieben. Danach wurde die URL endlich aktualisiert, der Token war drin, aber die Leerzeichen falsch, weshalb das ganze wieder nicht funktioniert hat.

Hatte beides extra aktualisiert bevor ich den Beitrag schreibe, damit dies ausgeschlossen werden kann.

Habe jetzt trotzdem nochmals ein Update von Fhem gemacht und einen Neustart. Geht immer noch nicht.
Habe dann Vorbose auf 4 gestellt und wieder einen Neustart gemacht. Jetzt geht es auf einmal und im Log steht auch richtig drin.
Vorbose wieder rausgenommen und noch einen Neustart. Geht immer noch, auch im Log passt alles, da macht er auch sauber das + rein.
Auch im Shelly ist es jetzt richtig mit dem + dazwischen eingetragen.

Warum es jetzt auf einmal geht kann ich mir nicht erklären, hab eigentlich nichts anders gemacht.

Trotzdem vielen Dank für deine schnelle Antwort und den super Support!  :D

Nobbynews

Guten Morgen,

nach dem gestrigen Update auf die Version36_Shelly.pm 29334 2024-11-06 13:58:48Z
kommt bei mir auf dem Testsystem nach dem Schalten eines Shelly Plug regelmäßig im Abstand vom eingestellten Intervall folgendes Warning:
2024.11.08 05:37:27 1: PERL WARNING: Use of uninitialized value $value in concatenation (.) or string at fhem.pl line 5177.
2024.11.08 05:37:27 1: stacktrace:
2024.11.08 05:37:27 1:     main::__ANON__                      called by fhem.pl (5177)
2024.11.08 05:37:27 1:     main::readingsBulkUpdate            called by ./FHEM/36_Shelly.pm (6798)
2024.11.08 05:37:27 1:     main::readingsBulkUpdateMonitored   called by ./FHEM/36_Shelly.pm (3673)
2024.11.08 05:37:27 1:     main::Shelly_status1G               called by ./FHEM/36_Shelly.pm (6992)
2024.11.08 05:37:27 1:     main::Shelly_HttpResponse           called by FHEM/HttpUtils.pm (755)
2024.11.08 05:37:27 1:     main::__ANON__                      called by fhem.pl (783)

Das Einschalten erfolgte um setstate Shelly8 2024-11-08 05:32:27 state on und Interval steht aufattr Shelly8 interval 300
Nach dem Abschalten um setstate Shelly8 2024-11-08 06:40:33 state off wird state passend zum Intervall neu gesetztsetstate Shelly8 2024-11-08 06:42:27 state off und es werden schön regelmäßig Warnings im Abstand von interval in das Log-File geschrieben.

Hier noch das List vom Shelly:
define Shelly8 Shelly 192.168.2.237
attr Shelly8 alias Entfeuchter
attr Shelly8 event-aggregator power:150:linear:mean:180
attr Shelly8 interval 300
attr Shelly8 model shellyplug
attr Shelly8 showunits none
attr Shelly8 userReadings energyTotal:energy.* monotonic { ReadingsVal($name,"energy",0)/1000 }
#   DEF        192.168.2.237
#   FUUID      653f2855-f33f-c8c9-1cfb-a19997e32a756774
#   FVERSION   36_Shelly.pm:v6.1.5-s29334/2024-11-06
#   INTERVAL   300
#   NAME       Shelly8
#   NR         42
#   NTFY_ORDER 50-Shelly8
#   STATE      on
#   TYPE       Shelly
#   eventCount 229
#   units      0
#   READINGS:
#     2024-11-04 14:37:39   ap              disabled open
#     2024-11-01 07:36:26   ap_name         shellyplug-6CC2AC
#     2024-08-15 08:59:42   auto_off        0 - disabled
#     2024-08-15 08:59:42   auto_on         0 - disabled
#     2023-10-30 04:51:59   cloud           disabled
#     2023-11-12 12:54:40   coiot           enabled
#     2023-11-17 10:14:47   coiot_period    65535
#     2024-11-08 06:27:27   energy          40896.9
#     2024-11-08 06:27:27   energyTotal     196.973400000014
#     2023-10-30 04:51:59   firmware        v1.14.0
#     2024-11-01 07:36:26   firmware_current v1.14.0
#     2024-11-01 07:36:26   firmware_updIcon OK
#     2024-11-01 07:36:26   firmware_updText -/-
#     2024-08-15 08:59:42   login           open
#     2024-09-22 06:29:46   network         <html>connected to <a href="http://192.168.2.237">192.168.2.237</a></html>
#     2024-11-01 07:36:26   network_connection online
#     2024-09-09 06:50:08   network_disconnects 23
#     2024-11-01 07:36:26   network_ip-address 192.168.2.237
#     2024-11-08 06:27:27   network_rssi    -63
#     2024-11-01 07:36:26   network_ssid    XYZ
#     2023-11-12 12:54:40   network_threshold -75
#     2024-08-15 08:59:42   network_wifi_roaming -75
#     2024-11-01 07:36:26   overpower       0
#     2024-11-08 05:32:27   relay           on
#     2024-11-01 07:36:26   source          http
#     2024-11-08 05:32:27   state           on
#     2024-11-01 07:36:26   timer           0
#     2024-08-15 08:59:42   update_status   unknown
#     2024-11-08 06:27:27   uptime          5259827 sec, last reboot at 2024-09-08 10:23:40
#     2024-11-04 14:37:39   webhook_cnt     0 / 0 / 0
#     2024-11-03 19:54:15   webhook_ver     0
#     power:
#       TIME       2024-11-08 06:27:27
#       VAL       
#   helper:
#     Sets       config interval password reboot:noArg update:noArg name reset:noArg clear:disconnects,error,responsetimes actions on off toggle on-for-timer off-for-timer
#     StatusCall 0
#     settings_time 1731043647.58158
#     timer      0
#
setstate Shelly8 on
setstate Shelly8 2024-11-04 14:37:39 ap disabled open
setstate Shelly8 2024-11-01 07:36:26 ap_name shellyplug-6CC2AC
setstate Shelly8 2024-08-15 08:59:42 auto_off 0 - disabled
setstate Shelly8 2024-08-15 08:59:42 auto_on 0 - disabled
setstate Shelly8 2023-10-30 04:51:59 cloud disabled
setstate Shelly8 2023-11-12 12:54:40 coiot enabled
setstate Shelly8 2023-11-17 10:14:47 coiot_period 65535
setstate Shelly8 2024-11-08 06:27:27 energy 40896.9
setstate Shelly8 2024-11-08 06:27:27 energyTotal 196.973400000014
setstate Shelly8 2023-10-30 04:51:59 firmware v1.14.0
setstate Shelly8 2024-11-01 07:36:26 firmware_current v1.14.0
setstate Shelly8 2024-11-01 07:36:26 firmware_updIcon OK
setstate Shelly8 2024-11-01 07:36:26 firmware_updText -/-
setstate Shelly8 2024-08-15 08:59:42 login open
setstate Shelly8 2024-09-22 06:29:46 network <html>connected to <a href="http://192.168.2.237">192.168.2.237</a></html>
setstate Shelly8 2024-11-01 07:36:26 network_connection online
setstate Shelly8 2024-09-09 06:50:08 network_disconnects 23
setstate Shelly8 2024-11-01 07:36:26 network_ip-address 192.168.2.237
setstate Shelly8 2024-11-08 06:27:27 network_rssi -63
setstate Shelly8 2024-11-01 07:36:26 network_ssid XYZ
setstate Shelly8 2023-11-12 12:54:40 network_threshold -75
setstate Shelly8 2024-08-15 08:59:42 network_wifi_roaming -75
setstate Shelly8 2024-11-01 07:36:26 overpower 0
setstate Shelly8 2024-11-08 06:27:27 power 0
setstate Shelly8 2024-11-08 05:32:27 relay on
setstate Shelly8 2024-11-01 07:36:26 source http
setstate Shelly8 2024-11-08 05:32:27 state on
setstate Shelly8 2024-11-01 07:36:26 timer 0
setstate Shelly8 2024-08-15 08:59:42 update_status unknown
setstate Shelly8 2024-11-08 06:27:27 uptime 5259827 sec, last reboot at 2024-09-08 10:23:40
setstate Shelly8 2024-11-04 14:37:39 webhook_cnt 0 / 0 / 0
setstate Shelly8 2024-11-03 19:54:15 webhook_ver 0


Starkstrombastler

Zitat von: Nobbynews am 08 November 2024, 06:57:32nach dem gestrigen Update auf die Version
kommt bei mir auf dem Testsystem nach dem Schalten eines Shelly Plug regelmäßig im Abstand vom eingestellten Intervall folgendes Warning:
Das Reading 'power' ist zerschossen/enthält keinen Wert. Undefinierte Werte beim Setzen des Readings sollten allerdings vom Modul abgefangen werden - der Fehler ist daher erstmal nicht nachvollziehbar.

Probier mal folgende Maßnahmen:
  • deletereading ... power
  • den Shelly neustarten oder stromlos machen
  • Fhem neustarten

Wenn das alles nicht hilft:
Was liefert (im Browser) http://ip-des-shelly/status ?
Das Log des Devices für den Zeitraum des Schaltvorganges mit verbose=5
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

Nobbynews

Zitat von: Starkstrombastler am 08 November 2024, 13:33:55Das Reading 'power' ist zerschossen/enthält keinen Wert. Undefinierte Werte beim Setzen des Readings sollten allerdings vom Modul abgefangen werden - der Fehler ist daher erstmal nicht nachvollziehbar.
Danke für den Hinweis. Das fehlende reading hatte ich noch nicht registriert.
Aber der Hinweis war gut.
Ich habe jetzt mal getestet und als "Verursacher" festgestellt:
attr Shelly8 event-aggregator power:150:linear:mean:180in Kombination mit attr Shelly8 interval <interval>Für interval > 150 kommt es zu den warnings.
Bei interval < 150 funktoniert es nach meinen bisherigen Feststellungen ohne Probleme.

mcfly71

#1029
Hallo Gemeinde,

da ich viel mit Shellys arbeite, freue ich mich, dass dieses Modul weiter betreut wird. Ich habe aber (sagen wir wahrscheinlich) noch einen
Fehler entdeckt ?!
Ich besitze u.a. mehrere Shellies 'Shelly Plus 1'. Die werden erkannt, funktionieren usw. Jeoch mach ich einmal einen on-for-timer darauf, und der
geht normal zuende, dann

1) kann ich den Shelly nicht mehr per normalem 'on' anmachen, jedesaml mit der Fehlermeldung bad timer
2) Solange ich nicht explizit nochmal ein 'set xxxx off' mache, geht unendlich lange (trotz intervall=0) die Meldungen über den Bildschirm:

2024-11-11 07:41:12 Shelly KLIMAANLAGE_BESUCHER2 network_rssi: -73
2024-11-11 07:41:12 Shelly KLIMAANLAGE_BESUCHER2 uptime: 833082
2024-11-11 07:41:12 Shelly KLIMAANLAGE_BESUCHER2 inttemp: 25.7
2024-11-11 07:41:33 Shelly KLIMAANLAGE_BESUCHER2 network_rssi: -75
2024-11-11 07:41:33 Shelly KLIMAANLAGE_BESUCHER2 uptime: 833103
2024-11-11 07:41:33 Shelly KLIMAANLAGE_BESUCHER2 inttemp: 25.8
2024-11-11 07:41:54 Shelly KLIMAANLAGE_BESUCHER2 uptime: 833124
2024-11-11 07:41:54 Shelly KLIMAANLAGE_BESUCHER2 inttemp: 25.6
2024-11-11 07:42:16 Shelly KLIMAANLAGE_BESUCHER2 network_rssi: -74
2024-11-11 07:42:16 Shelly KLIMAANLAGE_BESUCHER2 uptime: 833145
2024-11-11 07:42:16 Shelly KLIMAANLAGE_BESUCHER2 inttemp: 25.9
2024-11-11 07:42:37 Shelly KLIMAANLAGE_BESUCHER2 network_rssi: -78
2024-11-11 07:42:37 Shelly KLIMAANLAGE_BESUCHER2 uptime: 833167
2024-11-11 07:42:37 Shelly KLIMAANLAGE_BESUCHER2 inttemp: 26.2

Wenn ich explizit 'off' mache, ist es vorbei, und ein simples 'set xxx on' funktioniert dann auch wieder

Kann sich jemand vorstellen, woran das liegt ?

Zusatz:
Habe nun verbose auf 5 gesetzt. Bei dem 'on' Befehl nach einem abgelaufenen 'on-for-timer' Befehl kam folgende Ausgabe:

2024.11.11 09:42:41 4: [Shelly_Set] calling for device KLIMAANLAGE_BESUCHER2 with command 'on', no parameters
2024.11.11 09:42:41 4: [Shelly_Set] KLIMAANLAGE_BESUCHER2 channel is 0 and subs =<
2024.11.11 09:42:41 4: [Shelly_Set] KLIMAANLAGE_BESUCHER2  'timer': adding remaining timer '&timer=-13' to command on
2024.11.11 09:42:41 4: [Shelly_Set] switching channel 0 for device KLIMAANLAGE_BESUCHER2 with command ?turn=on&timer=-13, FF=0

MINUS!! 13 ist wohl nicht gewollt ?!

P.S.
Meine on-for-timer Funktion ist mit Parameter 1 aufgerufen.

EDIT:
Ich habe 2 Änderungen im 36_Shelly.pm durchgeführt, sodaß es soweit für meine Belange funktioniert. Jedoch weiß ich nicht, ob es andere negative Auswirkungen hat.
Vielleicht kann sich dies mal ein Developer anschauen ?!

Zeile 2503 ff
  if( $oldtimer > 0 && $cmd !~ /off/ ){
         $oldtimer -= ReadingsAge( $name, $tmr, 0 );   #ReadingsAge( $name, "timer", 0 ) );
$oldtimer= "" if ( $oldtimer < 0 ); ######### MCFLY MCFLY
         $oldtimer = "&timer=$oldtimer";
         $msg .= "adding remaining timer \'$oldtimer\' to command $cmd";
  }else{

Zeile 3320 ff
  }else{
      $hash->{helper}{timer} = 0 if ( $hash->{helper}{timer} > 0 ); ############### MCFLY MCFLY
      Log3 $name,4,"[Shelly_status:D] $name: next status call scheduled in $timer seconds";
  }

VG
mcfly
- HMLAN / Raspberry auf hmmode
- Homematic

Nobbynews

#1030
Zitat von: Starkstrombastler am 08 November 2024, 13:33:55Das Log des Devices für den Zeitraum des Schaltvorganges mit verbose=5
Das Log mit verbose=5 bin ich noch schuldig.

Einschalten um: 14:19:59
Ausschalten um: 14:35:17

Event-aggregator:
attr Shelly8 event-aggregator power:150:linear:mean:180
Die Log-Datei habe ich mal angehängt.

Edit:
attr Shelly8 interval 180

Starkstrombastler

Zitat von: mcfly71 am 11 November 2024, 07:44:31Ich besitze u.a. mehrere Shellies 'Shelly Plus 1'. Die werden erkannt, funktionieren usw. Jeoch mach ich einmal einen on-for-timer darauf, und der
geht normal zuende, dann

1) kann ich den Shelly nicht mehr per normalem 'on' anmachen, jedesaml mit der Fehlermeldung bad timer
2) Solange ich nicht explizit nochmal ein 'set xxxx off' mache, geht unendlich lange (trotz intervall=0) die Meldungen über den Bildschirm:
Vielen Dank für die ausführliche Analyse.

Es ist in der Tat so, dass in der aktuellen Version bei Interval 0 der temporäre Timer für das Interval weiterbenutzt wird und dementsprechend aktualisiert wurde. Das wird mit der nächsten Version gefixt.

Auch das Auftreten einer negativen Vorgabe für den Timer wird bereinigt. Sollte aber tatsächlich eine negative Zeitvorgabe an den Shelly übermittelt werden, wird dies vom Shelly mit einer Fehlermeldung quittiert, die dann im Logfile und im Device im Reading error erscheint. Dies war aber wohl doch nicht passiert.
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

mcfly71

#1032
Hallo Starkstrombastler,

ZitatEs ist in der Tat so, dass in der aktuellen Version bei Interval 0 der temporäre Timer für das Interval weiterbenutzt wird und dementsprechend aktualisiert wurde. Das wird mit der nächsten Version gefixt.

Auch das Auftreten einer negativen Vorgabe für den Timer wird bereinigt. Sollte aber tatsächlich eine negative Zeitvorgabe an den Shelly übermittelt werden, wird dies vom Shelly mit einer Fehlermeldung quittiert, die dann im Logfile und im Device im Reading error erscheint. Dies war aber wohl doch nicht passiert.

1) Also dieses "ewige" Update passierte auch mit einem Interval = x mit x <> 0
2) Ich habe nie! negative Werte per 'on-for-timer' uebergeben. Die wurden irgendwann im Code selbstständig berechnet

Ich probiere mal die neue Version aus..

... So habe nun die neue Version ausprobiert. Beide Phänomene sind leider noch da. Ich schreibe nochmal auf, was die Phänomene sind,
vielleicht war das verwirrend vorher...

Ich benutze diesen Shelly als eine Art Taster deshalb benutze ich Ihn meist mit on-for-timer 5

Hat man ihn so eingeschaltet, dann funktioniert an sich der Vorgang korrekt, nach 5 sek geht er wieder aus.
Aber danach gilt:
1) Im Abstand von 5 Sekunden laufen Events unendlich lange (zu sehen beim Eventmonitor)
2) Ein einfacher Befehl 'set xxx on' klappt nicht mehr und erzeugt den Fehler 'bad timer'

-> Es funktioniert erst alles wieder richtig wenn man im AUS-Zustand des shellies nochmals 'set xxx off' macht. Die Events hören auf
und ein simples 'on' funktioniert auch wieder.

Diese beiden Dinge funktionieren mit meiner Modifikation (siehe oben) ebenfalls, aber ich weiß nicht, ob es woanders Auswirkungen hat.


Danke schön jedenfalls für deine Mühen

VG
mcfly
- HMLAN / Raspberry auf hmmode
- Homematic

GerhardJ

#1033
Hallo zusammen,

ich habe hier einen ShellyDimmer2, der sich nicht wirklich 'einbinden' lässt.
2024.11.13 17:00:19 1: [Shelly_get_model] Device szDimmer has Error 'relaxed decoding: invalid JSON data, try to call /shelly', state is set to 'Error: JSON'
2024.11.13 17:00:19 1: [Shelly_get_model] standard decoding: has invalid JSON data for device szDimmer
2024.11.13 17:00:19 1: [Shelly_get_model] Device szDimmer has Error 'relaxed decoding: invalid JSON data, try to call /shelly', state is set to 'Error: JSON'
2024.11.13 17:00:19 1: [Shelly_get_model] Device szDimmer has Error 'aborted: cannot get model for device 'schlafzi.Dimmer'', state is set to 'Error'
2024.11.13 17:00:19 1: [Shelly_get_model] Device szDimmer has Error 'aborted: cannot get model for device 'schlafzi.Dimmer'', state is set to 'Error'
2024.11.13 17:00:22 1: [Shelly_webhook] Device szDimmer has Error 'invalid JSON data', state is set to 'Error: JSON'
2024.11.13 17:00:33 1: [Shelly_status] Device szDimmer has Error 'invalid JSON data', state is set to 'Error: JSON'
2024.11.13 17:00:39 1: [Shelly_status] Device szDimmer has Error 'invalid JSON data', state is set to 'Error: JSON'
Hat eventuell jemand eine Idee, wie man das störrische Biest zur Mitarbeit bewegen kann.
Updates (FHEM und Dimmer-FW) habe ich gestern durchgeführt.
Für jeden Hinweis wäre ich dankbar.
Grüße
 Gerhard

Starkstrombastler

Zitat von: mcfly71 am 13 November 2024, 08:55:45Ich probiere mal die neue Version aus..
Vielleicht hätte ich schreiben sollen, "die nächste neue Version..."
Und da bin ich noch dran, um auch das Problem mit dem event-aggregator zu lösen.

Ich denke aber, dass sich das Problem mit einem Update-Interval größer Null vermeiden lässt, z.B. attr <name> interval 36000


Zitat von: GerhardJ am 13 November 2024, 17:18:10ich habe hier einen ShellyDimmer2, der sich nicht wirklich 'einbinden' lässt.
Dann bitte mal das Log mit verbose=5 für einen kurzen Zeitraum und dem Befehl get <name> model hier posten.
Alternativ die Ausgaben, wenn du im Browser <ip-addr>/shelly und <ip-addr>/settings eingibst
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200