Dummy nur jeden zweite Tag aktivieren

Begonnen von MBPower, 18 Dezember 2014, 22:05:52

Vorheriges Thema - Nächstes Thema

MBPower

Kann mir jemand sagen, wie es möglich ist einen Dummy nur alle zwei Tage aktivieren? Ich möchte also einen Dummy 24h anschalten und dann 24h ausschalten usw.

Ich habe hier im Forum etwas gefunden, aber irgendwie ist da etwas falsch.
define dummyAt at *11:00:00 {my @d = split(localtime(time)); if($d[7] % 2) {fhem("dummy on")} else {fhem("dummy off")}}

Für jeden Tipp wäre ich sehr dankbar.

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

MBPower

Zitatdefine dummyAt at *11:00:00 {my @d = split(localtime(time)); if($d[7] %% 2) {fhem("dummy on")} else {fhem("dummy off")}}

Zitatdefine dummyAt at *11:00:00 {my @d = split(localtime(time)); if($d[7] % 2) {fhem("dummy on")} else {fhem("dummy off")}}

Leider macht das keinen Unterschied. Fehlermeldung: Unknown command if($d[7], try help.
Hat sonst noch jemand eine Idee?

chris1284

Wäre, falls das mit dummy geht, es nicht einfacher per at alle 48h ein on-for-timer [24h in sekunden] am dummy zu setzen?

MBPower

So einfach kann eine Lösung sein.
Bisher war ich der Meinung, dass das Limit bei on-for-timer identisch mit dem von off-for-timer ist und das liegt bei 15360.

Vielen Dank. :-)


MBPower

Leider funktioniert on-for-timer und off-for-timer doch ein Limit von 15360.

Ich kann die folgenden Befehlt eintragen, aber ausgeführt wird der nicht.
define Test at +48:00:00 set dummy on-for-timer 86400

Wenn man nur set dummy on-for-timer 86400 ausführt, dann kommt folgenden Meldung.
Specified timeout too large, max is 15360

Somit bin ich wieder am Anfang von meinem Wunsch.
Wie kann man jeden zweiten Tag einen Dummy aktivieren?

chris1284

scheint aber eine geräteaspezifische zu sein.laut commandref zb bei cul_hm
on-for-timer <sec> - set the switch on for the given seconds [0-85825945].

wobei sich die frage stellt warum beim dummy eine solche beschränkung besteht. evtl lässt die sich ja auf anfrage beim entwickler vom dummy aufheben

MBPower

Kann das Problem denn jemand bestätigen oder hat jemand sogar eine Tipp für mich, wie ich das Problem lösen kann.
Ich bin doch sicher nicht der erste, der eine Gartenbewässerung nur alle zwei Tage laufen lassen möchte.

noanda

#8
Du Kannst die Tage einfach nummerieren, oder Du legst Dir einen Kalender in Google an und setzt dort die Events ein.

Also das mit den Tagen ist recht einfach 1|3|5....

Schau mal hier

http://forum.fhem.de/index.php/topic,13625.msg84772/topicseen.html#msg84772
Raspberry Pi - FHEM 5.5
HMLAN, RFXtrx433 , CUL 868
HM-CC-RT-DN, HM-SEC-MDIR , HM-SEC-SC-2
HM-LC-SW2-FM, ROTO_ZEL-STG-RM-FZS
ELRO440AB, Flamingo

MBPower

Danke Dir für die Tipps.
Das über die Wochentage zu lösen wäre möglich, aber nur mit einem Nachteil. Alle zwei Tage wird bei den Wochentagen nicht funktionieren. Da die Woche sieben Tage hat, bleibt immer eine Lücke und zwei Tage sind dann an oder aus. Alle zwei Tage kann man damit nicht steuern.
Das mit dem Google Kalender wäre eine Idee, aber ich möchte nach Möglichkeit unabhängig vom Internet sein und nicht einen zusätzliche Kalender pflegen.
Wahrscheinlich muss ich mit einem der Nachteile leben, denn eine perfekte funktionierende Lösung scheint es da nicht zu geben.

JensS

#10
Schalte dein Dummy doch mit WeekDayTimer. Gruß Jens
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

MBPower

Der WeekDayTimer hat aber doch den gleichen Nachteil, denn über Wochentage kann ich nicht jeden zweiten Tag schalten.

Montag: an
Dienstag: aus
Mittwoch: an
Donnerstag: aus
Freitag: an
Samstag: aus
Sonntag: an

Somit wäre Sonntag uind Montag die Bewässerung aktiviert und andersrum wäre Sonntag und Montag die Bewässerung deaktiviert.

JensS

#12
Sorry, da habe ich dich falsch verstanden. Was hältst du von at?
define Wasser_at *11:00:00 set Wasser_dummy toggle
Gruß Jens
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

MBPower

#13
define Wasser_at *11:00:00 set Wasser_dummy toggle

*edit*
Leider hilft mir das doch nicht, denn den Dummy frage ich in einem at ab und schalte bei on um XX Uhr für 20 Minuten die Bewässerung (einen 4fach Schaltaktor) und bei off bleibt die Bewässerung deaktiviert. Wenn ich den Dummy mit toggle schalte, dann kann ich mit value nicht mehr off oder on abfragen.

Vielleicht noch einmal kurz zusammengefasst.
Ich habe einen Homematic 4fach Schaltaktor, den ich über ein at schalte. Der Schaltbefehlt wird aber nur ausgeführt, wenn der Dummy aktiviert ist.
Zitatdefine CUL_HM_Bewaesserung_SW4_A1_at at *05:00 {if (Value("Wasser_dummy") eq "off") {fhem("set CUL_HM_Bewaesserung_SW4_A1 on-for-timer 1200")}}

Jetzt würde ich die Bewässerung gerne nur jeden zweite Tag laufen lassen, aber den Dummy möchte ich nicht immer manuell umstellen.

JensS

#14
define Wasser_at *11:00:00 IF ([dummy] eq "on")(set dummy off)else(set dummy on)
Müsste wie ein toggle funktionieren.
Gruß Jens

p.s. Wieso schaltest du den Aktuer an, wenn der Wasser-Dummy off ist?
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.