Hallo zusammen,
ich habe nach dem Beispiel aus dem device specific help
define shutter WeekdayTimer bath 12345|05:20|up 12345|20:30|down
folgendes definiert
(mein TestTimer, hier wird nur eine Steckdose geschaltet, da ich die Rollos nicht dauernd rauf und runter fahren wollte)
define RollosWochenende WeekdayTimer ZWSD_SES de $we|09:51|on $we|09:52|off
zu den definierten Zeiten wird auch immer ein Kommando gesendet allerdings immer das off Kommando!
definiere ich zwei WeekdayTimer einen für rauf und einen für runter, wird das Kommando richtig gesendet.
Hier noch die Logs dazu
2015.08.20 09:50:52 4: Connection closed for FHEMWEB:10.255.255.50:49471: EOF
2015.08.20 09:51:00 5: [RollosWochenende] list of window sensors found: 'RollosWochenende'
2015.08.20 09:51:00 5: Cmd: >{my $days={};map{$days->{$_}=1}();;( 1 && (defined $days->{$wday} || $we))}<
2015.08.20 09:51:00 4: [RollosWochenende] Update - timer seems to be active today: 7|09:51|on
2015.08.20 09:51:00 4: [RollosWochenende] akt: 2015-08-16 09:52:00(so) -->> off
2015.08.20 09:51:00 4: [RollosWochenende] next: 2015-08-22 09:51:00(sa) -->> on
2015.08.20 09:51:00 3: [RollosWochenende] Update - on overwritten by off (2015-08-16 09:52:00)
2015.08.20 09:51:00 4: [RollosWochenende] device type ZWave: recognized, setModifier:
2015.08.20 09:51:00 4: [RollosWochenende] aktParam: newParam:off - is not disabled
2015.08.20 09:51:00 4: [RollosWochenende] command: set ZWSD_SES off executed
2015.08.20 09:51:00 5: Cmd: >set ZWSD_SES off<
2015.08.20 09:51:00 2: ZWave set ZWSD_SES off
2015.08.20 09:51:00 5: Triggering ZWSD_SES (1 changes)
2015.08.20 09:51:00 5: Notify loop for ZWSD_SES off
2015.08.20 09:51:00 5: battStatus: not on any display, ignoring notify
2015.08.20 09:51:00 5: Triggering RollosWochenende (3 changes)
2015.08.20 09:51:00 5: Notify loop for RollosWochenende nextUpdate: 2015-08-22 09:51:00
2015.08.20 09:51:00 5: battStatus: not on any display, ignoring notify
2015.08.20 09:51:40 4: Connection closed for FHEMWEB:10.255.255.50:49497: EOF
2015.08.20 09:51:41 4: Connection closed for FHEMWEB:10.255.255.50:49498: EOF
2015.08.20 09:51:44 4: Connection accepted from FHEMWEB:10.255.255.50:49508
2015.08.20 09:51:44 4: HTTP FHEMWEB:10.255.255.50:49508 GET /
2015.08.20 09:51:44 4: WEB: redirecting / to /fhem
2015.08.20 09:51:44 4: HTTP FHEMWEB:10.255.255.50:49508 GET /fhem
2015.08.20 09:51:44 4: 2568:FHEMWEB:10.255.255.50:49508: /fhem / RL:1287 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2015.08.20 09:51:44 4: HTTP FHEMWEB:10.255.255.50:49508 GET /fhem/pgm2/style.css
2015.08.20 09:51:44 4: Connection accepted from FHEMWEB:10.255.255.50:49509
2015.08.20 09:51:44 4: HTTP FHEMWEB:10.255.255.50:49509 GET /fhem/pgm2/jquery-ui.min.css
2015.08.20 09:51:44 4: HTTP FHEMWEB:10.255.255.50:49508 GET /fhem/pgm2/jquery.min.js
2015.08.20 09:51:44 4: HTTP FHEMWEB:10.255.255.50:49509 GET /fhem/pgm2/fhemweb_colorpicker.js
2015.08.20 09:51:44 4: Connection accepted from FHEMWEB:10.255.255.50:49510
2015.08.20 09:51:44 4: HTTP FHEMWEB:10.255.255.50:49508 GET /fhem/pgm2/fhemweb_knob.js
2015.08.20 09:51:44 4: HTTP FHEMWEB:10.255.255.50:49509 GET /fhem/pgm2/darkCommon.css
2015.08.20 09:51:44 4: HTTP FHEMWEB:10.255.255.50:49508 GET /fhem/pgm2/fhemweb_sortable.js
2015.08.20 09:51:44 4: Connection accepted from FHEMWEB:10.255.255.50:49511
2015.08.20 09:51:44 4: HTTP FHEMWEB:10.255.255.50:49510 GET /fhem/pgm2/fhemweb.js
2015.08.20 09:51:44 4: Connection accepted from FHEMWEB:10.255.255.50:49512
2015.08.20 09:51:44 4: HTTP FHEMWEB:10.255.255.50:49508 GET /fhem/pgm2/fhemweb_uzsu.js
2015.08.20 09:51:44 4: HTTP FHEMWEB:10.255.255.50:49511 GET /fhem/pgm2/jquery-ui.min.js
2015.08.20 09:51:44 4: HTTP FHEMWEB:10.255.255.50:49509 GET /fhem/pgm2/fhemweb_readingsHistory.js
2015.08.20 09:51:44 4: HTTP FHEMWEB:10.255.255.50:49512 GET /fhem/pgm2/fhemweb_fbcalllist.js
2015.08.20 09:51:44 4: Connection accepted from FHEMWEB:10.255.255.50:49513
2015.08.20 09:51:44 4: HTTP FHEMWEB:10.255.255.50:49508 GET /fhem/pgm2/dashboard.js
2015.08.20 09:51:44 4: HTTP FHEMWEB:10.255.255.50:49510 GET /fhem/pgm2/dashboard_darkstyle.css
2015.08.20 09:51:44 4: HTTP FHEMWEB:10.255.255.50:49509 GET /fhem/codemirror/fhem_codemirror.js
2015.08.20 09:51:44 4: HTTP FHEMWEB:10.255.255.50:49513 GET /fhem/pgm2/fhemweb_readingsGroup.js
2015.08.20 09:51:44 4: HTTP FHEMWEB:10.255.255.50:49509 GET /fhem/pgm2/svg.js
2015.08.20 09:51:44 4: HTTP FHEMWEB:10.255.255.50:49508 GET /fhem/images/default/icoEverything.png
2015.08.20 09:51:44 4: HTTP FHEMWEB:10.255.255.50:49508 GET /fhem/images/default/fhemicon_dark.png
2015.08.20 09:51:45 4: HTTP FHEMWEB:10.255.255.50:49508 GET /fhem?XHR=1&inform=type=status;filter=;since=1440057103;fmt=JSON×tamp=1440057105058
2015.08.20 09:51:45 4: Connection closed for FHEMWEB:10.255.255.50:49508: EOF
2015.08.20 09:51:50 5: Triggering ZWSD_SES (1 changes)
2015.08.20 09:51:50 5: Notify loop for ZWSD_SES energy: 0 kWh previous: 0 delta_time: 600 s
2015.08.20 09:51:50 5: battStatus: not on any display, ignoring notify
2015.08.20 09:52:00 5: [RollosWochenende] list of window sensors found: 'RollosWochenende'
2015.08.20 09:52:00 5: Cmd: >{my $days={};map{$days->{$_}=1}();;( 1 && (defined $days->{$wday} || $we))}<
2015.08.20 09:52:00 4: [RollosWochenende] Update - timer seems to be active today: 7|09:52|off
2015.08.20 09:52:00 4: [RollosWochenende] akt: 2015-08-16 09:52:00(so) -->> off
2015.08.20 09:52:00 4: [RollosWochenende] next: 2015-08-22 09:51:00(sa) -->> on
2015.08.20 09:52:00 4: [RollosWochenende] device type ZWave: recognized, setModifier:
2015.08.20 09:52:00 4: [RollosWochenende] aktParam: newParam:off - is not disabled
2015.08.20 09:52:00 4: [RollosWochenende] command: set ZWSD_SES off executed
2015.08.20 09:52:00 5: Cmd: >set ZWSD_SES off<
2015.08.20 09:52:00 2: ZWave set ZWSD_SES off
2015.08.20 09:52:00 5: Triggering ZWSD_SES (1 changes)
2015.08.20 09:52:00 5: Notify loop for ZWSD_SES off
2015.08.20 09:52:00 5: battStatus: not on any display, ignoring notify
2015.08.20 09:52:00 5: Triggering RollosWochenende (3 changes)
2015.08.20 09:52:00 5: Notify loop for RollosWochenende nextUpdate: 2015-08-22 09:51:00
2015.08.20 09:52:00 5: battStatus: not on any display, ignoring notify
2015.08.20 09:52:02 5: [LichtWetter] Original weather readings
2015.08.20 09:52:02 5: Triggering LichtWetter (5 changes)
2015.08.20 09:52:02 5: Notify loop for LichtWetter azimuth: 110.58
2015.08.20 09:52:02 5: battStatus: not on any display, ignoring notify
2015.08.20 09:52:02 5: [LichtWetter] removing Timer: LichtWetter_sunpos
2015.08.20 09:52:02 5: [LichtWetter] setting Timer: LichtWetter_sunpos 2015-08-20 09:57:01
2015.08.20 09:52:41 4: Connection closed for FHEMWEB:10.255.255.50:49512: EOF
2015.08.20 09:52:41 4: Connection closed for FHEMWEB:10.255.255.50:49510: EOF
2015.08.20 09:52:41 4: Connection closed for FHEMWEB:10.255.255.50:49509: EOF
2015.08.20 09:52:41 4: Connection closed for FHEMWEB:10.255.255.50:49513: EOF
2015.08.20 09:52:41 4: Connection closed for FHEMWEB:10.255.255.50:49511: EOF
events
Events (Filter:.*):
2015-08-20 09:51:00 ZWave ZWSD_SES off
2015-08-20 09:51:00 WeekdayTimer RollosWochenende nextUpdate: 2015-08-22 09:51:00
2015-08-20 09:51:00 WeekdayTimer RollosWochenende nextValue: on
2015-08-20 09:51:00 WeekdayTimer RollosWochenende off
2015-08-20 09:51:50 ZWave ZWSD_SES energy: 0 kWh previous: 0 delta_time: 600 s
2015-08-20 09:52:00 ZWave ZWSD_SES off
2015-08-20 09:52:00 WeekdayTimer RollosWochenende nextUpdate: 2015-08-22 09:51:00
2015-08-20 09:52:00 WeekdayTimer RollosWochenende nextValue: on
Ich komme hier nicht weiter.
woher kommt
Update - on overwritten by off (2015-08-16 09:52:00)
Vielen Dank für eure Hilfe
Ich sehe mir das mal heute Abend an
Vielen Dank
da hast du wohl tatsächlich einen bug gefunden
Und ich habe schon an mir gezweifelt :)
Doch nicht so richtig ein Fehler.
Du hast als zusätziche Bedingung $we angegeben: Wochenende! Haben wir heute nicht.
Dann ermittelt WD den letzen zu schaltenden Zustand des letzen Wochenendes (Sonntag 21:52 ->off)
Im verbose wird immer das Datum mitgegeben: 2015-08-16 (!!!).
Es ist möglich das "verbose 5" auf jedes einzelne device zu setzen, dann bleibt dein Log klein.
Ich muss mal darüber nachdenken, ob das so richtig ist und ob es so bleiben soll - kann aber dauern.
Wenn du auf !$we umstellst wird an Arbeitstagen geschaltet - dann solltest du bessere Ergebnisse sehen.
Hallo Dietmar,
jetzt wo Du es sagst. Ich vergaß zu erwähnen das ich in Holiday meinen Urlaub definiert habe. Im Moment habe ich Urlaub!
Ist also richtig das $we greift. Dann ist es wohl doch ein Bug oder!
Übrigens wieso eigentlich zusätzliche Bedingung $we ist doch die Einzige oder?
Einen !$we Timer mit zwei Einträgen Rauf/Runter habe ich inzwischen auch noch. Der funktioniert richtig! (Wenn nicht Wochenende,Feiertag oder Urlaub ansteht)
Entgegen Deiner Theorie steht auch noch, dass wenn ich den Timer in zwei Zeilen schreibe, also so z.B.:
define RollosWochenendeRauf WeekdayTimer Alle_Rollos de $we|08:30|on
define RollosWochenendeRunter WeekdayTimer Alle_Rollos de $we|21:30|off
dann geht alles!
Mein !$we Timer sieht so aus
define RollosWochentags WeekdayTimer Alle_Rollos de !$we|07:15|on !$we|21:30|off
Der Funktioniert auch!.
Was meinst Du mit alle Devices auf Verbose 5 stellen? Wirklich alle Devices oder nur die WeekdayTimer und das Alle_Rollos Device?
Gruß
Ingo
Ich habe erst Sonntag Zeit das Problem zu analysieren.
Ich bin mir ehrlich gesagt nicht sicher, aber wird Urlaub in $we hinterlegt.
IIch nutze die Möglichkeit der Definition von Urlaub in holiday nicht.
Ja Urlaub wird in Holiday definiert. Dafür muß eine Datei angelegt werden xxx.holiday in meinem Fall heißt diese NRW.holiday. Ich glaube allerdings, dass es nicht an $we liegt. Wenn man nur einen Datensatz pro Weekdaytimer anlegt geht es ja. Es geht erst dann nicht wenn man zwei oder mehr definiert.
Hierin vermute ich den Fehler.
Gruß
Ingo
Habe etwas geändert:
Log sieht nun gut aus - denke noch ein wenig darüber nach und checke es dann ein:
2015.08.23 21:25:00 3: Please define ZWSD_SES first
2015.08.23 21:25:00 4: [RollosWochenende] command: set ZWSD_SES off executed
2015.08.23 21:25:00 4: [RollosWochenende] aktParam: newParam:off - is not disabled
2015.08.23 21:25:00 4: [RollosWochenende] next: 2015-08-29 21:24:00(sa) -->> on
2015.08.23 21:25:00 4: [RollosWochenende] akt: 2015-08-23 21:25:00(so) -->> off
2015.08.23 21:25:00 4: [RollosWochenende] Update - timer seems to be active today: 7|21:25|off
2015.08.23 21:25:00 5: [RollosWochenende] list of window sensors found: 'RollosWochenende'
2015.08.23 21:24:00 3: Please define ZWSD_SES first
2015.08.23 21:24:00 4: [RollosWochenende] command: set ZWSD_SES on executed
2015.08.23 21:24:00 4: [RollosWochenende] aktParam: newParam:on - is not disabled
2015.08.23 21:24:00 4: [RollosWochenende] next: 2015-08-23 21:25:00(so) -->> off
2015.08.23 21:24:00 4: [RollosWochenende] akt: 2015-08-23 21:24:00(so) -->> on
2015.08.23 21:24:00 4: [RollosWochenende] Update - timer seems to be active today: 7|21:24|on
2015.08.23 21:24:00 5: [RollosWochenende] list of window sensors found: 'RollosWochenende'
Danke für Deine Mühe
Gruß Ingo
Hallo Dietmar,
hast Du schon zu Ende nachgedacht?
Gruß
Ingo
Ja,ich habe eine Version erstellt und teste noch
habe die Version jetzt eingecheckt
Super Vielen Dank
Nach ersten Tests geht es jetzt. Nochmal vielen Dank und sorry wenn ich genervt haben sollte. Das war nicht in meiner Absicht
Kein Problem - ich hatte nebenbei noch anderen Stress zu bewältigen. Deshalb hat es gedauert.