FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: tagedieb am 18 November 2016, 18:12:41

Titel: Doif bereitet Kopfzerbrechen benötige Hilfe
Beitrag von: tagedieb am 18 November 2016, 18:12:41
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
Titel: Antw:Doif bereitet Kopfzerbrechen benötige Hilfe
Beitrag von: l2r am 18 November 2016, 18:15:07
([[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)
Titel: Antw:Doif bereitet Kopfzerbrechen benötige Hilfe
Beitrag 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

Titel: Antw:Doif bereitet Kopfzerbrechen benötige Hilfe
Beitrag von: Ellert am 18 November 2016, 18:35:57
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?
Titel: Antw:Doif bereitet Kopfzerbrechen benötige Hilfe
Beitrag von: l2r am 18 November 2016, 18:36:57
da war ich auch gerade....;-)

hätte ich da mal eher geschaut anstatt aus dem Gedächtnis zu posten ;)
Titel: Antw:Doif bereitet Kopfzerbrechen benötige Hilfe
Beitrag von: tagedieb am 18 November 2016, 19:04:04
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
Titel: Antw:Doif bereitet Kopfzerbrechen benötige Hilfe
Beitrag von: l2r am 18 November 2016, 19:17:24
([([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 ;-)
Titel: Antw:Doif bereitet Kopfzerbrechen benötige Hilfe
Beitrag von: tagedieb am 18 November 2016, 19:46:31
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
Titel: Antw:Doif bereitet Kopfzerbrechen benötige Hilfe
Beitrag von: Per am 21 November 2016, 11:47:18
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
)
Titel: Antw:Doif bereitet Kopfzerbrechen benötige Hilfe
Beitrag von: l2r am 21 November 2016, 12:05:13
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
Titel: Antw:Doif bereitet Kopfzerbrechen benötige Hilfe
Beitrag von: tagedieb am 21 November 2016, 17:38:49
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
Titel: Antw:Doif bereitet Kopfzerbrechen benötige Hilfe
Beitrag von: l2r am 21 November 2016, 22:00:53
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.
Titel: Antw:Doif bereitet Kopfzerbrechen benötige Hilfe
Beitrag von: tagedieb am 22 November 2016, 09:23:36
hallo und guten morgen

danke - jetzt ist der Groschen gefallen  :D

Ich wünsche einen schönen Tag
gruss tagedieb
Titel: Antw:Doif bereitet Kopfzerbrechen benötige Hilfe
Beitrag von: Per am 23 November 2016, 13:20:38
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.