Temperatur als Variable?

Begonnen von yrwyddfa, 09 Oktober 2016, 18:19:18

Vorheriges Thema - Nächstes Thema

yrwyddfa

Hallo zusammen!

Ich habe für meine Konfiguration mehrere Zustände, um Energie zu sparen:

- Normale Tageseinstellung
- Nachteinstellung
- Abwesenheitseinstellung

Jetzt stelle ich zum Sommer und zum Winter die Temperaturen manuell hoch und runter und frage mich, wie sich das automatisieren ließe.

Anstatt
define n_Nachtschalter_off  notify Nachtschalter:off set MAX_Thermostat_WZ desiredTemperature 22 ;; set MAX_Thermostat_Kch desiredTemperature 22 ;; set MAX_Thermostat_BD desiredTemperature 20 ;; set MAX_Thermostat_AZH desiredTemperature 19 ;; set ITSwitch_3,ITSwitch_4,ITSwitch_5 on


würde ich lieber die Temperaturen übersichtlich an einem Platz stehen haben um sie dann raumspezifisch nur einmal eingeben zu müssen anstatt Zeile für Zeile die Temperatur suchen zu müssen.

Die Überlegung ist: Die Temperatur für MAX_Thermostat_BD z.B. wird einmal auf einen Wert 20 definiert, um dann je nach Zustand hoch oder runter gesetzt zu werden.

Also: Standard: 20 Grad
        Nachtzustand: -4 Grad
        Abwesenheit:  -8 Grad

Wenn ich nun zum Winter hin eine höhere Temperatur haben möchte, dass ich nur noch die Standardtemperatur ein mal anpassen muss und dann in allen Zuständen das automatisch übernommen wird (Bei Abwesenheit dann in etwa: set MAX_Thermostat_BD: ("Standard" -8)


Hat jemand eine Idee, wie sich das realisieren ließe? Gefunden habe ich leider nichts, was mich weitergebracht hat (oder ich habs einfach nicht verstanden, kann natürlich auch sein ^ ).

Vielen Dank schon mal ganz herzlich!
If every day has its number, Monday would be a zero division.

rubbertail

Wenn die alle MAX... heissen (und nix anderes so heisst), probier doch

set MAX.* desiredTemperature xy

Das wär ein Befehl für alle devices, die der Regex MAX.* entsprechen.

Oder

set room=Heizung desiredTemperature <xy>

Wenn die alle in einem room mit Namen "Heizung" sind.
FHEM auf Raspi, CUL433, CUL868, RFXTRX433e, CULCuBE
FRITZ: Fritzbox7590AX, 6xFritzDECT301, 10xFritzDECT200, FritzRepeater 6000
MAX!: Fensterkontakte
netatmo: Wetterstation & Thermostat
Milights, IT, Withings, HUE

yrwyddfa

Hi Rubbertail,

das mit den Wildcards ist grandios. Danke, darauf wär ich so gar nicht gekommen!

Ich habe für mich nun MAX_Thermostat_* gewählt (alle Max-Thermostate heißen so, das Ende variiert nach Raum), damit konnte ich den Code schon mal deutlichst verkürzen. Danke!

Ich würde aber sehr gern noch ein Schritt weiter gehen:

Ich frage mich, ob man das in dieser Art realisieren könnte, bin aber halt leider mit Syntax und co hoffnungslos überfordert:


my $var = 20

#Tag
set MAX_Thermostat_* $var

#Nacht
set MAX_Thermostat_* ($var - 4)


Sprich: ich definiere eine Standardtemperatur (die ich dann anpassen kann) und diese wird automatisch eingefügt. Geht das?
If every day has its number, Monday would be a zero division.

rubbertail

Mach doch nen Dummy mit den Werten als webcmds - und ein Notify, der das dann beim Verstellen über die Wildcards verteilt. Oder alternativ eine structure.

Alles weitere in der Dolu ;))
FHEM auf Raspi, CUL433, CUL868, RFXTRX433e, CULCuBE
FRITZ: Fritzbox7590AX, 6xFritzDECT301, 10xFritzDECT200, FritzRepeater 6000
MAX!: Fensterkontakte
netatmo: Wetterstation & Thermostat
Milights, IT, Withings, HUE

yrwyddfa

Nur mal ein kurzer Zwischenstand: Ich versuche gerade über structure der Sache etwas näher zu kommen und parallel meinen gesamten Code etwas zu vereinfachen. Wenn das alles so funktioniert, geb ich hier nochmal ein Feedback wie ich das gemacht habe :)
If every day has its number, Monday would be a zero division.

Hollo

Zitat von: yrwyddfa am 09 Oktober 2016, 18:19:18
...
Jetzt stelle ich zum Sommer und zum Winter die Temperaturen manuell hoch und runter und frage mich, wie sich das automatisieren ließe...
Theoretisch brauchst Du dafür doch nix verstellen.
Du hast eine Wunschtemp und im Winter wird dafür geheizt und im Sommer nicht weil es warm ist.

Für Tag, Nacht oder Abwesenheit setzt Du einfach Deine Wunschtemperatur.
Ob das ein Wert, Variable oder userreading ist , ist relativ Wurscht.
Das kannst Du probieren und nach eigenem Geschmack anpassen.
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

yrwyddfa

Hallo Hollo,
Danke für Deine Antwort! Anfangs dachte ich das auch, allerdings ist das hier ein altes Gebäude und wird vor allem im Winter etwas zugiger. Offensichtlich reicht das, um die gefühlte Temperatur trotz konstanter Realtemperatur runterzubringen. Tatsächlich müssen wir die Temperatur im Winter um etwa 2° C erhöhen.
If every day has its number, Monday would be a zero division.