Hallo und guten abend
ich habe mi´r ein Doif erstellt mit einer Fixtime - punkt 1 funktioniert wie gewünscht, doch der 2 Schritt funktioniert nicht
was habe ich übersehen?
Text aus DEF
([Fixtime]-[01:00]) (set Buderus WaterDayTemp 50; set Heizung_Sportraum_Clima controlMode auto;set Heizung_Sportraum_Clima desired-temp 23.0)DOELSE ([Fixtime]+ [00:05])(set Relais_Sportraum_06 on; set Relais_Sportraum_04 on; set AntenneBayernS2plus on) DOELSE ([Fixtime]+ [01:00]) (set Buderus WaterDayTemp 30;set Heizung_Sportraum_Clima controlMode auto; set Heizung_Sportraum_Clima desired-temp 17,5;set Relais_Sportraum_06 off ;set Relais_Sportraum_04 off; set AntenneBayernS2plus off)
es soll 1 Stunde vor dem "termin" die Heizung in diesem Raum angehen und das warme Wasser -(funktioniert)
5 minuten nach dem Fixtermin soll das Licht eingeschaltet werden und das Laufband Strom bekommen und das Radio angehen (funktioniert nicht) - 1 Stunde nach dem "termin" soll alles wieder zurück gesetzt werden
muss ich hier zwei DOIFS erstellen oder sollte das auch mit einem funktionieren?
über helfende Hinweise würde ich mich freuen, denn ich sehe jetzt den Wald vor lauter Bäumen nicht mehr
Danke im voraus
tagedieb
([[Fixtime]-[01:00]])
sonst hast du einen Zeitbereicht
http://fhem.de/commandref_DE.html#DOIF_Indirekten_Zeitangaben (http://fhem.de/commandref_DE.html#DOIF_Indirekten_Zeitangaben)
hallo l2r
wenn ich das ändere bekomme ich leider eine fehlermeldung device does not exist: 01: [01:00]
gruss tagedieb
Zitat von: tagedieb am 18 November 2016, 18:28:11
hallo l2r
wenn ich das ändere bekomme ich leider eine fehlermeldung device does not exist: 01: [01:00]
gruss tagedieb
Hier sind einige Rechenbeispiele: http://fhem.de/commandref_DE.html#DOIF_Zeitsteuerung_mit_Zeitberechnung , wenn Du die mit Deinen Angaben vergleichst, findest Du den Fehler bestimmt selbst, oder?
da war ich auch gerade....;-)
hätte ich da mal eher geschaut anstatt aus dem Gedächtnis zu posten ;)
Hallo
sorry ich habe eine Blockade - ich "sehe" es nicht :-[
da ich ja, wie im Beispiel - eine Stunde vor der Zeiteinstellung die Heizung hochdrehen möchte
gruss tagedieb
([([Fixtime]-[01:00])]) (set ...
zu rechnen muss du runde Klammern benutzen, ansonsten handelt es sich um ein Intervall
also erste Runde Klammer für den Bedingungsteil vom DOIF, dann die Eckige für eine Zeit, dann die Runde, da du ja Rechnen möchtest, dann die eckige für das Device...
ich hoffe der Groschen ist gefallen, auch wenns wild aussieht ;-)
Dankeschön :-[
nach diesem Hinweis, jetzt wusste ich ersteinmal, worauf ich achten muss, denn ich habe nur die Klammern für das Bedienungsteil berücksichtigt
Danke
es ist schön, das hier im Forum nicht "nur" präsentiert wird, sondern auch die Fehler verdeutlicht und erklärt werden
nochmals allen danke
schönen abend
gruss tagedieb
Viele Antworten, die eigentliche fehlt:
du hast DOELSE (und das sogar mehrfach!) statt DOELSEIF, damit ist das dahinter auch keine Bedingung, welche eine Zeit sein kann, sondern ein Befehl.
Zweites: im DOIF Komma statt Semikolon.
Nochwas: Zeilenumbrüche (und Einrückungen) machen das Ganze besser lesbar und erhöhen die Bereitschaft Anderer, sich damit zu befassen. Hilft aber auch dir, evtl. Fehler zu finden.
([Fixtime]-[01:00]) (
set Buderus WaterDayTemp 50,
set Heizung_Sportraum_Clima controlMode auto,
set Heizung_Sportraum_Clima desired-temp 23.0
)
DOELSE ([Fixtime]+ [00:05]) (
set Relais_Sportraum_06 on,
set Relais_Sportraum_04 on,
set AntenneBayernS2plus on
)
DOELSE ([Fixtime]+ [01:00]) (
set Buderus WaterDayTemp 30,
set Heizung_Sportraum_Clima controlMode auto,
set Heizung_Sportraum_Clima desired-temp 17,5,
set Relais_Sportraum_06 off,
set Relais_Sportraum_04 off,
set AntenneBayernS2plus off
)
du sagst es... soweit hatte ich gar nicht gelesen...;)
@Per: Wenn du schon Semikolon durch Komma ersetzt, dann mach doch bitte auch auch DOELSE DOELSEIF und setz eben die Klammern bei der Zeit...
Gruß Michael
Hallo Ihr zwei
danke für die Erklärung
wenn ich das richtig verstanden habe , muss ich die Zeit als Bedingng setzen und nich als Befehl?
also : 1 Stunde vor dem Termin, stelle die Heizung an
([([Fixtime]-[01:00])])
(set .......)
wenn es 5 Minuten vor dem Termin ist, schalte das Licht an und die Geräte
DOELSEIF
([([Fixtime]-[00:05])])
(set......)
und wenn es eine Stunde nach dem Termin ist, schalte alles wieder zurück
DOELSEIF
([([Fixtime]+[01:00])])
(set ......)
warum ist das DOELSEIF hier günstiger als das DOELSE?
In der Dok fand ich nämlich Beispiele mit DOELSE?
Gruss tagedieb
du willst ja zu genau einer bestimmten Zeit schalten. Das definierst du im DOELSEIF. DOELSE bildet quasi den SONST-Fall für alles andere ab.
hallo und guten morgen
danke - jetzt ist der Groschen gefallen :D
Ich wünsche einen schönen Tag
gruss tagedieb
Zitat von: tagedieb am 21 November 2016, 17:38:49warum ist das DOELSEIF hier günstiger als das DOELSE?
Günstiger ist der falsche Begriff. Nur DOELSEIF ermöglicht weitere Bedingungen, DOELSE ist, wie schon geschrieben, der übrig bleibende Rest, daher ohne weitere Bedingungen.