Energy meter in smart home
We are providing a simple step-by-step tutorial how to install home energy meter. We did not find any MQTT device, so we buy Aeotec Home Energy Meter as we are already have a Z-Wave controlller in our smart home. Firstly, it depends if you have three, two or one phase connection in your house. If you have only one phase, buy only one phase Aeotec Home Energy model.
Why you should measure your energy consuption?
Unfortunately, this solution is the result of incompetence of distribution companies, which should have had this measurement in their competence long ago and should provide it to the customer online as part of their considerable distribution fees (this is based on sitatuon in Czech Republic). Measure each phase will show you the peaks on the individual phase, the symmetry of the load on the all phases (this should be of interest mainly to the distributor).
Measurement has a substantial benefit when planning photovoltaic solar plant. A few months of measurement will help you to specify the performance of the converter, battery and panels and save as much as possible in real operation. In conjunction with a automated house, this will allow you to turn on/off and plan loads in your home (heating of the electric boiler,floor heating, delayed washing, drying, etc.) depending on the conditions.
Hardware
Aeotec Home Energy Meter Gen5
Software
OpenHAB 3
Wiring
This is the scheme provided by factory for three phase systems:
In our case, we fixed our own unit inside of the switchboard. From the main current breaker, we connect phases to a separate three-phase circuit breaker - preferably B6. All the blue neutral wires was connected together on the neutral bus of the main protector.
WARNING: Do the installation with the main switch turned off! If you don't have experience with electricity, please ask a certified electrician! We are not liable for any damage caused by an unprofessional approach!
How to
After connection, turn on power supply and choose Add Equipment to Model in Channels tab. Choose, which values you want to show and store by OpenHAB. We are prefering values on the screenshot below. Check and submit Add to Model. Appropriate Items will be created.
Next, you can arrange these Items in Overview page as you want. We are preffer to show values on home page and set link to another Page for detailed informations.
You can import whole Page with detailed infromation from screenshot above. You need to change Items variables to your defined. Tab Code looks like code below:
config:
label: Energy
sidebar: true
order: ""
blocks:
- component: oh-block
config: {}
slots:
default:
- component: oh-grid-row
config: {}
slots:
default:
- component: oh-grid-col
config: {}
slots:
default:
- component: oh-label-card
config:
label: Energy meter
- component: oh-grid-row
config: {}
slots:
default:
- component: oh-grid-col
config: {}
slots:
default:
- component: oh-label-card
config:
title: Aktuální odběr
action: analyzer
actionAnalyzerItems:
- ZWaveNode004ZW095HomeEnergyMeter_Electricmeterwatts
item: ZWaveNode004ZW095HomeEnergyMeter_Electricmeterwatts
label: =items.ZWaveNode004ZW095HomeEnergyMeter_Electricmeterwatts.displayState +
' W '
trendItem: ZWaveNode004ZW095HomeEnergyMeter_Electricmeterwatts
- component: oh-grid-col
config: {}
slots:
default:
- component: oh-label-card
config:
title: Aktuální proud
action: analyzer
actionAnalyzerItems:
- ZWaveNode004ZW095HomeEnergyMeter_Electricmeteramps
- ZWaveNode004ZW095HomeEnergyMeter_Electricmeterwatts
actionAnalyzerChartType: month
item: ZWaveNode004ZW095HomeEnergyMeter_Electricmeteramps
label: =items.ZWaveNode004ZW095HomeEnergyMeter_Electricmeteramps.displayState +
' A'
trendItem: ZWaveNode004ZW095HomeEnergyMeter_Electricmeteramps
- component: oh-grid-col
config: {}
slots:
default:
- component: oh-label-card
config:
title: Aktuální napětí
action: analyzer
actionAnalyzerItems:
- ZWaveNode004ZW095HomeEnergyMeter_Electricmetervolts
- ZWaveNode004ZW095HomeEnergyMeter_Electricmeterwatts
actionAnalyzerChartType: month
item: ZWaveNode004ZW095HomeEnergyMeter_Electricmetervolts
label: =items.ZWaveNode004ZW095HomeEnergyMeter_Electricmetervolts.displayState +
' V '
trendItem: ZWaveNode004ZW095HomeEnergyMeter_Electricmetervolts
- component: oh-grid-col
config: {}
slots:
default:
- component: oh-label-card
config:
title: Celkem spotřebováno
action: analyzer
actionAnalyzerItems:
- ZWaveNode004ZW095HomeEnergyMeter_ElectricmeterkWh
- ZWaveNode004ZW095HomeEnergyMeter_Electricmeterwatts
actionAnalyzerChartType: month
item: ZWaveNode004ZW095HomeEnergyMeter_ElectricmeterkWh
label: =items.ZWaveNode004ZW095HomeEnergyMeter_ElectricmeterkWh.displayState + '
kWh '
trendItem: ZWaveNode004ZW095HomeEnergyMeter_ElectricmeterkWh
- component: oh-grid-row
config: {}
slots:
default:
- component: oh-grid-col
config: {}
slots:
default:
- component: oh-label-card
config:
item: ZWaveNode004ZW095HomeEnergyMeter_Electricmeterwatts1
label: =items.ZWaveNode004ZW095HomeEnergyMeter_Electricmeterwatts1.displayState
+ ' W
('+items.ZWaveNode004ZW095HomeEnergyMeter_ElectricmeterkWh1.displayState
+ ' kWh)'
title: L1 aktuální (celkem)
trendItem: ZWaveNode004ZW095HomeEnergyMeter_Electricmeterwatts1
action: analyzer
actionAnalyzerItems:
- ZWaveNode004ZW095HomeEnergyMeter_Electricmeterwatts1
actionAnalyzerChartType: month
- component: oh-grid-col
config: {}
slots:
default:
- component: oh-label-card
config:
item: ZWaveNode004ZW095HomeEnergyMeter_Electricmeterwatts1
label: =items.ZWaveNode004ZW095HomeEnergyMeter_Electricmeterwatts2.displayState
+ ' W
('+items.ZWaveNode004ZW095HomeEnergyMeter_ElectricmeterkWh2.displayState
+ ' kWh)'
title: L2 aktuální (celkem)
trendItem: ZWaveNode004ZW095HomeEnergyMeter_Electricmeterwatts2
action: analyzer
actionAnalyzerItems:
- ZWaveNode004ZW095HomeEnergyMeter_Electricmeterwatts2
- component: oh-grid-col
config: {}
slots:
default:
- component: oh-label-card
config:
item: ZWaveNode004ZW095HomeEnergyMeter_Electricmeterwatts1
label: =items.ZWaveNode004ZW095HomeEnergyMeter_Electricmeterwatts3.displayState
+ ' W
('+items.ZWaveNode004ZW095HomeEnergyMeter_ElectricmeterkWh3.displayState
+ ' kWh)'
title: L3 aktuální (celkem)
action: analyzer
actionAnalyzerItems:
- ZWaveNode004ZW095HomeEnergyMeter_Electricmeterwatts3
actionAnalyzerChartType: month
trendItem: ZWaveNode004ZW095HomeEnergyMeter_Electricmeterwatts3
- component: oh-grid-row
config: {}
slots:
default:
- component: oh-grid-col
config: {}
slots:
default:
- component: oh-toggle-card
config:
item: ZWaveNode004ZW095HomeEnergyMeter_ResetMeter
title: Reset energy meter
masonry: null
grid: []
canvas: []
What's next?
Values from measured values are stored automatically in OpenHAB 3 and can be displayed in the charts. These values can then be linked to various rules of behaviour of other appliances. Here it's up to you! If you use any interesting usage, share it with us in the comments below.
Tip:
By default, the Aeotec Energy meter displays the current consumption with ~ 30 minute interval. If you want to shorten this interval, it cannot be done in OpenHAB settings. However, it is possible to workaround this:
1) Download the portable Z-Wave PC Controller program here
2) Expand, open, connect the Z-Wave USB Controller from Raspberry Pi to your PC
3) Choose Settings -> Detect -> Choose
4) Select COMMAND_CLASS_ASSOCIATION_V1 on the Command Class tab
5) Command Name:ASSOCIATION_SET
6) Set the NodeID to 01 for all three Groups (01,02,03)
7) Disconnect, plug back into the RPi and the reading should be done according to the value of parameter 111 in Z-Wave configuration settings
Add comment