- Platform information:
- Hardware: Raspberry PI 3
- OS: raspbian
- openHAB version: 2.2 (I guess)
- Issue of the topic: I want to run some rules for my thermostate but the do not apply
- Please post configurations (if applicable):
- Items configuration related to the issue
I created an item file following this tutoruial: MAX! system installation and configuration walktrough
My Output:
- Items configuration related to the issue
// kopiert von: https://community.openhab.org/t/max-system-installation-and-configuration-walktrough/39063
//
//
//=====================================================================================================================
// Gruppe für alles
Group gMax "Max! Heizungssystem" <temperature>
// Gruppen für die einzelnen Räume
// Group gMaxWohnzimmerUnten "Thermostat Wohnzimmer unten" <temperature> (gMax) ["Thermostat"]
// Group gMaxKueche "Thermostat Küche" <temperature> (gMax) ["Thermostat"]
Group gMaxBuero "Thermostat Büro" <temperature> (gMax) ["Thermostat"]
// Group gMaxBadUnten "Thermostat Bad unten" <temperature> (gMax) ["Thermostat"]
// Group gMaxSchlafzimmerUnten "Thermostat Schlafzimmer unten" <temperature> (gMax) ["Thermostat"]
// Group gMaxBadOben "Thermostat Bad oben" <temperature> (gMax) ["Thermostat"]
// Group gMaxWohnzimmerOben "Thermostat Wohnzimmer oben" <temperature> (gMax) ["Thermostat"]
// Group gMaxSchlafzimmerOben "Thermostat Schlafzimmer oben" <temperature> (gMax) ["Thermostat"]
// Gruppen für die einzelnen Aspekte
Group gMaxMode "Modus" <temperature>
Group gMaxSetTemp "Wunschtemperatur" <temperature>
Group gMaxActualTemp "Raumemperatur" <temperature>
Group:Switch:OR(ON,OFF) gMaxBatLow "Batteriestatus [MAP(max.map):%s]" <battery>
Group gMaxValve "Ventilstellungen" <max_valve>
Group:Contact:OR(OPEN,CLOSED) gMaxWindow "Fenster [MAP(max.map):%s]" <window>
Group:Contact:OR(CLOSED,OPEN) gMaxLock "Bediensperre [MAP(max.map):%s]" <lock>
// Gruppen für die Automatik bei Anwesenheit ("alle" außer Schlafzimmer)
Group gMaxAutoTemp
Group gMaxAutoMode
//=====================================================================================================================
// Buero
String maxModeBuero "Modus" <max_mode> (gMaxBuero, gMaxMode, gMaxAutoMode) {channel="max:thermostat:NEQ0101554:NEQ0100856:mode"}
Number maxSetTempBuero "Zieltemperatur [%.1f °C]" <max_temp> (gMaxBuero, gMaxSetTemp, gMaxAutoTemp) ["TargetTemperature"] {channel="max:thermostat:NEQ0101554:NEQ0100856:set_temp"}
Number maxActualTempBuero "Raumtemperatur [%.1f °C]" <max_temp> (gMaxBuero, gMaxActualTemp) ["CurrentTemperature"] {channel="max:thermostat:NEQ0101554:NEQ0100856:actual_temp"}
Switch maxBatLowBuero "Batteriestatus Büro [MAP(max.map):%s]" <battery> (gMaxBuero, gMaxBatLow) {channel="max:thermostat:NEQ0101554:NEQ0100856:battery_low"}
Number maxValveBuero "Ventilstellung [%d %%]" <max_valve> (gMaxBuero, gMaxValve) {channel="max:thermostat:NEQ0101554:NEQ0100856:valve"}
Contact maxLockedBuero "Bediensperre [MAP(max.map):%s]" <lock> (gMaxBuero, gMaxLock) {channel="max:thermostat:NEQ0101554:NEQ0100856:locked"}
//=====================================================================================================================
//comming from https://community.openhab.org/t/heating-boilerplate-a-universal-temperature-control-solution-with-modes/34843
String Heating_Mode "Global Heating Mode [%s]"
Switch Heating_UpdateHeaters "Sende Zieltemperaturen zu den Heizkörpern"
- for the rules I followed the tutorial Heating Boilerplate - A Universal Temperature Control Solution with Modes
My file is looking like this:
rule "17:00"
when
Time cron "0 0 17 ? * * *"
then
maxSetTempBuero.postUpdate(21.0)
// BE_Heating_PresetTempNormal.postUpdate(17.0)
// BA_Heating_PresetTempNormal.postUpdate(20.0)
Heating_UpdateHeaters.sendCommand(ON)
end
rule "20:30"
when
Time cron "0 30 20 ? * * *"
then
maxSetTempBuero.postUpdate(22.0)
// BE_Heating_PresetTempNormal.postUpdate(19.0)
// BA_Heating_PresetTempNormal.postUpdate(20.0)
Heating_UpdateHeaters.sendCommand(ON)
end
rule "23:30"
when
Time cron "0 30 23 ? * * *"
then
maxSetTempBuero.postUpdate(17.0)
// BE_Heating_PresetTempNormal.postUpdate(17.0)
// BA_Heating_PresetTempNormal.postUpdate(17.0)
Heating_UpdateHeaters.sendCommand(ON)
end
rule "9:00, weekend"
when
Time cron "0 0 9 ? * SAT-SUN *"
then
maxSetTempBuero.postUpdate(21.0)
// BE_Heating_PresetTempNormal.postUpdate(17.0)
// BA_Heating_PresetTempNormal.postUpdate(21.0)
Heating_UpdateHeaters.sendCommand(ON)
end
- Now I was waiting to become 20:30. But see my logs what happens:
2018-01-25 20:30:00.935 [ome.event.ItemCommandEvent] - Item 'Heating_UpdateHeaters' received command ON
2018-01-25 20:30:00.947 [vent.ItemStateChangedEvent] - maxSetTempBuero changed from 21.0 to 22.0
2018-01-25 20:30:00.954 [vent.ItemStateChangedEvent] - Temperature_GF_Corridor changed from 21.3 to 17.8
2018-01-25 20:30:00.957 [vent.ItemStateChangedEvent] - Heating_UpdateHeaters changed from NULL to ON
2018-01-25 20:30:00.960 [GroupItemStateChangedEvent] - Temperature changed from 19.5 to 19.0 through Temperature_GF_Corridor
2018-01-25 20:30:00.969 [vent.ItemStateChangedEvent] - Temperature_GF_Toilet changed from 19.7 to 21.9
2018-01-25 20:30:00.973 [GroupItemStateChangedEvent] - Temperature changed from 19.0 to 19.3 through Temperature_GF_Toilet
2018-01-25 20:30:00.993 [vent.ItemStateChangedEvent] - Temperature_GF_Living changed from 17.8 to 18.5
2018-01-25 20:30:00.998 [GroupItemStateChangedEvent] - Temperature changed from 19.3 to 19.4 through Temperature_GF_Living
2018-01-25 20:30:01.014 [vent.ItemStateChangedEvent] - Wifi_Level changed from 2 to 1
2018-01-25 20:30:01.021 [vent.ItemStateChangedEvent] - Temperature_GF_Kitchen changed from 20.9 to 18.9
2018-01-25 20:30:01.027 [GroupItemStateChangedEvent] - Temperature changed from 19.4 to 19.1 through Temperature_GF_Kitchen
2018-01-25 20:30:01.037 [vent.ItemStateChangedEvent] - Temperature_FF_Bath changed from 19.5 to 22.0
2018-01-25 20:30:01.039 [GroupItemStateChangedEvent] - Temperature changed from 19.1 to 19.4 through Temperature_FF_Bath
2018-01-25 20:30:01.050 [vent.ItemStateChangedEvent] - Temperature_FF_Office changed from 18.4 to 19.2
2018-01-25 20:30:01.052 [GroupItemStateChangedEvent] - Temperature changed from 19.4 to 19.5 through Temperature_FF_Office
2018-01-25 20:30:01.074 [vent.ItemStateChangedEvent] - Temperature_FF_Child changed from 18.5 to 20.1
2018-01-25 20:30:01.076 [GroupItemStateChangedEvent] - Temperature changed from 19.5 to 19.7 through Temperature_FF_Child
2018-01-25 20:30:01.082 [vent.ItemStateChangedEvent] - Temperature_FF_Bed changed from 19.5 to 21.0
2018-01-25 20:30:01.084 [GroupItemStateChangedEvent] - Temperature changed from 19.7 to 19.9 through Temperature_FF_Bed
2018-01-25 20:30:08.822 [vent.ItemStateChangedEvent] - CurrentDate changed from 2018-01-25T20:29:08.795+0100 to 2018-01-25T20:30:08.801+0100.
...
2018-01-25 20:33:15.161 [vent.ItemStateChangedEvent] - maxSetTempBuero changed from 22.0 to 21.0
2018-01-25 20:33:15.259 [vent.ItemStateChangedEvent] - maxValveBuero changed from 14 to 24
2018-01-25 20:33:15.269 [vent.ItemStateChangedEvent] - maxActualTempBuero changed from NULL to 21.8
2018-01-25 20:33:15.283 [vent.ItemStateChangedEvent] - max_thermostat_NEQ0101554_NEQ0100856_actual_temp changed from 22.4 to 21.8
2018-01-25 20:33:15.346 [vent.ItemStateChangedEvent] - network_pingdevice_192_168_1_190_latency changed from 14.0 to 8.0
- first Wondering: where these Temperature_XX_Rooms are comming from. I found in HabPanel these things. But I did not find any place where I can delete this Demo configuration.
- Second wondering: Why three Minutes later the maxSetTempBuero was going from 22.0 to 21.0. Somewhere this must be triggered but where? And If I changed the rule for e.g. 20:52 to reproduce the issue it did not appear in the logs again. But at the MAX! thermostate the temperature was showing up with 21 still. In BasicUI as well. And If I do change the value in BasicUI the valve do recognize it. Here my sitemap:
sitemap forstweg label="Heizungssteuerung" {
Frame label="Wichtige Informationen" visibility=[gMaxBatLow==ON] {
Group item=gMaxBatLow visibility=[gMaxBatLow==ON] {
Text item=maxBatLowWohnzimmer visibility=[maxBatLowWohnzimmer==ON]
Text item=maxBatLowWohnzimmerl visibility=[maxBatLowWohnzimmerl==ON]
Text item=maxBatLowWohnzimmerr visibility=[maxBatLowWohnzimmerr==ON]
Text item=maxBatLowKueche visibility=[maxBatLowKueche==ON]
Text item=maxBatLowKinderzimmer visibility=[maxBatLowKinderzimmer==ON]
Text item=maxBatLowBuero visibility=[maxBatLowBuero==ON]
Text item=maxBatLowSchlafzimmer visibility=[maxBatLowSchlafzimmer==ON]
Text item=maxBatLowBad visibility=[maxBatLowBad==ON]
Text item=maxBatLowTaster visibility=[maxBatLowTaster==ON]
Text item=maxBatLowFensterKinderzimmer visibility=[maxBatLowFensterKinderzimmer==ON]
Text item=maxBatLowFensterBuero visibility=[maxBatLowFensterBuero==ON]
}
}
Frame label="Bediensperre" visibility=[gMaxLock==CLOSED] {
Group item=gMaxLock visibility=[gMaxLock==CLOSED] {
Text item=maxLockedWohnzimmer visibility=[maxLockedWohnzimmer==CLOSED]
Text item=maxLockedWohnzimmerl visibility=[maxLockedWohnzimmerl==CLOSED]
Text item=maxLockedWohnzimmerr visibility=[maxLockedWohnzimmerr==CLOSED]
Text item=maxLockedKueche visibility=[maxLockedKueche==CLOSED]
Text item=maxLockedKinderzimmer visibility=[maxLockedKinderzimmer==CLOSED]
Text item=maxLockedBuero visibility=[maxLockedBuero==CLOSED]
Text item=maxLockedSchlafzimmer visibility=[maxLockedSchlafzimmer==CLOSED]
Text item=maxLockedBad visibility=[maxLockedBad==CLOSED]
}
}
Frame label="Fenster" visibility=[gMaxWindow==OPEN] {
Group item=gMaxWindow visibility=[gMaxWindow==OPEN] {
Text item=maxFensterKinderzimmer visibility=[maxFensterKinderzimmer==OPEN]
Text item=maxFensterBuero visibility=[maxFensterBuero==OPEN]
}
}
Frame label="Büro" {
Text item=maxActualTempBuero
Setpoint item=maxSetTempBuero minValue=4.5 maxValue=25 step=0.5
Selection item=maxModeBuero mappings=[AUTOMATIC=Auto, MANUAL=Manu, BOOST=Boost]
Text item=maxFensterBuero
Text item=maxValveBuero
Text item=maxLockedBuero
}
}
I would like to get some hints what to do next. I did read tons of documents but I have to say I did not get a complete picture how openHAB works. Long way to learn…
If some informations missing to get my point please be patient with me. I try my best.
- Edit: I found in openhab.log also some information. Might be that is helping to find my problem:
2018-01-25 21:57:32.213 [WARN ] [.core.transform.TransformationHelper] - Transformation 'org.eclipse.smarthome.transform.map.internal.MapTransformationService@fab44f' with value 'OPEN' failed: An error occurred while opening file.
2018-01-25 21:57:32.216 [WARN ] [.core.transform.TransformationHelper] - Transformation 'org.eclipse.smarthome.transform.map.internal.MapTransformationService@fab44f' with value 'OFF' failed: An error occurred while opening file.
2018-01-25 21:57:32.224 [WARN ] [.core.transform.TransformationHelper] - Transformation 'org.eclipse.smarthome.transform.map.internal.MapTransformationService@fab44f' with value 'OFF' failed: An error occurred while opening file.
2018-01-25 22:01:23.798 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'thermostate.rules'
2018-01-25 22:01:23.816 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'thermostate.rules' is either empty or cannot be parsed correctly!
2018-01-25 22:01:24.979 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'thermostate.rules'
2018-01-25 22:01:55.590 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'forstweg.sitemap'
2018-01-25 22:01:55.682 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'forstweg.sitemap' is either empty or cannot be parsed correctly!
2018-01-25 22:01:55.689 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'forstweg.sitemap'
2018-01-25 22:02:11.918 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'themostate.items'
2018-01-25 22:02:12.090 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'themostate.items'