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

Amazing, thanks for this. It seems very similar to what I have set up but I deleted mine and copied yours just to see what happens. Now I have data for electric and gas but the numbers are way higher than my daily usage. But at least I know something is working, so I’ll have a closer look and check what I need to change.

2 Likes

give it a day to settle, then you can see what’s going on…

you can add my cards as reference for example:

type: vertical-stack
cards:
  - type: custom:apexcharts-card
    graph_span: 1h
    cache: true
    apex_config:
      stroke:
        width: 1
      plotOptions:
        bar:
          columnWidth: 10%
      legend:
        showForSingleSeries: false
      fill:
        type: solid
        opacity: 0.2
      chart:
        height: 250px
        zoom:
          enabled: true
        toolbar:
          show: false
          tools:
            zoom: false
            zoomin: false
            zoomout: false
            pan: false
            reset: true
      xaxis:
        labels:
          format: HH:mm
    header:
      show: true
      show_states: true
      colorize_states: true
    series:
      - entity: sensor.p1_meter_active_power
        type: area
        name: Huidig Stroom Verbruik
        curve: stepline
        group_by:
          func: raw
          duration: 1m
  - type: custom:apexcharts-card
    graph_span: 12h
    update_interval: 5m
    cache: true
    span:
      end: hour
      offset: '-0h'
    header:
      show: true
      title: Stroom verbruik per kwartier
    apex_config:
      xaxis:
        labels:
          format: HH:mm
          show: true
          showAlways: true
      yaxis:
        forceNiceScale: true
        decimalsInFloat: 0
        min: 0
      chart:
        type: area
        height: 300
      stroke:
        show: true
        width: 1
      legend:
        show: true
      dataLabels:
        enabled: false
        distributed: true
      fill:
        type: gradient
        gradient:
          shadeIntensity: 0.1
          opacityFrom: 0.25
          opacityTo: 1
          inverseColors: true
          stops:
            - 0
            - 90
            - 100
    series:
      - entity: sensor.p1_meter_active_power
        type: column
        name: Verbruik per kwartier
        float_precision: 2
        group_by:
          func: avg
          duration: 15m
  - type: custom:apexcharts-card
    graph_span: 7d
    update_interval: 5m
    cache: true
    span:
      end: day
      offset: '-1sec'
    header:
      show: true
      title: Gas en Stroom verbruik per dag
    apex_config:
      xaxis:
        labels:
          format: dd-MM
          show: true
          showAlways: true
      yaxis:
        forceNiceScale: false
        decimalsInFloat: 0
        min: 0
      chart:
        type: area
        height: 300
      stroke:
        show: true
        width: 1
      legend:
        show: true
      dataLabels:
        enabled: false
        distributed: true
      fill:
        type: gradient
        gradient:
          shadeIntensity: 0.1
          opacityFrom: 0.25
          opacityTo: 1
          inverseColors: true
          stops:
            - 0
            - 90
            - 100
    series:
      - entity: sensor.energy_import_total_dagelijks_kwh
        type: column
        name: Stroom
        float_precision: 2
        group_by:
          func: max
          duration: 23h59m59s
      - entity: sensor.energy_gas_dagelijks
        name: Gas
        type: column
        float_precision: 2
        group_by:
          func: max
          duration: 23h59m59s
  - type: custom:apexcharts-card
    graph_span: 7d
    update_interval: 5m
    cache: true
    span:
      end: day
      offset: '-1sec'
    header:
      show: true
      title: Totale energie kosten per dag in €
    apex_config:
      xaxis:
        labels:
          format: dd-MM
          show: true
          showAlways: true
      yaxis:
        forceNiceScale: false
        decimalsInFloat: 0
      chart:
        type: area
        height: 300
      stroke:
        width: 1
        show: true
      legend:
        show: true
      dataLabels:
        enabled: false
        distributed: true
      fill:
        type: gradient
        gradient:
          shadeIntensity: 0.1
          opacityFrom: 0.25
          opacityTo: 1
          inverseColors: true
          stops:
            - 0
            - 90
            - 100
    series:
      - entity: sensor.energy_import_total_dagelijks_eur
        type: column
        name: Stroom
        float_precision: 2
        group_by:
          func: max
          duration: 24h
      - entity: sensor.energy_gas_daily_eur
        name: Gas
        float_precision: 2
        type: column
        group_by:
          func: max
          duration: 24h
      - color: rgb(128,128,128)
        entity: sensor.energy_gas_en_elektriciteit_dagelijks_eur
        type: column
        name: Totaal
        float_precision: 2
        group_by:
          func: max
          duration: 23h59m59s
  - type: glance
    entities:
      - entity: sensor.energy_gas_en_elektriciteit_dagelijks_eur
        name: Per Dag
        icon: mdi:currency-eur
      - entity: sensor.energy_gas_en_elektriciteit_wekelijks_eur
        name: Per Week
        icon: mdi:currency-eur
      - entity: sensor.energy_gas_en_elektriciteit_maandelijks_eur
        name: Per Maand
        icon: mdi:currency-eur
  - type: entities
    entities:
      - entity: sensor.p1_meter_total_gas
        name: 'Meter Stand Gas:'
      - entity: sensor.p1_meter_total_power_import_t1
        name: Meter Stand Elektra T1
      - entity: sensor.p1_meter_total_power_import_t2
        name: Meter Stand Elektra T2
  - type: entities
    entities:
      - entity: input_number.gas_energy_cost
        name: Kosten gas
      - entity: input_number.t1_energy_cost
        name: Kosten stroom dal
      - entity: input_number.t2_energy_cost
        name: Kosten stroom normaal

2 Likes

Hi again, can someone please confirm if you also don’t have the option of utility_meter.reset in the Developer Tools/Services menu? My daily values are still not resetting and I am not sure if this service should also show up for DSMR/HomeWizard users.

I found a similar issue here but since I am using the DSMR configuration I use separate sensors instead of listing the tariffs under utility_meter

I only have calibrate like you, never touched anything else then what I have in the config files that I shared…

To be honest, I didnt implement those additional sensors. It would be nice to have those available again, but I couldn’t find an use case to justity the time for implementing.

This is so beautiful, can you please share your code?

Hi i like the HA integration for the P1 HomeWizard monitor. Is it possible to add the KW meter of Homewizard somehow?
[HomeWizard Wi-Fi kWh meter](https://KWH Meter)

Thx

Yes.
Make sure you have enabled the API (must be done in the HomeWizard Energy app). Your meter should be discovered automatically.

yes I tried that but the switch is constantly automagic switched back to off.
very strange
Thx for your fast response

just had answer from homewizard. it was due to the firmware version of the meter. they have pushed a new version and now it’s working

1 Like

I’m wondering of the API-calls are limited to a several calls? I have a p1-device of Enelogic which is limited to 500 calls a month (for free)

The API is free and local. You can make as many requests as you want.
HomeWizard recommends that you limit your requests to maximum 2 per second (just to give the P1 meter some time to do other stuff). This is just a technical limitation.

Currently, the integration polls the P1 meter every second (for a DSMR5.0 meter), so about 86.400 calls per day.

1 Like

The Homewizard P1 device is cheap and works great. And it even looks nice next the smart meter. And they have great support also. And the calls are on your local device without the need of an external server. I have a SolarEdge device and that is only available via cloud and limited to one a 15minutes. Now with the HomeWizard Kwh meter i don’t have any limitations. See realtime solar production.
Even if you use their own app you have great visuals. And with home Assistant you can control all your self

Hello I’m new here. I have just installed Homewizard Pi device and unzipped the requared files in the folder custom_components. When I restart HA the app is already loaded. However I’ts not working and i recieved the following message in the logfile.

What is wrong here! Can sombody help me?

@ChipWing, I think you have to update Home Assistant to 2021.9 or higher. STATE_CLASS_TOTAL_INCREASING is something new that came with that version.

– Update –
Also, the recommended way is to install this via HACS. Installing that is really easy. HACS should have warned you about using an outdated Home Assistant version.

Ok Thanks Unsigus, I have updated Home Assistant. Now the P1 meter contains 1 Device and 14 Enteties. I’m lookiing foreward to play arround with this!! It seems to work. Thanks Again!

1 Like

Is it possible to control the polling time of the Homewizard Energy custom control?
Now it’s polling every second. Can it be for example 5 sec

I have also SolarEdge, but frequently the data is not showing correctly Some days only a total at the and of the day.
I use also a YouLess Ls120 for getting real-time data of my solar system. But I get the following error:

Logger: homeassistant.components.integration.sensor
Source: components/integration/sensor.py:184 
Integration: integration (documentation, issues) 
First occurred: 9:28:02 (88 occurrences) 
Last logged: 9:59:12

Invalid state (5522,382 > 5522,383): [<class 'decimal.ConversionSyntax'>]
Invalid state (5522,383 > 5522,384): [<class 'decimal.ConversionSyntax'>]
Invalid state (5522,384 > 5522,385): [<class 'decimal.ConversionSyntax'>]
Invalid state (5522,385 > 5522,386): [<class 'decimal.ConversionSyntax'>]
Invalid state (5522,386 > 5522,387): [<class 'decimal.ConversionSyntax'>]

youless

I think the comma is the issue.
A made a template sensor but get no result: 0,0
Configuration.yaml:

      production_total_youless:
        value_template: "{{ (states('sensor.power_total') | float *1000) }}"
        unit_of_measurement: "Wh"
        friendly_name: Opbrengst Youless

Customize.yaml:

sensor.production_total_youless:
  state_class: total_increasing
  icon: mdi:solar-power
  last_reset: '1970-01-01T00:00:00+00:00'
  device_class: energy

So, my question is how to get the correct data of my Youless for energy dashboard

Yes, you can disable polling from the integration settings (look for system options). Then create an automation that calls the ‘homeassistant.update_entity’ service as much as you want.

1 Like

Maybe ask this in a topic specific for Youless?