Doif bereitet Kopfzerbrechen benötige Hilfe

Begonnen von tagedieb, 18 November 2016, 18:12:41

Vorheriges Thema - Nächstes Thema

tagedieb

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
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

l2r

#1
([[Fixtime]-[01:00]])

sonst hast du einen Zeitbereicht

http://fhem.de/commandref_DE.html#DOIF_Indirekten_Zeitangaben
Wissen ist Macht.
Ich weiß nix.
Macht nix.

tagedieb

hallo l2r

wenn ich das ändere bekomme ich leider eine fehlermeldung device does not exist: 01: [01:00]
gruss tagedieb

FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

Ellert

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?

l2r

da war ich auch gerade....;-)

hätte ich da mal eher geschaut anstatt aus dem Gedächtnis zu posten ;)
Wissen ist Macht.
Ich weiß nix.
Macht nix.

tagedieb

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
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

l2r

#6
([([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 ;-)
Wissen ist Macht.
Ich weiß nix.
Macht nix.

tagedieb

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
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

Per

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
)

l2r

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
Wissen ist Macht.
Ich weiß nix.
Macht nix.

tagedieb

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
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

l2r

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.
Wissen ist Macht.
Ich weiß nix.
Macht nix.

tagedieb

hallo und guten morgen

danke - jetzt ist der Groschen gefallen  :D

Ich wünsche einen schönen Tag
gruss tagedieb
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

Per

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.