copy the icons for the temperature to $OPENHAB_CONF/icons/classic e.g. for Linux to /etc/openhab2/icons/classic/hmip-etrv
“generic item element”
This config parameter is used to access further items with a defined naming pattern.
This should make it easier to set up a whole bunch of widgets
The common part of the name of expected items is defined in the config pannel and the real items are derived in an item file.
name
channel number#NAME
example
_BatteryStatus
0#LOW_BAT
Switch ThermostatBad_BatteryStatus
_UpdatePending
0#UPDATE_PENDING
Switch ThermostatBad_UpdatePending
_TempSet
1#SET_POINT_MODE
Number ThermostatBad_TempSet
_TempAct
1#ACTUAL_TEMPERATURE
Number ThermostatBad_TempAct
_WindowState
1#WINDOW_STATE
String ThermostatBad_WindowState
_PartyMode
1#PARTY_MODE
Switch ThermostatBad_PartyMode
_BoostTime
1#BOOST_TIME
Number ThermostatBad_BoostTime
_Profile
1#ACTIVE_PROFILE
Number ThermostatBad_Profile
e.g.
Switch ThermostatBad_BatteryStatus "Thermostat Bad Batterie [%s]" {channel="homematic:HmIP-eTRV-2:3014F711A061A7D70992B1AC:000A1709A651A7:0#LOW_BAT" }
Switch ThermostatBad_UpdatePending "Thermostat Bad Update [%s]" {channel="homematic:HmIP-eTRV-2:3014F711A061A7D70992B1AC:000A1709A651A7:0#UPDATE_PENDING" }
Number ThermostatBad_TempSet "Thermostat Bad Temperatur Set [%.1f]°C" {channel="homematic:HmIP-eTRV-2:3014F711A061A7D70992B1AC:000A1709A651A7:1#SET_POINT_TEMPERATURE" }
Number ThermostatBad_TempAct "Thermostat Bad Temperatur Act [%.1f]°C" {channel="homematic:HmIP-eTRV-2:3014F711A061A7D70992B1AC:000A1709A651A7:1#ACTUAL_TEMPERATURE" }
String ThermostatBad_WindowState "Thermostat Bad Window [%s]" {channel="homematic:HmIP-eTRV-2:3014F711A061A7D70992B1AC:000A1709A651A7:1#WINDOW_STATE" }
Switch ThermostatBad_PartyMode "Thermostat Bad Party Active [%s]" {channel="homematic:HmIP-eTRV-2:3014F711A061A7D70992B1AC:000A1709A651A7:1#PARTY_MODE" }
Number ThermostatBad_BoostTime "Thermostat Bad Remaining Boost time [%d]" {channel="homematic:HmIP-eTRV-2:3014F711A061A7D70992B1AC:000A1709A651A7:1#BOOST_TIME" }
Number ThermostatBad_Profile "Thermostat Bad WeekProgramm [%s]" {channel="homematic:HmIP-eTRV-2:3014F711A061A7D70992B1AC:000A1709A651A7:1#ACTIVE_PROFILE" }
minimum and maximum temperature
here you set the minimum and maximum temperature that can be set for this device. It is used to limit the SetTemp boundaries.
These are just pure numbers - they depend on how your device is set up.
So if you use °C or °F your numbers will be °C or °F respectively.
profile names
you can choose 3 profiles (at least with the eTRV-2 and eTRV-C devices). If you want to assign names to the profiles for better understanding - this is the place to do it. I have define 3 profiles
Hello Michael, can you please explain again exactly what has to be entered in the field “GenericName”? I created the items as described, but I don’t get any values.
I hope I references all icons correctly. Most icons are taken from the eclipse-smarthome-classic collection. So no special icon set should be required.
Actually only the indicators for cold/warm/hot should be taken from the hmip-etrv folder.
Some questions to get some more ideas:
Your path looks like Windows - on what OS is OH running for you?
I just tried and found a bug, that subfolders in …/icons/classic/hmip-etrv do not seem to work - or I do not know how to use them .
Unfortunately I also had the icons still as a copy in my own …/icons/classic folder.
I updated the widget with only using icons in …/icons/classic - and updated the icon names. So please
update the widget - in the gallery
remove the folder …/icons/classic/hmip-etrv again
copy the new icons to your folder …/icons/classic.
Great - but your window icon is still wrong - or actually the fallback icon.
If you like it - keep it. But if you want to have the one as shown above you probably have to reload the widget from the repository.
Hello Michael, yes I also noticed the window. But it’s not bad. I will try to expand the widget a bit.
Since I use other controllers for my underfloor heating (HmIP-STHD & HmIP-WTH-2), I would also like to display the measured humidity. Also possibly the position of the valves on the distributor (HmIP-FALMOT-C12). This gives the position in%.
Best wishes
Hey Axel,
very cool widget !
There is not much for those thermostats from homematic and I was close enought to create my own one… but now I see you already has created a very good one !
Unfortunately I cannot use it directly, because my items has already names and they dont follow your generic names… If I want to change that, I need to make changes to some rules and scripts first…
is there a reason why you use this genericnames? Maybe its better to let the user enter the names, with that you would not only support the IP product, the old one are supported on this way too…
I didn’t like the idea of having
to add 10 items per widget manually to my roughly 25 thermostats.
Especially when developing the widget I did sometimes do changes
where all widgets had to be touched again. So I though having to
change only one item per widget is a cool idea :-).
But you could add additional items - OH2 will automatically sync
them.
So if you just leave your itmes as they are and create new once
according to the naming convention it will work.
I know. I didn’t want to overload the widget and decided not to have boost, vacation or party mode as input.
If I get a good idea where to put it, I might still put it in though.
In my opinion it would fit best into the drop-down menu for the operating modes.
With choosing the Boostmode it get switched on, without changing other operation modes.
The remaining time of the boost mode is then displayed in the widget, so pressing the remaining time could end the boost mode.
but the drop down actually selects the profiles - so the switch time sets you can set per device - which is actually different to the “operational modes”.
But the idea is good - I can add one more drop down to select these modes.
However when i click one of the buttons, I get the following in the log:
2020-10-05 17:16:46.811 [WARN ] [rest.core.internal.item.ItemResource] - Received HTTP POST request at 'items/Thermostat_Buero_SetPointTemperature' with an invalid status value 'NaN'.