[Gelöst] DOIF keine Auswertung der Tage bei Zeitraum

Begonnen von RalfR, 29 Juni 2016, 11:23:26

Vorheriges Thema - Nächstes Thema

automatisierer

jo, schon klar. Da deinDOIF richtig geschrieben ist, das DOIF-Modul nicht kaputt ist und der Perl-Interpreter wohl auch nicht, muss es wohl ann was anderem liegen...

Und da fällt mir nur grad ein, dass evtl. die Zeit / das Datum deines Server falsch ist.

RalfR

die Idee ist gut aber wie du in meiner vorherigen Antwort sehen kannst stimmt das Datum,Zeit auch.

Hoffe ich bzw. wir können das Andere noch finden  ;)

Ellert

Es gab, soweit ich mich erinnere vor etwa 1/2 Jahr ein ähnliches Problem hier im Forum, kann aber leider nicht sagen in welchem Thread und welche Lösung/Ursache es war.

RalfR

Eventuell doch ein Problem im DOIF Modul ? (Die Suche hat leider nichts gefunden)

automatisierer

hm... ist schon eher unwahrscheinlich - ich nutze selber einige DOIF mit Zeit und Tag Angabe und die funktionieren alle.

Log das DOIF doch mal ein paar Tage und schau nochmal dabei

Damian

Das DOIF Modul wird zu jedem der angegebenen Zeitpunkte getriggert, unabhängig, ob der Wochentag zutrifft oder nicht, und führt, wenn die Bedingung nicht wahr ist, den DOELSE-Fall aus. D. h. bei dir wird jeden Tag off ausgeführt.

Du solltest deine Definition auf zwei Zustände reduzieren (on und off) und kein do always setzen.

Die Definition sollte dann so aussehen:

DOELSEIF ([05:30-07:00|124] or [05:30-12:00|3] or [05:30-23:59|5] or [14:00-23:59|1234] or [08:00-23:59|06])
  (set keller_WarmwasserPumpe on)
DOELSE
  (set Keller_WarmwasserPumpe off)


Gruß

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

RalfR

@Damian, danke für den Tip.  8)
Habe das ganze mal geändert und werde es beobachten bzw loggen.
Melde mich wieder sobald ich mehr Infos habe.

Ellert

#22
Für ([Urlaub] eq "ja") könntest Du die Bedingung mit ((...) and [?Urlaub] ne "nein") ergänzen, damit die Pumpe als DOELSE Fall im Urlaub abgeschaltet wird und die Zeitspannen nicht triggern.

RalfR

Das mit dem Urlaub hatte ich eingebaut, um den Fehler einzugrenzen habe ich das ganze etwas minimiert aber danke für deine Info

Per

Zitat von: RalfR am 30 Juni 2016, 08:17:33um den Fehler einzugrenzen habe ich das ganze etwas minimiert
Und damit einen neuen eingebaut. [Urlaub] wird nur beim Triggern abgefragt, damit arbeitet dein Konstrukt nicht wie gewünscht (im GGsatz zu dem von Ellert).

RalfR

Zitat von: Ellert am 29 Juni 2016, 23:30:56
Für ([Urlaub] eq "ja") könntest Du die Bedingung mit ((...) and [?Urlaub] ne "nein") ergänzen, damit die Pumpe als DOELSE Fall im Urlaub abgeschaltet wird und die Zeitspannen nicht triggern.

müßte ich aber nicht auf [?Urlaub]ne "ja" abfragen da die Bedingung ja im Nichturlaubfall greifen soll im Urlaub ja soll die Pumpe ja aus sein

Ellert

Ja, Du hast Recht. Ich hatte erst 'ne "ja"' geschrieben, fand aber 'eq "nein"' verständlicher, dabei habe ich vergessen 'ne' in 'eq' zu ändern.

RalfR