Advice how to load sensor info from Plugwise Anna thermostat web interface XML

Heads-up, as promised it does break on 0.96 - good news, it’s already fixed, but we require another person to test. Not merging yet, if someone wants to test please update your custom_components/anne/climate.py using anna/climate.py PR #11

See https://github.com/laetificat/anna-ha/pull/11 - as said, I’ll push the merge button once I have confirmation beside myself testing it.

Thanks to doublechecking by @bouwew - PR is merged … happy updating anna/climate.py!

@riemers I hope to free up enough time this weekend to merge everything into the pending upstream component, renaming where due to make sure your devices are in as well

Would be great, if you need any examples or information from what i have (have the adam + lisa + thermostat) no floor heating thermostats yet, or multiple. Still ongoing thing.

Also a small note, since its zigbee and open standard. Can you not use a zigbee receiver and read/update from the zigbee bus instead?

We have another update to the anna component, already merged so just pick up the latest code (especially if you run 0.96 or higher).

@riemers I wondered how it communicated, I’m assuming my Smile and Lisa use zigbee as well to interact. I don’t see any reason why it shouldn’t be possible! I have your pastes/snippets available, just need to make time to get grips on it (and then renaming the thing to plugwise obviously :P)

It does use open zigbee protocol. There is a whole document about it. Although i would stil prefer the api since it integrates nicely if you have a proper integration.

If you need more information, just let me know. I think having more then 1 thermostat and more then 1 lisa would help to see how the array is build up. If you need that i’ll order some more.

To anyone who’s anxious for getting schedule-stuff into your Anna - please use the regular updated version of anna-ha as indicated above. I’m well aware that I committed two PRs for adding the functionality but it’s still early days. @bouwew should be able to test these when time allows, if you want to have a go as well please carefully read the notices placed in the PRs. (And yes that does mean modifying files again as the haanna part had to be updated (obvious, right).

For those anxious, it’s going to be hot in this part of Europe this week anyway, so no hurry to set your heating-schedules, but as you might want to have something to look at, this is where we got now. (And yes, the anna-component PR will get updates, so don’t bank on the screenshots to be final).

Off: pressing the schedule button (left below)
anna-ha-PR17-front-1

On: (pressing the power button gets back to previous screenshot (right lower)
anna-ha-PR17-front-2

State information: (attributes are subject to (be) change(d))

Detailed information on the state-card (clicking the right top dots): and yes you can rename the presets!

1 Like

For those of you that can’t wait for it (and who do have an Anna), the complex custom_component route is almost over, it looks like we’ll be in 0.98 as a component. I’ve taken the liberty of changing the name of the custom_component so laetificat’s repository can be used together with the released version.

What should you do, having an Anna, and wanting to integrate it as:

  • New user: best to wait a couple of weeks till 0.98
  • Anxious new user: Follow the instructions on the development rep
  • Existing anxious user: Either keep the anna component in your custom_components and using the above anxious new user approach add plugwise-dev. Feel free to ditch Anna though
  • Developer/non-Anna user: You should know which one of the above to pick, in addtion, please share your XMLs as an issue on the haanna repository (indeed, the python-module, not the custom_component)

It’s probably best to ‘take 5’ and wait the storm laying ahead of us in 0.98, but if you do have non-Anna’s we could just ‘take a look’ to see what happens. Sincere apologies to @riemers but I kind of lost track of where you already shared things, if you can create an issue as depicted by Developer/non-Anna user that would be great.

Many thanks to laetificat for laying the groundwork and providing the confidence we needed. Thanks to @bouwew for his testing, great remarks and sharpness (in no particular order :blush:). And the review team of HA doing a marvelous job on passing the PRs. As I mentioned to @bouwew earlier: “Hold on, it’s going to be a bumpy right with lots of learning curves and turbulent user enthousiasm”. It was, and boy did a learn a lot (from my own typos and assumptions).

1 Like

Thanks for all of the work guys!
I really enjoy this component.
Awesome that it will be included in HA.

So, 0.98 is live and kicking - eating our own dogfood now :slight_smile:
(as well as using the development version)

Love to hear your feedback, although I sincerely hope it’s just usable for anyone without any problems.

If you have more to comment (or better yet, commit) please use the issues on http://github.com/laetificat/anna-ha and that said, @bouwew thanks for your patience, life (and the second heat wave) got in the way of picking up, but looking at the releasenotes of 0.98 the ‘config options’ provide great means for this integration (‘do you have a {…}’ boiler, heater, etc.) => making configuration of the integration a lot more fun :slight_smile:

Dear Anna users, for your information, haanna was updated on Pypi to version 0.11.0.
Changes:

  • support for detecting that domestic hot water is being heated (the hvac_ation attribute shows dhw)
  • support for detecting that a cooling function is active
  • several other changes “under the hood”

In line with these changes, together with @CoMPaTech, I have prepared an update to plugwise-dev that supports these changes. Also, the updated code will show the active schematic, preset or a temporary temperature change in the preset_mode attribute. This will result in the HA Climate card showing this, for instance:
image

Finally, we added automatic configuration: when only the heating-function is present in your system, only the heating-related attributes will be shown. When both heating- and cooling-functions are present, now also the cooling-related attributes will be shown (tested by @marcelveldt who has an Elga heatpump in his home).

For anyone interested, please find the updated code here: https://github.com/laetificat/anna-ha

Hi Guys ,

got a question regarding this very nice plugin ! Big thanks for it.

I might have missed it in this topic. But coming from Domoticz I had some more info which I was able to read in from “Anna”

I could read out the following extra’s

-Flux meter of thermostat
-Actual temperature of the CV

is that also possible with this plugin?

Hi Sander & welcome :slight_smile:

@bouwew has been working on some changes already. I’m not sure about CV, (un)fortunately I’m at city heating so while we pay big bucks, there isn’t much else to monitor :blush:

If you mean lux (light) monitoring, that should be do-able if I look at the xml. Can you verify yours (http://{smile_ip_address}/core/domain_objects and find ‘lx’).

<point_log id="xx">
<updated_date>2019-09-30T20:39:40.565+02:00</updated_date>
<type>illuminance</type>
<unit>lx</unit>
<last_consecutive_log_date>2019-09-30T20:39:40.565+02:00</last_consecutive_log_date>
<illuminance_meter id="xx"/>
<period start_date="2019-09-30T20:39:40.565+02:00" end_date="2019-09-30T20:39:40.565+02:00">
<measurement log_date="2019-09-30T20:39:40.565+02:00">0.50</measurement>
</period>
</point_log>

We can have the component have a sensor component as well for such things I guess (lux not being primairy functionality for climate, but hey, that’s why we renamed it to plugwise :))

Thanks for the welcome !

> <illuminance_meter id="65135b10ae26487baa3c11c2cefda78c" log_type="illuminance">
> 
> <functionalities>
> 
> <point_log id="a7e1600e33eb42a1b40d084917435f6e"/>
> 
> </functionalities>
> 
> <measurement log_date="2019-09-30T20:32:20.708+02:00" unit="lx">2.25</measurement>
> 
> </illuminance_meter>
> 
>
 <proximity_sensor_toggle id="a4cb7b0087b54f35975e231de086e96b" log_type="proximity_sensor_state">

it looks you are at the right spot there

and I think the boiler temperature is this

> <services>
> 
> <thermo_meter id="204382c734a645c2975270a3e6aa75ea" log_type="boiler_temperature">
> 
> <functionalities>
> 
> <point_log id="9a5bbafc1b964e46875f50ac53044201"/>
> 
> </functionalities>
> 
> <measurement log_date="2019-09-30T21:01:47.933+02:00" unit="C">57.00</measurement>
> 
> </thermo_meter>

and maybe another nice feature to add is the pressure in the system. Seems anna reads that one else.

> <pressure_gauge id="5082f6d572214c4d967b0b3212ca27b4" log_type="central_heater_water_pressure">
> 
> <functionalities>
> 
> <point_log id="5934a3ae268f44af8d0f208509556b1a"/>
> 
> </functionalities>
> 
> <measurement log_date="2019-09-30T14:29:25.021+02:00" unit="bar">2.00</measurement>
> 
> </pressure_gauge>

Shouldn’t be too hard to add. I will have a look during the weekend.

@Aussi, can you please create an Issue on the github (https://github.com/laetificat/haanna) describing your request?

@bouwew ,

Sure thing.
At the moment I am in Romania for this week.
Will try to remember :smiley:

@Aussi
Thank you!
I’ve made the requested changes, see https://github.com/laetificat/haanna/pull/20

@Aussi

Are you willing to test something for me?

I have removed the automatic detection of the legacy Anna and turned it into a configurable parameter in configuration.yaml. This change was needed to solve as nasty problem that another non-legacy user had, that has been tested now.
I would appreciate it if you could try out the code in you legacy_anna system. Looking forward hearing from you!

Hello fellow Anna-users,

I wanted to inform you: the haanna and corresponding anna-ha/plugwise_dev-code-has been updated to solve one problem (https://github.com/home-assistant/home-assistant/issues/26520) and include requested new functionality:

  • Reading the domestic hot water status, when available
  • Reading the cooling status, when available (this means support for the Elga heat-pump)
  • Reading illuminance
  • Reading current boiler temperature
  • Reading current boiler pressure

Additionally, the functionality of the preset_mode attribute was extended to show addition information when there is no preset active. It shows the selected schedule or “Temporary” when e.g. the temperature is changed manually. Finally, async and black were implemented.

BREAKING CHANGE:
Unfortunately, to solve the reported problem, the automatic detection of the legacy Anna (with firmware 1.8.x) had to be removed. That has been made manual. This means that legacy Anna users must add an extra line into their configuration.yaml, the last line containing: legacy_anna: true:

climate:
  - platform: plugwise_dev
    name: your_device_name
    password: your_password
    host: your_anna_ip
    legacy_anna: true

Users that have a recent Anna (with firmware 3.1.x) do not have to change anything.

The latest code can be found here: https://github.com/laetificat/anna-ha
Make sure to update both the climate.py and manifest.json files.
PLEASE NOTE that a hard reboot of the server is required after saving the changes, a restart will result in errors being reported.

The updated code has been tested by the reporter/requesters and 2 more Anna users.
If you find a problem, please create an Issue in Laetificat’s github.

In the next couple of weeks I will try to create a pull-request in the HA-github, to try to get the updated code released into the official HA repository.

Nice work @bouwew and many thanks to everyone who helped testing!