Toon (eneco) integration with Home Assistant

I didn’t factory reset mine. It only updated to the latest firmware but I have no contract with Eneco (which means I can’t use https://toonopafstand.eneco.nl).

Now I think of it, maybe that’s the reason I keep getting these messages in the HA log:

17-01-19 23:21:53 homeassistant.components.sensor.command_line: Command failed: python /home/pi/.homeassistant/scripts/toonclient.py -t -p -g -c -U <USERNAME> -P <PASSWORD>
17-01-19 23:21:53 homeassistant.components.sensor.template: UndefinedError: 'None' has no attribute 'state'
17-01-19 23:21:53 homeassistant.components.sensor.template: UndefinedError: 'None' has no attribute 'state'
17-01-19 23:21:53 homeassistant.components.sensor.template: UndefinedError: 'None' has no attribute 'state'
17-01-19 23:21:53 homeassistant.components.sensor.template: UndefinedError: 'None' has no attribute 'state'

That’s correct, the component relies on the Toon API. You can’t use that when you don’t have a contract.

Since toonopafstand.eneco.nl is taken offline permanently by Eneco (since the last major update they did on the 14 March) , did anyone already develop something so we can interact using the official API?

Currently I have no way of controlling Toon through Home Assistant.

I’m working on the api and first develop it as a custom component. Hopefully this week Some progress. In case it works in my situation are you able to test it for me?

How ? Does the component interact directly with the Toon thermostat ?

Yes sure I can test that!

No the home assistant component didn’t interact directly with the thermostat, but rather with the webbased control page (https://toonopafstand.eneco.nl/toonMobileBackendWeb/client/login?username=USERNAME&password=PASSWORD), which then controls the thermostat.

But since the 17th of March Eneco stopped completely with that functionality, so we now can only interact using the API.

So, what API is he using now ?

I was rewriting my previous reply :).
Anyway: https://www.toonapi.com/

But as he says he is still developing that. So it’s not working yet.

@opdoffer I’d like to help out as well! Toon should definitely be added to HA, but I’ve been looking into the steps that are necessary and it’s quite a project to get going. I can test but maybe also help with coding or anything else? Just let me know :slight_smile:

Maybe it is not that hard. I was thinking adding toon as a new platform and not a component.

What I need to figure out is using toon without an dev-account. And we probably need approval of eneco.

The first thing is to get it running using a dev account. And we will see the rest later.

Do you have any experience in translating java into python, because that is the easiest way to go. Regarding the toon examples available.

Have you contacted Eneco about this already? Otherwise that’s something I’d like to figure out.

And Java, I did some development in Java 15 years ago and picked up Python recently. Could try but I’m not sure :slight_smile:

From the ToopAPI website:

“If more than 1000 people want to connect their Toon device to scale up, you have to apply for a high volume licence.”

And

What if I make a free app?

For us to support high-volume free apps, we want to know the motivation for offering a free app, what our API cost would be and which party should pay these costs. Many free apps have an alternative business model. If it truly is a not-for-profit app that has value for its users, we can make an exception.

I think it’s really weird someone should pay for the traffic, since only people with a Toon subscription will use it and all these people already pay a fee. That’s an argument we can make I guess, I’d like to try anyway! On the other hand Eneco is marketing Toon as a smarthome hub by itself so they might see our idea as competition. The alternative is to just ask some people to register for an API key for every 1000 users :wink:

In the mean time register as dev and you are able to “test”. Eneco is not really showing its best here with this license model. As you said they already having paying customers with the subscription, which is profitable enough. Strange.

Another argument is that everybody is running there own instance of hass and not as a cloud service or downloadable apps.

And about the competition: hass is way out of there league :wink:

If you can contact them about this, would be great. I’m setting up my test environment now in docker.

Hi all,

I started dev on the toon api. But there is one big drawback…at least in: time. I thought I could use my toon-eneco-dev-account to develop against my own toon. In fact you get credentials for developing against a virtual toon. So the workaround for creating a dev-account to configure toon in hass is not an option.

So this means I can continue coding and try to make it work, but it will not be usable as a (custom) component in a short period of time. Like @michielrutjes already mentioned we need the approval of Eneco to use the API for our hass-app. And most likely the will try to make some profit of it.

I will still continue coding and testing, but we need to get in touch with Eneco to get Toon support in HASS. And I followed a thread on atom homey and for them it also took a while…

I will contact them and let you know any progress.

Cheers

1 Like

Thanks for looking into this.
Summer is coming so we don’t need Toon a lot, and hopefully we’ll have it all working before the next winter :slight_smile:

Hey, so far I haven’t been able to get a response from the Toon API team. But a quick Twitter search learns that this ins’t a coincidence. I’m nog DM’ing some other people who’ve been trying to contact the API team to see if they had any more luck.

What’s interesting though is that the official Eneco twitter account ensures people that it’s possible to use the API for personal projects. Which, by the comments of @opdoffer, doesn’t seem to be that straightforward. To be continued!

1 Like

Alright, so far I’ve gotten some information but it’s not really what we want to hear. From the Toon API team there hasn’t been any sign of life. So I’ve been contacting Eneco to see what’s up. Apparently they got an answer in a couple of hours. The Eneco guy phoned me and told me that they are working on a solution to test your API using app against your own Toon, but he wouldn’t say when we could expect this feature. Then he went on to explain that I can still use the simulator, then send my app for approval, then they would send it to a test team… That’s not gonna work.

In the meantime I’ve been searching on several domotica forums and also on social media and all you see is the same pattern: hobbyists getting ignored by the Toon API team and no intentions of Eneco to truly open up their API.

There are a couple of things we can do now:

  1. Wait for the Toon API to open up.
  2. Go through the Toon API process and submit an app they way they want it and see what happens from there.
  3. Spam Eneco that if they truly want to save the planet they should let us have our way with our devices.
  4. Root your Toon and go from there, which is still far away from official HA Support.
  5. Forget about the whole thing and get a thermostat that’s already supported :wink:

To be honest, the whole thing is a big downer for me. I’d like to hear your view on this, but I’m seriously considering option 5. Without access the platform really isn’t worth the monthly fee imo.

Many thanks for the investigation Michiel!

I’m still on the option 2 route. As hopeless it might seems, it at least expands my dev-skills :wink:

You forgot to mention one option and that is the current solution with the external commandlinescripts. I will try to transform it in an custom component so you will get rid of the errors in your log (because of the frequent requesting the webservice) and get rid of the username password exposed in the commandline.

In my situation the scripts are still working.

When you choose another thermostat, let me know what you choose and which criteria you use? Very interested in you experience

Thanks for following this up and it’s indeed a big downer.
As we won’t really need Toon until next winter I suggest we try option 3.

Can you say which channel we can use best to spam them? And maybe provide a template text which we can use to send?

@opdoffer how is it possible that your script is still working while https://toonopafstand.eneco.nl/ gives a “503 Service Unavailable
No server is available to handle this request.” response?