Działa poprawnie.
Sorki mój błąd
Poprawnie działające wpisy dla OneMeter pod E.on:
w configuration.yaml
# RESTful API
# https://www.home-assistant.io/integrations/api
rest:
- resource: https://cloud.onemeter.com/api/devices/<ID_MOJE_URZADZENIE>
scan_interval: 900
headers:
Authorization: <MOJE_API>
sensor:
- name: "E.on - Prognoza zużycia w miesiącu Ratio [kWh]"
unit_of_measurement: "kWh"
icon: mdi:flash
value_template: "{{ value_json.usage['projectionFillRatio'] }}"
- name: "E.on - Prognoza zużycia w miesiącu [kWh]"
unit_of_measurement: "kWh"
icon: mdi:flash
value_template: "{{ value_json.usage['projection'] }}"
- name: "E.on - Całkowite zużycie w kWh" #od poczatku instalacji licznika
unit_of_measurement: "kWh"
icon: mdi:flash
value_template: "{{ value_json.lastReading.OBIS['F_8_0'] }}"
- name: "OneMeter Voltage baterii"
unit_of_measurement: "v"
icon: mdi:battery
value_template: "{{ value_json.lastReading.OBIS['S_1_1_2'] }}"
- name: "E.on - ostatni odczyt"
icon: mdi:clock
value_template: "{{ value_json.lastReading.OBIS['S_1_1_4'] }}"
- name: "E.on - zużycie w bieżącym miesiącu"
unit_of_measurement: "kWh"
icon: mdi:calendar-month
value_template: "{{ value_json.usage['thisMonth'] }}"
- name: "E.on - zużycie w poprzednim miesiącu"
unit_of_measurement: "kWh"
icon: mdi:calendar-month-outline
value_template: "{{ value_json.usage['previousMonth'] }}"
- name: "OneMeter wersja firmware urządzenia"
icon: mdi:chip
value_template: "{{ value_json.firmware['currentVersion'] }}"
- name: "OneMeter Battery %"
unit_of_measurement: "%"
icon: mdi:battery
value_template: "{{ value_json.lastReading['BATTERY_PC'] }}"
- name: "E.on - całkowite zużycie" #od instalacji urządzenia
device_class: energy
state_class: total
unit_of_measurement: "kWh"
icon: mdi:home-lightning-bolt-outline
value_template: "{{ value_json.usage['fullTime'] }}"
- name: "E.on - zużycie w tym miesiącu" #od instalacji urządzenia
device_class: energy
state_class: total
unit_of_measurement: "kWh"
icon: mdi:home-lightning-bolt-outline
value_template: "{{ value_json.usage['thisMonth'] }}"
- name: "ID Urzadzenia"
icon: mdi:chip
value_template: "{{ value_json['id'] }}"
- name: "OneMeter SN Urządzenia"
icon: mdi:chip
value_template: "{{ value_json['SN'] }}"
- name: "Onemeter MAC Urządzenia"
icon: mdi:chip
value_template: "{{ value_json['MAC'] }}"
- name: "OneMeter MeterID"
icon: mdi:chip
value_template: "{{ value_json.meteringPoint['meterID'] }}"
- name: "E.on - taryfa"
icon: mdi:chip
value_template: "{{ value_json.config.contract.distributionTariff.distributionNetworkOperator.group['name'] }}"
utility_meter:
#Do OneMeter
hourly_energy:
source: sensor.e_on_calkowite_zuzycie
cycle: hourly
daily_energy:
source: sensor.e_on_calkowite_zuzycie
cycle: daily
weekly_energy:
source: sensor.e_on_calkowite_zuzycie
cycle: weekly
monthly_energy:
source: sensor.e_on_calkowite_zuzycie
cycle: monthly
yearly_energy:
source: sensor.e_on_calkowite_zuzycie
cycle: yearly
w ui-lovelace.yaml #Aby wyświetlać sensory
- cards:
- entities:
- sensor.hourly_energy
hour24: true
hours_to_show: 24
name: E.on - Energy Usage hourly
points_per_hour: 1
show:
graph: bar
type: 'custom:mini-graph-card'
- cards:
- entities:
- sensor.monthly_energy
name: E.on - Energy Usage montly
points_per_month: 1
show:
graph: bar
type: 'custom:mini-graph-card'
- cards:
- entities:
- entity: sensor.e_on_calkowite_zuzycie
- entity: sensor.e_on_zuzycie_w_poprzednim_miesiacu
- entity: sensor.e_on_zuzycie_w_biezacym_miesiacu
- entity: sensor.e_on_ostatni_odczyt
show_header_toggle: true
title: E.on - zuzycie
type: entities
- 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: true
title: OneMeter Energy Usage
type: entities
Najwazniejsze rzeczy dzialają. Część nie. Testuję.
UWAGA!!
Konfiguracja dla OneMeter - pod E.on {Innogy}
Dla innych dostawców możliwe zmiany.
Jakby co pytać
Ja jeszcze dodałbym do wpisu:
device_class: battery
co spowoduje wykrywanie przez kartę battery state card
, że to jest bateria:
Dziękuję.
A czy ktoś pomoże z wyciągnięciem taryfy?
- name: "E.on - taryfa"
icon: mdi:chip
value_template: "{{ value_json.config.contract.distributionTariff.distributionNetworkOperator.group['name'] }}"
Możesz sprawdzić, w którym miejscu w tym adresie testowym.
https://cloud.onemeter.com/api/devices/<DEVICE_ID>?key=<API_KEY>
Tylko do tego nie używaj chrome, może być firefox lub edge - wynik jest podawany czytelnie i tam wtedy zobaczysz wszystkie odczyty i co musisz wpisać w nawiasach. U różnych operatorów różnie to wygląda, np. u mnie to:
value_template: "{{ value_json.lastReading.OBIS['0_2_2'] }}"
może też być, tak jak u Ciebie, tylko mniej:
value_template: "{{ value_json.config.contract.distributionTariff['name'] }}"
Ok. Dzięki. Działa.
Nie wiedziałem jak się do tego zabrać. Teraz zrozumiałem kod.
Zastanawiam się, czy nie dodać jeszcze jednej encji, która pokazuje stan mojego banku energii u operatora (mam jeszcze po staremu ). Wydaje mi się, że parametr
state_class: measurement
będzie odpowiedni, bo wartości zmieniają się, mogą być dodatnie i ujemne, np. w dniu dzisiejszym mam -3400kWh
- name: "OneMeter Zapas Energii"
device_class: energy
state_class: measurement
unit_of_measurement: "kWh"
icon: mdi:home-battery
value_template: "{{ value_json.energyBankData.nextLoss['total'] }}"
Docelowo chciałbym dodać do Panelu Energia jako Domowy magazyn energii - myślicie, że będzie to działać?