Evohome Binding Authentication failed. Binding cannot be configured with .things file

I’m running openHAB 4.3.5 - Release Build on openhabian-installation on a Raspberry Pi 3B and have just added the Evohome-Binding .

Tried to setup the Binding with a .things file, since all my other bindings are cofigured file based. Can see the Bridge, the Display and the Heating-Zones in the Main-UI > Settings > Things, but the Bridge shows: Offline > COMMUNICATION ERROR > Authentication failed.

Removed the .things file and added the Bridge with the same credentials via Main-UI. Went Online immediately.

Log-entries with debug-level in the Binding shows the root cause:

→ When configured by .things file the log shows binding tries to connect to the Evohome-portal that way:

2025-07-08 15:16:04.819 [DEBUG] [nding.evohome.internal.api.ApiAccess] - Requesting: [https://tccna.honeywell.com/Auth/OAuth/Token]
2025-07-08 15:16:05.628 [DEBUG] [nding.evohome.internal.api.ApiAccess] - Request failed with unexpected response code 400
2025-07-08 15:16:05.630 [DEBUG] [vohome.internal.api.EvohomeApiClient] - Authorization failed

→ When configured byMain-UI the log shows binding connects to the Evohome-portal completely different:

2025-07-08 15:13:24.783 [DEBUG] [nding.evohome.internal.api.ApiAccess] - Requesting: [https://tccna.honeywell.com/WebAPI/emea/api/v1/location/4252725/status?includeTemperatureControlSystems=True]

Can I do anything to fix this, or is it a bug in the binding?

Regards Josef

Please show us your things file and the content of your MainUI Thing code tab.

Thanks for the reply.

Here is the evohome.things file:

Bridge evohome:account:EVO_Heizung [ username="myusername", password="mypassword", refreshInterval="17" ]
{
    display EVO_Zentrale                [ id="5694039" ]

    heatingzone EVO_EG_Bad              [ id="5721042" ]
    heatingzone EVO_EG_Zimmer           [ id="5721041" ]
    heatingzone EVO_EG_Schlafen         [ id="5721040" ]
    heatingzone EVO_EG_Buero            [ id="5721047" ]
    heatingzone EVO_EG_Wintergarten     [ id="5721038" ]
    heatingzone EVO_EG_Wohnzimmer       [ id="5694038" ]
    heatingzone EVO_EG_Kueche           [ id="5721039" ]
    heatingzone EVO_UG_Bad              [ id="5721045" ]
    heatingzone EVO_UG_Zimmer_links     [ id="5721043" ]
    heatingzone EVO_UG_Zimmer_rechts    [ id="5721044" ]
    heatingzone EVO_UG_Werkstatt        [ id="5721046" ]
}

And this is the the code of the bridge thing:

UID: evohome:account:EVO_Heizung
label: evohome Account
thingTypeUID: evohome:account
configuration:
  refreshInterval: 17
  password:mypassword
  username: myusername

the display thing:

UID: evohome:display:EVO_Heizung:EVO_Zentrale
label: evohome Display
thingTypeUID: evohome:display
configuration:
  id: "5694039"
bridgeUID: evohome:account:EVO_Heizung
channels:
  - id: SystemMode
    channelTypeUID: evohome:systemMode
    label: System Mode
    description: Current system mode
    configuration: {}

and one of the heatingzones:

UID: evohome:heatingzone:EVO_Heizung:EVO_EG_Buero
label: evohome Heating Zone
thingTypeUID: evohome:heatingzone
configuration:
  id: "5721047"
bridgeUID: evohome:account:EVO_Heizung
channels:
  - id: Temperature
    channelTypeUID: evohome:temperature
    label: Temperature
    description: Current zone temperature
    configuration: {}
  - id: SetPointStatus
    channelTypeUID: evohome:setpointstatus
    label: Set Point Status
    description: Current set point status
    configuration: {}
  - id: SetPoint
    channelTypeUID: evohome:setpoint
    label: Set Point
    description: Gets or sets the set point of this zone (0 cancels the override).
    configuration: {}

The IDs are from first adding and scanning on the Main-UI.

Josef

Don’t know this Binding, but your things file is missing the label for the account Thing. Not sure if this will solve your issue.

Built the thing file according to the sample in the binding’s description. There is no label used.

Bridge evohome:account:your_account_alias [ username="your_user_name", password="your_password" ]
{
    display your_display_alias  [ id="1234" ]
    heatingzone your_zone_alias [ id="5678" ]
}