I just updated to the latest snapshot, and my Thermostat item no longer appears to work. I did have to make a bunch of changes to my items to account for the new tags, but HomeKit only seems to grab the CurrentTemperature item as a temperature sensor instead of the whole group as a Thermostat. The following is what I have:
Group thermostat "Main Thermostat" (ecobee) [ "Thermostat" ] Number actualTemperature "Current Temperature [%.1f °F]" <temperature> (thermostat) [ "CurrentTemperature" ] { ecobee="<[12345678912#runtime.actualTemperature]" } Number desiredTemp "Desired Temperature [%.1f °F]" <temperature> (thermostat) [ "TargetTemperature" ] String hvacMode "Mode [%s]" <none> (thermostat) [ "homekit:HeatingCoolingMode" ] { ecobee="=[12345678912#settings.hvacMode]" }
I have the same problem, except I can not even get a CurrentTemperature item to show up in HomeKit.
*.items
Number rweTemp157867 "Temp KUECHE [%.1f ∞C]" <temperature> (rwe) [ "CurrentTemperature" ] {rwe="id=ea21cb84-19e1-c46b-f6d7-aa695a157867,param=temperature"}
Group HeizungArbeitszimmer "Heizung Arbeitszimmer" (Unten_Arbeitszimmer) [ "Thermostat" ]
Number rweTemp5654fc "Temp MALTE [%.1f]" <temperature> (HeizungArbeitszimmer) [ "CurrentTemperature" ] {rwe="id=d5d07953-970d-de65-fd85-86141a5654fc,param=temperature"}
// Number rweHumidityb2c12c "Feuchtigkeit MALTE [%.1f]" <temperature> (HeizungArbeitszimmer) [ "CurrentHumidity" ] {rwe="id=8760dbeb-d47e-1ac0-1fbe-8f936db2c12c,param=humidity"}
Number rweSettemp709d1c "Solltemp MALTE [%.1f]" <temperature> (HeizungArbeitszimmer) [ "TargetTemperature" ] {rwe="id=e344d016-1d09-0c19-f05f-869560709d1c,param=settemperature"}
String HeatingmodeArbeitszimmer "Auto" (HeizungArbeitszimmer) [ "homekit:HeatingCoolingMode" ]
Log
2016-07-16 13:47:07.423 [INFO ] [com.beowulfe.hap.HomekitRoot ] - Added accessory Heizung Arbeitszimmer 2016-07-16 13:47:07.424 [INFO ] [pl.http.impl.NettyHomekitHttpService] - Resetting connections 2016-07-16 13:47:07.426 [INFO ] [com.beowulfe.hap.HomekitRoot ] - Added accessory Temp KUECHE 2016-07-16 13:47:07.427 [INFO ] [pl.http.impl.NettyHomekitHttpService] - Resetting connections 2016-07-16 13:47:07.429 [INFO ] [com.beowulfe.hap.HomekitRoot ] - Added accessory Wohnen Decke 2016-07-16 13:47:07.430 [INFO ] [pl.http.impl.NettyHomekitHttpService] - Resetting connections
All my Lighting Switches and Dimmers from my RWE Smarthome Binding work just fine.
But sadly I can not manage to get temperature items or Thermostats to work
Of course these items work in the basicui
My first thought was that I did not have a “Mode” which would return Auto… so I set this string using the REST API… after that I tried just to get the [ “CurrentTemperature” ] tagged Number item to work… no success
Any help greatly appreciated
OK, solved this… Problem was totally different: It looks like the HomeKit Extension is not able to add new services … I had to delete the home kit pairing and add it again and my thermostats showed up
So at the moment I experience two main issues with HomeKit:
- Changing my HomeKit Configuration often leads to me having to pair again in iOS -> result is loosing my room config there
- “Things” which are added through hue binding are ALL named Unavailable although having nice labels in OpenHAB
You shouldn’t need to re-pair to see new accessories. What version of iOS are you using?
I have the same issue with my MAX! thermostat. My created group item end up in a temperature sensor in HomeKit.
Group gruppe_thermostat_az "Arbeitszimmerheizung" <temperature> [ "Thermostat" ]
Number thermostat_az_ist "Temperatur" (gruppe_thermostat_az) [ "CurrentTemperature" ] {channel="max:thermostat:MKF0057767:MEQ1318703:actual_temp"}
Number thermostat_az_soll "Zieltemperatur" (gruppe_thermostat_az) [ "TargetTemperature" ] {channel="max:thermostat:MKF0057767:MEQ1318703:set_temp"}
String thermostat_az_mode "Mode" (gruppe_thermostat_az) [ "homekit:HeatingCoolingMode" ] {channel="max:thermostat:MKF0057767:MEQ1318703:mode"}
Even a repairing did not the job. May anyone has a hint for me. I am using iOS 9.3.2 and the elgato Eve app to organize HomeKit.
Best regards
I have exactly the same problem as @ch.senkel
My items are configured identically but Homekit only discovers a temperature sensor and not a Thermostat.
Is this a known problem?
@beowulfe can you answer us?
@igor - that should have been fixed back in July: https://github.com/openhab/openhab2-addons/issues/1053
Are you using the latest version of OH2? If so, please include here the specific version of the add-on you have installed.
Everything is OK, the problem was that there was no data (setpoint, mode or temperature) in the OH2 bus so the thermostat doesn’t start working until it receives some data.
I post some values trough the REST API and the thermostat is working ok in Homekit now.
Hi!
i configured my thermostat (z-wave danfoss lc-13) today and it shows up in homekit.
unfortunately it’s “refreshing” for 30 min now and i don’t think it’s gonna work finally.
the danfoss z-wave thermostat does only provide me with a set point item (no current temp, no mode.
i did only configure the setpoint and the item is shown in homekit but it’s stuck at “refreshing”.
I also tried to use the same channel for act temp and setpoint but that crashes homekit pretty hard although it lets me change the value - but i couldnt turn the thermostat on or off.
here’s my item-config, maybe you can help
EDIT:
i guess i see the problem
my thermostat is not a “real” thermostat. it’s just attached to my radiator.
will this work with the thermostat group if configured correctly?
i just want to be able to set the target temperature via homekit (slider or similar).
thanks
edit2: i can set the temp via homekit now but the device is still shown as “off” (i think it’s because i did not send a mode. any ideas on how i could trick the binding?
Group GrCouchthermostat "Couchthermostat" ["Thermostat"]
Number WoZi_Thermostat_Couch_akt_Temp "Couchthermostat aktuelle Temperatur" (GrCouchthermostat) ["CurrentTemperature"]
Number WoZi_Thermostat_Couch "Thermostat Couch [%.1f °C]" (GrCouchthermostat, GrThermostat) ["TargetTemperature"] {channel="zway:zwayDevice:192_168_178_90:5:thermostatSetPoint-ZWayVDev_zway_5-0-67-1"}
String WoZi_Thermostat_Couch_Modus "Couchthermostat Betriebsmodus" (GrCouchthermostat) ["homekit:HeatingCoolingMode"]
I also tried to do it with a rule:
rule "WoZi_Thermostat_Homekit_Heat"
when
Item WoZi_Thermostat_Couch changed
then
if(WoZi_Thermostat_Couch.state > 15) {
sendCommand(WoZi_Thermostat_Couch_Modus, HEAT)}
end
rule "WoZi_Thermostat_Homekit_OFF"
when
Item WoZi_Thermostat_Couch changed
then
if(WoZi_Thermostat_Couch.state > 15 || WoZi_Thermostat_Couch.state == 15) {
sendCommand(WoZi_Thermostat_Couch_Modus, OFF)}
end
but it does not work.
Do you have any idea, what i have to change, that the homekit item switches on/off? always on would be fine for me too …
Hi! I still did not make any progress … i found this in the log:
2017-10-16 21:28:35.686 [ERROR] [al.accessories.HomekitThermostatImpl] - Unrecognized heating cooling target mode: heat. Expected cool, heat, auto, or off strings in value.
that makes sense because i don’t have a channel to link to (my thermostat does only provide me one temperature.
can i “link” that to a fixed string variable? i’d be happy if it would be shown as always on.
or maybe on if it’s > 15 deg and off if it’s below (i tried that with a rule (see above) but it did not work. i also tried to send a string like “heat” - not what you see above.
I also have the thermostats not working any more since some time. Don’t know when they stopped working exactly but they used to work in the past.
@beowulfe indicated the issue was fixed in July. I’m on the most recent OH stable version. Should it work on stable or do I need the nightly builds for this.
@Jonas88 have you tried Igor’s approach, setting it manual through rest API, just to test. In principle setting it manual and making sure WoZi_Thermostat_Couch_Modus is persisted should be enough.
Hi! Thanks for your answer! It is indeed working, but it is shown as “off” at every time. I think this is the normal behaviour but i wanted to tweak things a little (see my attempt for a rule) to make it look nicely.
i tried to send the strings to the item but it did not work (neither “heat” nor “HEAT”).
I’ll try it with the rest api this evening.
thanks!
Hi! I had no luck sending strings to the string item to the group via rest api. does the item have to be linked to a channel? again: my thermostat does not support that mode but i’d like to use it “manually” with a rule to change the state in homekit to show if it’s heating or not on my iphone. thank you!
Hi Jonas88,
is your problem still alive ?
I set up OH2.4 with Homematic-Devices and HomeKit. The Channels of the Homematic-Things also have no “Mode”-Channel with states “HeatOn” or similar.
I defined a String with is set to “HeatOn” with a rule triggered when the system is started.
The Item-Definition
Group gKu_TC "Ku Thermostat" ["Thermostat"]
Number iHm_Ku_Hz_valve "Ku Ventil" (gKu) {channel="homematic:HM-CC-RT-DN:HMBridge:LEQ0000000:4#VALVE_STATE"}
Number iHm_Ku_Hz_temp_set "Ku Temp - Soll" (gKu,gKu_TC) ["TargetTemperature"] {channel="homematic:HM-CC-RT-DN:HMBridge:LEQ0000000:4#SET_TEMPERATURE"}
Number iHm_Ku_Hz_temp_act "Ku Temp - Ist" (gKu,gKu_TC) ["CurrentTemperature"] {channel="homematic:HM-CC-RT-DN:HMBridge:LEQ0000000:4#ACTUAL_TEMPERATURE"}
String iHm_Ku_Hz_heatingmode "Ku Heating" (gNz,gKu_TC) ["homekit:HeatingCoolingMode"]
The rules looks the following
rule "System Startup"
when
System started
then
iHm_Ku_Hz_heatingmode.sendCommand("HeatOn")
end
Maybe this will help you.
Greets & good luck
Hi!
Thanks for responding after that long time!
I solved this with a similar approach
Regards
Jonas
Hi Jonas,
i have the same problem with the danfoss thermostat. can you share your solution?
Thanks & Regards
Tom
Hi!
Sure thing! I don’t use the Thermostats anymore but i can post you my code:
Items:
Number Global_Thermostat_Heizen_Aus "Initialwert aller Thermostate"
Number Global_Thermostat_Heizen_Ein "Heizungssollwert der Thermostate"
Group GrSchlafzimmerthermostat "Schlafzimmerthermostat" ["Thermostat"]
Number SchlaZi_Thermostat_akt_Temp "Schlafzimmerthermostat aktuelle Temperatur" (GrSchlafzimmerthermostat) ["CurrentTemperature"]
Number SchlaZi_Thermostat "Schlafzimmer" <heating> (GrSchlafzimmerthermostat, GrThermostat) ["TargetTemperature"] {channel="zwave:device:3cb3c32a:node2:thermostat_setpoint_heating"}
String SchlaZi_Thermostat_Modus "Schlafzimmerthermostat Betriebsmodus" (GrSchlafzimmerthermostat) ["homekit:HeatingCoolingMode"]
Number SchlaZi_Thermostat_Battery "Schlafzimmerthermostat Batterie" {channel="zwave:device:3cb3c32a:node2:battery-level"}
Group GrKinderzimmerthermostat "Kinderzimmerthermostat" ["Thermostat"]
Number KiZi_Thermostat_akt_Temp "Kinderzimmerthermostat aktuelle Temperatur" (GrKinderzimmerthermostat) ["CurrentTemperature"]
Number KiZi_Thermostat "Kinderzimmer" <heating> (GrKinderzimmerthermostat, GrThermostat) ["TargetTemperature"] {channel="zwave:device:3cb3c32a:node4:thermostat_setpoint_heating"}
String KiZi_Thermostat_Modus "Kinderzimmerthermostat Betriebsmodus" (GrKinderzimmerthermostat) ["homekit:HeatingCoolingMode"]
Number KiZi_Thermostat_Battery "Kinderzimmerthermostat Batterie" {channel="zwave:device:3cb3c32a:node4:battery-level"}
Group GrWohnzimmerthermostat "Wohnzimmerthermostat" ["Thermostat"]
Number WoZi_Thermostat_akt_Temp "Wohnzimmerthermostat aktuelle Temperatur" (GrWohnzimmerthermostat) ["CurrentTemperature"]
Number WoZi_Thermostat "Wohnzimmer" <heating> (GrWohnzimmerthermostat, GrThermostat) ["TargetTemperature"] {channel="zwave:device:3cb3c32a:node3:thermostat_setpoint_heating"}
String WoZi_Thermostat_Modus "Wohnzimmerthermostat Betriebsmodus" (GrWohnzimmerthermostat) ["homekit:HeatingCoolingMode"]
Number WoZi_Thermostat_Battery "Wohnzimmerthermostat Batterie" {channel="zwave:device:3cb3c32a:node3:battery-level"}
There’s the rule:
rule "Auto Mode für Thermostate setzen bei Neustart"
when
System started
then
Thread::sleep(30000)
KiZi_Thermostat_Modus.sendCommand(Auto)
SchlaZi_Thermostat_Modus.sendCommand(Auto)
WoZi_Thermostat_Couch_Modus.sendCommand(Auto)
end
Hope it still works
Regards
Jonas
Hi Jonas,
wow thanks for the fast reply I`ll try it this evening.
Thank you!!
Tom