Reading Australian smart meter data

I have an in-house energy meter on my fridge that connects via ZigBee to my smart meter and displays stats about energy usage/production - especially interesting given I have a solar PV system as well.

So my (simple) thought process is this: If I’m able to connect to the smart meter via ZigBee I should be able to connect to this smart meter from Hass.io given it has ZigBee support. And once the data is in Hass.io what is done with it is another topic.

Has anyone successfully connected to their Australian smart meters? What’s involved?

1 Like

Curious what provider your using? I’m with Origin in NSW and also have a smart meter that has zigbee built in, but to my knowledge Origin don’t give you the ability to connet to it. I’ve been looking at getting IoTaWatt as a result but would much prefer connect direct.

My retailer is Alinta Energy but I believe the network belongs to United Energy. They have an online portal energyeasy.ue.com.au that lets you access data online but as far as I know there’s no way to access this data via other means - other than maybe to re-engineer the webpage which would be crazy to do and obvisouly not above board :slight_smile:

1 Like

That’s great, txs! Guess what I’ll do on the weekend :slight_smile:

Tried to set this up. Referencing the following path I assumed the

<homeassistant-user-configuration-directory>

is where the configuration.yaml file sits. From there I created custom_components/sensor and copied energyeasy.py into.

I then updated configuration.yaml with the configuration example as shown in the GitHub page.

Lastly I ran

ha core check

and got the error message

Error: Testing configuration at /config
Failed config
  General Errors:
    - Platform error sensor.energyeasy - No module named 'custom_components.energyeasy.sensor'; 'custom_components.energyeasy' is not a package
Successful config (partial)

Could this be a file access issue? Do I need to enable anything so Python scripts can run?

The custom components folder structure changed about a year ago so rename the folder and .py file from:
/custom_components/sensor/energyeasy.py
to:
/custom_components/energyeasy/sensor.py

Still the same outcome… btw this is the first sensor I install on the system and I feel pretty “clumsy” at the moment. Certainly at the deep end of the learning curve.

When I run the

ha core check

command still get the same error even after renaming the folder/file accordingly

General error: - Platform error sensor.energyeasy - Integration 'energyeasy' not found

Checked/changed the permission to 755 on sensor.py as the file is owned by root:root but this didn’t change the outcome.

To recap I made the following additions to configuration.yaml

sensor:
  - platform: energyeasy
    username: MYUSERNAME
    password: MYPASSWORD
    monitored_variables:
      - supply_charge
      - weekday_peak_cost
      - weekday_offpeak_cost
      - weekday_shoulder_cost
      - weekend_offpeak_cost
      - single_rate_cost
      - generation_cost
      - yesterday_user_type
      - yesterday_usage
      - yesterday_consumption
      - yesterday_consumption_peak
      - yesterday_consumption_offpeak
      - yesterday_consumption_shoulder
      - yesterday_generation
      - yesterday_cost_total
      - yesterday_cost_consumption
      - yesterday_cost_generation
      - yesterday_cost_difference
      - yesterday_percentage_difference
      - yesterday_difference_message
      - yesterday_consumption_difference
      - yesterday_consumption_change
      - yesterday_suburb_average
      - previous_day_usage
      - previous_day_consumption
      - previous_day_generation
      - this_week_user_type
      - this_week_usage
      - this_week_consumption
      - this_week_consumption_peak
      - this_week_consumption_offpeak
      - this_week_consumption_shoulder
      - this_week_generation
      - this_week_cost_total
      - this_week_cost_consumption
      - this_week_cost_generation
      - this_week_cost_difference
      - this_week_percentage_difference
      - this_week_difference_message
      - this_week_consumption_difference
      - this_week_consumption_change
      - this_week_suburb_average
      - last_week_usage
      - last_week_consumption
      - last_week_generation
      - this_month_user_type
      - this_month_usage
      - this_month_consumption
      - this_month_consumption_peak
      - this_month_consumption_offpeak
      - this_month_consumption_shoulder
      - this_month_generation
      - this_month_cost_total
      - this_month_cost_consumption
      - this_month_cost_generation
      - this_month_cost_difference
      - this_month_percentage_difference
      - this_month_difference_message
      - this_month_consumption_difference
      - this_month_consumption_change
      - this_month_suburb_average
      - last_month_usage
      - last_month_consumption
      - last_month_generation

Given this is the first sensor is there anything else I need to enable/configure?

I’m trying to work myself through this - one step at a time. Being new to HA doesn’t help :slight_smile: but it looks like the installation is now ok.

Are there any code samples I could adopt to get this data onto my dashboard? Looking at the documentation I believe the template platform is the way to go but given this is the first custom_component I install I’m really tapping in the dark.

I’m using this in lovelace (it could be a lot prettier!) :slight_smile:

type: custom:vertical-stack-in-card
cards:

  - id: energy_rates
    name: Energy Easy
    type: markdown
    content: >
      # ![Image](/local/UE-logo.jpg) Energy Easy

      United Energy’s online data portal to manage electricity usage
      
      https://energyeasy.ue.com.au/electricityView/index

  - id: energy_rates
    name: Energy Rates
    type: horizontal-stack
    cards:
      - type: custom:mini-graph-card
        entities:
        - sensor.energyeasy_supply_charge
        name: Daily Supply Charge
        show:
          graph: false
        group: false
        align_icon: right
        align_header: right
        align_state: right
        decimals: 2
        font_size: 60
        font_size_header: 12
      - type: custom:mini-graph-card
        entities:
        - sensor.energyeasy_single_rate_cost
        name: Rate per kWh
        show:
          graph: false
        group: false
        align_icon: right
        align_header: right
        align_state: right
        decimals: 2
        font_size: 60
        font_size_header: 12

  - id: energy_cost
    name: Energy Cost
    type: horizontal-stack
    cards:
      - type: custom:mini-graph-card
        entities:
        - sensor.energyeasy_yesterday_cost_total
        name: Cost Yesterday
        show:
          graph: false
        group: false
        align_icon: right
        align_header: right
        align_state: right
        decimals: 2
        font_size: 60
        font_size_header: 12
      - type: custom:mini-graph-card
        entities:
        - sensor.energyeasy_this_week_cost_total
        name: Cost this Week
        show:
          graph: false
        group: false
        align_icon: right
        align_header: right
        align_state: right
        decimals: 2
        font_size: 60
        font_size_header: 12
      - type: custom:mini-graph-card
        entities:
        - sensor.energyeasy_this_month_cost_total
        name: Cost this Month
        show: 
          graph: false
        group: false
        align_icon: right
        align_header: right
        align_state: right
        decimals: 2
        font_size: 60
        font_size_header: 12

  - id: energy_consumption
    name: Energy Consumption
    type: horizontal-stack
    cards:
      - type: custom:mini-graph-card
        entities:
        - sensor.energyeasy_yesterday_consumption
        name: Use Yesterday
        show:
          graph: false
        group: false
        align_icon: right
        align_header: right
        align_state: right
        decimals: 2
        font_size: 60
        font_size_header: 12
      - type: custom:mini-graph-card
        entities:
        - sensor.energyeasy_this_week_consumption
        name: Use this Week
        show:
          graph: false
        group: false
        align_icon: right
        align_header: right
        align_state: right
        decimals: 2
        font_size: 60
        font_size_header: 12
      - type: custom:mini-graph-card
        entities:
        - sensor.energyeasy_this_month_consumption
        name: Use this Month
        show: 
          graph: false
        group: false
        align_icon: right
        align_header: right
        align_state: right
        decimals: 2
        font_size: 60
        font_size_header: 12

  - id: difference
    name: Difference
    type: horizontal-stack
    cards:
      - type: custom:mini-graph-card
        entities:
        - sensor.energyeasy_yesterday_consumption_difference
        name: Difference
        icon: mdi:plus-minus
        show:
          graph: false
        group: false
        align_icon: right
        align_header: right
        align_state: right
        decimals: 2
        font_size: 60
        font_size_header: 12
      - type: custom:mini-graph-card
        entities:
        - sensor.energyeasy_this_week_consumption_difference
        name: Difference
        icon: mdi:plus-minus
        show:
          graph: false
        group: false
        align_icon: right
        align_header: right
        align_state: right
        decimals: 2
        font_size: 60
        font_size_header: 12
      - type: custom:mini-graph-card
        entities:
        - sensor.energyeasy_this_month_consumption_difference
        name: Difference
        icon: mdi:plus-minus
        show: 
          graph: false
        group: false
        align_icon: right
        align_header: right
        align_state: right
        decimals: 2
        font_size: 60
        font_size_header: 12
1 Like

Finally got around to try this out. After installing the various cards (with HACS) the card you provided saved but it doesn’t display any cards other than the title.

Even if no data was to come in due to say authentication issues I should still see the various cards, right?

Are your sensors named the same?

I don’t get data for consumption (use) and cost at the start of each new week and new month but it does show the heading and ‘NaN’ as the value.

I have used the standard file on GitHub and your config. Had to install a few components such as vertical-stack-in-card and mini-graph-card but after that I could save the integration.

Having examined the log file I found another error: “… integration energyeasy not found”. Thought this error was fixed but apparently not. As advised earlier I have changed the folder structure

from
/custom_components/sensor/energyeasy.py
to:
/custom_components/energyeasy/sensor.py

Could you please provide the corresponding configuration.yaml extract that relates to this integration to eliminate that I have introduced some errors there. txs

Your .yaml for the sensors looks exactly the same as mine, although I’ve commented out the ones I’m not using.

You could try downloading the energyeasy.py file from GitHub again, making sure you have the RAW code
https://github.com/mlevit/HomeAssistant_EnergyEasy/raw/master/energyeasy.py
(and rename it to sensor.py again)

I have a smart meter supplied by Powercor here in Victoria.
I bought an Eagle-200 from http://www.fastnetworks.com.au/new-products/zd34v6n7t2oot1ccyqoyet08jb4y4x-sm5wr
There was a little bit of grief setting it up with Powercor’s portal, but once up and running it was a piece of cake with Home Assistant.

That looks sweet and gives you great insight. Had a quick look at Powercor’s portal which on first sight looks to be similar to United Energy’s portal. Couldn’t you directly get this data from Powercor’s portal rather than directly from the smartmeter which I believe is what you do with the Eagle-200 unless I don’t understand this correctly.

On my end I finally got the integration up. It must have been an issue with the Python script I installed first. Re-installed and it was ok. Didn’t yet make any comparison on the data on Home Assistant vs what I get on the portal but small steps…

I’m not that handy at coding, so I took the easy way out.

It all depends on how detailed you want the data.
Using data from the Powercor website only appears to be in 30 minute increments.
As for accessing my usage via the Eagle, it is real time.
When I turn the kettle on, I see an immediate rise in usage.

Good work with the script - It’s awesome to see people developing smart meter access.
It was that access to data we were promised years ago when they installed them.

I am still getting Integration not found error. Is this custom component still working with latest Hassio version?

Not only that but it’s delayed 24 hours.

nevermind got it working.