Entwicklungs-Thread Modul 36_Shelly.pm

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

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

Ich linke mich hier auch mal rein.

LG

pah

gamauf

Hallo!

Habe einen Shelly Pro1PM. Seit einem der letzten FW updates liefert dieser als Antwort auf "/rpc/Switch.GetStatus?id=0" unter anderem den Wert "ret_aenergy":
{"id":0, "source":"http", "output":true, "apower":-16.9, "voltage":229.8, "freq":50.0, "current":0.255, "pf":0.03, "aenergy":{"total":349902.891}, "ret_aenergy":{"total":309190.757},"temperature":{"tC":42.3, "tF":108.1}}dies scheint die ins Netzt eingespeiste Energie zu sein im Gegensatz zu "aenergy" das die Summe aus bezogener und eingespeister Energie zu sein scheint.
Falls es leicht geht, würde ich mich freuen, wenn das Modul "ret_aenergy" in einem Reading verewigen könnte!

Danke!
Rainer

Starkstrombastler

Zitat von: gamauf am 30 Juni 2024, 19:37:11Falls es leicht geht, würde ich mich freuen, wenn das Modul "ret_aenergy" in einem Reading verewigen könnte!
Kein Problem, kommt im nächsten Beta.

Zitat von: gamauf am 30 Juni 2024, 19:37:11"ret_aenergy" ... scheint die ins Netzt eingespeiste Energie zu sein im Gegensatz zu "aenergy" das die Summe aus bezogener und eingespeister Energie zu sein scheint.
Kannst du das beobachten, wie verhält sich aenergy im Einspeisebetrieb?
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

gamauf

Danke!

Ja, "aenergy" zählt immer nur hoch, egal ob Verbrauch od. Eispeisung.

Starkstrombastler

Nach langer Ankündiung kommt hier die Beta-2 Version des Shelly-Moduls zum TESTEN.

Wesentliche Änderung ist der Ablauf der Kommunikation mit dem Shelly, d.h. die Abfrage von Status und Konfiguration o.a. erfolgt nicht gleichzeitig bzw. Timer-gesteuert, sondern nacheinander. Dadurch konnten unnötige Wartzeiten entfallen. Dies wird insbesondere bei der Definition von Devices sichtbar.

Neue Geräte wurde aufgenommen und sofern mir ein Gerät zum Testen vorliegt auch bei Bedarf im Code ergänzt.

Einige Readings wurden angepasst/entfernt/ergänzt.

Hier im Forum diskutierte Fehler wurden berücksichtigt.

Bitte beachten: die Online-Hilfe ist ggf. noch nicht überall aktualisiert, im Zweifesfall gilt aber die deutsche Fassung als führend.

Du darfst diesen Dateianhang nicht ansehen.
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

caldir65

Moin,

ich bin erst heute (nach zwei Wochen Abwesenheit wg. Urlaub) dazu gekommen, mit der Beta einen ShellyPus1 und Addon zu testen, da ich nur eine Temperatur, aber keine Luftfeuchte bekomme (vgl. hier) Leider ist es offenbar auch mit der Beta nicht anders. Ich habe auch extra einen weiteren Shelly zum Testen fertig gemacht, der bisher noch nicht mit fhem verbunden war. Anzeige/Daten am Shelly sind vorhanden, in fhem wird jedoch nur die Temperatur angezeigt.

Das Device:define ShellyPlus1_Wetter_TH_TEST Shelly 192.168.1.131
attr ShellyPlus1_Wetter_TH_TEST DbLogExclude .*
attr ShellyPlus1_Wetter_TH_TEST group Shelly
attr ShellyPlus1_Wetter_TH_TEST model shellyplus1
attr ShellyPlus1_Wetter_TH_TEST room Arbeitszimmer
#   CFGFN     
#   DEF        192.168.1.131
#   FUUID      668a7dcd-f33f-378b-7d6f-17cb15ffbb9365cf
#   INTERVAL   60
#   NAME       ShellyPlus1_Wetter_TH_TEST
#   NR         1708
#   NTFY_ORDER 50-ShellyPlus1_Wetter_TH_TEST
#   SHELLYID   shellyplus1-441793cf9254
#   STATE      off
#   TCPIP      192.168.1.131
#   TYPE       Shelly
#   eventCount 10
#   units      0
#   READINGS:
#     2024-07-07 13:36:46   addon           sensor
#     2024-07-07 13:36:46   ap              ShellyPlus1-441793CF9254 enabled open
#     2024-07-07 13:36:46   ap_clients      disabled
#     2024-07-07 13:36:46   ble             enabled
#     2024-07-07 13:36:46   cloud           disabled
#     2024-07-07 13:36:46   firmware        v1.3.3
#     2024-07-07 13:36:45   input           unknown
#     2024-07-07 13:36:46   input_0_function momentary
#     2024-07-07 13:36:46   input_mode      button straight enabled
#     2024-07-07 13:36:45   inttemp         48.3
#     2024-07-07 13:36:45   mac             44:17:93:CF:92:54
#     2024-07-07 13:36:45   model_ID        SNSW-001X16EU
#     2024-07-07 13:36:45   model_family    Plus/Gen2
#     2024-07-07 13:36:45   model_function  switch
#     2024-07-07 13:36:45   model_name      Shelly Plus 1
#     2024-07-07 13:36:46   name            Shelly1Plus_Test
#     2024-07-07 13:36:45   network         <html>connected to <a href="http://192.168.1.131">192.168.1.131</a> (Wifi)</html>
#     2024-07-07 13:36:45   network_rssi    -74
#     2024-07-07 13:36:45   network_ssid    Caldir_MacAran_IoT
#     2024-07-07 13:36:46   network_wifi_roaming -80
#     2024-07-07 13:36:45   relay           off
#     2024-07-07 13:36:45   source          init
#     2024-07-07 13:36:45   state           off
#     2024-07-07 13:36:45   temperature_0   23.2
#     2024-07-07 13:36:45   uptime          29
#     2024-07-07 13:36:46   webhook_cnt     0
#     2024-07-07 13:36:45   webhook_ver     7
#   helper:
#     Sets       config:ap_disable,ap_enable interval password reboot:noArg update:noArg name reset:disconnects,error actions on off toggle on-for-timer off-for-timer input:momentary,toggle,edge,detached,action
#     settings_time 1720352206.45761
#   hmccu:
#
setstate ShellyPlus1_Wetter_TH_TEST off
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:46 addon sensor
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:46 ap ShellyPlus1-441793CF9254 enabled open
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:46 ap_clients disabled
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:46 ble enabled
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:46 cloud disabled
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:46 firmware v1.3.3
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:45 input unknown
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:46 input_0_function momentary
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:46 input_mode button straight enabled
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:45 inttemp 48.3
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:45 mac 44:17:93:CF:92:54
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:45 model_ID SNSW-001X16EU
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:45 model_family Plus/Gen2
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:45 model_function switch
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:45 model_name Shelly Plus 1
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:46 name Shelly1Plus_Test
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:45 network <html>connected to <a href="http://192.168.1.131">192.168.1.131</a> (Wifi)</html>
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:45 network_rssi -74
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:45 network_ssid Caldir_MacAran_IoT
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:46 network_wifi_roaming -80
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:45 relay off
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:45 source init
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:45 state off
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:45 temperature_0 23.2
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:45 uptime 29
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:46 webhook_cnt 0
setstate ShellyPlus1_Wetter_TH_TEST 2024-07-07 13:36:45 webhook_ver 7

Selbstverständlich habe ich nach dem einkopieren der 36_Shelly-Beta auch fhem einmal neu gestartet...

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 07 Juli 2024, 13:44:09ShellyPus1 und Addon zu testen, da ich nur eine Temperatur, aber keine Luftfeuchte bekomme
dann poste doch bitte mal das Ergebnis von  http://<ip-adresse>/rpc/Shelly.GetStatus
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

caldir65

Moin, bitte sehr:
{"ble":{},"cloud":{"connected":false},"humidity:100":{"id": 100,"rh":45.2},"input:0":{"id":0,"state":null},"mqtt":{"connected":false},"switch:0":{"id":0, "source":"init", "output":false,"temperature":{"tC":62.2, "tF":144.0}},"sys":{"mac":"441793CF9254","restart_required":false,"time":"14:18","unixtime":1720441096,"uptime":88922,"ram_size":247068,"ram_free":145148,"fs_size":458752,"fs_free":135168,"cfg_rev":27,"kvs_rev":0,"schedule_rev":0,"webhook_rev":7,"available_updates":{"beta":{"version":"1.4.0-beta1"}},"reset_reason":3},"temperature:100":{"id": 100,"tC":22.8, "tF":73.0},"wifi":{"sta_ip":"192.168.1.131","status":"got ip","ssid":"Caldir_MacAran_IoT","rssi":-70},"ws":{"connected":false}}

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.

Prof. Dr. Peter Henning

#38
Damit ist doch klar, dass die Kiste auch keine Feuchte liefert.
Klar, "humidity" habe ich überlesen...

LG

pah

Starkstrombastler

Zitat von: Prof. Dr. Peter Henning am 09 Juli 2024, 07:51:58Damit ist doch klar, dass die Kiste auch keine Feuchte liefert.
Das Addon liefert Werte entsprechend der angeschlossenen Sensoren. Mit einem DHT22 eben auch Feuchtigkeit, so wie man hier sieht:
Zitat von: caldir65 am 08 Juli 2024, 14:20:55"humidity:100":{"id": 100,"rh":45.2}
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

Starkstrombastler

Mit der angekündigten  Testversion 6.00 Beta-3  werden zusätzlich zur Beta-2 folgende Ergänzungen und Änderungen realisiert:
 
  • Shelly Plus Addon: humidity, input und voltmeter wurden ergänzt
  • Sofern vom Shelly eine Verbindung zu einem anderen Shelly besteht (via range extender) wird ein Reading 'ap_clients_<nr>_model' mit der Modellbezeichnung des verbunden Shelly angelegt
  • die Definition des Shelly-Devices kann jetzt auch mit einem DNS-Namen erfolgen (statt der IPv4-Adresse) Beispiele in der Commandref.
        Die IP-Adresse des Shelly wird im neuen Reading 'network_ip-address' abgelegt.
        Bei den PRO-Devices getrennte Readings für LAN und Wifi
  • Shelly4pro (Gen1): Reading 'timer_<ch> werden unterstützt. Die verbleibenden Zeiten werden dabei interpoliert, weil sie von diesem Shelly nicht ausgegeben werden (fw 1.6.6)
  • Shelly Plus Uni: Name des Reading für analog input wurde geändert
  • Der Befehl 'set ... reset ...' wurde geändert auf 'set ... clear ...'. Damit lassen sich die Zähler für Disconnects, kumulierte Energie oder auch das Reading 'error' zurücksetzen
  • Dimmbare Devices: der Befehl 'set ... pct 0 [channel]' ist erlaubt, es wird der Kanal ausgeschaltet
  • weitere Korrekturen, die hier und da aufpoppen....

Ich bitte um Rückmeldungen, insbesondere auch dann wenn es keine Komplikationen gibt, denn das ist der angestrebte Zustand!

Du darfst diesen Dateianhang nicht ansehen.
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

carlos

Einen Fehler habe ich schon gefunden:
Bei Definition mit IP Adresse bekomme ich bei einem rangeextender die Clients.
Bei Definition mit DNS Name bekomme ich keine Client Namen und kein Client Model.

Gruß

Hubert
FHEM svn auf Intel NUC mit proxmox, 3 Raspberry Pi, signalduino, nanoCUL,  toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

Starkstrombastler

Zitat von: carlos am 21 Juli 2024, 13:58:02Bei Definition mit DNS Name bekomme ich keine Client Namen und kein Client Model.
Hallo Hubert, danke fürs Testen.
Wenn der Shelly mit aktivem Range-Extender (RE) in FHEM mit seinem DNS-Namen definiert ist, dann muss auch der Client-Shelly mit dem DNS-Namen des Range-Extender definiert sein, also
<DNS-Name des RE>:<Port>Der Client wird sich bei DEF mit seiner IPv4-Adresse scheinbar korrekt verhalten, aber nur solange bis sich die IP-Adresse des RE ändert. Und das ist ja der Grund für die Verwendung der DNS-Namen.

Der geschilderte Effekt tritt auch dann auf, wenn der Client des RE garnicht in FHEM definiert ist. Das ist beispielsweise dann der Fall, wenn ein SmartPhone mit dem RE verbunden ist.
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

carlos

Ok, alles klar.
Danke für die Erläuterung.
Ich habe fixe IP Adressen und werde sie dann weiter über die IP Adresse definieren.

Gruß

Hubert
FHEM svn auf Intel NUC mit proxmox, 3 Raspberry Pi, signalduino, nanoCUL,  toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

bjbrill

Moin,
warscheinlich kein Fehler, aber
bei mir spamt die Shelly 0-10V Dimmer den sytemlog voll, wenn er nachts ausgechatet ist.
Hintergrund: Die 0-10V dimmer können nicht komplett abschalten, deshalb muss man dann den Strom abschalten. dadurch enstehen nachts hunderte Fehlermeldungen:

2024.07.24 04:00:15 2: (Shelly_HttpResponse:err) Device myShelly0_10v has Error '192.168.178.49: No route to host (113) :: /rpc/Shelly.GetStatus'
2024.07.24 04:01:15 2: (Shelly_HttpResponse:err) Device myShelly0_10v has Error '192.168.178.49: No route to host (113) :: /rpc/Shelly.GetStatus'
2024.07.24 04:02:15 2: (Shelly_HttpResponse:err) Device myShelly0_10v has Error '192.168.178.49: No route to host (113) :: /rpc/Shelly.GetStatus'
2024.07.24 04:03:15 2: (Shelly_HttpResponse:err) Device myShelly0_10v has Error '192.168.178.49: No route to host (113) :: /rpc/Shelly.GetStatus'
2024.07.24 04:04:15 2: (Shelly_HttpResponse:err) Device myShelly0_10v has Error '192.168.178.49: No route to host (113) :: /rpc/Shelly.GetStatus'
2024.07.24 04:05
Ich unterbinde das jetzt mit
ignoreRegexp
.*Shelly_HttpResponse:err.*

da aber alle user des 0-10V dimmers das Problem haben werden, könnte das vielleicht von vornherein unterdrückt werden. Ansonnten sind mir bis jetzt keine Probleme aufgefallen.

lG Björn
Ubuntu-Server, Dect200, Jeelink, Unifi, ESP32, Alexa, Tasmota, zigbee2mqtt, OpenDTU.