FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Jogi am 15 September 2017, 12:58:34

Titel: Wie rechne ich mit Temperaturen und schreibe die Ergebnisse in einen dummy
Beitrag von: Jogi am 15 September 2017, 12:58:34
Hallo,
leider hat mich die Suche im Forum und auch bei Google nicht weiter gebracht, daher dieser post.

Ich habe in meinem Haus eine WW-Pumpe, die ich Abhängigkeit der Kaltwasser-Zulauftemperatur steuere.
Steht das Wasser im Zulauf (weil kein Wasser verbraucht wird) steigt die Wassertemperatur und ich schalte die Pumpe ein. Sinkt die Temperatur (weil Wasser fliesst und somit ein Verbrauch stattfindet) schaltet sich die Pumpe ein.
Das ganze steuere ich so:
#      WW-Pumpe AUS bei hoher KW-Temperatur
#
define HZ_Kaltwasserhoch DOIF ([Kaltwasser:Temperatur5] >21) (set Warmwasserpumpe off) DOELSEIF ([Kaltwasser:Temperatur5] <20.5) (set Warmwasserpumpe on)
attr HZ_Kaltwasserhoch room 99.Programm


Funktioniert soweit super. Jedoch verändert sich der Einschaltpunkt durch die Jahreszeit. Die Anlage steht auf dem Dachboden und dadurch ist die Kaltwassertemperatur im Sommer höher als im Winter. Dadurch muss ich den Einschaltwert ändern.
Das möchte ich automatisieren und dazu möchte ich die Raumtemperatur mit einbauen. Hintergrund ist, dass die Raumtemperatur maßgeblich beeinflusst, wie weit sich die Kaltwassertemperatur erhöht, wenn kein Verbrauch stattfindet. Im Sommer geht die Temperatur durchaus schon mal bis 28 Grad hoch, hingegen ist der maximale Punkt im Winter bei 22 Grad. Auch der untere Punkt verändert sich dadurch. 
Beispiel:
Der Einschaltpunkt der Pumpe soll so sein, dass er 5 Grad unter der Raumtemperatur liegt.
Das würde bedeuten, wenn die Raumtemperatur bei 26 Grad ist, dass die Pumpe dann abschaltet, wenn die KW-Temperatur 21 Grad übersteigt.
Um das zu realisieren gibt es bestimmt viele Wege. Jedoch kenne ich keinen davon!

Mein erster Ansatz ist, einen Dummy mit einem Wert zu befüllen, der sich aus der Subtraktion der Raumtemperatur minus z.B. 6 Grad ergibt.
Leider bekomme ich das aber nicht hin. ich habe viel probiert, aber nichts hat funktioniert.
Ich bin leider etwas planlos.

Es wäre super, wenn mir jemand einen Tipp geben könnte.
Danke!

Titel: Antw:Wie rechne ich mit Temperaturen und schreibe die Ergebnisse in einen dummy
Beitrag von: Damian am 15 September 2017, 13:03:05
([Kaltwasser:Temperatur5] > ([Aussen:Temperatur]-5))....

dürfte die einfachste Lösung sein.
Titel: Antw:Wie rechne ich mit Temperaturen und schreibe die Ergebnisse in einen dummy
Beitrag von: Jogi am 15 September 2017, 17:25:08
Zitat von: Damian am 15 September 2017, 13:03:05
([Kaltwasser:Temperatur5] > ([Aussen:Temperatur]-5))....

dürfte die einfachste Lösung sein.

Vielen Dank,
dadurch habe ich schon mal den Syntax wie ich so etwas eingeben muss.
Was mich aber noch interessieren würde: Wie kann ich das Ergebnis der Rechnung anzeigen lassen?
Z.B.: Wie kann ich den Wert von
([Aussen:Temperatur]-5))
in einen Dummy schreiben, den ich mir anzeigen lassen kann?



Titel: Antw:Wie rechne ich mit Temperaturen und schreibe die Ergebnisse in einen dummy
Beitrag von: MadMax-FHEM am 15 September 2017, 19:04:14
https://forum.fhem.de/index.php/topic,76688.0/topicseen.html
Titel: Antw:Wie rechne ich mit Temperaturen und schreibe die Ergebnisse in einen dummy
Beitrag von: Wzut am 15 September 2017, 19:11:28
also wenn ich errechnete Werte brauche dann kommen sie bei mir immer in ein userReading (ich mag Dummys nicht und schüttle auch oft den Kopf über den Dummywahn hier manchmal ... )
Zur Sache : Da du kein list von deinem Device gepostet hast das den Wert Temperatur besitzt, ein Schuss ins Blaue :
attr <name_deines_Temp_device> userReadings myTemp { return ReadingsNum($NAME,"Temperatur",0)-5; }
In der Hoffnung dein Device hat ein Reading mit dem Namen "Temperatur", i.d.R ist das eigenlich "temperature" . Ggf. also austauschen.
Mit dem neuen Reading myTemp kannst dann weiterarbeiten (notify, DoIf , etc) und anzeigen an beliebiger Stelle im Webfrontend mit readingsProxy