Moin,
ich wollte mittels doif sagen wir mal alle 15 Minuten ein checkall auf einem anderen doif machen.
probiert hab ich es so:
([+:15]) (set doif_Mowerregen_active ckeckall)
komischerweise macht er das checkall auf dem doif "doif_Mowerregen_active" nicht, gehe ich jedoch ins Fhemweb und drücke den set button für das checkall klappt es. Ich mache bestimmt etwas falsch, nur was?
Gruß
Jan
do always fehlt
Wie stellt Du fest, dass es es nicht macht?
danke für Deine Hilfe, do always ist gesetzt, das kann es nicht sein.
Ich habe einen Dummy in dem ich eine Uhrzeit setze, dieses state (Uhrzeit hh:mm) des Dummy nutze ich in einem doif. Ändere ich nun die Uhzeit des Dummys (state) bekommt das doif in dem diese Zeit genutzt wird die Änderung nicht mit (das Doif soll dann einige watchdogs auf active inactive setzen).
Ich habe bemerkt, dass ich das doif mitels checkall dazu bringen kann dieses zu tun, jedoch nur über die schaltfläche set ... checkall.
Mit dem Absetzen eines Befehls in der Kommandozeile von Fhemweb, wieset doif_Mowerregen_active ckeckall
geht es leider nicht.
Ein "list" von den DOIFs wäre nicht schlecht. Insb. wenn die sich in einem Zustand befinden, den du nicht für richtig haltest.
Zitat von: Jasimo am 12 Juni 2018, 20:52:59
danke für Deine Hilfe, do always ist gesetzt, das kann es nicht sein.
Ich habe einen Dummy in dem ich eine Uhrzeit setze, dieses state (Uhrzeit hh:mm) des Dummy nutze ich in einem doif. Ändere ich nun die Uhzeit des Dummys (state) bekommt das doif in dem diese Zeit genutzt wird die Änderung nicht mit (das Doif soll dann einige watchdogs auf active inactive setzen).
Ich habe bemerkt, dass ich das doif mitels checkall dazu bringen kann dieses zu tun, jedoch nur über die schaltfläche set ... checkall.
Mit dem Absetzen eines Befehls in der Kommandozeile von Fhemweb, wieset doif_Mowerregen_active ckeckall
geht es leider nicht.
DOIF weiß nicht von wo der set-Befehl kommt, es gibt keinen Unterschied beim set-Befehl von der Kommandozeile und Weboberfläche. Poste man list von dem DOIF.
Hier das List des doifs welches das "set doif_Mowerregen_active ckeckall" aufruft
Internals:
DEF ([+:15]) (set doif_Mowerregen_active ckeckall)
MODEL FHEM
NAME doif_Mowerregen_checkall
NR 120
NTFY_ORDER 50-doif_Mowerregen_checkall
STATE cmd_1
TYPE DOIF
READINGS:
2018-06-12 21:00:00 cmd 1
2018-06-12 21:00:00 cmd_event timer_1
2018-06-12 21:00:00 cmd_nr 1
2018-06-12 19:41:06 mode enabled
2018-06-12 21:00:00 state cmd_1
2018-06-12 21:00:00 timer_01_c01 12.06.2018 21:15:00
Regex:
condition:
0 DOIF_time_once($hash,0,$wday)
days:
devices:
do:
0:
0 set doif_Mowerregen_active ckeckall
1:
helper:
DOIF_Readings_events
DOIF_eventas
event timer_1
globalinit 1
last_timer 1
sleeptimer -1
timerdev
timerevent timer_1
timereventsState
triggerDev
timerevents:
timer_1
triggerEvents:
timer_1
internals:
interval:
itimer:
localtime:
0 1528830900
readings:
realtime:
0 21:15:00
time:
0 +:15
timeCond:
0 0
timer:
0 0
timers:
0 0
triggertime:
1528830900:
localtime 1528830900
hash:
uiState:
uiTable:
Attributes:
do always
group 2.0 Landroid
room System
und hier das doif "doif_Mowerregen_active" welches mit dem oberen doif per set .... checkall aufgerufen wird
Internals:
DEF ([([Maehzeit:state]-[05:01])-([Maehzeit:state]+[00:01])])
(set wd_Mowerregen.* active)
DOELSE (set wd_Mowerregen.* inactive)
MODEL FHEM
NAME doif_Mowerregen_active
NR 118
NTFY_ORDER 50-doif_Mowerregen_active
STATE cmd_1
TYPE DOIF
READINGS:
2018-06-12 17:19:18 cmd 1
2018-06-12 17:19:18 cmd_event doif_Mowerregen_active
2018-06-12 17:19:18 cmd_nr 1
2018-06-01 18:30:47 mode enabled
2018-06-12 17:19:18 state cmd_1
2018-06-12 17:48:53 timer_01_c01 13.06.2018 05:59:00
2018-06-12 17:48:53 timer_02_c01 13.06.2018 11:01:00
Regex:
condition:
0 DOIF_time($hash,0,1,$wday,$hms)
days:
devices:
do:
0:
0 set wd_Mowerregen.* active
1:
0 set wd_Mowerregen.* inactive
helper:
DOIF_Readings_events
DOIF_eventas
event timer_2
globalinit 1
last_timer 2
sleeptimer -1
timerdev
timerevent timer_2
timereventsState
triggerDev
timerevents:
timer_2
triggerEvents:
timer_2
internals:
interval:
0 -1
1 0
itimer:
all Maehzeit
localtime:
0 1528862340
1 1528880460
perlblock:
readings:
realtime:
0 05:59:00
1 11:01:00
time:
0 ([Maehzeit:state]-[05:01])
1 ([Maehzeit:state]+[00:01])
timeCond:
0 0
1 0
timer:
0 0
1 0
timers:
0 0 1
triggertime:
1528862340:
localtime 1528862340
hash:
1528880460:
localtime 1528880460
hash:
uiState:
uiTable:
Attributes:
do always
group 2.0 Landroid
room System
Hier die beiden genutzten Zeit und Tage dummys
Internals:
NAME Maehzeit
NR 115
STATE 11:00
TYPE dummy
READINGS:
2018-06-12 17:48:53 state 11:00
Attributes:
fhem_widget_channels [{"group":"Mäher","alias":"⏰Mähzeit","allowed_values":["11:00","12:00","13:00","14:00","15:00","16:00","17:00","18:00","19:00","20:00","21:00"],"locations":["ALIST"]},{"controlled_attribute":"state","group":"Garten","alias":"⏰Mähzeit:","allowed_values":[],"locations":["AGRID","WGRID"]}]
group 1.0 Mähplan
icon scene_robo_lawnmower
room Landroid
setList state:uzsuDropDown,11:00,12:00,13:00,14:00,15:00,16:00,17:00,18:00,19:00,20:00,21:00
sortby 1
webCmd state
...
Internals:
NAME Maehtage
NR 114
STATE So,Mo,Di,Mi,Do,Fr,Sa
TYPE dummy
READINGS:
2018-06-01 21:58:58 state So,Mo,Di,Mi,Do,Fr,Sa
Attributes:
fhem_widget_channels [{"controlled_attribute":"state","group":"Garten","alias":"📅Mähtage:","allowed_values":[],"locations":["WGRID","AGRID"]}]
group 1.0 Mähplan
icon scene_robo_lawnmower
room Landroid
setList state:uzsuSelect,So,Mo,Di,Mi,Do,Fr,Sa
sortby 2
webCmd state
Um 17:48:53 hast Du Maehzeit auf 11:00 gesetzt. Was war es vorher?
19:00 oder 20;00 bin mir nicht sicher
Gesendet von iPhone mit Tapatalk Pro
Ich habe bei mir beide DOIFs ohne Probleme nachstellen können und es funktioniert alles wie programmiert.
Ich nehme an, dass du zuletzt um 7:19:18 Uhr manuell set ausgeführt hast.
2018-06-12 17:19:18 cmd_event doif_Mowerregen_active
Danach hast du wohl Mahlzeit:state auf 11:00 Uhr gesetzt, was nicht schlimm ist, denn es sollte dann der cmd_2-Fall bei dir kommen.
Warum bei dir der set Befehl z. B. um 21:00 Uhr nicht angekommen ist, kann ich dir nicht sagen. Der Devicename scheint zu stimmen, sonst gäbe es eine Fehlermeldung.
Das ist komisch, die watchdogs werden nicht auf active inactive gesetzt wenn der set ... checkall über ein doif kommt oder ich den set über die Kommandozeile in Fhemweb eingebe. Er macht es (bei mir) nur wenn ich den set über den Button im doif aktiviere.
Gesendet von iPhone mit Tapatalk Pro
die watchdogs stehen derzeit alle auf "defined" obwohl die Maehzeit auf 11:00 gesetzt ist, die watchdog müssten also eigenlich auf inactive stehen.
Hier ein List von enem der wd
Internals:
CMD setreading Mower regenindex {(ReadingsVal("Mower","regenindex",0) + 1)}
DEF Regensensor:rain 00:10:00 Regensensor:dry setreading Mower regenindex {(ReadingsVal("Mower","regenindex",0) + 1)}
NAME wd_Mowerregen10
NOTIFYDEV Regensensor,wd_Mowerregen10
NR 74
NTFY_ORDER 50-wd_Mowerregen10
RE1 Regensensor:rain
RE2 Regensensor:dry
STATE defined
TO 600
TYPE watchdog
READINGS:
2018-06-01 13:45:17 Activated activated
2018-06-01 13:55:17 Triggered triggered
2018-06-12 17:19:18 state defined
Attributes:
autoRestart 1
group 2.0 Landroid
room System
Was passiert bei:
define DOIF di_test ([+30]) (set doif_Mowerregen_active cmd_2)
attr di_test do always
Wird der cmd_2-Fall ausgeführt?
ja er wechselt auf cmd_2, die watchdogs sind nun auf inactive
Zitat von: Jasimo am 12 Juni 2018, 22:24:28
ja er wechselt auf cmd_2, die watchdogs sind nun auf inactive
dann ändere jetzt, das Test-DOIF:
define DOIF di_test ([+30]) (set doif_Mowerregen_active checkall)
hab ich gemacht. Melde mich nochmal mit dem Resultat.
DANKE!
Zitat von: Jasimo am 12 Juni 2018, 22:29:53
hab ich gemacht. Melde mich nochmal mit dem Resultat.
DANKE!
Die 30 Sekunden hättest du noch abwarten können ;)
Ja Moment gucke gleich :-)
klappt!
Nur kapieren tue ich es nicht ;-)
Zitat von: Jasimo am 12 Juni 2018, 22:35:16
klappt!
Nur kapieren tue ich es nicht ;-)
Ich auch nicht. Dann änderst du die Zeit noch:
define DOIF di_test ([+:15]) (set doif_Mowerregen_active checkall)
Löschst die alte Definition und bennenst di_test um.
Womöglich hast du irgendwelche nicht sichtbaren Sonderzeichen in deiner Definition.
ok, das mache ich aber erst morgen früh , muss nun los.
Vielen vielen Dank für Deine Hilfe und auch die von amenomade.
Melde mich dann nochmal kurz ob es lüppt.
Klappt alles.
Gruss
Jan
Gesendet von iPhone mit Tapatalk Pro