I have my electricity and gas meters connected to an IHD (In-Home Display), and the IHD is connected to my router. I have access to all of the address of the IHD.

I am wanting to get the energy data from the Smart Meters, in order to integrate it within an app.

I have experience with Javascript, and Python. So, if there is a way to get the data using those languages, then my life would be easier.

IHD: Chameleon IHD6 Technical Overview
Smart Meter: ZigBee EDMI

Any ideas as to how I could access the data from my Smart Meters?

  • 3
    Please update the question with some information about which country you are in and probably a hint to who your energy supplier is (and if you know the make/model of the IHD)
    – hardillb
    Commented Jul 25, 2019 at 12:51

3 Answers 3


The fact that you say it is connected to your router (I assume via WiFi) it sounds like you have the CAD (Consumer Access Device) enabled version (meaning that the display does actually make the data available) which is the good news.

What is not clear from doc is how it makes that data available (the bad news). The doc mentions a TLS secured MQTT connection with JSON based messages. All that sounds great, except it doesn't say if the device is a MQTT broker or a MQTT client. If it is a client then the question is what broker does it publish the data to and is it configurable. If it's a broker, do you need to know specific details (username/password/client certificate) to connect.

My interpretation of the doc is that the device is a MQTT client and that it publishes to a pre-configured MQTT broker in the cloud based on the following:

The IHD6-CAD-PPMID sends the user’s real time smart meter data securely to Chameleon’s cloud platform via the Chameleon CAD API

If this is the case then you probably need to talk to your energy supplier for details of how to access this API to retrieve your data.

If I am mistaken and you can either configure the device to use your own MQTT broker or it is a MQTT broker it's self then writing a small app to consume the data in either Python or Javascript is pretty trivial as MQTT libraries exist and are well documented for both. Given the data structure is JSON should make decoding the messages trivial.

  • I contacted my energy supplier, and they were very helpful and informative. However, in the end, I was not granted access to the system.
    – Sky020
    Commented Jul 26, 2019 at 16:28
  • I'm having the same "discussion" with British Gas at the moment...
    – hardillb
    Commented Jul 26, 2019 at 16:52

If you switch to Bulb Energy, they have an integration with Samsung SmartThings - We’re partnering with Samsung to help you get more out of your smart meter.

Although, after having had Bulb fit smart meters this morning, the only data I have available via the SmartThings integration in Home Assistant is the electricity used so far in kWh - not the current power usage in watts. And there's no value for the gas used (yet - I think the Chameleon display hasn't managed to connect to the gas meter).

I don't have a SmartThings Zigbee hub btw - however I don't think the Bulb integration needs it, as it pulls the data from the cloud.

  • 1
    I suspect I'm not getting a value for gas yet because the Chameleon display hasn't connected to the gas meter yet, as it's not showing gas usage on there either. So hopefully I'll get a gas energy meter appear in SmartThings later...
    – Ruth Mills
    Commented Jul 27, 2020 at 11:47


The energy supplier have updated their web app to include a GraphQL query (made in the form of a query parameter in a POST request. It is a client-side query, so all the necessary data is there.

Depending on supplier, your mileage may vary.

  • Would you mind sharing information about the GraphQL query, or adding more references?
    – FredG
    Commented Mar 12, 2022 at 20:11
  • Hello there, I am not sure this is still accurate/up-to-date, but this is what I used, at the time: github.com/ShaunSHamilton/Energy-API/blob/master/app.js#L81 The main take-aways: 1) The BEARER_TOKEN needs to be updated, by actually visiting the website - it expires 2) I doubt this will be of much use, because I doubt it is very similar across suppliers implementations.
    – Sky020
    Commented Mar 13, 2022 at 16:00
  • Thanks for sharing this! I was looking for a way to extract data on the new Chameleon Ivie, but actually, the GraphQL is really dependent on Bulb. And it has nothing to do with the IHD6 probably, they use the data updated by the smart meter on DCC (?). I actually don't let my supplier (Eon next) get the daily reading from the DCC, only monthly for billing... There might be more generic way to get your reading now via DCC Third Party, I can get my readings via the Bright or Hugo app (Hacking the apps though).
    – FredG
    Commented Mar 14, 2022 at 10:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.