Mal eine Verständnisfrage !!!
Ich betreibe seit diesem Winter die MAX! EQ-3 Komponenten und abgesehen von der "Alzheimer"-Krankheit des Cubes funktioniert es auch wunderbar.
Folgendes Problem stellt sich nach wie vor:
Wenn ich die Steuerung im AUTOMATIC-Mode betreibe und z.B. 21°C eingestellt habe, kann ich mittels Wandthermostat die Raumtemperatur verändern (z.B. 19°C) und es wird bis zum nächsten regulären Zyklus im Wochenprogramm (z.B. Nachtabsenkung) mit dieser Temperatur weitergeregelt.
Wenn ich über ALEXA (über oH) die Temperatur ändere -> funktioniert genau so.
ABER: Wenn ich über die Sitemap über das Item "set_temp" die Temperatur ändere dann wird nach ca. 1 min wieder der alte Wert aus dem Wochenprogramm eingestellt.
Ist es überhaupt Möglich über die Sitemap die Temperatur zu ändern? (über Sprachbefehl geht es ja!

Things:
Code: Alles auswählen
Thing wallthermostat NEQ0086171 "Wandthermostat" @ "Wohn-/Esszimmer" [ serialNumber="NEQ0086171"] // Wandthermostat
Thing thermostat MKF0049152 "Thermostatventil" @ "Wohnzimmer" [ serialNumber="MKF0049152"] // Thermostatventil
Thing thermostat MEQ1464798 "Thermostatventil" @ "Esszimmer" [ serialNumber="MEQ1464798"] // Thermostatventil
Code: Alles auswählen
// Wandthermostat (NEQ0086171)
Number:Temperature Max_NEQ0086171_acttemp
(grpHeizung,grpHeizungWohnEsszimmer)
["CurrentTemperature"]
{channel="max:wallthermostat:NEQ1633554:NEQ0086171:actual_temp"}
Number:Temperature Max_NEQ0086171_settemp
(grpHeizung,grpHeizungWohnEsszimmer,grpHeizungSollTmp)
["TargetTemperature"]
{channel="max:wallthermostat:NEQ1633554:NEQ0086171:set_temp"}
Switch Max_NEQ0086171_battlow
(grpHeizung,grpHeizungWohnEsszimmer,grpBatterie)
{channel="max:wallthermostat:NEQ1633554:NEQ0086171:battery_low"}
String Max_NEQ0086171_mode
(grpHeizung,grpHeizungWohnEsszimmer,grpHeizungMode)
{channel="max:wallthermostat:NEQ1633554:NEQ0086171:mode"}
// Thermostatventil Wohnzimmer (MKF0049152)
Number:Temperature Max_MKF0049152_acttemp
(grpHeizung,grpHeizungWohnEsszimmer)
["CurrentTemperature"]
{channel="max:thermostat:NEQ1633554:MKF0049152:actual_temp"}
Number:Temperature Max_MKF0049152_settemp
(grpHeizung,grpHeizungWohnEsszimmer,grpHeizungSollTmp)
["TargetTemperature"]
{channel="max:thermostat:NEQ1633554:MKF0049152:set_temp"}
Number Max_MKF0049152_valve
(grpHeizung,grpHeizungWohnEsszimmer)
{channel="max:thermostat:NEQ1633554:MKF0049152:valve"}
Switch Max_MKF0049152_battlow
(grpHeizung,grpHeizungWohnEsszimmer,grpBatterie)
{channel="max:thermostat:NEQ1633554:MKF0049152:battery_low"}
String Max_MKF0049152_mode
(grpHeizung,grpHeizungWohnEsszimmer,grpHeizungMode)
{channel="max:thermostat:NEQ1633554:MKF0049152:mode"}
// Thermostatventil Esszimmer (MEQ1464798)
Number:Temperature Max_MEQ1464798_acttemp
(grpHeizung,grpHeizungWohnEsszimmer,grpEsszimmer)
["CurrentTemperature"]
{channel="max:thermostat:NEQ1633554:MEQ1464798:actual_temp"}
Number:Temperature Max_MEQ1464798_settemp
(grpHeizung,grpHeizungWohnEsszimmer,grpEsszimmer,grpHeizungSollTmp)
["TargetTemperature"]
{channel="max:thermostat:NEQ1633554:MEQ1464798:set_temp"}
Number Max_MEQ1464798_valve
(grpHeizung,grpHeizungWohnEsszimmer,grpEsszimmer)
{channel="max:thermostat:NEQ1633554:MEQ1464798:valve"}
Switch Max_MEQ1464798_battlow
(grpHeizung,grpHeizungWohnEsszimmer,grpEsszimmer,grpBatterie)
{channel="max:thermostat:NEQ1633554:MEQ1464798:battery_low"}
String Max_MEQ1464798_mode
(grpHeizung,grpHeizungWohnEsszimmer,grpEsszimmer,grpHeizungMode)
{channel="max:thermostat:NEQ1633554:MEQ1464798:mode"}
Code: Alles auswählen
Frame item=Max_NEQ0086171_acttemp label="Wohn-/Esszimmer [ %.1f °C ]"
{
Setpoint item=Max_NEQ0086171_settemp
label="Temperatur"
labelcolor=[Max_NEQ0086171_mode=="MANUAL"="#008080"]
minValue=5.0 maxValue=25.0 step=0.5
icon="temperature"
Text item=Max_NEQ0846023_contact
label="Terrasse [MAP(max.map):%s]"
visibility=[Max_NEQ0846023_contact!="CLOSED"]
icon="windoor"
Text item=Max_JEQ0506519_contact
label="Fenster (Esszimmer) [MAP(max.map):%s]"
visibility=[Max_JEQ0506519_contact!="CLOSED"]
icon="window"
Text item=Max_MKF0049152_valve
label="Heizkörper (Wohnzimmer) [%d %%]"
visibility=[Max_MKF0049152_valve!="0"]
icon="temp_up"
Text item=Max_MKF0049152_valve
label="Heizkörper (Esszimmer) [%d %%]"
visibility=[Max_MEQ1464798_valve!="0"]
icon="temp_up"
}
Rules:
Code: Alles auswählen
rule "Betriebsart"
when
Item Betr_Art received command
then
switch (receivedCommand)
{
case 1 : {
// Automatik -> Wochenplan (Temperaturabsenkung bei Abwesenheit)
logInfo(filename,"Heizung: Betriebswahl -> Automatik")
if(grpPraesenz.state == ON) {
logInfo(filename,"Heizung: Automatik -> aktiv")
grpHeizungMode.members.forEach[item | item.sendCommand("AUTOMATIC")
Thread::sleep(5000)
]
grpHeizungMode.postUpdate("AUTOMATIC")
}
if(grpPraesenz.state == OFF) {
// Manuell -> Absenkbetrieb (gew. Tempertur)
logInfo(filename,"Heizung: Automatik -> passiv")
grpHeizungSollTmp.members.forEach[item | item.sendCommand(Temp_Abs.state as Number)
Thread::sleep(5000)
]
grpHeizungMode.members.forEach[item | item.sendCommand("MANUAL")
Thread::sleep(5000)
]
grpHeizungMode.postUpdate("MANUAL")
}
}
case 2 : {
// Automatik -> Wochenplan
logInfo(filename,"Heizung: Betriebswahl -> Wochenplan")
grpHeizungMode.members.forEach[item | item.sendCommand("AUTOMATIC")
Thread::sleep(5000)
]
grpHeizungMode.postUpdate("AUTOMATIC")
}
case 3 : {
// Manuell -> Absenkbetrieb (gew. Tempertur)
logInfo(filename,"Heizung: Betriebswahl -> Abgesenkt")
grpHeizungSollTmp.members.forEach[item | item.sendCommand(Temp_Abs.state as Number)
Thread::sleep(5000)
]
grpHeizungMode.members.forEach[item | item.sendCommand("MANUAL")
Thread::sleep(5000)
]
grpHeizungMode.postUpdate("MANUAL")
}
case 4 : {
// Manuell -> Urlaubsbetrieb (gew. Tempertur)
logInfo(filename,"Heizung: Betriebswahl -> Urlaub")
grpHeizungMode.members.forEach[item | item.sendCommand("MANUAL")
Thread::sleep(5000)
]
grpHeizungSollTmp.members.forEach[item | item.sendCommand(Temp_Url.state as Number)
Thread::sleep(5000)
]
grpHeizungMode.postUpdate("MANUAL")
}
case 5 : {
// Manuell -> Frostschutz (gew. Tempertur)
logInfo(filename,"Heizung: Betriebswahl -> Frostschutz")
grpHeizungMode.members.forEach[item | item.sendCommand("MANUAL")
Thread::sleep(5000)
]
grpHeizungSollTmp.members.forEach[item | item.sendCommand(5)
Thread::sleep(5000)
]
grpHeizungMode.postUpdate("MANUAL")
}
case 6 : {
// Manuell -> Aus
logInfo(filename,"Heizung: Betriebswahl -> Aus")
grpHeizungMode.members.forEach[item | item.sendCommand("MANUAL")
Thread::sleep(5000)
]
grpHeizungSollTmp.members.forEach[item | item.sendCommand(0)
Thread::sleep(5000)
]
grpHeizungMode.postUpdate("MANUAL")
}
}
end