Internals:
DEF ([04:45] && ([Wetterstation:rain_yesterday:d] + [Wetterstation:rain_day:d]) > 20) (
set Gartenbewaesserung off-for-timer 172750,
set Meine_TGBot message "Es hat die letzten 24h genug geregnet, ich stelle die Gartenbewässerung für 2 Tage aus."
)
DOELSEIF([04:45] && ([Wetterstation:rain_yesterday:d] + [Wetterstation:rain_day:d]) >= 10) (
set Gartenbewaesserung off,
set Meine_TGBot message "Es hat die letzten 24h genug geregnet, ich stelle die Gartenbewässerung für 1 Tag aus."
)
DOELSEIF([04:45] && [Gartenbewaesserung] eq "off-for-timer" ) (
set Gartenbewaesserung off,
set Meine_TGBot message "Die Gartenbewässerung ist noch für einen Tag deaktiviert."
)
DOELSEIF([04:45] && ([Wetterstation:rain_yesterday:d] + [Wetterstation:rain_day:d]) < 10)
(
set Gartenbewaesserung on
)
DOELSEIF([Wetterstation:israining:d] == 1 && [Gartenbewaesserung:wait_timer] > 0)
(
set Gartenbewaesserung off-for-timer 10800,
set Meine_TGBot message "Es regnet, ich stelle die Bewässerung für 3 Stunden aus."
)
FUUID 64a18203-f33f-0804-0228-9ed30d9ef74133a1
MODEL FHEM
NAME Bewaesserung_Steuerung
NOTIFYDEV Gartenbewaesserung,Wetterstation,global
NR 637
NTFY_ORDER 50-Bewaesserung_Steuerung
STATE initialized
TYPE DOIF
VERSION 30659 2025-12-25 12:37:16
eventCount 56
READINGS:
2026-06-09 17:22:41 Device Gartenbewaesserung
2026-06-09 14:44:01 cmd 0
2026-06-09 17:22:41 e_Gartenbewaesserung_STATE on
2026-06-09 14:44:01 mode enabled
2026-06-09 14:44:01 state initialized
2026-06-09 14:44:01 timer_01_c01 10.06.2026 04:45:00
2026-06-09 14:44:01 timer_02_c02 10.06.2026 04:45:00
2026-06-09 14:44:01 timer_03_c03 10.06.2026 04:45:00
2026-06-09 14:44:01 timer_04_c04 10.06.2026 04:45:00
Regex:
accu:
bar:
barAvg:
collect:
cond:
Gartenbewaesserung:
0:
1:
2:
&STATE ^Gartenbewaesserung$
3:
4:
wait_timer ^Gartenbewaesserung$:^wait_timer:
Wetterstation:
0:
rain_day ^Wetterstation$:^rain_day:
rain_yesterday ^Wetterstation$:^rain_yesterday:
1:
rain_day ^Wetterstation$:^rain_day:
rain_yesterday ^Wetterstation$:^rain_yesterday:
3:
rain_day ^Wetterstation$:^rain_day:
rain_yesterday ^Wetterstation$:^rain_yesterday:
4:
israining ^Wetterstation$:^israining:
attr:
cmdState:
wait:
waitdel:
condition:
0 ::DOIF_time_once($hash,0,$wday) && (::ReadingValDoIf($hash,'Wetterstation','rain_yesterday','','d') + ::ReadingValDoIf($hash,'Wetterstation','rain_day','','d')) > 20
1 ::DOIF_time_once($hash,1,$wday) && (::ReadingValDoIf($hash,'Wetterstation','rain_yesterday','','d') + ::ReadingValDoIf($hash,'Wetterstation','rain_day','','d')) >= 10
2 ::DOIF_time_once($hash,2,$wday) && ::InternalDoIf($hash,'Gartenbewaesserung','STATE') eq "off-for-timer"
3 ::DOIF_time_once($hash,3,$wday) && (::ReadingValDoIf($hash,'Wetterstation','rain_yesterday','','d') + ::ReadingValDoIf($hash,'Wetterstation','rain_day','','d')) < 10
4 ::ReadingValDoIf($hash,'Wetterstation','israining','','d') == 1 && ::ReadingValDoIf($hash,'Gartenbewaesserung','wait_timer') > 0
days:
do:
0:
0 set Gartenbewaesserung off-for-timer 172750, set Meine_TGBot message "Es hat die letzten 24h genug geregnet, ich stelle die Gartenbewässerung für 2 Tage aus."
1:
0 set Gartenbewaesserung off, set Meine_TGBot message "Es hat die letzten 24h genug geregnet, ich stelle die Gartenbewässerung für 1 Tag aus."
2:
0 set Gartenbewaesserung off, set Meine_TGBot message "Die Gartenbewässerung ist noch für einen Tag deaktiviert."
3:
0 set Gartenbewaesserung on
4:
0 set Gartenbewaesserung off-for-timer 10800, set Meine_TGBot message "Es regnet, ich stelle die Bewässerung für 3 Stunden aus."
5:
helper:
NOTIFYDEV Gartenbewaesserung,Wetterstation,global
event on
globalinit 1
last_timer 4
sleeptimer -1
triggerDev Gartenbewaesserung
triggerEvents:
on
triggerEventsState:
state: on
internals:
all Gartenbewaesserung:STATE
intervalfunc:
localtime:
0 1781059500
1 1781059500
2 1781059500
3 1781059500
readings:
all Wetterstation:rain_yesterday Wetterstation:rain_day Wetterstation:israining Gartenbewaesserung:wait_timer
realtime:
0 04:45:00
1 04:45:00
2 04:45:00
3 04:45:00
time:
0 04:45:00
1 04:45:00
2 04:45:00
3 04:45:00
timeCond:
0 0
1 1
2 2
3 3
timer:
0 0
1 0
2 0
3 0
timers:
0 0
1 1
2 2
3 3
trigger:
triggertime:
1781059500:
localtime 1781059500
hash:
uiState:
uiTable:
Attributes:
icon helper_doif
room GARTEN
verbose 0Die richtige Lösung: Prüfen über wait_timer oder next_timer
Wenn du im DOIF einen off-for-timer benutzt, setzt DOIF intern ein Reading:
wait_timer
→ enthält die Restzeit in Sekunden
→ ist > 0, solange der Timer läuft [2026-06-09T20:41:24,053 Europe/Berlin] [INFO] Refresh finished (api) in 3424 ms
[2026-06-09T20:41:24,066 Europe/Berlin] [INFO] Refresh request handled in 3438 ms (saveTarget=44result.json)fhem Log: 2026.06.09 20:41:24.613 3: [AlexaAccount] [echodevice_NPMWaitForCookie] [unbekannt] write new refreshtokenHier irritiert mich nur das ,,unbekannt", ist das gewollt? fhem | 2026.06.09 21:07:24.576 3: at_AlexaCookieExport: Unknown argument exportCookie, choose one of loginUrl:noArgDas liegt am notify: define n_AlexaCookieServiceInit notify global:(INITIALIZED|REREADCFG) {\
my $nr = $defs{"AlexaAccount"}{NR};;\
setKeyValue("alexa_cookie_service_export_name", "${nr}result.json");;\
fhem("define -temporary at_AlexaCookieExport at +00:00:10 get AlexaCookieService exportCookie");;\
fhem(q[define -temporary at_AlexaCookieImport at +00:00:12 { $main::NPMLoginTyp = "NPM Login Refresh external";;;; echodevice_NPMWaitForCookie($defs{"AlexaAccount"});;;; }]);;;;\
}
attr n_AlexaCookieServiceInit room Amazonget AlexaCookieService exportCookieGibt es nicht, was sollte denn da hin?2026.06.09 18:44:24.535 1: main::CallFn called by fhem.pl (788)
2026.06.09 18:44:24.534 1: main::FW_Read called by fhem.pl (4002)
2026.06.09 18:44:24.534 1: main::FW_answerCall called by ./FHEM/01_FHEMWEB.pm (616)
2026.06.09 18:44:24.534 1: main::FW_initInform called by ./FHEM/01_FHEMWEB.pm (978)
2026.06.09 18:44:24.534 1: main::FW_roomStatesForInform called by ./FHEM/01_FHEMWEB.pm (711)
2026.06.09 18:44:24.533 1: main::FW_devState called by ./FHEM/01_FHEMWEB.pm (3239)
2026.06.09 18:44:24.533 1: main::getAllSets called by ./FHEM/01_FHEMWEB.pm (3431)
2026.06.09 18:44:24.533 1: main::CommandSet called by fhem.pl (2924)
2026.06.09 18:44:24.533 1: main::DoSet called by fhem.pl (2020)
2026.06.09 18:44:24.532 1: main::CallFn called by fhem.pl (1978)
2026.06.09 18:44:24.532 1: main::RPI_1Wire_Set called by fhem.pl (4002)
2026.06.09 18:44:24.532 1: main::__ANON__ called by ./FHEM/58_RPI_1Wire.pm (353)
2026.06.09 18:44:24.532 1: stacktrace:
2026.06.09 18:44:24.531 1: PERL WARNING: Use of uninitialized value $type in string eq at ./FHEM/58_RPI_1Wire.pm line 353.
2026.06.09 18:44:24.531 1: main::CallFn called by fhem.pl (788)
2026.06.09 18:44:24.531 1: main::FW_Read called by fhem.pl (4002)
2026.06.09 18:44:24.530 1: main::FW_answerCall called by ./FHEM/01_FHEMWEB.pm (616)
2026.06.09 18:44:24.530 1: main::FW_initInform called by ./FHEM/01_FHEMWEB.pm (978)
2026.06.09 18:44:24.530 1: main::FW_roomStatesForInform called by ./FHEM/01_FHEMWEB.pm (711)
2026.06.09 18:44:24.530 1: main::FW_devState called by ./FHEM/01_FHEMWEB.pm (3239)
2026.06.09 18:44:24.529 1: main::getAllSets called by ./FHEM/01_FHEMWEB.pm (3431)
2026.06.09 18:44:24.529 1: main::CommandSet called by fhem.pl (2924)
2026.06.09 18:44:24.529 1: main::DoSet called by fhem.pl (2020)
2026.06.09 18:44:24.529 1: main::CallFn called by fhem.pl (1978)
2026.06.09 18:44:24.528 1: main::RPI_1Wire_Set called by fhem.pl (4002)
2026.06.09 18:44:24.528 1: main::__ANON__ called by ./FHEM/58_RPI_1Wire.pm (350)
2026.06.09 18:44:24.528 1: stacktrace:
2026.06.09 18:44:24.528 1: PERL WARNING: Use of uninitialized value $type in string eq at ./FHEM/58_RPI_1Wire.pm line 350.
2026.06.09 18:44:24.527 1: main::CallFn called by fhem.pl (788)
2026.06.09 18:44:24.527 1: main::FW_Read called by fhem.pl (4002)
2026.06.09 18:44:24.527 1: main::FW_answerCall called by ./FHEM/01_FHEMWEB.pm (616)
2026.06.09 18:44:24.526 1: main::FW_initInform called by ./FHEM/01_FHEMWEB.pm (978)
2026.06.09 18:44:24.526 1: main::FW_roomStatesForInform called by ./FHEM/01_FHEMWEB.pm (711)
2026.06.09 18:44:24.526 1: main::FW_devState called by ./FHEM/01_FHEMWEB.pm (3239)
2026.06.09 18:44:24.526 1: main::getAllSets called by ./FHEM/01_FHEMWEB.pm (3431)
2026.06.09 18:44:24.525 1: main::CommandSet called by fhem.pl (2924)
2026.06.09 18:44:24.525 1: main::DoSet called by fhem.pl (2020)
2026.06.09 18:44:24.525 1: main::CallFn called by fhem.pl (1978)
2026.06.09 18:44:24.525 1: main::RPI_1Wire_Set called by fhem.pl (4002)
2026.06.09 18:44:24.524 1: main::__ANON__ called by ./FHEM/58_RPI_1Wire.pm (350)
2026.06.09 18:44:24.524 1: stacktrace:
2026.06.09 18:44:24.524 1: PERL WARNING: Use of uninitialized value $type in string eq at ./FHEM/58_RPI_1Wire.pm line 350.
2026.06.09 18:44:24.524 1: main::CallFn called by fhem.pl (788)
2026.06.09 18:44:24.523 1: main::FW_Read called by fhem.pl (4002)
2026.06.09 18:44:24.523 1: main::FW_answerCall called by ./FHEM/01_FHEMWEB.pm (616)
2026.06.09 18:44:24.523 1: main::FW_initInform called by ./FHEM/01_FHEMWEB.pm (978)
2026.06.09 18:44:24.522 1: main::FW_roomStatesForInform called by ./FHEM/01_FHEMWEB.pm (711)
2026.06.09 18:44:24.522 1: main::FW_devState called by ./FHEM/01_FHEMWEB.pm (3239)
2026.06.09 18:44:24.522 1: main::getAllSets called by ./FHEM/01_FHEMWEB.pm (3431)
2026.06.09 18:44:24.522 1: main::CommandSet called by fhem.pl (2924)
2026.06.09 18:44:24.521 1: main::DoSet called by fhem.pl (2020)
2026.06.09 18:44:24.521 1: main::CallFn called by fhem.pl (1978)
2026.06.09 18:44:24.521 1: main::RPI_1Wire_Set called by fhem.pl (4002)
2026.06.09 18:44:24.521 1: main::__ANON__ called by ./FHEM/58_RPI_1Wire.pm (342)
2026.06.09 18:44:24.520 1: stacktrace:
2026.06.09 18:44:24.520 1: PERL WARNING: Use of uninitialized value $type in string eq at ./FHEM/58_RPI_1Wire.pm line 342.
2026.06.09 18:44:24.520 1: main::CallFn called by fhem.pl (788)
2026.06.09 18:44:24.520 1: main::FW_Read called by fhem.pl (4002)
2026.06.09 18:44:24.519 1: main::FW_answerCall called by ./FHEM/01_FHEMWEB.pm (616)
2026.06.09 18:44:24.519 1: main::FW_initInform called by ./FHEM/01_FHEMWEB.pm (978)
2026.06.09 18:44:24.519 1: main::FW_roomStatesForInform called by ./FHEM/01_FHEMWEB.pm (711)
2026.06.09 18:44:24.518 1: main::FW_devState called by ./FHEM/01_FHEMWEB.pm (3239)
2026.06.09 18:44:24.518 1: main::getAllSets called by ./FHEM/01_FHEMWEB.pm (3431)
2026.06.09 18:44:24.518 1: main::CommandSet called by fhem.pl (2924)
2026.06.09 18:44:24.518 1: main::DoSet called by fhem.pl (2020)
2026.06.09 18:44:24.517 1: main::CallFn called by fhem.pl (1978)
2026.06.09 18:44:24.517 1: main::RPI_1Wire_Set called by fhem.pl (4002)
2026.06.09 18:44:24.517 1: main::__ANON__ called by ./FHEM/58_RPI_1Wire.pm (338)
2026.06.09 18:44:24.517 1: stacktrace:
2026.06.09 18:44:24.516 1: PERL WARNING: Use of uninitialized value $family in hash element at ./FHEM/58_RPI_1Wire.pm line 338.
define mydht22 RPI_1Wire DHT22-5
attr mydht22 pollingInterval 5
attr mydht22 room DHT
# CFGFN /opt/fhem/FHEM/DHTonPI.cfg
# DEF DHT22-5
# FUUID 6a2842e6-f33f-16fb-ca8a-8f3615f6fd240fbc
# NAME mydht22
# NOTIFYDEV global
# NR 219
# NTFY_ORDER 50-mydht22
# STATE No 1-Wire Bus found
# TYPE RPI_1Wire
# .attraggr:
# .attrminint:
# READINGS:
# 2026-06-09 16:15:41 failreason cleared
# 2026-06-09 16:15:41 failures 0
# 2026-06-08 22:47:18 humidity 0
# 2026-06-09 18:44:22 state No 1-Wire Bus found
# 2026-06-09 17:26:55 temperature 0
#
setstate mydht22 No 1-Wire Bus found
setstate mydht22 2026-06-09 16:15:41 failreason cleared
setstate mydht22 2026-06-09 16:15:41 failures 0
setstate mydht22 2026-06-08 22:47:18 humidity 0
setstate mydht22 2026-06-09 18:44:22 state No 1-Wire Bus found
setstate mydht22 2026-06-09 17:26:55 temperature 0