Neueste Beiträge

#1
MQTT / Aw: mqtt2.template: bugs, Frag...
Letzter Beitrag von Motivierte linke Hände - 19 Mai 2026, 15:25:47
Danke, das hat geholfen. Ich habe es nun so zurecht gebastelt, dass es funktioniert. Vermutlich ist das viel zu länglich und zu kompliziert, aber es geht immerhin. Deswegen hinterlasse ich das mal hier, falls das irgendwann nochmal wer anders gebrauchen kann:

name:zigbee2mqtt_sonoff_hydro_one
desc:Sonoff Hydro One Wasserventil mit Durchflussmesser
filter:TYPE=MQTT2_DEVICE:FILTER=CID~zigbee.*
order:L_05f4
par:BASE_TOPIC;base topic set in configuration.yaml of the zigbee2mqtt bridge;{ AttrVal("DEVICE","devicetopic",AttrVal("DEVICE","readingList","")) =~ m,[\b]?([^/:]+)[/].+, ? $1 : undef }
par:DEV_ID;name of the device in the zigbee2mqtt bridge;{ AttrVal("DEVICE","devicetopic",AttrVal("DEVICE","readingList","")) =~ m,[^/]+[/]([^/:]+).*, ? $1 : undef }
par:ICON;ICON as set, defaults to sani_water_tap;{ AttrVal("DEVICE","icon","sani_water_tap") }
attr DEVICE icon ICON
attr DEVICE devStateIcon on:sani_water_tap@blue:off off:sani_water_tap@red:on
attr DEVICE webCmd on:off
attr DEVICE devicetopic BASE_TOPIC/DEV_ID
attr DEVICE jsonMap irrigation_mode:manual_default_settings_irrigation_mode\
  manual_default_settings_irrigation_duration:irrigation_duration\
  manual_default_settings_irrigation_amount:irrigation_amount\
  manual_default_settings_irrigation_amount_unit:irrigation_amount_unit\
  manual_default_settings_fail_safe:irrigation_fail_safe\
  valve_alarm_settings_enable_alarm_water_leak:alarm_water_leak\
  valve_alarm_settings_alarm_water_leak_duration:alarm_water_leak_duration\
  valve_alarm_settings_enable_alarm_water_shortage:alarm_water_shortage\
  valve_alarm_settings_alarm_water_shortage_duration:alarm_water_shortage_duration\
  valve_alarm_settings_enable_water_shortage_auto_close:alarm_water_shortage_autoclose
attr DEVICE readingList $\DEVICETOPIC:.* { my $ret = json2nameValue($EVENT, undef, $JSONMAP); $ret->{state} = lc($ret->{state}) if defined $ret->{state}; return $ret; }
attr DEVICE setList \
  on:noArg $\DEVICETOPIC/set {"state":"ON"} \
  off:noArg $\DEVICETOPIC/set {"state":"OFF"} \
  child_lock:lock,unlock $\DEVICETOPIC/set {"child_lock":uc("$EVTPART1")} \
irrigation_mode:duration,capacity { my $dur = ReadingsVal($NAME,"irrigation_duration",0); my $unit = ReadingsVal($NAME,"irrigation_amount_unit","liter"); my $amt = ReadingsVal($NAME,"irrigation_amount",0); my $fs = ReadingsVal($NAME,"irrigation_fail_safe",90); return "$\DEVICETOPIC/set {\"manual_default_settings\":{\"irrigation_duration\":$dur,\"irrigation_mode\":\"$EVTPART1\",\"irrigation_amount_unit\":\"$unit\",\"irrigation_amount\":$amt,\"fail_safe\":$fs}}"; } \
  irrigation_duration:slider,0,1,719 { my $mode = ReadingsVal($NAME,"manual_default_settings_irrigation_mode","duration"); my $unit = ReadingsVal($NAME,"irrigation_amount_unit","liter"); my $amt = ReadingsVal($NAME,"irrigation_amount",0); my $fs = ReadingsVal($NAME,"irrigation_fail_safe",90); return "$\DEVICETOPIC/set {\"manual_default_settings\":{\"irrigation_duration\":$EVTPART1,\"irrigation_mode\":\"$mode\",\"irrigation_amount_unit\":\"$unit\",\"irrigation_amount\":$amt,\"fail_safe\":$fs}}"; } \
  irrigation_amount:slider,0,1,10000 { my $dur = ReadingsVal($NAME,"irrigation_duration",0); my $mode = ReadingsVal($NAME,"manual_default_settings_irrigation_mode","duration"); my $unit = ReadingsVal($NAME,"irrigation_amount_unit","liter"); my $fs = ReadingsVal($NAME,"irrigation_fail_safe",90); return "$\DEVICETOPIC/set {\"manual_default_settings\":{\"irrigation_duration\":$dur,\"irrigation_mode\":\"$mode\",\"irrigation_amount_unit\":\"$unit\",\"irrigation_amount\":$EVTPART1,\"fail_safe\":$fs}}"; } \
  irrigation_amount_unit:liter,US_gallon { my $dur = ReadingsVal($NAME,"irrigation_duration",0); my $mode = ReadingsVal($NAME,"manual_default_settings_irrigation_mode","duration"); my $amt = ReadingsVal($NAME,"irrigation_amount",0); my $fs = ReadingsVal($NAME,"irrigation_fail_safe",90); return "$\DEVICETOPIC/set {\"manual_default_settings\":{\"irrigation_duration\":$dur,\"irrigation_mode\":\"$mode\",\"irrigation_amount_unit\":\"$EVTPART1\",\"irrigation_amount\":$amt,\"fail_safe\":$fs}}"; } \
  irrigation_fail_safe:slider,0,1,719 { my $dur = ReadingsVal($NAME,"irrigation_duration",0); my $mode = ReadingsVal($NAME,"manual_default_settings_irrigation_mode","duration"); my $unit = ReadingsVal($NAME,"irrigation_amount_unit","liter"); my $amt = ReadingsVal($NAME,"irrigation_amount",0); return "$\DEVICETOPIC/set {\"manual_default_settings\":{\"irrigation_duration\":$dur,\"irrigation_mode\":\"$mode\",\"irrigation_amount_unit\":\"$unit\",\"irrigation_amount\":$amt,\"fail_safe\":$EVTPART1}}"; } \
  alarm_water_leak:true,false { my $sh_en = ReadingsVal($NAME,"alarm_water_shortage","true"); my $ac_en = ReadingsVal($NAME,"alarm_water_shortage_autoclose","true"); my $sh_dur = ReadingsVal($NAME,"alarm_water_shortage_duration",5); my $lk_dur = ReadingsVal($NAME,"alarm_water_leak_duration",2); return "$\DEVICETOPIC/set {\"valve_alarm_settings\":{\"enable_alarm_water_leak\":$EVTPART1,\"enable_alarm_water_shortage\":$sh_en,\"enable_water_shortage_auto_close\":$ac_en,\"alarm_water_shortage_duration\":$sh_dur,\"alarm_water_leak_duration\":$lk_dur}}"; } \
  alarm_water_leak_duration:slider,1,1,3 { my $lk_en = ReadingsVal($NAME,"alarm_water_leak","true"); my $sh_en = ReadingsVal($NAME,"alarm_water_shortage","true"); my $ac_en = ReadingsVal($NAME,"alarm_water_shortage_autoclose","true"); my $sh_dur = ReadingsVal($NAME,"alarm_water_shortage_duration",5); return "$\DEVICETOPIC/set {\"valve_alarm_settings\":{\"enable_alarm_water_leak\":$lk_en,\"alarm_water_leak_duration\":$EVTPART1,\"enable_alarm_water_shortage\":$sh_en,\"enable_water_shortage_auto_close\":$ac_en,\"alarm_water_shortage_duration\":$sh_dur}}"; } \
  alarm_water_shortage:true,false { my $lk_en = ReadingsVal($NAME,"alarm_water_leak","true"); my $ac_en = ReadingsVal($NAME,"alarm_water_shortage_autoclose","true"); my $sh_dur = ReadingsVal($NAME,"alarm_water_shortage_duration",5); my $lk_dur = ReadingsVal($NAME,"alarm_water_leak_duration",2); return "$\DEVICETOPIC/set {\"valve_alarm_settings\":{\"enable_alarm_water_leak\":$lk_en,\"enable_alarm_water_shortage\":$EVTPART1,\"enable_water_shortage_auto_close\":$ac_en,\"alarm_water_shortage_duration\":$sh_dur,\"alarm_water_leak_duration\":$lk_dur}}"; } \
  alarm_water_shortage_duration:slider,1,1,10 { my $lk_en = ReadingsVal($NAME,"alarm_water_leak","true"); my $sh_en = ReadingsVal($NAME,"alarm_water_shortage","true"); my $ac_en = ReadingsVal($NAME,"alarm_water_shortage_autoclose","true"); my $lk_dur = ReadingsVal($NAME,"alarm_water_leak_duration",2); return "$\DEVICETOPIC/set {\"valve_alarm_settings\":{\"enable_alarm_water_leak\":$lk_en,\"enable_alarm_water_shortage\":$sh_en,\"enable_water_shortage_auto_close\":$ac_en,\"alarm_water_shortage_duration\":$EVTPART1,\"alarm_water_leak_duration\":$lk_dur}}"; } \
  alarm_water_shortage_auto_close:true,false { my $lk_en = ReadingsVal($NAME,"alarm_water_leak","true"); my $sh_en = ReadingsVal($NAME,"alarm_water_shortage","true"); my $sh_dur = ReadingsVal($NAME,"alarm_water_shortage_duration",5); my $lk_dur = ReadingsVal($NAME,"alarm_water_leak_duration",2); return "$\DEVICETOPIC/set {\"valve_alarm_settings\":{\"enable_alarm_water_leak\":$lk_en,\"enable_alarm_water_shortage\":$sh_en,\"enable_water_shortage_auto_close\":$EVTPART1,\"alarm_water_shortage_duration\":$sh_dur,\"alarm_water_leak_duration\":$lk_dur}}"; }
attr DEVICE model zigbee2mqtt_sonoff_hydro_one
setreading DEVICE attrTemplateVersion 20260510_24

(Profile etc. brauche ich nicht im Gerät, das ist bei mir für den Zoo an Geräten, von denen die meisten das nicht intern können, direkt in FHEM abgebildet.)

Danke nochmal für den Schubser!
#2
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von peterboeckmann - 19 Mai 2026, 15:22:19
Zitat von: DS_Starter am 19 Mai 2026, 15:11:02@Peter, bitte nochmal aus dem contrib ziehen, sollte nun passen.

LG,
Heiko

Ja, sieht bei mir auch gut aus.  :)

Viele Grüße,
Peter
#3
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von DS_Starter - 19 Mai 2026, 15:11:02
@Peter, bitte nochmal aus dem contrib ziehen, sollte nun passen.

LG,
Heiko
#4
Sonstige Systeme / Aw: Entwicklungs-Thread Modul ...
Letzter Beitrag von JoWiemann - 19 Mai 2026, 14:57:25
Hallo,

da mein Shelly Zoo wächst möchte ich gerne den 'Shelly Flood Gen 4' zur Überwachung meiner Wasser gebundenen Geräte einsetzen. Zum Testen habe ich mir einen bestellt, wohl wissend, dass diese Model sehr wahrscheinlich vom Modul noch nicht unterstützt wird. Anbei daher die im ersten Post angeforderten Informationen, verbunden mit der Bitte dieses Model in das Modul zu implementieren. Vielen Dank.

Gerne bin ich bereit zu Testen.

Herzliche Grüße

Jörg

GetStatus{"ble":{},"cloud":{"connected":false},"devicepower:0":{"id": 0,"battery":{"V":6.34, "percent":100}},"flood:0":{"id": 0,"alarm":null,"mute":false,"errors": ["cable_unplugged"]},"matter":{"num_fabrics":0,"commissionable":false},"mqtt":{"connected":false},"sys":{"mac":"D885ACE6FA18","restart_required":false,"time":null,"unixtime":null,"last_sync_ts":null,"uptime":2,"ram_size":306836,"ram_free":169848,"ram_min_free":163424,"fs_size":917504,"fs_free":557056,"cfg_rev":9,"kvs_rev":0,"webhook_rev":0,"available_updates":{},"wakeup_reason":{"boot":"deepsleep_wake","cause":"button"},"wakeup_period":43200,"reset_reason":8,"utc_offset":7200},"wifi":{"sta_ip":"192.168.0.207","status":"got ip","ssid":"7270FamWieFritz266","bssid":"e0:08:55:c4:41:77","rssi":-58,"sta_ip6":null},"ws":{"connected":false},"zigbee":{"network_state":"disabled"}}

GetConfig{"ble":{"enable":false,"rpc":{"enable":true}},"cloud":{"enable":true,"server":"shelly-233-eu.shelly.cloud:6022/jrpc"},"devicepower:0":{},"flood:0":{"id":0,"name":null,"alarm_mode":"normal","report_holdoff":0},"matter":{"enable":true},"mqtt":{"enable":false,"server":null,"client_id":"shellyfloodg4-d885ace6fa18","user":null,"ssl_ca":null,"topic_prefix":"shellyfloodg4-d885ace6fa18","rpc_ntf":true,"status_ntf":false,"use_client_cert":false,"enable_rpc":true,"enable_control":true},"sys":{"device":{"name":null,"mac":"D885ACE6FA18","fw_id":"20260211-153201/gefb9927","discoverable":true,"eco_mode":false,"tls_check_cert_validity_time":true,"enhanced_security":false},"location":{"tz":"Europe/Berlin","lat":50.931800,"lon":6.931200},"debug":{"level":2,"file_level":null,"mqtt":{"enable":false},"websocket":{"enable":false},"file_log":{"enable":false},"udp":{"addr":null}},"ui_data":{},"rpc_udp":{"dst_addr":null,"listen_port":null},"sntp":{"server":"time.cloudflare.com"},"cfg_rev":9},"wifi":{"ap":{"ssid":"ShellyFloodG4-D885ACE6FA18","is_open":true, "enable":false},"sta":{"ssid":"7270FamWieFritz266","is_open":false, "enable":true, "ipv4mode":"dhcp","ip":null,"netmask":null,"gw":null,"nameserver":null},"sta1":{"ssid":null,"is_open":true, "enable":false, "ipv4mode":"dhcp","ip":null,"netmask":null,"gw":null,"nameserver":null},"roam":{"rssi_thr":-80,"interval":60}},"ws":{"enable":false,"server":null,"ssl_ca":"ca.pem"},"zigbee":{"enable":false}}

GetDeviceInfo{"name":null,"id":"shellyfloodg4-d885ace6fa18","mac":"D885ACE6FA18","slot":0,"model":"S4SN-0071A","gen":4,"fw_id":"20260211-153201/gefb9927","ver":"1.8.99-floodsg4prod0","app":"FloodSensorG4","auth_en":false,"auth_domain":null,"matter":true,"enhanced_security":false}
#5
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von DS_Starter - 19 Mai 2026, 14:02:00
Hallo Peter,

da wirst du leider recht haben ... ich schaue weiter.

LG,
Heiko
#6
FHEM Code changes / Revision 31247: 76_SolarForeca...
Letzter Beitrag von System - 19 Mai 2026, 13:50:25
Revision 31247: 76_SolarForecast: contrib Version 2.6.10

76_SolarForecast: contrib Version 2.6.10

Source: Revision 31247: 76_SolarForecast: contrib Version 2.6.10
#7
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von peterboeckmann - 19 Mai 2026, 13:28:09
Hallo Heiko,

Zitat von: DS_Starter am 19 Mai 2026, 13:12:32Als weiteren Punkt habe ich die Thematik Batterieprognose - durch Peter in #6156 gepostet - wahrscheinlich gelöst.

ich fürchte nicht.

Oder muss ich noch irgendwas anpassen?
Ich hab die v aus dem contrib gezogen und fhem neu gestartet zwischen den beiden Teilen des Screenshots anbei.

Viele Grüße,
Peter
#8
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von DS_Starter - 19 Mai 2026, 13:12:32
@all,

wegen der AI Profilproblematik habe ich mich mit dem Profil v1_common_active_pv beschäftigt und einen Fehler gefunden und beseitigt.
In der Feature Registry hat doch tatsächlich eine Komponente in dem Profil v1_common_active_pv gefehlt. Das habe ich ergänzt.
Es erklärt zumindest teilweise die Beobachtungen bei Benutzung dieses Profils. In den anderen *_pv Profilen war diese Komponente
bereits enthalten.

Weiterhin habe ich die Beschreibungen der Profile geschärft um zu verdeulichen unter welchen Umständen sie sinnvoll zu nutzen sind:

aiConProfile   
    v1_common_pv - Haushalt mit PV-gesteuerten Lastmanagement, d.h. wenn Verbraucher bei Überschuss aktiv zugeschaltet werden
    v1_common_active_pv - Haushalt mit PV-gesteuerten Lastmanagement und starkem Tagesrhythmus


Als weiteren Punkt habe ich die Thematik Batterieprognose - durch Peter in #6156 gepostet - wahrscheinlich gelöst.

Update liegt im Contrib.

Hinweis:
Wer das Profil v1_common_active_pv nutzt, muß die KI neu trainieren. Da es eine Strukturänderung ist, wird im GUI ein Problem mit KI angezeigt mit dem Verweis auf ein erforderliches Neutraining.

LG,
Heiko
#9
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von peterboeckmann - 19 Mai 2026, 13:09:22
Hallo zusammen,

Zitat von: DS_Starter am 18 Mai 2026, 22:24:33Mit dem Profil v1_common_active bekomme ich aktuell das angehängte Bild.

bei mir das gleiche Profil. Und trotz gelegentlicher sporadischer BEV-Ladung bin ich mit der Verbrauchsprognose hoch zufrieden.
Screenshot anbei.

Viele Grüße,
Peter
#10
Forum-Software / Aw: wer hat hier den Bot einge...
Letzter Beitrag von Otto123 - 19 Mai 2026, 13:04:03
dito ;)