OneMeter - monitoring zużycia energii

odświeże temat, jako, że mam do czynienia z licznikami (inny operator niż Tauron) :slight_smile: NORAX3 to licznik zdalny, inkasent w ogóle nie powinien chodzić, bo licznik ma modem komunikacyjny, a w nim kartę SIM.

RFID nie służy do odczytu licznika, tylko raczej do obsługi magazynowej (o ile z tego korzystają w tauronie - nie wiem, my korzystamy)

Port optyczny u nas również jest blokowany hasłem/kluczem (sama komunikacja tym portem jest bardzo wolna, chociaż do bieżącego odczytu powinna wyrobić). Nie mam pewności ale prawdopodobnie jest to blokowane ponieważ portem tym można parametryzować licznik tj zmieniać taryfę itp. :slight_smile:

W przyszłości do odczytu liczników przez odbiorcę będą służyć inne porty w takzwanych licznikach “inteligentnych” np m-bus, port p1

// sprostowanie NORAX3 ma opcjonalną komunikację zdalną, ale wymagany jest dodatkowy moduł komunikacyjny

Inkasent akurat niedawno był, nie wiem czy spisywał stan tego licznika bo nie było mnie na miejscu. Sprawdzenie tego portu optycznego nadal mam w głowie ale czasu na to brak.

To może akurat mają jakąś wersje bez zdalnego odczytu lub nie maja systemu do zdalnego odczytu.

A nie prościej zapytać operatora o wymianę na licznik z portem p1 (oczywiście dostępem do niego) - nie wiem, może twój operator już udostępnia taką funkcjonalność odbiorcom i za opłatą wymieniliby licznik? - np licznik AM550-TD2.12 ma taki port i z tego co widzę jest integracja HA na port p1

Ewentualnie za licznikiem rozliczeniowym podpiąć własny licznik? - pewnie są jakieś dostępne z integracjami do HA

A jest może ktoś, komu ten skrypt działa?

Wkleiłem tak, jak piszą i cały czas wywala mi błędy (oczywiście ID i API wpisałem bez nawiasów)
obraz

Konfiguracja spod tego linka linka ma przestarzały format.

po pierwsze napisz do onemeter, żeby to poprawili

po drugie sam możesz sobie poprawić na bazie dokumentacji, jeśli to ogarniesz, to zostaw po sobie działający YAML

Gdybym potrafił, to bym nie pytał :slight_smile:
Napisałem do OneMetera prośbę o poprawienie kodu. Jak dostanę odpowiedź, to napiszę (chyba, że ktoś potrafiłby to zrobić wcześniej)

To jest doskonały moment na naukę - masz motywację i przy okazji nauczysz się podstaw YAMLa, co się pewnie przyda wielokrotnie w przyszłości.

hint
stara składnia

sensor:
  - platform: rest
    klucz

nowa składnia

rest:
  - lista

podobnie w przypadku template

przejrzyj wątki pod tagami template rest

zmiany składni dla niektórych integracji (akurat obu tu użytych) były bodajże w zeszłym roku.

Zamówiłem ze strony OneMeter Home.
Dostawa nazajutrz. Widać, że produkt (beacon) dobrej jakości. Niestety, jako, że do komunikacji używa BT 4.1, baardzo słaby zasięg. Przez dwie nie działa. Szczytuje dane tylko właściwie bezpośrednio przy beaconie. Odesłałem.
Kupiłem na Allegro Onemeter z bramką.
BTW. Nie wiem dlaczego na oryginalnej stronie nie sprzedają z bramką ?
Przysłali OneMeter Home PV czyli droższy z funkcją do fotowoltaiki.
Trochę problemów przy konfiguracji bramki (choć to kilka kroków). Po wejściu w opcję wpisania danych mojej sieci wi-fi momentalnie wyskakiwało, ze przekroczyłem czas 5 sek. na konfigurację. Ale jakoś się udało.
Połączyło się. Jest OK, chociaż zasięg też bez szału. (od bramki do beacona ok 5 m, ściana, szaft zabudowany na korytarzu / blok/)
Bramka łączy się z beaconem przez BT, dalej do chmury wysyła już po wifi.

Zasięg jest, choć na poziomie słabym, ale szczytowanym regularnie

Licznik sczytywany jest co 15 min.

  • Wszystkie dane analizowane są w darmowej chmurze.
  • Bardzo rozbudowane statystyki
  • Szkoda, że komunikacja na słabym , starym bt 4.1.
  • Szkoda, że bramka pobiera trochę dużo prądu (1A, 5V). Myślałem, ze wrzucę ją podpietą do powerbanka do szafki, niestety, za szybko pobiera prąd.
  • Bramka ma w dokumentacji napisane, że obsługuje MQTT - można to jakoś wykorzystać w HA ?

No i najważniejsze. dot. integracji z HA:
Po wpisaniu kodu (z moim API) w configuration.yaml. wyskakuje błąd.

Cytat - kod ze strony OneMeter:

- platform: rest
  scan_interval: 900 # Makes a request every 15min
  name: OneMeter
  resource: https://cloud.onemeter.com/api/devices/<DEVICE_ID>
  value_template: "{{ value_json.lastReading.OBIS['15_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] }}"

Zobacz post wyżej, czy już zauważyłeś, że ta konfiguracja jest w starym dziś nieobsługiwanym formacie?


Skoro to GL-S10 to można ją zasilać przez PoE (i to w sumie przez układ przewodowego Ethernetu ten sprzęt wymaga zasilacza 5V 1A dla zagwarantowania stabilnej pracy w każdym z możliwych trybów połączenia z siecią, choć wcale tyle nie pobiera).

U mnie GLS10 na sofcie EBP,

w trybie WiFi pobiera średnio 100mA, a nie żadne 1000mA…
Nie zmienia to faktu, że nie ma mowy o zasilaniu z powerbanka.

O tym, że w tym sprzęcie nie ma kosmicznej technologii wiem dość dobrze - jest tam w sumie tylko zwykle ESP32 + układ Ethernetu

1 polubienie

To wiem. Wszyscy to powtarzają. Lecz moja,wiedza nie wystarcza na dostosowanie kodu na nowy standart.

To projekt komercyjny, niech się producent ogarnie, skoro użytkownicy nie potrafią… ta oryginalna dokumentacja też ma spore niedomówienia (dlatego wspomniałem wyżej że chodziło o dawną sekcję sensor: bo ten kawałek YAMLa się zaczyna w oryginale zupełnie z czapy).
Ale co to za użytkownicy HA co nie znają YAMLa?
Zajrzyj do dokumentacji i dostosuj. Nie rób wszystkiego naraz, najpierw blok dla rest.
Wyżej wrzuciłem tagi skorzystajcie z nich, szczególnie w stosunku do template był wysyp wątków gdy nadeszło breaking change wymuszające zmianę składni, z restem jest tak samo.
Masz motywację i ją wykorzystaj.


Ja już niestety przez użytkowników robiących robotę cudzymi rękami straciłem motywację do poświęcania dodatkowych godzin na cudzą robotę… gdy komuś się nie chce czegoś nauczyć.
A w tej chwili na głowie mam pilne uzupełnienie tłumaczenia (bo od tego zależy prawidłowe działanie popularnego komponentu niestandardowego dla HA w lutowym wydaniu core…)


PS
Sama idea zmiany składni YAML dla integracji/komponentów jest świetnie opisana w dokumentacji Powercalc
https://homeassistant-powercalc.readthedocs.io/en/latest/configuration/new-yaml-structure.html

Ale oczywiście musicie wziąć pod uwagę dokumentację faktycznie użytych integracji (linki kilka postów wyżej).

1 polubienie

A myślisz, ze bramką mogę zastąpić tą którą dostałem od producenta ?

Nie mam bladego pojęcia - pytaj producenta, ja nie mam OneMeter’a nie wiem też z jakmi softem dostałeś GL-S10 (jego fabrycznym, czy może szczególnie dostosowanym do OneMeter, a może coś innego - u siebie używam np. EBP).
Nie widzę swoją drogą żadnego powodu do wymiany, jedynie możesz ewentualnie dopracować miejsce instalacji posiadanej bramki.
Aby wykorzystać zalety BT5BLE oba urządzenia by musiały być BT5.

Dostałem informację od OneMeter:
“Proszę o przesłanie zrzutów ekranu kodu, obecnie pracujemy nad dedykowana aplikacją do HA w najbliższych miesiącach zostanie gotowe rozwiązanie skończone i możliwe do pobrania.”
Nie wiem jakie zrzuty kodu oni chcą, bo to jest ich kod :slight_smile:

Nie wiem, może nie ich - być może ktoś z użytkowników ich sprzętu im podesłał… ale skoro pracują nad normalną integracją to brzmi sensownie, ciekawe czemu nie podesłali linka do repozytorium.

Bo tak generalnie byłoby najrozsądniejsze gdyby to był na początek komponent niestandardowy, w dalszym etapie mógłby być dostępny w HACS, a finalnie jako integracja standardowa dostępna bezpośrednio w HA.

Ciekawi mnie jedno - skoro składnia polecenia rest i template zmieniła się, co zrobili użytkownicy używający tych poleceń? Czy musieli sami pozmieniać wszystko, czy był jakiś program zmieniający automatycznie te dane. Nigdzie na tym forum się nie spotkałem z tym problemem. Nawiasem mówiąc większość postów jest stara i nie nadaje się już do niczego. Człowiek zaczyna czytać i próbuje zastosować na swoim sprzęcie i … niedopowiedzenie - nic nie działa i nikt nie chce (lub nie potrafi pomóc). To samo jest na youtubie - ktoś coś nagrał i zadowolony, ale żeby pomóc nowicjuszom, to nic te filmiki nie dają, bo programy już są zupełnie inaczej wyglądające. To jest strasznie flustrujące. Trzeba spędzić masę czasu (którego nie ma), żeby i tak nic nie znaleźć.
Swoją przygodę z HA zacząłem po namowie kolegi (on też jest początkujący). Mam serwer QNAP i tam zainstalowałem HA w Container Station - i tu pierwsze zderzenie z rzeczywistością - jest tysiąc poradników i wszystkie stare - nic nie dające. Brak Supervisora - problem nie do pokonania - odpowiedzi były: “zainstaluj w virtual station”.
Zainstalowałem więc w Virtual Station - niby chodzi, ale nie urywa. Mam słaby sprzęt (dwa rdzenie) więc QNAP chodzi na granicy. :frowning: No cóż za mało wiedzy a już chyba za stary jestem aby się bawić - chcę skonfigurować i zapomnieć - to ma działać

Pokaż co już zrobiłeś samodzielnie, to może ktoś spróbuje pomóc dalej.

Jeśli liczysz na gotowca “podanego na talerzu” przez kogoś, kto nie dysponuje sprzętem, to się możesz przeliczyć.

Zastanawiam się gdzie się podziali dotychczasowi użytkownicy onemeter?

Kto czyta dokumentację HA ten jest na bieżąco, mam nadzieję, że zostawiłeś jakiś feedback każdemu autorowi nieaktualnych tutoriali.


Tak. To nie są trudne zmiany, wszystko opisałem w podlinkowanmym poście.

Warunkiem dodatkowym jest czytanie DOKUMENTACJI użytych integracji (mogły zniknąć niektóre opcje), tam są przykłady, których nie będę tu przepisywał…


Tam masz wątek, w którym podlinkowałem wszystkie BREAKING CHANGES w HA core z kilku ostatnich lat, to się teraz nazywa Backward-incompatible changes (dzięki zmianom w CMSie oficjalnego bloga HA większość linków prowadzących prosto do celu trafił szlag, więc w latach wcześniejszych od 2023 trzeba sobie przeskrolować artykuły na blogu do odpowiedniej sekcji ręcznie - nie sądzę aby mogło być zainteresowanie w 2024 roku radykalnymi zmianami sprzed 2023)

czytaj od końca, aż dojdziesz do zmian w template i rest, będziesz miał od groma wątków na oficjalnym forum HA związanych z tym, że ktoś nie czytał i przegapił zmiany…

Równie dobrze możesz czytać wątki na tym forum spod taga template (ta “metka” jest klikalna) też było tego od groma.

Nie mam motywacji by kopać po starych wątkach, skoro nie mam tego problemu.
(włącz empatię i pomyśl o tym, że zajmie mi to tyle samo czasu co Tobie, dlatego działa tu stara zasada Adama Słodowego: “Zrób to sam”)


Totalnie nie masz świadomości ile czasu i energii wymaga napisanie dobrego tutoriala “dla idiotów”, który jest w stanie przewidzieć większość możliwych sytuacji gdy możliwy scenariusz działań ma zaledwie kilka czy kilkanaście kroków, ilość możliwych kombinacji rośnie wykładniczo.

Pomijam kwestię, że oglądanie filmików jest znacznie większym marnotrawstwem czasu niż przeczytanie tutoriala, który ktoś napisał tekstem…

Ale tu sobie chyba też nie zdajesz sprawy z tego, że przeróbka filmiku może być równie lub bardziej pracochłonna od nakręcenia nowego (to jest prawdopodobnie powód dla którego nikt nie przerabia starych wideotutoriali - bo to nie ma sensu).

Dzielę się swoją konfiguracją, może komuś się przyda, wczoraj ustawiałem.

sensor:
  - platform: rest
    scan_interval: 900
    name: OneMeter
    resource: https://cloud.onemeter.com/api/devices/<ID URZĄDZENIA>
    value_template: "{{ value_json.lastReading.OBIS['S_1_1_12'] }} {{ value_json.lastReading.OBIS['S_1_1_4'] }} {{ value_json.usage['thisMonth'] }} {{ value_json.usage['previousMonth'] }} {{ value_json.firmware['currentVersion'] }} {{ value_json.lastReading.OBIS['S_1_1_2'] }}"
    force_update: true
    headers:
      Authorization: <KLUCZ API>

  - 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(' ')[5] }}"
      onemeter_timestamp:
        friendly_name: "OneMeter Last Readout"
        icon_template: mdi:clock
        value_template: "{{ states.sensor.onemeter.state.split(' ')[1] }}"
      onemeter_this_month:
        friendly_name: "Current Consumption"
        unit_of_measurement: "kWh"
        icon_template: mdi:calendar-month
        value_template: "{{ states.sensor.onemeter.state.split(' ')[2] }}"
      onemeter_previous_month:
        friendly_name: "Previous Consumption"
        unit_of_measurement: "kWh"
        icon_template: mdi:calendar-month-outline
        value_template: "{{ states.sensor.onemeter.state.split(' ')[3] }}"
      onemeter_firmware:
        friendly_name: "OneMeter Firmware Version"
        icon_template: mdi:chip
        value_template: "{{ states.sensor.onemeter.state.split(' ')[4] }}"

1 polubienie

Czyli jednak na stronie OneMeter jest tak jak trzeba, brakowało pierwszej liniji - można było tak od razu

@km4lin1
Fajnie że się zlitowałeś nad potrzebującymi i poprawiłeś te totalne niedoróbki w dokumentacji onemetera, szkoda tylko, że mamy tu wzorcowy przykład starej składni którą któregoś dnia zmiecie breaking change.

Jaką masz wersję HA core? (bo mam takie nieodparte wrażenia, że ta składnia dziś już nie powinna działać)

@KrzyCho
Nie tylko pierwszej linii, wcięcia też były spartolone o ile pamiętam, czytałeś w ogóle mojego posta gdzieś tam wyżej, gdzie o tym wspominałem?