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: tobi01001 am 05 November 2023, 15:55:43Die Fehlermeldung liest sich als wäre das Modul auf der "alten" Version und/oder das Attrribut "model" noch auf ein "1st Gen Plug" gesetzt.
Neue Shellies werden am zuverlässigsten als neues Device angelegt, d.h.: define <name> Shelly <ip-adr>  Nach ca. 30 Sekunden können dann die Attribute gesetzt werden. Das Attribut model wird im Gegensatz zur älteren Modulversion automatisch ermittelt und sollte in diesem Fall shellyplusplug lauten.

Alternativ sollte auch  get <name> model   helfen.

Die aktuelle Modulversion 5.04 ist über reguläres Update verfügbar.
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

Starkstrombastler

Zitat von: Nobbynews am 04 November 2023, 09:44:12ich habe hier immer mal wieder folgende Meldung im Log stehen:
Sollte mit dem morgigen Update behoben sein.
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

pcbastler

Zitat von: Starkstrombastler am 05 November 2023, 18:51:53
Zitat von: tobi01001 am 05 November 2023, 15:55:43Die Fehlermeldung liest sich als wäre das Modul auf der "alten" Version und/oder das Attrribut "model" noch auf ein "1st Gen Plug" gesetzt.
Neue Shellies werden am zuverlässigsten als neues Device angelegt, d.h.: define <name> Shelly <ip-adr>  Nach ca. 30 Sekunden können dann die Attribute gesetzt werden. Das Attribut model wird im Gegensatz zur älteren Modulversion automatisch ermittelt und sollte in diesem Fall shellyplusplug lauten.

Alternativ sollte auch  get <name> model   helfen.

Die aktuelle Modulversion 5.04 ist über reguläres Update verfügbar.
Update hat geholfen :) Vielen Dank!

x86

Hi Starkstrombastler,

das Modul läuft bei mir auch auf dem alten Pi jetzt gut und ohne Verzögerungen oder nennenswert höhere CPU-Last. Super, danke!

Allerdings habe ich einen neuen Effekt festgestellt: das neue Modul hat ja ein neues Attribut, "ShellyName", eingeführt, das ja scheinbar den in der Shelly-GUI vergebenen Namen enthalten soll und automatisch ausgelesen wird. Jetzt habe ich leider den Effekt, dass es beim Neustart von FHEM (z.B. nach einem Update) regelmäßig passiert (aber zufällig), dass bei einem oder mehreren meiner 5 Shellys plötzlich das "ShellyName" mit dem Wert seines FHEM-Namens überschrieben wird statt des Shelly-Namens.

Abgesehen davon, dass mir der Sinn dieses Attributs nicht ganz klar ist, frage ich mich: könnte man die Logik nicht dahingehend erweitern, dass nur dann versucht wird, den ShellyName auszulesen und als Attribut zu setzen, wenn das Attribut ShellyName nicht bereits besteht?

Meine Vermutung ist nämlich, dass es hin und wieder passiert, dass einer der Shellys gerade mal für ein paar Sekunden aus dem WLAN geflogen ist (passiert bei dem am weitesten entfernten hin und wieder) und wenn das genau bei FHEM-Neustart der Fall ist, wird der ShellyName auf einmal geändert - vom richtigen "sprechenden" Shelly-Namen zum FHEM-Namen.

Nicht, dass das ein großartiger Beinbruch wäre, aber es führt dazu, dass sich die fhem.cfg bei Neustarts regelmäßig "ungewollt" ändert (ich mache regelmäßig Backups der cfg und wenn sich dabei die Dateigröße ändert, ohne dass ich selbst Änderungen vorgenommen habe, werde ich immer erstmal hellhörig.. ;).

Vielleicht könnte man eine entsprechende Logik wie oben vorgeschlagen einbauen, oder aber das ShellyName-Attribut abschaltbar machen?

Danke schonmal und viele Grüße,
Fabian
FHEM auf Raspberry Pi 1 Model B
SIGNALduino (CC1101), 6 IT-Steckdosen/Fernbedienungen, 4 433-MHz-Temperatursensoren, 6 tuya-Bulbs, 5 Shelly 2.5 Rolladenaktoren, 1 Comet DECT Heizungsaktor, tasmota IR, SamsungAV, HomeConnect, Google Assistant, FTUI, Wetter- und Fahrplandaten = 220 defines

Prof. Dr. Peter Henning

ZitatDie Berechnungen sollten meiner Meinung nach am Gerät selbst so Hardwarenahe wie möglich erfolgen und das am besten jede Sekunde. Da die Shellys seit Version 0.9.0 über eine Script-Komponente verfügen, ist der naheliegendste Schritt dies darüber zu implementieren. Habe die Shelly-Script-Features überflogen und alle Funktionen sind hierfür gegeben. Somit entfällt das Polling von 3 Sekunden. Selbst die Einstellungen (Script-Handling) im Shelly-Gerät könnten über FHEM erfolgen und gepflegt werden.

Das ist, pardon, ziemlicher Unsinn (und da ich seit 16 Jahren eine PV-Anlage betreibe, weiß ich hoffentlich, was ich sage).

Erstens hat inzwischen jeder einigermaßen brauchbare Wechselrichter eine Möglichkeit zur Abfrage diverser Daten. Das ist heute sogar viel besser gelöst, als noch bei meinem alten NT5000 - für den musste ich ein eigenes FHEM-Modul schreiben, siehe contrib-Ordner. Und bevor ich FHEM kannte, habe ich das sogar über einen Mikro-Webserver abgefragt.

Zweitens ist die Energiemessung in den meisten Shelly-Devices, vorsichtig gesagt, ziemlich ungenau (wenn es sich nicht um ein dezidiertes Modul zum Messen der Wirkleistung handelt...). Damit auch noch Berechnungen irgendeiner Art zu machen, ist nicht sehr erfolgversprechend.

Drittens: Was um Himmels Willen sollte man mit einer Energiemessung im Sekundentakt anfangen? Für so etwas interessiert sich kein rational denkender Mensch. Gerade bei PV-Anlagen kann es zu sehr kurzfristigen Schwankungen der erzeugten Leistung kommen.

LG

pah

Starkstrombastler

Zitat von: Prof. Dr. Peter Henning am 07 November 2023, 15:45:28Was um Himmels Willen sollte man mit einer Energiemessung im Sekundentakt anfangen?
Wir reden hier über den ShellyPro3EM Dreiphasen-Leistungs- und Energiezähler im Einsatz als "SmartMeter" in der Zuleitung hinter dem Zähler des Netzbetreibers.

Der ShellyPro3EM verfügt leider über keine phasenübergreifende Saldierung. Solange das nicht in der Firmware vorhanden ist, kann man versuchen das mittels Fhem oder (besser) mittels Script zu realisieren. Dazu muss die bezogene und eingespeiste Leistung in kurzen Intervallen vom Shelly über alle drei Phasen hinweg integriert werden. Im Ergebnis erhält man getrennte Werte für die bezogene und die eingespeiste Energie, was dann (hoffentlich) einigermaßen mit dem "amtlichen" Zähler übereinstimmt. Der Shelly stellt keine derartigen Werte zur Verfügung und die schlichte Addition der Werte der einzelnen Phasen führt zu abweichenden Werten, wenn gleichzeitig eingespeist und auf einer anderen Phase bezogen wird.
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

JoWiemann

Hallo Starkstrombastler,

in der aktuellen Version des Moduls hast Du in Zeile 4662 ein Logging mit verbose 3 hinterlegt, dass mir sekündlich das Log ergänzt. Ich halte das für echt übertrieben. Aus meiner Sicht gehört hier ein Verbose 5 oder mindesten 3 hin.

Grüße Jörg

       Log3 $hash->{NAME},3,"$reading: maxAge=$MaxAge ReadingsAge="
                        .ReadingsAge($hash->{NAME},$reading,0)." new value=$value vs old="
                        .ReadingsVal($hash->{NAME},$reading,"")
                        #.($changed?":: $changed":"  ::-0-")
                        ;
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

betateilchen

Zitat von: JoWiemann am 08 November 2023, 08:34:18hier ein Verbose 5 oder mindesten 3 hin.

Wohl eher 5 oder 4.
Denn 3 ist es ja schon  8)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

JoWiemann

Zitat von: betateilchen am 08 November 2023, 08:48:25
Zitat von: JoWiemann am 08 November 2023, 08:34:18hier ein Verbose 5 oder mindesten 3 hin.

Wohl eher 5 oder 4.
Denn 3 ist es ja schon  8)

Krumme Finger. Gemeint war 4.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

grappa24

moin zusammen,

bin gestern erst auf das Modul 36_Shelly.pm gestoßen, weil meine neuen ShellyPlusPlugS mangels template nicht mehr (so richtig) mit MQTT funktionieren.

Ich frag mich jetzt ob ich meine 6 Stück Shelly1, Shelly1L, ShellyPlugS nicht auch von MQTT auf 36_Shelly.pm umstellen soll oder doch für die neuen MQTT templates entwickeln/suchen soll (gibt ja einen entspr. thread).

Die Frage gehört hier nicht her, aber vlt. könnt ihr mir doch paar Anregungen Pro und Contra geben.

Danke, Dieter

FHEM 6.1, 2 x RasPi 3B+, Debian Buster; KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200
Rollo-/Lichtsteuerung/-szenarien, T-Sensoren, Fensterkontakte, Heizungssteuerung, HEOS, Sprachsteuerung mit Alexa-FHEM, Netatmo, Nuki, ...

betateilchen

Grundsätzlich binde ich alle meine Shelly nur per mqtt ein.

Da muss man nicht auf die Umsetzung und Anpassung in einem speziellen Modul warten, denn mqtt kann man jederzeit als Anwender auch selbst und ohne bereitgestelltes template so einrichten, wie man es gerne hätte. (Ich habe noch nie irgendein template verwendet, das ist mir viel zu suspekt.)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

caldir65

Moin,

kann es sein, daß die neue Version irgendwo in Sachen set- oder toggle-Steuerung umgestrickt wurde? Seit dem letzten Update Anfang Nov. (vorher hatte ich die 36_shelly.pm vom Update ausgenommen) kann ich Shellys nur noch über die WebUI von fhem schalten, jedoch nicht mehr über FUIP (s.a. in diesem Thread)

Bekomme statt dessen nur
2023.11.10 10:51:11.661 1: [Shelly_Set] Error: wrong channel 'on' for device ShellyPlugS_Buero_3dPrinter, must be <integer>
2023.11.10 10:51:13.360 1: [Shelly_Set] Error: wrong channel 'off' for device ShellyPlugS_Buero_3dPrinter, must be <integer>
wenn ich mittels FIUP zu schalten versuche ...

Gruß, Christoph
Alte Techniker-Regel: "kaum macht man es richtig, funktioniert es auch"
------
Dell Wyse5070 ThinClient 16GBRam, 64GB SSD, Lubuntu 22.04LTS, fhem (aktuell), debmatic, Homematic-Devs, ConBee II und deConz, viele Shellys, Rademacher, NextCloud-Anbindung, FullyKioskBrowser+FUIP uvm.

Starkstrombastler

Zitat von: caldir65 am 10 November 2023, 10:59:41kann es sein, daß die neue Version irgendwo in Sachen set- oder toggle-Steuerung umgestrickt wurde?
Ja, das stimmt.
Welchen Befehl sendet denn FUIP?
Bitte den Schaltvorgang mit verbose=5 loggen und hier posten.
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

Starkstrombastler

Hallo grappa24,
Zitat von: grappa24 am 08 November 2023, 09:48:35Ich frag mich jetzt ob ich meine 6 Stück Shelly1, Shelly1L, ShellyPlugS nicht auch von MQTT auf 36_Shelly.pm umstellen soll oder doch für die neuen MQTT templates entwickeln/suchen soll (gibt ja einen entspr. thread).
So ähnlich haben bisher nur Einsteiger gefragt, ohne MQTT Erfahrung. Für diese sollte sich das Shelly-Modul zunächst als die einfachere Variante darstellen.
Ansonsten könntest du es einfach mal auf einen Versuch ankommen lassen und das Shelly-Modul ausprobieren. Mir ist nicht bekannt, dass das nicht parallel zu MQTT gehen sollte. 
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

Starkstrombastler

Hallo x86,
Zitat von: x86 am 06 November 2023, 16:58:12Allerdings habe ich einen neuen Effekt festgestellt: das neue Modul hat ja ein neues Attribut, "ShellyName", eingeführt, das ja scheinbar den in der Shelly-GUI vergebenen Namen enthalten soll und automatisch ausgelesen wird. Jetzt habe ich leider den Effekt, dass es beim Neustart von FHEM (z.B. nach einem Update) regelmäßig passiert (aber zufällig), dass bei einem oder mehreren meiner 5 Shellys plötzlich das "ShellyName" mit dem Wert seines FHEM-Namens überschrieben wird statt des Shelly-Namens.
Es ist wahrscheinlich ausreichend, den im Shelly eingetragenen Namen als Reading anzuzeigen. Das werde ich in einer der nächsten Versionen vereinfachen.
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200