DOIF mit sunset / sunrise schaltet unzuverlässig

Begonnen von Bernd D., 30 März 2015, 09:19:46

Vorheriges Thema - Nächstes Thema

Bernd D.

Hallo zusammen,

zur Steuerung meiner Rolladen setze ich DOIF ein.
Damit die DOIF Logik nicht zu unübersichtlich wird, lagere ich einzelne Funktionalitäten in Dummys aus.
Bei einem dieser Dummys habe ich ein Problem:

Die u.a. DOIF Definition führt nicht immer dazu, dass der Dummy D_hell korrekt gesetzt wird.
In ca. 1/10 Fällen wird bei Sonnenuntergang  D_hell = off nicht gesetzt.

define DI_D_hell DOIF ([{sunrise("HORIZON=0",0,"06:30","09:00")}-{sunset("HORIZON=-2",0,"16:00","21:00")}]) (set D_hell on) \
DOELSE (set D_hell off)


Fällt vielleicht jemandem von euch ein Fehler bei der Definition von DI_D_hell auf?

Grundsätzlich soll bei Sonnenaufgang D_hell = on gesetzt werden (frühestens um 6:30, spätestens um 09:00). Bei Sonnenuntergang soll D_hell = off gesetzt werden (frühestens um 16:00, spätestens um 21:00)

Vielen Dank für eure Hilfe!
Gruß,
Bernd

Damian

Zitat von: Bernd D. am 30 März 2015, 09:19:46
Hallo zusammen,

zur Steuerung meiner Rolladen setze ich DOIF ein.
Damit die DOIF Logik nicht zu unübersichtlich wird, lagere ich einzelne Funktionalitäten in Dummys aus.
Bei einem dieser Dummys habe ich ein Problem:

Die u.a. DOIF Definition führt nicht immer dazu, dass der Dummy D_hell korrekt gesetzt wird.
In ca. 1/10 Fällen wird bei Sonnenuntergang  D_hell = off nicht gesetzt.

define DI_D_hell DOIF ([{sunrise("HORIZON=0",0,"06:30","09:00")}-{sunset("HORIZON=-2",0,"16:00","21:00")}]) (set D_hell on) \
DOELSE (set D_hell off)


Fällt vielleicht jemandem von euch ein Fehler bei der Definition von DI_D_hell auf?

Grundsätzlich soll bei Sonnenaufgang D_hell = on gesetzt werden (frühestens um 6:30, spätestens um 09:00). Bei Sonnenuntergang soll D_hell = off gesetzt werden (frühestens um 16:00, spätestens um 21:00)

Vielen Dank für eure Hilfe!
Gruß,
Bernd

Poste bitte Ausgabe von "list DI_D_hell" von einem Fall, der deiner Meinung nicht funktioniert. Sonst wird dir mit den Angaben hier keiner helfen können.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bernd D.

Hallo Damian,

es hat ein wenig gedauert, bis der Fehler aufgetreten ist. Heute war es aber wieder soweit und DOIF hat nach Sonnenaufgang nicht geschaltet.

Ich kann das "list" gerade leider nur als Bild anhängen, ich hoffe das ist o.k.

Vielen Dank nochmal für Deine Hilfe!
Gruß,
Bernd

Damian

Zitat von: Bernd D. am 16 April 2015, 15:59:49
Hallo Damian,

es hat ein wenig gedauert, bis der Fehler aufgetreten ist. Heute war es aber wieder soweit und DOIF hat nach Sonnenaufgang nicht geschaltet.

Ich kann das "list" gerade leider nur als Bild anhängen, ich hoffe das ist o.k.

Vielen Dank nochmal für Deine Hilfe!
Gruß,
Bernd

OK. Von wann ist deine Version des DOIF-Moduls?

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bernd D.

Das letzte fhem Update habe ich am 14.4. gemacht.

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bernd D.

# $Id: 98_DOIF.pm 8432 2015-04-13 19:34:11Z damian-s $

Damian

Zitat von: Bernd D. am 16 April 2015, 18:12:58
# $Id: 98_DOIF.pm 8432 2015-04-13 19:34:11Z damian-s $

Das ist die aktuelle Version. Mit einer älteren gab es so ein Problem. Kann mir bei dieser Version keinen Reim drauf machen. Ich müsste Logs einbauen, um das Problem einzukreisen. Wenn ich was habe, dann werde ich hier eine Testversion zum Download anhängen.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bernd D.

Alles klar, ich teste gerne und werde dann hier berichten.

Damian

#9
Zitat von: Bernd D. am 16 April 2015, 18:54:20
Alles klar, ich teste gerne und werde dann hier berichten.

Du kannst hier die Version bei dir einspielen. Bei dem DOIF-Modul DI_D_hell verbose auf 5 setzen und laufen lassen. Beim Schalten (Sonnenaufgang, Sonnenuntergang) sollte dann im Log diese Art von Meldungen kommen:

DOIF_time begin: 06:00:00, end: 23:00:00,  wday: 4, hms: 21:38:04, days: 8

Das Ergebnis im Fehlerfall kannst du hier mit dem dazugehörigen list Output posten.

Gruß

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bernd D.

Vielen Dank für die Testversion.
Die Logs funktionieren wie von Dir vermutet.
Anbei der i.O. Fall von heute morgen. Ich melde mich dann wieder wenn es Probleme gab - das dauert aber in der Regel immer ein paar Tage.

Viele Grüße,
Bernd