Dzięki OneMeter możesz w bardzo prosty sposób monitorować energię pobieraną i oddawaną do sieci w domu lub w firmie. Za pomocą API OneMeter możesz na bieżąco zaciągnąć dane o energii do swojej instalacji Home Assistant.
Korzystasz z Home Assistant, jednak brakuje Ci danych dotyczących zużywanej energii? W tym artykule przedstawimy, jak w prosty sposób przeprowadzić integrację z API OneMeter, dzięki czemu dane z chmury OneMeter Cloud będą bezpośrednio zaciągane do Twojego systemu. Zaczynajmy!
Wpis jest kontynuacją serii “OneMeter w zastosowaniach Smart Home”. Jeżeli szukasz informacji nt. integracji z systemem openHAB, znajdziesz ją tutaj.
Co należy zrobić?
- Pobieramy ID urządzenia oraz klucz API
- Konfiguracja
- Rest Sensor
- Template Sensor
- Lovelace
- Dodatki
- Utility Meter Component
- Lovelace Mini Graph Card
1. Pobieramy ID urządzenia oraz klucz API
- <DEVICE_ID> znajdziemy na dole strony podglądu naszego urządzenia OneMeter na platformie OneMeter Cloud (wiersz UUID w tabeli Szczegóły urządzenia).
- <API_KEY> znajdziemy na stronie https://cloud.onemeter.com/#/api. Jeżeli nie masz dostępu do tej zakładki, poproś nas o nadanie dostępu do API poprzez wiadomość wysłaną przez formularz kontaktowy.
Poniżej przykład adresu, który wykorzystamy do pobrania odpowiednich wartości z OneMeter Cloud: https://cloud.onemeter.com/api/devices/<DEVICE_ID>?key=<API_KEY>
Pamiętaj, aby usunąć symbole
<
&>
!
Żeby sprawdzić, czy zapisany przez nas link nie zawiera błędów, , wklejamy go do przeglądarki. Jeżeli udało nam się wykonać ten krok poprawnie, powinniśmy otrzymać wynik podobny do tego:
2. Konfiguracja
Przechodzimy do zdefiniowania sensora HASS. Będzie on komunikował się z OneMeter Cloud pobierając wartości dot. energii zebrane przez Państwa urządzenie OneMeter. Będzie to możliwe dzięki API OneMeter, które udostępnia wszystkie zebrane dane. Tworzymy zatem sensor wklejając kod jak w przykładzie poniżej do pliku configuration.yaml:
configuration.yaml
- platform: rest
scan_interval: 900
name: OneMeter
resource: https://cloud.onemeter.com/api/devices/<DEVICE_ID>
value_template: "{{ value_json.lastReading.OBIS['1_8_0'] }} {{ value_json.lastReading.OBIS['S_1_1_2'] }} {{ value_json.lastReading.OBIS['S_1_1_4'] }} {{ value_json.usage['thisMonth'] }} {{ value_json.usage['previousMonth'] }} {{ value_json.firmware['currentVersion'] }}"
force_update: true
headers:
Authorization: <API_KEY>
- platform: template
sensors:
onemeter_kwh:
friendly_name: "kWh"
unit_of_measurement: "kWh"
icon_template: mdi:flash
value_template: "{{ states.sensor.onemeter.state.split(' ')[0] }}"
onemeter_voltage:
friendly_name: "OneMeter Battery Voltage"
unit_of_measurement: "v"
icon_template: mdi:battery
value_template: "{{ states.sensor.onemeter.state.split(' ')[1] }}"
onemeter_timestamp:
friendly_name: "OneMeter Last Readout"
icon_template: mdi:clock
value_template: "{{ states.sensor.onemeter.state.split(' ')[2] }}"
onemeter_this_month:
friendly_name: "Current Consumption"
unit_of_measurement: "kWh"
icon_template: mdi:calendar-month
value_template: "{{ states.sensor.onemeter.state.split(' ')[3] }}"
onemeter_previous_month:
friendly_name: "Previous Consumption"
unit_of_measurement: "kWh"
icon_template: mdi:calendar-month-outline
value_template: "{{ states.sensor.onemeter.state.split(' ')[4] }}"
onemeter_firmware:
friendly_name: "OneMeter Firmware Version"
icon_template: mdi:chip
value_template: "{{ states.sensor.onemeter.state.split(' ')[5] }}"
Pamiętaj, aby usunąć symbole
<
&>
!
Pozostaje konfiguracja interfejsa poprzez lovelace wpisując w pliku ui-lovelace.yaml:
ui-lovelace.yaml
- cards:
- entities:
- entity: sensor.onemeter_kwh
- entity: sensor.onemeter_previous_month
- entity: sensor.onemeter_this_month
- entity: sensor.onemeter_timestamp
- entity: sensor.onemeter_voltage
- entity: sensor.onemeter_firmware
show_header_toggle: false
title: OneMeter Energy Usage
type: entities
Przeładowujemy konfigurację i wchodząc na HASS uzyskujemy taki efekt.
To wszystko! Jeżeli dotarłeś aż tutaj, udało Ci się zintegrować OneMeter z Home Assistant.
3. Dodatki
Utility Meter Component
Integracja Utility Meter zapewnia funkcjonalność śledzenia zużycia różnych mediów (np. energii). Ten komponent sledzi wartości i automatycznie resetuje licznik w oparciu o skonfigurowany cykl.
configuration.yaml
utility_meter:
hourly_energy:
source: sensor.onemeter_kwh
cycle: hourly
daily_energy:
source: sensor.onemeter_kwh
cycle: daily
weekly_energy:
source: sensor.onemeter_kwh
cycle: weekly
monthly_energy:
source: sensor.onemeter_kwh
cycle: monthly
yearly_energy:
source: sensor.onemeter_kwh
cycle: yearly
ui-lovelace.yaml
- cards:
- entities:
- entity: sensor.hourly_energy
- entity: sensor.daily_energy
- entity: sensor.weekly_energy
- entity: sensor.monthly_energy
- entity: sensor.yearly_energy
show_header_toggle: false
title: OneMeter Energy Usage
type: entities
Lovelace Mini Graph Card
Dzięki Mini Graph Card możemy stworzyć wykresy, które pozwolą szybko porównać dane pobrane z OneMeter. Kartę możemy zainstalować za pomocą HACS.
ui-lovelace.yaml
- cards:
- entities:
- sensor.hourly_energy
hour24: true
hours_to_show: 24
name: OneMeter Energy Usage
points_per_hour: 1
show:
graph: bar
type: 'custom:mini-graph-card'
W przypadku problemów, pytań lub sugestii skontaktuj się z nami przez formularz kontaktowy - chętnie pomożemy!