I wanted to give an update on the open API we’re working on & how we plan to enable integrations to Home Assistant or other similar platforms. A few of you recently gave your feedback on this and that was quite useful in getting this far! So I would love to hear any further thoughts on this before we finalize the feature.
Here’s how we plan to make this feature work:
Adding API Integrations
You will be able to enable the “API Integration” feature like you add any other device. You will need to have a working Smart Meter with half hourly data connected.
Once enabled, the Open API will give you access to a token which can be used to authenticate HTTP calls made to documented endpoints.
Initially, we will be opening up only the
/equivents endpoint which you can query to get historic & current equivent data. Let us know what other endpoints & data you would find useful in creating your automations!
This could be used for a lot of different automations (like Home Assistant). What it does is enable you to receive an HTTP call based on certain triggers.
The initial triggers we’re adding are
event started &
event ended (let me know what else you’d like to see!)
You would need to enter a URL that you’d like us to call (we will be making a POST call) when the selected trigger happens. You can also optionally provide a payload. There’s also a few custom variables that you can include in the URL or the payload if you’d like to receive some additional data.
You could use this with Home Assistant as described here.
Let me know if there’s any improvements or changes you’d like us to make to this to make your automations easier!
This is great, exactly what I’m looking for and the Webhook will allow it to be used immediately in Home Assistant before the creation of a custom integration. For my personal use case I want to be able to create an automation so that when an Equivent starts, my Tado will temporarily turn down all zones in the house causing the electricity consumption of the Air Source Heat Pump to drop for the duration of the Equivent. The Tado side of the equation is already sorted. This (as described above) will immediately enable me to automate that from the Equiwatt side. Looking forward to see the release of this!
In the longer term I would definitely like to see a Python library for the API, followed by a custom integration, eventually progressing to be a standard HA integration. IMHO that will also help to attract new users to Equiwatt. Generally that is community led though, I wouldn’t expect you to go any further than the python library (as it tends to get used by multiple platforms) and even that is often community developed.
That’s great to hear @Chris_Greenwood! We’re hoping to get this out to beta in the next couple of weeks, so you should be able to test it then.
Regarding the python library, will certainly look into that too! And if it’s community developed, we’ll of course do everything we can to support that via the open APIs we’re building!
That’s encouraging to hear you’re willing to engage like that.
What a great idea. ASHP are a great target for equiwatt.
Thanks for the link. I’m quite new to Home Assistant and you’ve opened up the world of Automation Triggers to me!
Welcome to the community @Derek_ladkin!
I’m also quite new to Home Assistant. Do share anything you learn along the way that may help too!
Heating is definitely something we will be focusing on soon…
@Chris_Greenwood, @Derek_ladkin We have now enabled the webhook & open API features for the beta app. Official announcement is coming soon, let me know if you encounter any issues meanwhile.
Hi @mahen , would you mind posting links to the open API base URL and documentation? I can’t seem to find it on here or in the app - many thanks
Hi @Elizabeth_B. I’ll create a new thread regarding this & the webhook features sometime today!
Just wanted to feedback how well this is working for me. The webhook is currently being consumed by Home Assistant which, during each Equivent drops the temperature in all rooms down to 5 degrees on the Tado system. The Tado is integrated with the air source heat pump which turns off because there is no demand. As a result every time there is an Equivent the air source heat pump turns off alongside the Kasa plugs, drastically increasing the savings! That’s the single biggest change to our consumption that we can make in the house but does open the door for a few other savings driven by Home Assistant now being Equivent aware.
In the background I’ve also started to write a python library that a Home Assistant custom integration could consume but I’ve got a bit more work to do on the data model and a lot more python knowledge to acquire to finish it off.
This is brilliant! Just the right use case for the webhook.
I now have a Home Assistant integration for my EV… so I’m wondering if I can configure HA to stop the car charging during an Equivent - but I think what you’re describing is the ability to trigger a HA event from the Equiwatt App.
Maybe I’ve misunderstood. Is it going to be possible to trigger an Equivent from some sort of cloud service, not requiring participation of the App, except for initial configuration?
Or does it work the other way round with HA configured to look for the Equivent?
@mahen with today’s announcement regarding PowerDown and PowerUp events have you got plans to enhance both the API and Webhooks to incorporate a Webhook for PowerUp events and enhancements to the API to include the event type. In fact regarding the API in general do you have further plans to enhance the API? While currently requires authentication the data that it’s providing is not at all personalised. I’d assumed that at some point you’d think about adding whether a user participated, savings etc. etc.
@mahen I don’t believe the Equivents Webhooks are operating, I see no engagements having occurred.
Also, how do I configure a Webhook without it’s “optional” payload?
Hello Jeremy, payload is there help customise integrations. Why do you want it empty? Can’t you ignore the payload at your end?
My main question was whether the Webhooks are actually functioning.
As for the payload, I assume it’s customisable, but How is that done? If I “check the community for documentation” I see Uh-Oh. This page knows nothing.