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!
([Kaltwasser:Temperatur5] > ([Aussen:Temperatur]-5))....
dürfte die einfachste Lösung sein.
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?
https://forum.fhem.de/index.php/topic,76688.0/topicseen.html
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