How to switch off the demo?/ There happens issues I do not expect

  • 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):
// 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"
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'

Answer to myself:

deleting Demo was more easy than thought. Just remove the demo files from configuration folders.

My other problem I got solved by a friend. He made the proposal fo use maxSetTempBuero.sendCommand(22.0) instead of maxSetTempBuero.postUpdate(22.0). That does the trick.