Zeitsteuerung Montag-Freitag

Begonnen von hotwebnet, 19 Oktober 2015, 07:24:20

Vorheriges Thema - Nächstes Thema

hotwebnet

Hallo, meine Heizung im Bad soll von Montag bis Freitag anspringen....macht Sie aber nicht warum ??

define Steckdose4 at *07:02:00 { if($wday == 1 && if($wday == 2 && if($wday == #3 && if($wday == 4 && if($wday == 5) { fhem("set Steckdose4 on") }}

define Heizung at *07:02:00 { if($wday == 1 || if($wday == 2 || if($wday == 3 #|| if($wday == 4 || if($wday == 5) { fhem("set Steckdose4 on") }}

mit beiden einstellungen geht es nicht....

Rince

Schau doch mal in der deutschen Comandref den DOIF Eintrag an.
Da gibt es exakt das was du suchst.

ZitatWochentagsteuerung

Hinter der Zeitangabe kann ein oder mehrere Wochentage als Ziffer getrennt mit einem Pipezeichen | angegeben werden. Die Syntax lautet:

[<time>|012345678] 0-8 entspricht: 0-Sonntag, 1-Montag, ... bis 6-Samstag sowie 7 für Wochenende und Feiertage (entspricht $we) und 8 für Arbeitstage (entspricht !$we)

Anwendungsbeispiel: Radio soll am Wochenende und an Feiertagen um 08:30 Uhr eingeschaltet und um 09:30 Uhr ausgeschaltet werden. An Arbeitstagen soll das Radio um 06:30 Uhr eingeschaltet und um 07:30 Uhr ausgeschaltet werden.

define di_radio DOIF ([06:30|8] or [08:30|7]) (set radio on) DOELSEIF ([07:30|8] or [09:30|7]) (set radio off)

Anstatt einer Zifferkombination kann ein Status oder Reading in eckigen Klammern angegeben werden. Dieser muss zum Triggerzeitpunkt mit der gewünschten Ziffernkombination für Wochentage, wie oben definiert, belegt sein.

Anwendungsbeispiel: Der Wochentag soll über einen Dummy bestimmt werden.

define dummy Wochentag
set Wochentag 135

define di_radio DOIF ([06:30|[Wochentag]] (set radio on) DOELSEIF ([07:30|[Wochentag]]) (set radio off)

(Schau trotzdem mal in die Commandref
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

hotwebnet

so habe jetzt das gemacht.......


define dummy Wochentag
set Wochentag 12345

define Steckdose4 DOIF ([07:58|[1]] (set Steckdose4 on) DOELSEIF ([08:00|[1]]) (set Steckdose4 off)

geht auch nicht

andy19850

So wie ich das sehe, musst du [1] durch [Wochentag] ersetzen. Bei deiner Lösung sollte das nur am Tag [1], also Montags funktionieren.

hotwebnet

so hier der aktuelle Code......

define dummy Wochentag
set Wochentag 12345
define Steckdose4 DOIF ([08:30|[Wochentag]] (set Steckdose4 on) DOELSEIF ([08:31|[Wochentag]]) (set Steckdose4 off)

warum geht das nicht, so steht es doch in der COm....

Hollo

DOIF / at ???
Wieso nicht Weekdaytimer ?   :o
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

maxritti

Zitat von: hotwebnet am 19 Oktober 2015, 08:32:46
so hier der aktuelle Code......

define dummy Wochentag
set Wochentag 12345
define Steckdose4 DOIF ([08:30|[Wochentag]] (set Steckdose4 on) DOELSEIF ([08:31|[Wochentag]]) (set Steckdose4 off)

warum geht das nicht, so steht es doch in der COm....
Du solltest mal einen Blick in Dein Log werfen.
Denn augenscheinlich hat sich in der CommandRef ein Fehler eingeschlichen.
Zähle mal die geöffneten und zugehörigen schliessenden Klammern.
Fällt Dir da etwas auf?

Das gleiche solltest Du auch mal bei Deinem ursprünglich definierten at's machen.
Denn da könnte auch schon etwas auffallen.

Und solch ein if-Konstrukt habe ich auch noch nicht gesehen:

if($wday == 1 && if($wday == 2 && if($wday == #3

Ein Logisches UND und dan ein weiteres if dahinter?
Und ein #3 bei der Abfrage des Wertes sieht auch ein wenig komisch aus.

Aber wie gesagt.
Das Log von FHEM sollte Dir eigentlich so einiges gemeldet haben.

hotwebnet

#7
Habe jetzt einmal klein angefangen,

define dummy Wochentag
set Wochentag 12345
define Heizung DOIF ([09:18-09:19|1]) (set Steckdose4 on) DOELSE (set Steckdose4 off)

LOG:
2015.10.19 09:18:00 2: IT set Steckdose4 on
2015.10.19 09:18:00 2: IT IODev device didn't answer is command correctly:   raw => isFFFFF00FFF
2015.10.19 09:18:00 3: Steckdose4 on->on

Beim Abspeichern der cfg kommt dieser Fehler
ERROR:
Unknown module Wochentag Please define Wochentag first

die Heizung geht nun an und aus.......

Damian

#8
Zitat von: hotwebnet am 19 Oktober 2015, 09:23:38
Habe jetzt einmal klein angefangen,

define dummy Wochentag
set Wochentag 12345
define Heizung DOIF ([09:18-09:19|1]) (set Steckdose4 on) DOELSE (set Steckdose4 off)

LOG:
2015.10.19 09:18:00 2: IT set Steckdose4 on
2015.10.19 09:18:00 2: IT IODev device didn't answer is command correctly:   raw => isFFFFF00FFF
2015.10.19 09:18:00 3: Steckdose4 on->on

Beim Abspeichern der cfg kommt dieser Fehler
ERROR:
Unknown module Wochentag Please define Wochentag first

die Heizung geht nun an und aus.......

Da ist noch ein Fehler in der Commandref zu DOIF.

Es muss natürlich heißen:

define Wochentag dummy

Aber warum definierst du den dummy Wochentag, wenn du den im DOIF-Modul nicht benutzt?

Gruß

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

bergadler

Wenn es direkt nur um Mo-Fr und Sa-So geht, nimm doch an Stelle von $wday das $we.

Und zu
Beim Abspeichern der cfg kommt dieser Fehler
1: ist der Dummy falsch rum definiert.
2: warum abspeichern in der cfg? Die defines macht man in der Commandzeile.

Gruß
aktuelles FHEM auf Raspberry B+, FHEM von fhem.de V.5.7, CUL868 V1.57, (6x FHT80B+ FHTTK, div. IT,div. FS20,Harmony Hub)

hotwebnet

Danke, kannst du mir einmal auf die Sprünge helfen, bin neu und versuche das zu verstehen....

define Wochentag dummy
set Wochentag 12345
define HeizungMo DOIF ([10:30-10:31|1]) (set Steckdose4 on) DOELSE (set Steckdose4 off)
define HeizungDi DOIF ([06:05-06:20|2]) (set Steckdose4 on) DOELSE (set Steckdose4 off)

wie nutze ich das dummy den in DOIF

hotwebnet

Zitat von: bergadler am 19 Oktober 2015, 10:19:29
Wenn es direkt nur um Mo-Fr und Sa-So geht, nimm doch an Stelle von $wday das $we.

Und zu
Beim Abspeichern der cfg kommt dieser Fehler
1: ist der Dummy falsch rum definiert.
2: warum abspeichern in der cfg? Die defines macht man in der Commandzeile.

Gruß

die Heizung geht aber so nicht an......

define Wochentag dummy
set Wochentag 12345
define Heizung at *08:48:00 { if($wday == 1) { fhem("set Steckdose4 on") }}

marvin78

Ich habe dir an anderer Stelle schon den hilfreichen Tipp gegeben, dich mit den Grundlagen von FHEM zu beschäftigen. Leider hat dich das nur zu seltsamen Kommentaren veranlasst. Hättest du den Tipp jedoch beherzigt, wärst du schon am Ziel.

Ich persönlich halte den WeekdayTimer noch immer für besser geeignet, als ein DOIF.

Wie du den dummy einbaust, steht in der commandref und auch sogar hier im Thread:

define HeizungDOIF DOIF ([10:30-10:31]|[Wochentag]] (set Steckdose4 on) DOELSE (set Steckdose4 off)

hotwebnet

 Ich lese und lese und lese aber ich verstehe nicht warum die Heizung nicht anspringt.....

define Wochentag dummy
set Wochentag 12345
define Heizung DOIF ([11:09-11:10]|[Wochentag]) (set Steckdose4 on) DOELSE (set Steckdose4 off)

die Heizung geht nicht an , aber ich versuche doch alles zu beachten.....

Wuppi68

Zitat von: hotwebnet am 19 Oktober 2015, 11:11:55
Ich lese und lese und lese aber ich verstehe nicht warum die Heizung nicht anspringt.....

define Wochentag dummy
set Wochentag 12345
define Heizung DOIF ([11:09-11:10]|[Wochentag]) (set Steckdose4 on) DOELSE (set Steckdose4 off)

die Heizung geht nicht an , aber ich versuche doch alles zu beachten.....

die soll also NUR von 11:09 bis 11:10 angehen und ansonsten immer aus?
FHEM unter Proxmox als VM