AUTO_MODE Max! Temperatur

Hi!

Der Thread ist zwar schon etwas älter, hat mir aber dennoch geholfen. Ich richte gerade ein paar MAX Thermostate bei mir ein und wollte jetzt den ECO Switch nutzen. Ich nutze Homegear mit einem NanoCul anstelle eines MAX Cubes und binde das an OpenHAB an.
Da es keinen ECO-MODE gibt, habe ich das Wechseln zur ECO Temperatur per Script in einer OpenHAB Rule umgesetzt: Beim Drücken der “ECO” Taste wird aus jedem Thermostat die ECO_TEMPERATURE gelesen und in die SET_TEMPERATURE geschrieben. Der AUTO-MODE wird nicht verlassen.

Jetzt meine Frage:
Ich möchte auch eine Rule für die “AUTO” Taste erstellen. Ich weiß nur nicht, wie ich wieder zum Wochenprogramm zurückkehren kann? Kurz in den MANU-MODE wechseln und wieder zurück in den AUTO-MODE bringt nichts. Muss ich den richtigen Wert aus dem Wochenprogramm raussuchen und wieder in SET_TEMPERATURE schreiben?! Das geht doch bestimmt einfacher - hoffe ich.

Danke für einen Hinweis :wink:
aleks

Wie setzt du denn die Auto-Mode? Ich meine mich zu erinnern, dass er bei mir auf die im Programm für die Uhrzeit vorgesehene Temperatur gesprungen ist.

Vielleicht erinnere ich mich aber auch falsch und die geplante Temperatur wurde erst beim nächsten Zeitpunkt, an dem sich was ändert, auf die des Wochenprogramms gesetzt.

Ich glaube ich habe aber auch einfach im Auto-Mode die Wunschtemperatur gesetzt und bin nie in den Manu-Mode gewechselt. Damit war diese Temperatur dann bis (z.B.) 23:00 gesetzt.

(Habe seit Längerem kein Max! mehr)

Hier mal meine Definition der OpenHAB Items für SET_TEMPERATURE und ECO_TEMPERATURE:

Number TH_Badezimmer_ECO_TEMP "ECO Temperatur [%.1f °C]" <Temperature_cold> { channel="homematic:HG-BC-RT-TRX-CyG-3:ee596c4d:OEQ2122374:1#ECO_TEMPERATURE" }
Number TH_Badezimmer_SET_TEMP "Temperatur Vorgabe [%.1f °C]" <Temperature> { channel="homematic:HG-BC-RT-TRX-CyG-3:ee596c4d:OEQ2122374:1#SET_TEMPERATURE" }

So wechsle ich zur ECO_TEMPERATURE in der OpenHAB Rule für den ECO Taster:

TH_Badezimmer_SET_TEMP.sendCommand(TH_Badezimmer_ECO_TEMP.state.toString)

Effekt am Thermostat:
Die angezeigte Soll-Temperatur wechselt von 21.0°C auf 16.5°C, “Auto” bleibt.

So wechsle ich in den MANU-MODE und zurück in den AUTO-MODE:

    TH_Badezimmer_ControlMode.sendCommand("MANU-MODE")
    Thread::sleep(5000) // 5 sec warten
    TH_Badezimmer_ControlMode.sendCommand("AUTO-MODE")

Effekt am Thermostat:

  1. Wechsel von “Auto” zu “Manu”, die angezeigte Soll-Temperatur bleibt bei 16.5°C
  2. Wechsel von “Manu” zu “Auto”, die angezeigte Soll-Temperatur bleibt weiter bei 16.5°C

Ich könnte natürlich einfach auf die gleiche Weise, wie ich die ECO_TEMPERATURE setze auch einfach die COMFORT_TEMPERATURE setzen, aber da das alle Räume betrifft und nicht unbedingt der Vorgabe aus dem Wochenprogramm zu der Zeit entspricht, ist das nicht optimal.

Ich hatte auch schon den Gedanken, dass ich vielleicht bis zum nächsten Wechsel im Wochenprogramm warten muss, aber dann könnte ich mir den “AUTO” Taster auch ganz sparen :man_shrugging:

So ist es aber. :wink: (zumindest bei Homematic)

Ich stelle z.B. alle Thermostate nachts per node-Blue auf Auto zurück.

:weary: …ich hab’s befürchtet

Das heißt aber auch, dass der “ECO-MODE” ja auch nur bis zum nächsten Wechsel im Wochenprogramm hält. Richtig?

So wie du ihn setzt, auf jeden Fall. Ich bin mir aber nicht sicher, was passiert, wenn man ihn über den Eco-Trigger setzt. (Im Grunde gehst du auf “Manu” mit der hinterlegten Eco-Temperatur.)

So werde ich das wohl jetzt lösen:
MANU-MODE plus ECO_TEMPERATURE setzen, wenn man den Eco-Taster drückt.
Und dann wieder zurück zum AUTO-MODE, wenn man den Auto-Taster drückt.

Wenn man letzteres am Thermostat macht, wechselt er gleich auch zur Temperatur aus dem Wochenprogramm, wenn ich mich nicht täusche :thinking:

Mach’s mit Node-Blue!

Ich habe fast alle Funktionen mittlerweile in Node-Blue, openHAB steuert noch das UI und ein paar Statistiken bei, der Rest bleibt in Homegear.

Okay, schaue ich mir mal an. Node-Blue kenne ich noch nicht. Danke für den Hinweis.

Baue grade unsere komplette Automation da drin. Hier hatte ich mal ein paar Sachen dazu geschrieben:

https://allgeek.de/2019/07/30/node-blue-und-die-evolution-von-homegear/

Moin! Ich denke ich habe es gelöst. Bisherige Tests waren erfolgreich.

Meine Anforderungen
Der ECO-Switch soll die Heizungen wie folgt steuern:

  • ECO-Taster
    a) Alle Thermostate sollen sofort auf ECO_TEMPERATURE geregelt werden.
    b) Der Wochenplan soll auf unbestimmte Zeit ausgesetzt werden.

  • AUTO-Taster
    c) Alle Thermostate sollen wieder nach dem Wochenplan gesteuert werden.
    d) Die Thermostate sollen sofort auf die momentan gültige Temperatur des Wochenplans geregelt werden.

Ich hatte die meisten Probleme mit d). Wenn ich den CONTROL_MODE auf den Wert “AUTO-MODE” gesetzt habe, hat das Thermostat zwar in der Anzeige auf “Auto” gewechselt, die Temperatur blieb aber unverändert. Wechselt man per Taste am Thermostat selbst auf “Auto” ist das anders. Dann holt es sich den momentan gültigen Wert aus dem Wochenplan.
Nach etwas weiterer Recherche hier im Forum und genauerem Lesen der Doku des Thermostats, setze ich das jetzt über die Action AUTO_MODE um. Siehe da: Das Thermostat wechselt nicht nur in den Auto Modus, es wechselt auch auf die momentan gültige Temperatur des Wochenplans! Genau was ich wollte :smiley:

Ebenfalls durch genaueres Lesen der Doku, fiel mir dann auch auf, dass der MANU_MODE gar keine Action ist, wie der Name eigentlich vermuten lässt (analog zu AUTO_MODE und BOOST_MODE), sondern eine Temperatur. Also schreibe ich die ECO_TEMPERATURE jetzt nicht mehr in SET_TEMPERATURE, sondern in den MANU_MODE.

So schaut meine OpenHAB Rule jetzt aus (beispielhaft für ein Thermostat):

rule "SwitchAllTo_AUTO_ECO"
when
    Item MAX_ECO_Switch received update
then
    val status = triggeringItem.state.toString
    // AUTO-MODE
    if(status.equals("ON")) {
        logDebug("eq3max", "SwitchAllTo_AUTO (" + status + ")")
        TH_Badezimmer_AUTO_MODE.sendCommand(ON)
    }
    // ECO-MODE
    else if(status.equals("OFF")) {
        logDebug("eq3max", "SwitchAllTo_ECO (" + status + ")")
        TH_Badezimmer_MODE.sendCommand("MANU-MODE")
        TH_Badezimmer_MANU_TEMP.sendCommand(TH_Badezimmer_ECO_TEMP.state.toString)

    }
end

Hier die Item Definitionen:

// MAX! ECO Switch
Switch MAX_ECO_Switch_ECO  { channel="homematic:HG-BC-PB-2-WM:ee596c4d:KEQ0373911:1#PRESS" }
Switch MAX_ECO_Switch_AUTO { channel="homematic:HG-BC-PB-2-WM:ee596c4d:KEQ0373911:2#PRESS" }
Switch MAX_ECO_Switch "MAX! ECO Switch"

// ECO_TEMPERATURE
Number TH_Badezimmer_ECO_TEMP "ECO Temperatur [%.1f °C]" <Temperature_cold> { channel="homematic:HG-BC-RT-TRX-CyG-3:ee596c4d:OEQ2122374:1#ECO_TEMPERATURE" }

// CONTROL_MODE
String TH_Badezimmer_MODE "Modus" <Heating> { channel="homematic:HG-BC-RT-TRX-CyG-3:ee596c4d:OEQ2122374:1#CONTROL_MODE" }

// AUTO_MODE
Switch TH_Badezimmer_AUTO_MODE { channel="homematic:HG-BC-RT-TRX-CyG-3:ee596c4d:OEQ2122374:1#AUTO_MODE" }

// MANU_MODE
Number TH_Badezimmer_MANU_TEMP "Manuell [%.1f °C]" <Temperature> { channel="homematic:HG-BC-RT-TRX-CyG-3:ee596c4d:OEQ2122374:1#MANU_MODE" }

Und hier die Rules, die die beiden Taster des ECO Switch auf ein Switch-Item umlegen:

rule "MAXECOSwitch_ECO_Pressed"
when
    Item MAX_ECO_Switch_ECO received update
then
    val status = triggeringItem.state.toString
    MAX_ECO_Switch.sendCommand(OFF)
    logDebug("eq3max", "MAX_ECO_Switch_ECO: " + status)
end


rule "MAXECOSwitch_AUTO_Pressed"
when
    Item MAX_ECO_Switch_AUTO received update
then
    val status = triggeringItem.state.toString
    MAX_ECO_Switch.sendCommand(ON)
    logDebug("eq3max", "MAX_ECO_Switch_AUTO: " + status)
end

@job @pmayer In Node-Blue habe ich jetzt mal reingeschaut. Sieht sehr interessant aus. Da werde ich mich definitiv genauer mit befassen.

2 Likes