Evohome binding on OH4.0.1 not working

Hi,

I upgraded to OH4.0.1 and the Evohome binding seems to be broken.

I changed my Numer items to Number:Temperature as mentioned in documentation.
Retrieving the values from API seem to be fine, but changing the target temperature by modifying the “Set Point” channel doesn’t work.

I changed the logging to TRACE mode.
When I change the set point, no requests to the api are being send.

Issue behaviour looks similar to: https://github.com/openhab/openhab-addons/issues/9007.

Could you share the logs within the timeframe that you made the set point? I can have a look this evening.

OK. Here are some more details:

items config (extract):

Number:Temperature evo_BadkamerTemp  { channel="evohome:heatingzone:home:5371702:Temperature" }
String evo_BadkamerStatus { channel="evohome:heatingzone:home:5371702:SetPointStatus" }
Number:Temperature evo_BadkamerTargetTemp (evo_thermostates) { channel="evohome:heatingzone:home:5371702:SetPoint" }

Binding version:

openhab> bundle:list | grep evo
247 │ Active │  80 │ 4.0.1                  │ openHAB Add-ons :: Bundles :: evohome Binding

I updated the evo_BadkamerTagetTemp item to value 18 at 17:43:08 but no API request is noticed.
17:43:16 binding is polling all data from API.

Log:tail from console

17:43:08.003 [INFO ] [openhab.event.ItemStatePredictedEvent] - Item 'evo_BadkamerTargetTemp' predicted to become 18
17:43:08.004 [INFO ] [openhab.event.ItemStateUpdatedEvent  ] - Item 'evo_BadkamerTargetTemp' updated to 18 °C
17:43:08.004 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'evo_BadkamerTargetTemp' changed from 5 °C to 18 °C
17:43:09.429 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'zwave:device:zcontroller:node8' changed from ONLINE: Node initialising: REQUEST_NIF to ONLINE
17:43:16.508 [DEBUG] [inding.evohome.internal.api.ApiAccess] - Requesting: [https://tccna.honeywell.com/WebAPI/emea/api/v1/location/3966590/status?includeTemperatureControlSystems=True]
17:43:16.683 [TRACE] [inding.evohome.internal.api.ApiAccess] - Response: HttpContentResponse[HTTP/1.1 200 OK - 5067 bytes]
17:43:16.684 [TRACE] [inding.evohome.internal.api.ApiAccess] - 
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=UTF-8
Expires: -1
Server: Microsoft-IIS/8.5
X-Frame-Options: deny
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Date: Fri, 11 Aug 2023 15:43:16 GMT
Content-Length: 5067
Set-Cookie: NSC_UDDOB-XfcBqj-TTM-WT=ffffffff090ecc0345525d5f4f58455e445a4a42378b;expires=Fri, 11-Aug-2023 15:40:26 GMT;path=/;secure;httponly


{
  "locationId": "3966590",
  "gateways": [
    {
      "gatewayId": "3860451",
      "temperatureControlSystems": [
        {
          "systemId": "5371515",
          "zones": [
            {
              "zoneId": "5371514",
              "temperatureStatus": {
                "temperature": 23.0,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 15.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Living"
            },
            {
              "zoneId": "5371636",
              "temperatureStatus": {
                "temperature": 22.5,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 15.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Keuken"
            },
            {
              "zoneId": "5371691",
              "temperatureStatus": {
                "temperature": 22.5,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 15.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Eetkamer"
            },
            {
              "zoneId": "5371702",
              "temperatureStatus": {
                "temperature": 24.0,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 5.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Badkamer"
            },
            {
              "zoneId": "5371707",
              "temperatureStatus": {
                "temperature": 23.5,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 15.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Slaapkmr Nele"
            },
            {
              "zoneId": "5371714",
              "temperatureStatus": {
                "temperature": 23.0,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 15.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Slaapkmr Fien"
            },
            {
              "zoneId": "5371716",
              "temperatureStatus": {
                "temperature": 23.5,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 13.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Slaapkmr P&M"
            },
            {
              "zoneId": "5371718",
              "temperatureStatus": {
                "temperature": 23.5,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 15.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Fitness"
            },
            {
              "zoneId": "5371719",
              "temperatureStatus": {
                "temperature": 24.0,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 15.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Bureau"
            },
            {
              "zoneId": "5371725",
              "temperatureStatus": {
                "temperature": 22.0,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 15.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Gang"
            },
            {
              "zoneId": "5371727",
              "temperatureStatus": {
                "temperature": 22.0,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 15.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Kelder"
            }
          ],
          "activeFaults": [],
          "systemModeStatus": {
            "mode": "Auto",
            "isPermanent": true
          }
        }
      ],
      "activeFaults": []
    }
  ]
}

The zone in question still has the old value.

              "zoneId": "5371702",
              "temperatureStatus": {
                "temperature": 24.0,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 5.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Badkamer"
            },

Let me know if you need anything else.

Thanks for the extensive details. While this is very usefull, the logging in the binding is very scarce. I created a verison of the binding with some more logging: Microsoft OneDrive Could you disable the default binding, drop this in the addons folder and let me know what the trace logs show when you send a value to the setpoint channel?

Hopefully this additional logging preovides some details on why the request is not send.

Hello,

Here are the new log results when using the SNAPSHOT jar:

I updated the evo_BadkamerTagetTemp item to value 18 at 08:27:10.
08:27:19 binding is polling all data from API.

08:27:10.207 [INFO ] [openhab.event.ItemCommandEvent       ] - Item 'evo_BadkamerTargetTemp' received command 18
08:27:10.207 [INFO ] [openhab.event.ItemStatePredictedEvent] - Item 'evo_BadkamerTargetTemp' predicted to become 18
08:27:10.208 [INFO ] [openhab.event.ItemStateUpdatedEvent  ] - Item 'evo_BadkamerTargetTemp' updated to 18 °C
08:27:10.209 [DEBUG] [nal.handler.EvohomeHeatingZoneHandler] - About to handle command: 18
08:27:10.209 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'evo_BadkamerTargetTemp' changed from 15 °C to 18 °C
08:27:10.209 [DEBUG] [nal.handler.EvohomeHeatingZoneHandler] - Channel is: evohome:heatingzone:home:5371702:SetPoint for command: 18
08:27:10.210 [DEBUG] [nal.handler.EvohomeHeatingZoneHandler] - Channel received: evohome:heatingzone:home:5371702:SetPoint QuantityType: false
08:27:13.517 [INFO ] [openhab.event.ItemStateUpdatedEvent  ] - Item 'z_ms_lux_tuin' updated to 130
08:27:13.518 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'z_ms_lux_tuin' changed from 128 to 130
08:27:13.518 [INFO ] [openhab.event.ItemStateUpdatedEvent  ] - Item 'ZWave_Node_008_Tuin_Multisensor_6_Sensor_luminance' updated to 130
08:27:13.519 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'ZWave_Node_008_Tuin_Multisensor_6_Sensor_luminance' changed from 128 to 130
08:27:19.779 [DEBUG] [inding.evohome.internal.api.ApiAccess] - doAuthenticatedRequest is called
08:27:19.779 [DEBUG] [inding.evohome.internal.api.ApiAccess] - Requesting: [https://tccna.honeywell.com/WebAPI/emea/api/v1/location/3966590/status?includeTemperatureControlSystems=True]
08:27:19.952 [TRACE] [inding.evohome.internal.api.ApiAccess] - Response: HttpContentResponse[HTTP/1.1 200 OK - 5068 bytes]
08:27:19.953 [TRACE] [inding.evohome.internal.api.ApiAccess] - 
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=UTF-8
Expires: -1
Server: Microsoft-IIS/8.5
X-Frame-Options: deny
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Date: Sat, 12 Aug 2023 06:27:19 GMT
Content-Length: 5068
Set-Cookie: NSC_UDDOB-XfcBqj-TTM-WT=ffffffff090ecc0545525d5f4f58455e445a4a42378b;expires=Sat, 12-Aug-2023 06:24:29 GMT;path=/;secure;httponly


{
  "locationId": "3966590",
  "gateways": [
    {
      "gatewayId": "3860451",
      "temperatureControlSystems": [
        {
          "systemId": "5371515",
          "zones": [
            {
              "zoneId": "5371514",
              "temperatureStatus": {
                "temperature": 22.0,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 15.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Living"
            },
            {
              "zoneId": "5371636",
              "temperatureStatus": {
                "temperature": 22.0,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 15.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Keuken"
            },
            {
              "zoneId": "5371691",
              "temperatureStatus": {
                "temperature": 22.0,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 15.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Eetkamer"
            },
            {
              "zoneId": "5371702",
              "temperatureStatus": {
                "temperature": 22.5,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 15.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Badkamer"
            },
            {
              "zoneId": "5371707",
              "temperatureStatus": {
                "temperature": 23.0,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 15.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Slaapkmr Nele"
            },
            {
              "zoneId": "5371714",
              "temperatureStatus": {
                "temperature": 23.0,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 15.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Slaapkmr Fien"
            },
            {
              "zoneId": "5371716",
              "temperatureStatus": {
                "temperature": 22.5,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 13.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Slaapkmr P&M"
            },
            {
              "zoneId": "5371718",
              "temperatureStatus": {
                "temperature": 23.5,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 15.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Fitness"
            },
            {
              "zoneId": "5371719",
              "temperatureStatus": {
                "temperature": 23.5,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 15.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Bureau"
            },
            {
              "zoneId": "5371725",
              "temperatureStatus": {
                "temperature": 21.5,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 15.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Gang"
            },
            {
              "zoneId": "5371727",
              "temperatureStatus": {
                "temperature": 21.5,
                "isAvailable": true
              },
              "activeFaults": [],
              "setpointStatus": {
                "targetHeatTemperature": 15.0000,
                "setpointMode": "PermanentOverride"
              },
              "name": "Kelder"
            }
          ],
          "activeFaults": [],
          "systemModeStatus": {
            "mode": "Auto",
            "isPermanent": true
          }
        }
      ],
      "activeFaults": []
    }
  ]
}

Somehow the command passed to the binding is not recognised as quantity type.
Maybe it is something about the item declaration. I’ll investigate it further.

Could you try to add a label to the Item declaration with the unit specified?

Number:Temperature evo_BadkamerTargetTemp "Setpoint [%.2f °C]" (evo_thermostates) { channel="evohome:heatingzone:home:5371702:SetPoint" }

Another option would be to add:

Number:Temperature evo_BadkamerTargetTemp (evo_thermostates) { channel="evohome:heatingzone:home:5371702:SetPoint", unit="°C" }

3rd option, and i prefer if you try that first. Did you remove the Thing and re-create it?

Looking better!

Deleting and adding the Thing fixed it.
API calls are being made now.

10:23:35.178 [INFO ] [openhab.event.ItemCommandEvent       ] - Item 'evo_BadkamerTargetTemp' received command 18
10:23:35.179 [INFO ] [openhab.event.ItemStatePredictedEvent] - Item 'evo_BadkamerTargetTemp' predicted to become 18
10:23:35.180 [INFO ] [openhab.event.ItemStateUpdatedEvent  ] - Item 'evo_BadkamerTargetTemp' updated to 18 °C
10:23:35.184 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'evo_BadkamerTargetTemp' changed from 15 °C to 18 °C
10:23:35.186 [DEBUG] [nal.handler.EvohomeHeatingZoneHandler] - About to handle command: 18 °C
10:23:35.186 [DEBUG] [nal.handler.EvohomeHeatingZoneHandler] - Channel is: evohome:heatingzone:home:5371702:SetPoint for command: 18 °C
10:23:35.187 [DEBUG] [nal.handler.EvohomeHeatingZoneHandler] - Channel received: evohome:heatingzone:home:5371702:SetPoint QuantityType: true
10:23:35.188 [DEBUG] [nal.handler.EvohomeHeatingZoneHandler] - New temperature should be set to 18.0
10:23:35.188 [DEBUG] [nal.handler.EvohomeHeatingZoneHandler] - About to call setPermanentSetPoint for id: 5371702
10:23:35.189 [DEBUG] [l.handler.EvohomeAccountBridgeHandler] - setPermanentSetPoint was called
10:23:35.189 [DEBUG] [l.handler.EvohomeAccountBridgeHandler] - localapiclient is not null
10:23:35.191 [DEBUG] [evohome.internal.api.EvohomeApiClient] - setHeatingZoneOverride1 is called
10:23:35.193 [DEBUG] [evohome.internal.api.EvohomeApiClient] - setHeatingZoneOverride2 is called
10:23:35.193 [DEBUG] [inding.evohome.internal.api.ApiAccess] - doAuthenticatedPut is called
10:23:35.194 [DEBUG] [inding.evohome.internal.api.ApiAccess] - doAuthenticatedRequest is called
10:23:35.194 [DEBUG] [inding.evohome.internal.api.ApiAccess] - Requesting: [https://tccna.honeywell.com/WebAPI/emea/api/v1/temperatureZone/5371702/heatSetpoint]
10:23:35.360 [TRACE] [inding.evohome.internal.api.ApiAccess] - Response: HttpContentResponse[HTTP/1.1 201 Created - 25 bytes]
10:23:35.361 [TRACE] [inding.evohome.internal.api.ApiAccess] - 
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=UTF-8
Expires: -1
Location: https://tccna.honeywell.com/WebApi/emea/api/v1/commtasks?id=704077872
Server: Microsoft-IIS/8.5
X-Frame-Options: deny
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Date: Sat, 12 Aug 2023 08:23:34 GMT
Content-Length: 25
Set-Cookie: NSC_UDDOB-XfcBqj-TTM-WT=ffffffff090ecc0745525d5f4f58455e445a4a42378b;expires=Sat, 12-Aug-2023 08:20:44 GMT;path=/;secure;httponly


{
  "id": "704077872"
}

Thank you for your support! :ok_hand:

I have the same issue since migrating to 4.0. I had setpoint defined as dimensionless Number in 3.4. And changed it to Number:Temperature.
Setpoint is not working. I tried following to fix it:

  1. Change backed to dimensionless
  2. Added unit metadata (unit=“°C”)
  3. Added state description ([%.2f °C])
  4. Deleted and added Thing

Nothing worked for me.

Can you share your log / item / channel config?

Here are my items → evohome.items

Number:Temperature House_GroundFloor_LivingRoom_Temperature "Woonkamer temperatuur" <temperature> (gHouse_GroundFloor_LivingRoom_HVAC, gSave) ["Measurement", "Temperature"] { channel="evohome:heatingzone:bacbeacc:1423370:Temperature" }
Number:Temperature House_GroundFloor_LivingRoom_Setpoint "Woonkamer gewenst" <heating> (gHouse_GroundFloor_LivingRoom_HVAC, gSave) ["Setpoint", "Temperature"] { channel="evohome:heatingzone:bacbeacc:1423370:SetPoint" }
String House_GroundFloor_LivingRoom_SetpointStatus "Woonkamer gewenst status" <heating> (gHouse_GroundFloor_LivingRoom_HVAC) ["Status"] { channel="evohome:heatingzone:bacbeacc:1423370:SetPointStatus" }

evohome.things

Bridge evohome:account:bacbeacc [ username="xxx", password="xxx" ]
{
    display 1423370  [ id="1423372" ]
    heatingzone 1423370 [ id="1423370" ]
    heatingzone 1423371 [ id="1423371" ]
}

And here is the logging of setting item from 19 to 18.5 via UI

2023-08-27 15:25:28.140 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'House_GroundFloor_LivingRoom_Setpoint' received command 18.5
2023-08-27 15:25:28.141 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'House_GroundFloor_LivingRoom_Setpoint' predicted to become 18.5
2023-08-27 15:25:28.144 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'House_GroundFloor_LivingRoom_Setpoint' changed from 19 °C to 18.5 °C
2023-08-27 15:25:41.890 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'House_GroundFloor_LivingRoom_Setpoint' changed from 18.5 °C to 19 °C

Using House_GroundFloor_LivingRoom_Setpoint.sendCommand has teh same effect

I also removed items and even re-installed evohome binding.

I see in settings UI that both channel and linked item are reported as Number:Temperature type

I finally got it working. I’m not sure what in the end fixed the issue. I tried so many things. But I think it is related to the duplicate alias in “display” and “heatingzone”. They both were 1423370, see my previous post.

I changed my evohome.things to the following

Bridge evohome:account:bacbeacc [ username="xxx", password="xxx" ]
{
    display 1423372  [ id="1423372" ]
    heatingzone home [ id="1423370" ]
    heatingzone barn [ id="1423371" ]
}

I realised I am having the same issue here, I haven’t noticed because the Evohome values read and update correctly, but I cannot use OpenHAB to adjust them, as Evohoem does not change anything.

I have tried the usual of; adding the “:Temperature” to the Number items; removing and re-adding the binding; removing and re-adding the items; adding unit=“°C”.

None of them made a difference. Any ideas?

[openhab.event.ItemCommandEvent      ] - Item 'BathroomTemperatureSetPoint' received command 16.0
[ppenhab.event.ItemStatePredictedEvent] - Item 'BathroomTemperatureSetPoint' predicted to become 16.0
[openhab.event.ItemStateChangedEvent ] - Item 'BathroomTemperatureSetPoint' changed from 19 °C to 16 °C
[openhab.event.ItemStateChangedEvent ] - Item 'BathroomTemperatureSetPoint' changed from 16 °C to 19 °C

Deleting and adding the Things again fixed it for me.
Do you see any additional hints when logging in TRACE mode?

So I enabled TRACE mode and if I change the HeatingMode i get an API call and the HeatingMode changes. When i do a xxxxSetPoint.sendCommand(y) i get no API call.
On the setpoint change the item updates its value on sendCommand but it gets changed back to the original value when the next refresh interval occurs.
Definitely seems like sendCommand is not generating any action by the binding.

I have everything configured with files, not through the web interface. What is the correct way to remove the ‘thing’ and recreate it? I tried just commenting out all the text in all my evohome associated files to ‘remove’ them from the system. I also deleted the binding and re-installed that.

For info, an example zone:

heatingzone 5155820 	"EvoHome Zone - Utility Room" 	[ id="5155820" ]
Number:Temperature UtilityRoomTemperature   "Utility Room Temperature [%.2f °C]"      <heat>      (gHeating)      {channel="evohome:heatingzone:a6e934b1:5155820:Temperature", unit="°C"}
String UtilityRoomTemperatureSetPointStatus   "Utility Room Heating Mode"   <heat>          {channel="evohome:heatingzone:a6e934b1:5155820:SetPointStatus"}
Number:Temperature UtilityRoomTemperatureSetPoint   "Utility Room Temeprature Setting [%.2f °C]"      <heat>      {channel="evohome:heatingzone:a6e934b1:5155820:SetPoint", unit="°C"}

Hello,

I have everyting configured through the webinterface.
I assume that when you comment out the thing in your text file, it also dissapears from your webinterface? Or you could also check and eventualy remove it via habconsole (CLI)


                           _   _     _     ____  
   ___   ___   ___   ___  | | | |   / \   | __ ) 
  / _ \ / _ \ / _ \ / _ \ | |_| |  / _ \  |  _ \ 
 | (_) | (_) |  __/| | | ||  _  | / ___ \ | |_) )
  \___/|  __/ \___/|_| |_||_| |_|/_/   \_\|____/ 
       |_|       4.0.2 - Release Build

Use '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
To exit, use '<ctrl-d>' or 'logout'.

openhab> openhab:things 
Usage: openhab:things list - lists all things
Usage: openhab:things show <thingUID>* - show details about one or more things; show details for all things if no thingUID provided
Usage: openhab:things clear - removes all managed things
Usage: openhab:things remove <thingUID> - removes a thing
Usage: openhab:things trigger <channelUID> [<event>] - triggers the <channelUID> with <event> (if given)
Usage: openhab:things disable <thingUID> - disables a thing
Usage: openhab:things enable <thingUID> - enables a thing

Removing(renaming) all the files associated with Evohome did not fully remove the things from OpenHAB. I manually deleted the things and re-added everything.
A quick test showed instant sucess on a tempertaure setpoint change, so all fixed now.