New EvoHome Binding

I’ve installed the latest and will run it for a few days to see what happens but early signs look good :slight_smile:

That should do it.

1 Like

I don’t appear to be getting any setpoint temperatures pulled down with the new binding. Actual temps and modes for both zone and the evotouch look ok.

@neil_renaud Thanks! I’ll have a read… Maybe some follow up questions later :wink: Also: would you like to be in the sign-off of the PR? If so, I need something in the following format: also-by: Jasper van Zuijlen <jvanzuijlenATgmail.com> (github: Nebula83)

@smighall Good to hear! About the setpoints: if you enable debug logging you should be able to see something also the lines of this:

        {
          "zoneId": "XXXXXX",
          "temperatureStatus": {
            "temperature": 18.0,
            "isAvailable": true
          },
          "activeFaults": [],
          "heatSetpointStatus": {
            "targetTemperature": 15.0000,
            "setpointMode": "FollowSchedule"
          },
          "name": "xXxXxXxX"
        }

I’m interested in the heatSetpointStatus part. Could you send me an anonymized snapshot of your data? For me and Neil it seems to work ok, so it could be something different in the response.

Already a follow up question :slight_smile: I toyed with that command you suggested but since I have merges in, that can’t work apparently. Also, I don’t know how I can remove commits from other people from my commit, without losing their changes? How do you generally prepare a PR for openhab?

I’m also not getting the setpoints. Will try to sort out debug logging and post the data.

Thanks for testing! And please let me know if you need any help with the debug logging.

Do you know how to access the Karaf console?

Then it’s just a matter of issuing the following command: log:set DEBUG org.openhab.binding.evohome. You can restore the normal logging with log:set DEFAULT org.openhab.binding.evohome

Enabled debugging and got the below. I can see it pulling in the setpoints there but it’s not populating the actual thing items:

        {
          "zoneId": "XXXXXX",
          "temperatureStatus": {
            "temperature": 19.5,
            "isAvailable": true
          },
          "activeFaults": [],
          "heatSetpointStatus": {
            "targetTemperature": 15.0000,
            "setpointMode": "FollowSchedule"
          },
          "name": "Hall"
        },
        {
          "zoneId": "XXXXXX",
          "temperatureStatus": {
            "temperature": 19.0,
            "isAvailable": true
          },
          "activeFaults": [],
          "heatSetpointStatus": {
            "targetTemperature": 14.0000,
            "setpointMode": "FollowSchedule"
          },
          "name": "Study"
        }
      ],
      "activeFaults": [],
      "systemModeStatus": {
        "mode": "AutoWithEco",
        "isPermanent": true
      }

Item / Thing details:

Setpoint
evohome:heatingzone:XXXXXXXX:Hall:SetPoint
Thermostat setpoint

Tried manual items too:
Number Hall_Radiator_Target_Temp “Hall Radiator Target Temp [%.1f °C]” (gEvohome) { channel=“evohome:heatingzone:XXXXXX:Hall:SetPoint” }

These have never updated for any of the zones. Is the channel correct?

Mine is very similar…

2017-06-12 12:51:07.533 [DEBUG] [nding.evohome.internal.api.ApiAccess] - Response: HttpContentResponse[HTTP/1.1 200 OK - 5241 bytes]
Set-Cookie: tccna=xxxxxxxxxxxx; path=/; expires=Tue, 13-Jun-2017 12:02:39 GMT
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=UTF-8
Expires: -1
Server: Microsoft-IIS/8.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Server: Web1
Date: Mon, 12 Jun 2017 11:51:07 GMT
Content-Length: 5241


{
  "locationId": "xxxxx",
  "gateways": [
    {
      "gatewayId": "xxxxxx",
      "temperatureControlSystems": [
        {
          "systemId": "xxxxxx",
          "zones": [
            {
              "zoneId": "xxxxxx",
              "temperatureStatus": {
                "temperature": 18.5,
                "isAvailable": true
              },
              "activeFaults": [],
              "heatSetpointStatus": {
                "targetTemperature": 18.0000,
                "setpointMode": "FollowSchedule"
              },
              "name": "Lounge"
            },
            {
              "zoneId": "xxxxxx",
              "temperatureStatus": {
                "temperature": 19.5,
                "isAvailable": true
              },
              "activeFaults": [],
              "heatSetpointStatus": {
                "targetTemperature": 18.0000,
                "setpointMode": "FollowSchedule"
              },
              "name": "Snug"
            },
            {
              "zoneId": "xxxxxx",
              "temperatureStatus": {
                "temperature": 19.5,
                "isAvailable": true
              },
              "activeFaults": [],
              "heatSetpointStatus": {
                "targetTemperature": 15.0000,
                "setpointMode": "FollowSchedule"
              },
              "name": "Kitchen"
            },
            {
              "zoneId": "xxxxxx",
              "temperatureStatus": {
                "temperature": 20.0,
                "isAvailable": true
              },
              "activeFaults": [],
              "heatSetpointStatus": {
                "targetTemperature": 17.0000,
                "setpointMode": "FollowSchedule"
              },
              "name": "New Room"
            },
            {
              "zoneId": "xxxxxx",
              "temperatureStatus": {
                "temperature": 20.0,
                "isAvailable": true
              },
              "activeFaults": [],
              "heatSetpointStatus": {
                "targetTemperature": 12.0000,
                "setpointMode": "FollowSchedule"
              },
              "name": "Hall"
            },
            {
              "zoneId": "xxxxxx",
              "temperatureStatus": {
                "temperature": 20.0,
                "isAvailable": true
              },
              "activeFaults": [],
              "heatSetpointStatus": {
                "targetTemperature": 16.0000,
                "setpointMode": "FollowSchedule"
              },
              "name": "Toilet"
            },
            {
              "zoneId": "xxxxxx",
              "temperatureStatus": {
                "temperature": 19.0,
                "isAvailable": true
              },
              "activeFaults": [],
              "heatSetpointStatus": {
                "targetTemperature": 15.0000,
                "setpointMode": "FollowSchedule"
              },
              "name": "Bed1"
            },
            {
              "zoneId": "xxxxxx",
              "temperatureStatus": {
                "temperature": 20.0,
                "isAvailable": true
              },
              "activeFaults": [],
              "heatSetpointStatus": {
                "targetTemperature": 15.0000,
                "setpointMode": "FollowSchedule"
              },
              "name": "Bed2"
            },
            {
              "zoneId": "xxxxxx",
              "temperatureStatus": {
                "temperature": 19.5,
                "isAvailable": true
              },
              "activeFaults": [],
              "heatSetpointStatus": {
                "targetTemperature": 15.0000,
                "setpointMode": "FollowSchedule"
              },
              "name": "Master"
            },
            {
              "zoneId": "xxxxxx",
              "temperatureStatus": {
                "temperature": 20.5,
                "isAvailable": true
              },
              "activeFaults": [],
              "heatSetpointStatus": {
                "targetTemperature": 12.0000,
                "setpointMode": "FollowSchedule"
              },
              "name": "Study"
            }
          ],
          "dhw": {
            "dhwId": "xxxxxx",
            "temperatureStatus": {
              "temperature": 46.0,
              "isAvailable": true
            },
            "stateStatus": {
              "state": "Off",
              "mode": "FollowSchedule"
            },
            "activeFaults": []
          },
          "activeFaults": [],
          "systemModeStatus": {
            "mode": "Auto",
            "isPermanent": true
          }
        }
      ],
      "activeFaults": []
    }
  ]
}

No setpoints showing, although current temp does.

Awesome guys, thanks for the logs. I’ll see if I can fix the issue soon.

Quick follow up - how do we get/use the DHW Hot Water?

So I just looked at my live installation (I don’t use the setpoints or status) and saw the same thing happening: -Nan or just 0. Then what I did was to:

  • Comment all evohome Items,
  • Remove all evohome Things and
  • bundle:uninstall [id of evohome binding] in Karaf.

I then restarted my openhab and re-entered my credentials as well as re-added all the things (sounds like a meme). I then updated the id in the Item definitions and uncommented them and: presto, everything works. Check if this trick works for you as well. I do think it’'s strange that it happens though, so I’ll investigate this issue.

Hi @nick_wootton,

This is not implemented yet, so that would be a future feature. I added that as an issue.

Feel free to add other issues as you see them.

Re DHW - Ok cool - I currently run my EvoHome via Exec Python scripts using the WatchForStock library, so I guess I can keep using that for the Hot Water info for now.

The comment out/restart/uncomment hasn’t worked for me., BUT I’m trying to get everything configured via files rather than use PaperUI, so my test bed is a little messy!

Is there an updated wiki page with info about defining things in files? I’m guessing I’ve got to define my credentials (username & password), refresh time and appID. Is this along the right lines?

Bridge evohome:gateway:99aae9f4 [ username="1@mail.com", password="mysecret", applicationId="xxxxxx-xxx-xxx", refreshInterval=15000]

{Thing evohome:display:99aae9f4:EvoTouch 

Thing evohome:heatingzone:99aae9f4:Study
}

I haven’t updated any of the documention yet, as we are still figuring out what the best and most usable setup is. I think that will be updated in the neat future.

On configuring everything through files I am a bit of a novice myself. I didn’t even know that what possible until you told me so I don’t think I can help you much yet?

OK, I guess that explains why it goes totally nuts when I try to use a ‘.thing’ file!

I’ll add it as an issue… Sorry, I seem to be breaking everything :slight_smile:

Update: The Gateway/Bridge part seems to work, but trying to define individual things throws lots of errors!

Bridge evohome:gateway:99aae9f4 [ username="1@mail.com", password=“mysecret”, applicationId=“xxxxxx-xxx-xxx”, refreshInterval=15000]

Tried removing by the steps you mentioned but unfortunately no change, the items still do not pull any values. I can still see the values in the debug logs however.

Well, that’s your job as tester right :slight_smile:

Yeah, I think I’ll post a question in the forum why this happens. The channel names changed when I updated too, so it seems it uses an older/cached copy or something.
Could you perhaps try to clear your links (links clear) in Karaf and then shutdown and restart openhab? Don’t worry, the item channel links will be rebuilt on restart.

My output for links | grep evohome reads for instance:

openhab> links | grep evohome
SetLiving -> evohome:heatingzone:xxxxxxxx:Woonkamer:CurrentSetPoint
StatusBed -> evohome:heatingzone:xxxxxxxx:Slaapkamer:SetPointStatus
TempBaby -> evohome:heatingzone:xxxxxxxx:Babykamer:Temperature
EvoMode -> evohome:display:xxxxxxxx:EvoTouch:SystemMode
StatusLiving -> evohome:heatingzone:xxxxxxxx:Woonkamer:SetPointStatus
TempBed -> evohome:heatingzone:xxxxxxxx:Slaapkamer:Temperature
SetBed -> evohome:heatingzone:xxxxxxxx:Slaapkamer:CurrentSetPoint
SetBaby -> evohome:heatingzone:xxxxxxxx:Babykamer:CurrentSetPoint
StatusBaby -> evohome:heatingzone:xxxxxxxx:Babykamer:SetPointStatus
TempLiving -> evohome:heatingzone:xxxxxxxx:Woonkamer:Temperature

tried that and no change. One thing that i have spotted, yours has “CurrentSetPoint”. The latest version of the binding adds links to “SetPoint”:

Bedroom1_Radiator_Target_Temp -> evohome:heatingzone:XXXXXXXX:Bedroom1:SetPoint
Nursery_Radiator_Target_Temp -> evohome:heatingzone:XXXXXXXX:Nursery:SetPoint
Guestbed_Radiator_Target_Temp -> evohome:heatingzone:XXXXXXXX:GuestBed:SetPoint
Bedroom4_Radiator_Target_Temp -> evohome:heatingzone:XXXXXXXX:Bedroom4:SetPoint
Hall_Radiator_Target_Temp -> evohome:heatingzone:XXXXXXXX:Hall:SetPoint
Study_Radiator_Target_Temp -> evohome:heatingzone:XXXXXXXX:Study:SetPoint
Toilet_Radiator_Target_Temp -> evohome:heatingzone:XXXXXXXX:Toilet:Setpoint
Kitchen_Radiator_Target_Temp -> evohome:heatingzone:XXXXXXXX:Kitchen:SetPoint
Salon_Radiator_Target_Temp -> evohome:heatingzone:XXXXXXXX:Salon:SetPoint
LivingRoom_Radiator_Target_Temp -> evohome:heatingzone:XXXXXXXX:LivingRoom:SetPoint

I’ve change my manual items to be CurrentSetPoint but that still doesn’t appear to work.