FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: MichaelK-T am 25 März 2015, 10:33:30

Titel: Zeitschaltuhr per AT funktioniert aber nicht
Beitrag von: MichaelK-T am 25 März 2015, 10:33:30
Hallo Gemeinde,

ich habe mal eine Frage und zwar habe ich eine Zeitschaltuhr für meine Pufferspeicher Pumpe angelegt sie soll Nachts um 03:00 Uhr aller x Minuten für x Minuten angehen aber sie tut es einfach nicht.
Kann mir vielleicht jemand sagen was ich für ein Fehler gemacht habe?

FHEM Config:
attr global userattr devStateIcon devStateStyle icon sortby webCmd widgetOverride
attr global autoload_undefined_devices 1
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global motd SecurityCheck:\
\
WEB,WEBphone,WEBtablet has no basicAuth attribute.\
telnetPort has no password/globalpassword attribute.\
\
Restart FHEM for a new check if the problem is fixed,\
or set the global attribute motd to none to supress this message.\

attr global statefile ./log/fhem.save
attr global updateInBackground 1
attr global verbose 3

define telnetPort telnet 7072 global

define WEB FHEMWEB 8083 global

define WEBphone FHEMWEB 8084 global
attr WEBphone stylesheetPrefix smallscreen

define WEBtablet FHEMWEB 8085 global
attr WEBtablet stylesheetPrefix touchpad

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog

define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y.log

define eventTypes eventTypes ./log/eventTypes.txt

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify FRM_0:reinit.*|global:INITIALIZED|initialUsbCheck:addRegexpPart.* usb create
define OWio1 OWX /dev/ttyUSB0
attr OWio1 verbose 4
define OWX_10_E49DE7020800 OWTHERM DS1820 E49DE7020800
attr OWX_10_E49DE7020800 IODev OWio1
attr OWX_10_E49DE7020800 alias Heizung Rücklauf
attr OWX_10_E49DE7020800 model DS1820
attr OWX_10_E49DE7020800 room Heizungsraum
attr OWX_10_E49DE7020800 tempHigh 75
attr OWX_10_E49DE7020800 tempLow 70
define OWX_10_D216E7020800 OWTHERM DS1820 D216E7020800
attr OWX_10_D216E7020800 IODev OWio1
attr OWX_10_D216E7020800 alias Ofen Vorlauf
attr OWX_10_D216E7020800 loglevel 1
attr OWX_10_D216E7020800 model DS1820
attr OWX_10_D216E7020800 room Heizungsraum
attr OWX_10_D216E7020800 tempHigh 75
attr OWX_10_D216E7020800 tempLow 70
define OWX_10_CA1BE8020800 OWTHERM DS1820 CA1BE8020800
attr OWX_10_CA1BE8020800 IODev OWio1
attr OWX_10_CA1BE8020800 alias Heizung Vorlauf
attr OWX_10_CA1BE8020800 model DS1820
attr OWX_10_CA1BE8020800 room Heizungsraum
attr OWX_10_CA1BE8020800 tempHigh 75
attr OWX_10_CA1BE8020800 tempLow 70
define OWX_10_AE5EB5020800 OWTHERM DS1820 AE5EB5020800
attr OWX_10_AE5EB5020800 IODev OWio1
attr OWX_10_AE5EB5020800 alias Pufferspeicher
attr OWX_10_AE5EB5020800 model DS1820
attr OWX_10_AE5EB5020800 room Heizungsraum
attr OWX_10_AE5EB5020800 tempHigh 75
attr OWX_10_AE5EB5020800 tempLow 70
define OWX_10_3344B5020800 OWTHERM DS1820 3344B5020800
attr OWX_10_3344B5020800 IODev OWio1
attr OWX_10_3344B5020800 alias Boiler/Badewasser
attr OWX_10_3344B5020800 icon sani_supply_temp
attr OWX_10_3344B5020800 model DS1820
attr OWX_10_3344B5020800 room Heizungsraum
attr OWX_10_3344B5020800 tempHigh 75
attr OWX_10_3344B5020800 tempLow 70
define FileLog_OWX_10_D216E7020800 FileLog ./log/OWX_10_D216E7020800-%Y.log OWX_10_3344B5020800:temperature:.*|OWX_10_AE5EB5020800:temperature:.*|OWX_10_CA1BE8020800:temperature:.*|OWX_10_D216E7020800|OWX_10_D216E7020800:temperature:.*|OWX_10_E49DE7020800:temperature:.*
attr FileLog_OWX_10_D216E7020800 logtype text
attr FileLog_OWX_10_D216E7020800 room Heizungsraum
define SVG_FileLog_OWX_10_D216E7020800_1 SVG FileLog_OWX_10_D216E7020800:SVG_FileLog_OWX_10_D216E7020800_1:CURRENT
attr SVG_FileLog_OWX_10_D216E7020800_1 room Heizungsraum
define Pumpe_klein RPI_GPIO 2
attr Pumpe_klein direction output
attr Pumpe_klein poll_interval 5
attr Pumpe_klein room Heizungsraum
define Pumpe__Kreislauf_klein DOIF ([OWX_10_D216E7020800:temperature] > 30) (set Pumpe_klein on) DOELSE (set Pumpe_klein off)
attr Pumpe__Kreislauf_klein devStateIcon cmd_1:FS20.on cmd_2:FS20.off
attr Pumpe__Kreislauf_klein icon sani_pump
attr Pumpe__Kreislauf_klein room Heizungsraum
define Pumpe_Pufferspeicher RPI_GPIO 3
attr Pumpe_Pufferspeicher direction output
attr Pumpe_Pufferspeicher poll_interval 5
attr Pumpe_Pufferspeicher room Heizungsraum
define Puffer_automatisch DOIF ([OWX_10_D216E7020800:temperature] > 65) (set Pumpe_Pufferspeicher on) DOELSE (set Pumpe_Pufferspeicher off)
attr Puffer_automatisch devStateIcon cmd_1:FS20.on cmd_2:FS20.off
attr Puffer_automatisch icon sani_buffer_temp_all
attr Puffer_automatisch room Heizungsraum
define FileLog_Pumpe_Pufferspeicher FileLog ./log/Pumpe_Pufferspeicher-%Y.log Pumpe_Pufferspeicher|Pumpe_Pufferspeicher:state:.*|Pumpe_klein:Pinlevel:.*|Pumpe_klein:state:.*
attr FileLog_Pumpe_Pufferspeicher logtype text
attr FileLog_Pumpe_Pufferspeicher room Heizungsraum
define PumpePufferNachtStart at *03:00:00 {  { fhem("define PumpePufferNachtStart at +*{28}00:15:00 set Pumpe_Pufferspeicher on-for-timer 400") } }
attr PumpePufferNachtStart room Heizungsraum


Log im Zeitraum:
2015.03.24 03:00:00 3: define PumpePufferNachtStart at +*{28}00:15:00 set Pumpe_Pufferspeicher on-for-timer 400 : PumpePufferNachtStart already defined, delete it first
2015.03.24 03:00:00 3: PumpePufferNachtStart: PumpePufferNachtStart already defined, delete it first
2015.03.25 03:00:00 3: define PumpePufferNachtStart at +*{28}00:15:00 set Pumpe_Pufferspeicher on-for-timer 400 : PumpePufferNachtStart already defined, delete it first
2015.03.25 03:00:00 3: PumpePufferNachtStart: PumpePufferNachtStart already defined, delete it first


Ich denke das ich da was umbenennen muss oder?

Vielen Dank schon mal für eure Hilfe
Titel: Antw:Zeitschaltuhr per AT funktioniert aber nicht
Beitrag von: Icinger am 25 März 2015, 11:16:33
define PumpePufferNachtStart at *03:00:00 {  { fhem("define PumpePufferNachtStart at +*{28}00:15:00 set Pumpe_Pufferspeicher on-for-timer 400") } }

Du musst dem > fhem("define PumpePufferNachtStart at +*< einen anderen Namen geben, da du diesen Namen ja schon vergeben hast.

lg, Ici
Titel: Antw:Zeitschaltuhr per AT funktioniert aber nicht
Beitrag von: Hollo am 25 März 2015, 11:17:59
Du benutzt den identischen Namen für das at um 3 Uhr und das damit definierte at für alle 15 Minuten.
Benenn das 2. mal z.B. auf PumpePufferNachtIntervall um und probier neu.

EDIT: Ici war schneller :-)
Titel: Antw:Zeitschaltuhr per AT funktioniert aber nicht
Beitrag von: MichaelK-T am 26 März 2015, 07:59:19
Vielen Dank es funktioniert.
Eine Frage habe ich noch wie bekomme ich das Temperaturabhängig geschallten? Sagen wir mal das wenn der Pufferspeicher z. B. nur noch 30 °C hat das die Zeitschaltuhr gar nicht erst an geht.

Danke schon mal im vorraus.

Gruß Micha
Titel: Antw:Zeitschaltuhr per AT funktioniert aber nicht
Beitrag von: MichaelK-T am 28 März 2015, 19:10:26
Hat keiner eine Idee?
Habe schon im Wiki gesucht aber leider nichts gefunden.... :-\
Titel: Antw:Zeitschaltuhr per AT funktioniert aber nicht
Beitrag von: rudolfkoenig am 28 März 2015, 22:12:10
Die Aufgabe, etwas zw. 3:00 und 10:00 auszufuehren geht auch mit einem einzigen at, wenn man das disabledForIntervals Attribut verwendet (Achtung, 2 Intervalle notwendig: 00:00-02:59 10:00-23:59).

Temperaturabhaengig kann man schalten, wenn man im Perl den Wert abfragt:
{ fhem("set Pumpe_Pufferspeicher on-for-timer 400") if(ReadingsNum("Pufferspeicher","temperature",10) > 30) }

Wenn man diese Zeile, wie im urspruenglichen Beispiel, innerhalb eines fhem() Aufrufes hinschreiben muss, dann muss man die " mit \" schuetzen, oder man verwendet im Aeusseren fhem() ' statt ". Das alles ist nicht notwendig, wenn man die Aufgabe mit einem at und disabledForIntervals loest.