FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Netsurfer am 20 August 2015, 11:07:17

Titel: WeekdayTimer sendet falsches Kommando
Beitrag von: Netsurfer am 20 August 2015, 11:07:17
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
Titel: Antw:WeekdayTimer sendet falsches Kommando
Beitrag von: Dietmar63 am 20 August 2015, 13:52:08
Ich sehe mir das mal heute Abend an
Titel: Antw:WeekdayTimer sendet falsches Kommando
Beitrag von: Netsurfer am 20 August 2015, 17:39:44
Vielen Dank
Titel: Antw:WeekdayTimer sendet falsches Kommando
Beitrag von: Dietmar63 am 20 August 2015, 21:23:47
da hast du wohl tatsächlich einen bug gefunden
Titel: Antw:WeekdayTimer sendet falsches Kommando
Beitrag von: Netsurfer am 20 August 2015, 21:33:59
Und ich habe schon an mir gezweifelt :)
Titel: Antw:WeekdayTimer sendet falsches Kommando
Beitrag von: Dietmar63 am 20 August 2015, 21:39:47
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.
Titel: Antw:WeekdayTimer sendet falsches Kommando
Beitrag von: Netsurfer am 21 August 2015, 08:01:48
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

Titel: Antw:WeekdayTimer sendet falsches Kommando
Beitrag von: Dietmar63 am 21 August 2015, 14:00:54
Ich habe erst Sonntag Zeit das Problem zu analysieren.
Titel: Antw:WeekdayTimer sendet falsches Kommando
Beitrag von: Dietmar63 am 21 August 2015, 14:52:50
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.
Titel: Antw:WeekdayTimer sendet falsches Kommando
Beitrag von: Netsurfer am 21 August 2015, 18:10:25
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
Titel: Antw:WeekdayTimer sendet falsches Kommando
Beitrag von: Dietmar63 am 23 August 2015, 21:36:40
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'
Titel: Antw:WeekdayTimer sendet falsches Kommando
Beitrag von: Netsurfer am 26 August 2015, 23:02:21
Danke für Deine Mühe
Gruß Ingo
Titel: Antw:WeekdayTimer sendet falsches Kommando
Beitrag von: Netsurfer am 06 September 2015, 13:29:10
Hallo Dietmar,
hast Du schon zu Ende nachgedacht?
Gruß
Ingo

Titel: Antw:WeekdayTimer sendet falsches Kommando
Beitrag von: Dietmar63 am 06 September 2015, 14:49:59
Ja,ich habe eine Version erstellt und teste noch
Titel: Antw:WeekdayTimer sendet falsches Kommando
Beitrag von: Dietmar63 am 06 September 2015, 22:11:13
habe die Version jetzt eingecheckt
Titel: Antw:WeekdayTimer sendet falsches Kommando
Beitrag von: Netsurfer am 07 September 2015, 15:43:34
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
Titel: Antw:WeekdayTimer sendet falsches Kommando
Beitrag von: Dietmar63 am 07 September 2015, 18:52:11
Kein Problem - ich hatte nebenbei noch anderen Stress zu bewältigen. Deshalb hat es gedauert.