Hauptmenü

Ereigniss wird nicht ausgelöst

Begonnen von B4unty, 18 Juni 2017, 10:12:35

Vorheriges Thema - Nächstes Thema

B4unty

Hallo zusammen ich möchte gerne meine pumpe bei temperatur unterschied schalten lassen. aktuell mist er bzw errechnet er 20.4 aber schaltet die pumpe nicht an. habe ich was falsch geschrieben?

define T_Difpool DOIF ( [8:00-21:30] and [T_Solar:temperature]-[T_Pool:temperature] < 15 ) (set Poolpumpe on) DOELSE (set Poolpumpe off)
attr T_Difpool group Schaltung
attr T_Difpool room Pool
attr T_Difpool state {([T_Solar:temperature]-[T_Pool:temperature])}
attr T_Difpool stateFormat {sprintf "%.1f °C", ReadingsVal($name, "state", 0)}


der mess interwall liegt bei den sensoren bei 360 also 10 min fals es relevant ist.

Per

1. Was sagt er denn, wenn einer dieser Events auftritt? Ein List wäre da hilfreich.
2. Ich (!) würde die Berechnung nochmal klammern.

Damian

Zitat von: Per am 18 Juni 2017, 10:34:23
1. Was sagt er denn, wenn einer dieser Events auftritt? Ein List wäre da hilfreich.
2. Ich (!) würde die Berechnung nochmal klammern.

"kleiner" hat höheren Rang als "Minuszeichen"

da hilft nur richtig klammern ;)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

B4unty

 ::) oh mann fehler gefunden > anstelle von <  >:(
manchmal sollte mann drei mal schauen Danke trotzdem

Damian

Zitat von: B4unty am 18 Juni 2017, 11:06:01
::) oh mann fehler gefunden > anstelle von <  >:(
manchmal sollte mann drei mal schauen Danke trotzdem

und Klammern setzen:

([T_Solar:temperature]-[T_Pool:temperature])>15 )
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

B4unty

#5
Habe es jetzt etwas erweitert um nicht in einer Badewanne zu Baden geht die Steuerung ab 25 Crad ins nicht beachten, ab 45Crad Solaranlagen temperatur spühlt er einmal durch, und wenn es nachts kälter in der anlage ist spühlt er das kalte wasser in den Pool. Und es gab zwischendurch auch eine zweite Pumpe für Solar. Sollte ich da jetzt ein fähler in der Programmierung haben bin ich für infos dankbar. Gerne hätte ich noch eine log zu den diferenz temperaturen aber da muss ich noch suchen wie das geht.

define T_Difpool DOIF ( [8:00-21:30] and [T_Pool:temperature] < 25 and ([T_Solar:temperature]-[T_Pool:temperature]) > 20 ) (set SolarPumpe on-for-timer 360) DOELSEIF ( [8:00-21:30] and [T_Solar:temperature] > 45 ) (set SolarPumpe on-for-timer 180) DOELSEIF ( [22:00-7:30] and [T_Pool:temperature] < 23 and ([T_Pool:temperature]-[T_Solar:temperature]) > 10 ) (set SolarPumpe on-for-timer 180)
attr T_Difpool group Schaltung
attr T_Difpool icon icoTempWasser
attr T_Difpool room Pool
attr T_Difpool state {([T_Solar:temperature]-[T_Pool:temperature])}
attr T_Difpool stateFormat {sprintf "%.1f °C", ReadingsVal($name, "state", 0)}


diesen teil möchte ich in eine log schreiben bei temperatur diferenz von 1 crad damit die log nicht risieg wird.
attr T_Difpool state {([T_Solar:temperature]-[T_Pool:temperature])}

Kann ich die log so erzeugen? oder muss ich da was anders schreiben?
define FileLog_T_Difpool FileLog ./log/T_Difpool-%Y.log T_Difpool
attr FileLog_T_Difpool logtype temp4:Temp,text
attr T_Difpool event-on-change-reading temperature:1.0
attr FileLog_T_Difpool room ZZ_Temp
define SVG_T_Difpool SVG FileLog_T_Difpool:SVG_T_Difpool:CURRENT
attr SVG_T_Difpool label "T_Difpool Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr SVG_T_Difpool room ZZ_TempGraf