cloudkey:-UC_wlan_users:.* {
if (ReadingsNum("cloudkey", "-UC_wlan_users", "1") > OldReadingsNum("cloudkey", "-UC_wlan_users", "99")) {
fhem("set test on-for-timer 2");
}
}Es kann sein, dass -UC_wlan_users einmal aktualisiert werden muss (d.h. ein Event generieren muss), bevor oldreadings funktioniert. Also ggfs. einmal mit trigger nachhelfen.cloudkey:-UC_wlan_users:.* {
if ($EVTPART1 > OldReadingsNum("cloudkey", "-UC_wlan_users", "99")) {
fhem("set test on-for-timer 2");
}
}cloudkey:oldreadings:-UC_wlan_users Das hatte ich aus Unverständnis rein gesetzt, da ich es nicht wirklich verstanden habe wie oldreadings zu verwenden ist.defmod Feuer_ntf notify cloudkey:-UC_wlan_users if (ReadingsNum("cloudkey", "-UC_wlan_users", "1") > OldReadingsNum("-UC_wlan_users", "-UC_wlan_users", "2")) fhem("set Optokoppler on-for-timer 1")Zitat von: hummeruli am 16 Juni 2026, 21:53:39cloudkey:oldreadings:-UC_wlan_usersDas hier verstehe ich nicht
Zitat von: passibe am 15 Juni 2026, 19:41:48if (ReadingsNum("device", "readingName", "1") > OldReadingsNum("device", "readingName", "2")) {
fhem("set relay on");
}
define SVG_FileLog_watermeter_1 SVG FileLog_watermeter:SVG_FileLog_watermeter_1:CURRENT
attr SVG_FileLog_watermeter_1 axis_width 60
attr SVG_FileLog_watermeter_1 captionPos auto
attr SVG_FileLog_watermeter_1 endPlotNowByHour 1
attr SVG_FileLog_watermeter_1 room Gewerke->Verbrauch,Räume->0->2 Serverraum,Systeme->Plot
attr SVG_FileLog_watermeter_1 title { "Wasseruhr $data{currval1} m³" }
# DEF FileLog_watermeter:SVG_FileLog_watermeter_1:CURRENT
# FUUID 6a0a1d01-f33f-4eef-b0e5-5250d6ede53ee675
# GPLOTFILE SVG_FileLog_watermeter_1
# LOGDEVICE FileLog_watermeter
# LOGFILE CURRENT
# NAME SVG_FileLog_watermeter_1
# NR 352
# STATE initialized
# TYPE SVG
#
setstate SVG_FileLog_watermeter_1 initialized
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<TL>'
set ytics
set y2tics
set grid ytics
set ylabel "l"
set y2label "m³"
#FileLog_watermeter 4:watermeter.value\x3a::
#FileLog_watermeter 4:watermeter.valueLiters\x3a::delta-h
#FileLog_watermeter 4:watermeter.valueLiters\x3a::delta-d
#FileLog_watermeter 4:watermeter.deltaLiters\x3a::
plot "<IN>" using 1:2 axes x1y2 title 'Zählerstand' ls l0 lw 2 with lines,\
"<IN>" using 1:2 axes x1y1 title 'Verbrauch / h' ls l2fill lw 0.2 with histeps,\
"<IN>" using 1:2 axes x1y1 title 'Verbrauch / d' ls l2 lw 3 with histeps,\
"<IN>" using 1:2 axes x1y1 title 'Verbrauch' ls l8fill lw 1 with fsteps
root@has-1:/opt/fhem/www/gplot#
defmod Feuer_ntf notify cloudkey:-UC_wlan_users > cloudkey:oldreadings:-UC_wlan_users (set Optokoppler on-for-timer 1)
ZitatZusätzlich würde mir eine recht einfache Möglichkeit einfallen wie die Prognosen limitiert werden können:Es findet bereits eine Begrenzung auf die Peakleistung (Summe aller Strings) zzgl. eines kleinen Aufschlages statt. Der Aufschlag erfolgt wegen der Temperaturabhängigkeit. Die Zellen können ggf. bei Temp < Normtemperatur mehr leisten.
Ich weiß aus Beobachtung, dass selbst bei besten Bedingungen nie mehr als 14 kWh in einer Stunde vom Dach kommen. In den aufgezeichneten Daten ist das bestimmt auch enthalten, d.h. anstatt nur auf die WR-Leistung zu begrenzen, könnte auf diesen Max-Wert limitiert werden. Diese Limitierung ließe sich - bei ausreichender Datenmenge - mittels Höhe und Azimut auch noch weiter verfeinern.