HomeWizard Energy (Wi-Fi P1 meter, kWh meter, Energy Socket and Water Meter)

Looks great! Can you share your code?

As of Home Assistant 2022.12, a few new features have been added for the Energy Socket. These features are currently being rolled out to the devices via a OTA-update, most of them will be added to other devices in the future.

  • You now can press ‘Identify’ to find a device. It will blink the LED for a few seconds.
  • You can control the status light brightness directly from Home Assistant.
  • You can now disable the cloud connection. This function will stop all communication with the HomeWizard cloud (so it will not be able to communicate with the app). This feature was added because users blocked the connection in a firewall. The socket started flashing red to indicate that it is having connection issues. Now you can disable/block the cloud connection without this problem.

Your socket must be at version 3.01 or higher. They are updated automatically and we expect all sockets to be updated within two weeks. Please do not contact HomeWizard support to ask them to update, they cannot do that.


I hope you all like these features! I like to hear if / how this is implemented. I’m also working hard to improve error reporting for connection issues, but that PR is still in review.

2 Likes

Maybe a nice thing for Belgium users;

How I started 3 months ago

Screenshot 2022-12-14 at 22.34.55

How it’s going

Very happy with the insights I now have for my home’s resources, devices and their usages. I’m anticipating the 2023 energy issues in my country with more knowledge and know-how to keep our bills as small as possible. Good luck and much fun everybody with this great Home Assistant Energy Dashboard.

A big shout out to all Home Assistant and all developers and users feedback!

Happy Holidays. :sunglasses:

/m4v3r1ck

1 Like

I had exactly the same issues as you - in HA everything unavailable. Nothing I could see in the log - the app was working fine, dongle had a solid green light. I tried reinstalling in HA but kept getting errors. I then tried installing a backup in HA but that made no difference. Eventually, I disconnected the dongle for a few seconds and plugged it back in - and voila everything now works again. I have no idea what was going on but might be a help to others.

I have a similar problem, dont want to crosspost, but as a reference it is this one Homewizard watermeter and socket not available - Home Assistant Community (home-assistant.io)

Is this the same problem, but then not just of the P1 device ? But 4 different homewizard devices I have.
Do I need to log an issue in github somewhere?

I had a quick question. I’m using the HomeWizard sockets, but my current power always has decimals behind its wattage. Is there a way to see a full rounded amount of watts?

Create a ‘Helper’ with the config below:
Open your Home Assistant instance and show your helper entities.

1 Like

Is this something that can be added to the P1 meter as well?
Or does blocking the internet connection work for it? (It did for the first 24 hours for me then I lost the connection to HA and the app)

We are working on that :wink:

But until then, you should just be able to block the connection via a firewall. The P1 meter starts blinking red but the API should just work. The app stops working, obviously.

Hello, where must this file (config) be placed in or copieet to , i am new in home assistant and try to understand the dashboards.

Many thanks! for any help…

Those graphs and metrics are awesome, can you point to some resources on how you set those up? I’m especially interested in the self consumed solar energy and energy distribution metrics.

Hi there, since about 2 weeks I have a Homewizard P1 meter in use. I am very pleased with it and I run scripts and automations to monitor my quarter hourly peak consumption (important in Belgium nowadays). But every day (at a random time) the meter stops sending data to home assistant (entity state becomes ‘unavailable’). It makes home assistant lock up, meaning other sensors still work, but I am not able to run add-ons and most importantly when this happens: I am not able to restart home assistant anymore. A hard reset is the only way to recover from this by power cycling the raspberry pi. Unfortunately I can of course only do this when I am at home. The firmware the P1 meter is running is version 3.02.
Is there someone out there who experiences the same thing? I don’t know how to resolve this.
Any help will be appreciated!

@M31Galaxy15287, please open an issue at GitHub - Home Assistant Core and fill in as much details as possible.

Hi DCSBL, I just did… I don’t have a log prior the power cycle of the rPI.

Sorry for my late reply, thanks for the compliment but its the HA automation creating it.

Here’s my list of resources I use in the Energy Dashboard Settings:

Electricity grid

Grid consumption
P1 meter - Total power import T1
P1 meter - Total power import T2

Return to grid
P1 meter - Total power export T1
P1 meter - Total power export T2

Grid carbon footprint
CO2 Signal

Solar Panels

Solar production
Solaredge I1 AC Energy kWh

Home Battery Storage

Battery systems
N/A

Gas Consumption

Gas consumption
P1 meter - Total gas

Water Consumption

Water consumption
Watermeter - Total water usage

Individual devices

Devices
All Energy Socket Meters I have installed in my household are listed here.

Good luck creating your own dashboard.

./m4v3r1ck

I’s comes with Home Wizzard as a payed subscripton (2,99 mth).
The info is available in HA


sure, that’s ok. my question was about the graphs, not so much the data. I have all of the data, but was hoping to recreate those nice HomeWizard graphs in HA.

Hi Fabian,

Really nice graphs.
I’m trying to get more insight in my energy consumption to. I made the same utility sensors as you did, daily, montly etc. but now I want to have the total costs to.

I see you use this entities:

  • sensor.energy_gas_daily_eur
  • sensor.energy_gas_en_elektriciteit_dagelijks_eur

I don’t see this entities coming back in the sensors you made. How can I get this to work and where can I fill in my current energy costs.

Thanks!

Je mag ook een PB in het Nederlands sturen als dat makkelijker is.

Hej,

I have the following sensors configured, this should give you an idea…

#####

  - platform: template
    sensors:
      energy_import_t2_dagelijks_eur:
        friendly_name: 'Dagelijkse kosten nomaal tarief (T2)'
        value_template: "{{ (states('sensor.energy_import_t2_dagelijks')|float * states('input_number.t2_energy_cost')|float)|round(2) }}"
        unit_of_measurement: "€"
  
  - platform: template
    sensors:
      energy_import_t2_wekelijks_eur:
        friendly_name: 'Wekelijkse kosten nomaal tarief (T2)'
        value_template: "{{ (states('sensor.energy_import_t2_wekelijks')|float * states('input_number.t2_energy_cost')|float)|round(2) }}"
        unit_of_measurement: "€"

  - platform: template
    sensors:
      energy_import_t2_maandelijks_eur:
        friendly_name: 'Maandelijkse kosten nomaal tarief (T2)'
        value_template: "{{ (states('sensor.energy_import_t2_maandelijks')|float * states('input_number.t2_energy_cost')|float)|round(2) }}"
        unit_of_measurement: "€"
        
##############################################  
  
  - platform: template
    sensors:
      energy_import_t1_dagelijks_eur:
        friendly_name: 'Dagelijkse kosten dal tarief (T1)'
        value_template: "{{ (states('sensor.energy_import_t1_dagelijks')|float * states('input_number.t1_energy_cost')|float)|round(2) }}"
        unit_of_measurement: "€"

  - platform: template
    sensors:
      energy_import_t1_wekelijks_eur:
        friendly_name: 'Wekelijkse kosten dal tarief (T1)'
        value_template: "{{ (states('sensor.energy_import_t1_wekelijks')|float * states('input_number.t1_energy_cost')|float)|round(2) }}"
        unit_of_measurement: "€"

  - platform: template
    sensors:
      energy_import_t1_maandelijks_eur:
        friendly_name: 'Maandelijkse kosten dal tarief (T1)'
        value_template: "{{ (states('sensor.energy_import_t1_maandelijks')|float * states('input_number.t1_energy_cost')|float)|round(2) }}"
        unit_of_measurement: "€"
        
##############################################  		

  - platform: template
    sensors:
      energy_import_total_dagelijks_eur:
        friendly_name: 'Dagelijkse kosten dal + normaal'
        value_template: "{{ (states('sensor.energy_import_t2_dagelijks_eur')|float + states('sensor.energy_import_t1_dagelijks_eur')|float)|round(2) }}"
        unit_of_measurement: "€"

  - platform: template
    sensors:
      energy_import_total_wekelijks_eur:
        friendly_name: 'Wekelijkse kosten dal + normaal'
        value_template: "{{ (states('sensor.energy_import_t2_wekelijks_eur')|float + states('sensor.energy_import_t1_wekelijks_eur')|float)|round(2) }}"
        unit_of_measurement: "€"

  - platform: template
    sensors:
      energy_import_total_maandelijks_eur:
        friendly_name: 'Maandelijkse kosten dal + normaal'
        value_template: "{{ (states('sensor.energy_import_t2_maandelijks_eur')|float + states('sensor.energy_import_t1_maandelijks_eur')|float)|round(2) }}"
        unit_of_measurement: "€"

############################################## 

  - platform: template
    sensors:
      energy_import_total_dagelijks_kwh:
        friendly_name: 'kWh vandaag dal + normaal'
        value_template: "{{ (states('sensor.energy_import_t1_dagelijks')|float + states('sensor.energy_import_t2_dagelijks')|float)|round(2) }}"
        unit_of_measurement: "kWh"


  - platform: template
    sensors:
      energy_import_total_wekelijks_kwh:
        friendly_name: 'kWh wekelijks dal + normaal'
        value_template: "{{ (states('sensor.energy_import_t1_wekelijks')|float + states('sensor.energy_import_t2_wekelijks')|float)|round(2) }}"
        unit_of_measurement: "kWh"

  - platform: template
    sensors:
      energy_import_total_maandelijks_kwh:
        friendly_name: 'kWh maandelijks dal + normaal'
        value_template: "{{ (states('sensor.energy_import_t1_maandelijks')|float + states('sensor.energy_import_t2_maandelijks')|float)|round(2) }}"
        unit_of_measurement: "kWh"
 
 ############################################## 
 ##                    GAS                   ##
 ##############################################
 
  - platform: template
    sensors:
      energy_gas_daily_eur:
        friendly_name: 'Dagelijkse kosten gas'
        value_template: "{{ (states('sensor.energy_gas_dagelijks')|float * states('input_number.gas_energy_cost')|float)|round(2) }}"
        unit_of_measurement: "€"
  
  - platform: template
    sensors:
      energy_gas_weekly_eur:
        friendly_name: 'Wekelijkse kosten gas'
        value_template: "{{ (states('sensor.energy_gas_wekelijks')|float * states('input_number.gas_energy_cost')|float)|round(2) }}"
        unit_of_measurement: "€"
        
  - platform: template
    sensors:
      energy_gas_monthly_eur:
        friendly_name: 'Maandelijkse kosten gas'
        value_template: "{{ (states('sensor.energy_gas_maandelijks')|float * states('input_number.gas_energy_cost')|float)|round(2) }}"
        unit_of_measurement: "€"   

 ############################################## 
 ##   Totale netto kosten (Gas + electra)    ##
 ##############################################
 
  - platform: template
    sensors:
      energy_gas_en_elektriciteit_dagelijks_eur:
        friendly_name: 'Totale netto dag kosten energie'
        value_template: "{{ (states('sensor.energy_gas_daily_eur')|float + states('sensor.energy_import_total_dagelijks_eur')|float)|round(2) }}"
        unit_of_measurement: "€"

  - platform: template
    sensors:
      energy_gas_en_elektriciteit_wekelijks_eur:
        friendly_name: 'Totale netto week kosten energie'
        value_template: "{{ (states('sensor.energy_gas_weekly_eur')|float + states('sensor.energy_import_total_wekelijks_eur')|float)|round(2) }}"
        unit_of_measurement: "€"

  - platform: template
    sensors:
      energy_gas_en_elektriciteit_maandelijks_eur:
        friendly_name: 'Totale netto maand kosten energie'
        value_template: "{{ (states('sensor.energy_gas_monthly_eur')|float + states('sensor.energy_import_total_maandelijks_eur')|float)|round(2) }}"
        unit_of_measurement: "€"

##############################
## input_number             ##
##############################


input_number:
  t2_energy_cost:
    name: Stroom import nomaal
    mode: box
    min: 0
    max: 100
    unit_of_measurement: "€/kWh"
    icon: mdi:currency-eur

  t1_energy_cost:
    name: Stroom import dal
    mode: box
    min: 0
    max: 100
    unit_of_measurement: "€/kWh"
    icon: mdi:currency-eur

  gas_energy_cost:
    name: Gas
    mode: box
    min: 0
    max: 100
    unit_of_measurement: "€/m3"
    icon: mdi:currency-eur

##############################
## Utility Meter            ##
##############################

utility_meter:

# Hourly sensors
  energy_offpeak_hourly:
    source: sensor.p1_meter_total_power_import_t1_kwh
    cycle: hourly
 
  energy_peak_hourly:
    source: sensor.p1_meter_total_power_import_t2_kwh
    cycle: hourly
  
  gas_hourly:
    source: sensor.p1_meter_total_gas_m3
    cycle: hourly

# Daily sensors

  energy_offpeak_daily:
    source: sensor.p1_meter_total_power_import_t1_kwh
    cycle: daily
    
  energy_peak_daily:
    source: sensor.p1_meter_total_power_import_t2_kwh
    cycle: daily

  energy_import_t2_dagelijks:
    source: sensor.p1_meter_total_power_import_t2
    cycle: daily

  energy_import_t1_dagelijks:
    source: sensor.p1_meter_total_power_import_t1
    cycle: daily

#  energy_tuya_sw01_current_consumption:
#    source: sensor.localtuya_sw01_current_consumption
#    cycle: daily
    
#  energy_tuya_sw01_current_consumption:
#    source: sensor.localtuya_sw02_current_consumption
#    cycle: daily
 
 
# Weekly

  energy_offpeak_weekly:
    source: sensor.p1_meter_total_power_import_t1_kwh
    cycle: weekly
  energy_peak_weekly:
    source: sensor.p1_meter_total_power_import_t2_kwh
    cycle: weekly
   
  energy_import_t2_wekelijks:
    source: sensor.p1_meter_total_power_import_t2
    cycle: weekly

  energy_import_t1_wekelijks:
    source: sensor.p1_meter_total_power_import_t1
    cycle: weekly   

# Monthly

  # energy_peak_monthly:
  #   source: sensor.p1_meter_total_power_import_t2_kwh
  #   cycle: monthly

  # energy_offpeak_monthly:
  #   source: sensor.p1_meter_total_power_import_t1_kwh
  #   cycle: monthly

  energy_import_t2_maandelijks:
    source: sensor.p1_meter_total_power_import_t2
    cycle: monthly

  energy_import_t1_maandelijks:
    source: sensor.p1_meter_total_power_import_t1
    cycle: monthly   

#  energy_usage_tuya_sw01_dagelijks:
#    source: sensor.localtuya_sw01_current_consumption
#    cycle: daily

#  energy_usage_tuya_sw02_dagelijks:
#    source: sensor.localtuya_sw02_current_consumption
#    cycle: daily    


#  energy_export_t2_dagelijks:
#    source: sensor.p1_meter_total_power_export_t2_kwh
#    cycle: daily

#  energy_export_t1_dagelijks:
#    source: sensor.p1_meter_total_power_export_t1_kwh
#    cycle: daily

# Gas

  energy_gas_dagelijks:
    source: sensor.p1_meter_total_gas
    cycle: daily
    
  energy_gas_wekelijks:
    source: sensor.p1_meter_total_gas
    cycle: weekly
    
  energy_gas_maandelijks:
    source: sensor.p1_meter_total_gas
    cycle: monthly    

# Yearly sensors
  energy_offpeak_yearly:
    source: sensor.p1_meter_total_power_import_t1_kwh
    cycle: yearly
  energy_peak_yearly:
    source: sensor.p1_meter_total_power_import_t2_kwh
    cycle: yearly
  gas_yearly:
    source: sensor.p1_meter_total_gas_m3
    cycle: yearly

Also a card to add the prices:

type: entities
entities:
  - entity: input_number.t2_energy_cost
  - entity: input_number.t1_energy_cost
  - entity: input_number.gas_energy_cost
theme: Mushroom Square