Hauptmenü

Events

Begonnen von trupf, 23 Mai 2023, 17:24:38

Vorheriges Thema - Nächstes Thema

trupf

Ich hab mit Notify Readings von einem Gerät in ein anderes übertraqgen und möchte dass sie dort fix in minütlichem Abstand ein Event erzeugen (die 30s unten sind für den Test, damit ich nicht so lange warten muss...). Das brauche ich für den gleitenden Mittelwert (die Funktion habe ich mir aus dem Wiki kopiert). Natürlich funktioniert so ein Mittelwert nur mit Werten, die in einem fixen Zeitraster kommen. Ich dachte mit "event-min-interval" könnte ich genau das erreichen, leider kommen die Events aber immer noch unregelmäßig, d.h. es kommen nicht alle mindestens 1x je Minute dafür andere mehrmals...

define StromZaehler dummy
attr StromZaehler alias StromZähler
attr StromZaehler event-min-interval .*:30
attr StromZaehler group Auto
attr StromZaehler room Strom->Energie
attr StromZaehler stateFormat Erzeugung: akt_solar_generation W | Bezug/Einspeisung: akt_grid_supply_state W | Laden: akt_charging W
attr StromZaehler userReadings available_for_charging {my $av = ReadingsVal($NAME,"akt_solar_generation",0) - ReadingsVal($NAME,"consumption_Home",0) + ReadingsVal($NAME,"akt_charging",0);; $av}, \
available_for_charging.av {sprintf("%.1f",movingAverage($NAME,"available_for_charging",900))}
#   CFGFN      /opt/fhem/myconf.d/37_Stromzaehler.cfg
#   FUUID      6457db1c-f33f-ca58-9b91-902ed4dc10c31839
#   NAME       StromZaehler
#   NR         123
#   STATE      Erzeugung: 1444 W | Bezug/Einspeisung: 15.80 W | Laden: 3720 W
#   TYPE       dummy
#   eventCount 1734
#   Helper:
#     DBLOG:
#       akt_charging:
#         myDBlog:
#           TIME       1684854653.79224
#           VALUE      3720
#       akt_grid_supply_state:
#         myDBlog:
#           TIME       1684854662.94018
#           VALUE      15.80
#       akt_solar_generation:
#         myDBlog:
#           TIME       1684854607.32347
#           VALUE      1444
#       available_for_charging:
#         myDBlog:
#           TIME       1684854653.79224
#           VALUE      1135
#       available_for_charging.av:
#         myDBlog:
#           TIME       1684854653.79224
#           VALUE      1805.9
#       consumption_Home:
#         myDBlog:
#           TIME       1684854661.86277
#           VALUE      3940
#       consumption_from_Battery:
#         myDBlog:
#           TIME       1684854666.08286
#           VALUE      2889
#       consumption_from_PV:
#         myDBlog:
#           TIME       1684854660.97132
#           VALUE      1293.27
#       consumption_from_grid:
#         myDBlog:
#           TIME       1684854661.09373
#           VALUE      23.00
#   READINGS:
#     2023-05-23 17:10:53   akt_charging    3720
#     2023-05-23 17:11:02   akt_grid_supply_state 15.80
#     2023-05-23 17:10:07   akt_solar_generation 1444
#     2023-05-23 17:11:06   available_for_charging 1056
#     2023-05-23 17:11:06   available_for_charging.av 1607.5
#     2023-05-23 17:11:02   consumption_Home 4108
#     2023-05-23 17:11:06   consumption_from_Battery 2889
#     2023-05-23 17:11:02   consumption_from_PV 1349.27
#     2023-05-23 17:11:01   consumption_from_grid 23.00
#     2023-05-23 10:25:37   state           trigger Stromzaehler:consumption_Home
#
setstate StromZaehler Erzeugung: 1444 W | Bezug/Einspeisung: 15.80 W | Laden: 3720 W
setstate StromZaehler 2023-05-23 17:10:53 akt_charging 3720
setstate StromZaehler 2023-05-23 17:11:02 akt_grid_supply_state 15.80
setstate StromZaehler 2023-05-23 17:10:07 akt_solar_generation 1444
setstate StromZaehler 2023-05-23 17:11:06 available_for_charging 1056
setstate StromZaehler 2023-05-23 17:11:06 available_for_charging.av 1607.5
setstate StromZaehler 2023-05-23 17:11:02 consumption_Home 4108
setstate StromZaehler 2023-05-23 17:11:06 consumption_from_Battery 2889
setstate StromZaehler 2023-05-23 17:11:02 consumption_from_PV 1349.27
setstate StromZaehler 2023-05-23 17:11:01 consumption_from_grid 23.00
setstate StromZaehler 2023-05-23 10:25:37 state trigger Stromzaehler:consumption_Home


und die Events, bei 17:03 ist z.B. "available_for_charging" 2x da, dafür fehlt z.B. "consumption_from_Battery":

2023-05-23 17:00:05 dummy StromZaehler consumption_from_grid: 0.00
2023-05-23 17:00:05 dummy StromZaehler available_for_charging: 1519
2023-05-23 17:00:05 dummy StromZaehler available_for_charging.av: 392.5
2023-05-23 17:00:05 dummy StromZaehler consumption_from_PV: 333
2023-05-23 17:00:05 dummy StromZaehler consumption_Home: 333
2023-05-23 17:00:08 dummy StromZaehler consumption_from_Battery: -1479
2023-05-23 17:01:03 dummy StromZaehler consumption_from_PV: 268
2023-05-23 17:01:03 dummy StromZaehler available_for_charging: 1549
2023-05-23 17:01:03 dummy StromZaehler available_for_charging.av: 482.4
2023-05-23 17:01:03 dummy StromZaehler consumption_Home: 268
2023-05-23 17:01:05 dummy StromZaehler consumption_from_Battery: -1733
2023-05-23 17:01:06 dummy StromZaehler consumption_from_grid: 0.00
2023-05-23 17:01:06 dummy StromZaehler akt_solar_generation: 2198
2023-05-23 17:02:01 dummy StromZaehler consumption_from_grid: 50.00
2023-05-23 17:02:01 dummy StromZaehler available_for_charging: 1930
2023-05-23 17:02:01 dummy StromZaehler available_for_charging.av: 645.7
2023-05-23 17:02:02 dummy StromZaehler consumption_from_Battery: -1194
2023-05-23 17:02:02 dummy StromZaehler consumption_from_PV: 234
2023-05-23 17:02:02 dummy StromZaehler consumption_Home: 234
2023-05-23 17:02:06 dummy StromZaehler akt_solar_generation: 1566
2023-05-23 17:03:01 DOIF di_ueberschussladen_reglung cmd_event: StromZaehler
2023-05-23 17:03:01 DOIF di_ueberschussladen_reglung cmd_event: StromZaehler
2023-05-23 17:03:01 dummy StromZaehler consumption_from_grid: 0.00
2023-05-23 17:03:01 dummy StromZaehler available_for_charging: 1311
2023-05-23 17:03:01 dummy StromZaehler available_for_charging.av: 1322.3
2023-05-23 17:03:03 dummy StromZaehler consumption_from_PV: 286
2023-05-23 17:03:03 dummy StromZaehler consumption_Home: 286
2023-05-23 17:03:53 dummy StromZaehler akt_charging: 3750
2023-05-23 17:03:53 dummy StromZaehler available_for_charging: 5030
2023-05-23 17:03:53 dummy StromZaehler available_for_charging.av: 1662.6
2023-05-23 17:04:01 dummy StromZaehler consumption_from_PV: -2359.84
2023-05-23 17:04:01 dummy StromZaehler consumption_from_grid: 3.00
2023-05-23 17:04:01 dummy StromZaehler consumption_Home: 4100
2023-05-23 17:04:02 dummy StromZaehler consumption_from_Battery: 2792
2023-05-23 17:04:53 dummy StromZaehler akt_charging: 3800
2023-05-23 17:04:53 dummy StromZaehler available_for_charging: 1266
2023-05-23 17:04:53 dummy StromZaehler available_for_charging.av: 2145.2
2023-05-23 17:05:01 dummy StromZaehler consumption_from_PV: 2307.03
2023-05-23 17:05:01 dummy StromZaehler consumption_from_grid: 4.00
2023-05-23 17:05:03 dummy StromZaehler consumption_Home: 4123
2023-05-23 17:05:06 dummy StromZaehler consumption_from_Battery: 1862
2023-05-23 17:05:07 dummy StromZaehler akt_solar_generation: 2407
2023-05-23 17:05:53 dummy StromZaehler akt_charging: 3780
2023-05-23 17:05:53 dummy StromZaehler available_for_charging: 2064
2023-05-23 17:05:53 dummy StromZaehler available_for_charging.av: 2095.6
2023-05-23 17:06:01 dummy StromZaehler consumption_from_PV: 2262.53
2023-05-23 17:06:02 dummy StromZaehler consumption_from_grid: 0.00
2023-05-23 17:06:02 dummy StromZaehler consumption_Home: 4113
2023-05-23 17:06:53 dummy StromZaehler akt_charging: 3790
2023-05-23 17:06:53 dummy StromZaehler available_for_charging: 2094
2023-05-23 17:06:53 dummy StromZaehler available_for_charging.av: 2127.3
2023-05-23 17:07:00 dummy StromZaehler consumption_from_PV: 1825.23
2023-05-23 17:07:01 dummy StromZaehler consumption_from_grid: 91.00
2023-05-23 17:07:03 dummy StromZaehler consumption_Home: 4044
2023-05-23 17:07:05 dummy StromZaehler consumption_from_Battery: 2624
2023-05-23 17:07:06 dummy StromZaehler akt_solar_generation: 1872
2023-05-23 17:07:53 dummy StromZaehler akt_charging: 3800
2023-05-23 17:07:53 dummy StromZaehler available_for_charging: 1628
2023-05-23 17:07:53 dummy StromZaehler available_for_charging.av: 1751.1
2023-05-23 17:08:01 dummy StromZaehler consumption_from_PV: 2199.87
2023-05-23 17:08:01 dummy StromZaehler consumption_from_grid: 10.00
2023-05-23 17:08:02 dummy StromZaehler consumption_from_Battery: 1925
2023-05-23 17:08:02 dummy StromZaehler consumption_Home: 4080
2023-05-23 17:08:06 dummy StromZaehler akt_solar_generation: 2319
2023-05-23 17:08:53 dummy StromZaehler akt_charging: 3790
2023-05-23 17:08:53 dummy StromZaehler available_for_charging: 1992
2023-05-23 17:08:53 dummy StromZaehler available_for_charging.av: 1911.0
2023-05-23 17:09:01 dummy StromZaehler consumption_from_PV: 2095.06
2023-05-23 17:09:01 dummy StromZaehler consumption_from_grid: 0.00
2023-05-23 17:09:03 dummy StromZaehler consumption_Home: 4091
2023-05-23 17:09:06 dummy StromZaehler consumption_from_Battery: 2085
2023-05-23 17:09:06 dummy StromZaehler akt_solar_generation: 2167
2023-05-23 17:09:53 dummy StromZaehler akt_charging: 3810
2023-05-23 17:09:53 dummy StromZaehler available_for_charging: 1886
2023-05-23 17:09:53 dummy StromZaehler available_for_charging.av: 1877.2



MadMax-FHEM

#1
Ein minütliches at, was den Wert ausliest und per setreading wieder schreibt (selbes Device oder eben ein anderes Device)...

define atMinute at +*00:01:00 {my $value = ReadingsVal("DeviceNameQuelle", "ReadingNameQuelle", "Ersatzwert");; fhem("setreading DeviceNameZiel ReadingNameZiel $value");;}

EDIT: statt ReadingsVal geht auch ReadingsNum, falls es sich um reine Zahlenwerte handelt oder du nur den Zahlenanteil eines Readins (mit z.B. einer Einheit) übertragen willst...
EDIT: Quell-Device und Ziel-Device können identisch sein.

Namen nat. anpassen und: jenachdem wo/wie du eingibst die doppelten Strichpunkte oder einfache Strichpunkte.
Das hier wäre (nach dem Anpassen der Namen) für direkte Eingabe in FhemWeb.
Oder statt define mittels defmod in RawDef.

EDIT: ich sehe nirgends ein notify? Du nutzt userReadings OHNE Trigger! an einem dummy? Ein userReadings wird nur "evaluiert", wenn es einen passenden Trigger gibt. Also das Device passende Events erzeugt. Das macht ein dummy im Normalfall nicht (wie auch). Ist der dummy nur zum "Üben"? (dann schlecht für userReadings) Gibt es ein Device an/mit dem du eigentlich arbeiten willst? Der dummy füllt sich ja nicht "von selbst"...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)