Zużycie energii ele...
 
Powiadomienia
Wyczyść wszystko

Inspiracja Zużycie energii elektrycznej. OneMeter

adrian
(@adrian)
Prezes Zasłużony dla Forum, Patron Strony

12 minut czytania

Temat odczytywania zużycia energii i wykorzystania odczytanych danych w systemie do automatyki był już kilka razy poruszany na łamach Forum Smart'ny Dom.

Nie raz zastanawiałem się jakie rozwiązanie zastosować we własnej instalacji

  • dodatkowy licznik na szynie DIN zainstalowany w rozdzielni elektrycznej, dobrany tak, aby umożliwiał integrację z systemami automatyki
  • jakieś rozwiązanie optyczne, a'la iNode, zliczające impulsy świetlne z licznika dostarczonego przez dostawcę energii
  • czy też własna konstrukcja

Do pierwszego trzeba trochę przeorganizować rozdzielnię, wezwać elektryka, itd. Drugie, hm...zliczanie impulsów świetlnych, których określona ilość informuje o zużyciu 1kWh; te informacje następnie bluetooth'em do RPi; z RPi do ThingSpeak.com, a następnie do systemu automatyki.

Już prawie rozpocząłem projektować własne urządzenie, oparte właśnie o zliczanie impulsów diody LED licznika z wykorzystaniem sieci bezprzewodowej WiFi i  przesyłaniem danych bezpośrednio do MQTT Brokera, kiedy trafiłem na urządzenie OneMeter.

OneMeter to niewielkie urządzenie - beacon, które odczytuje dane wprost z licznika energii elektrycznej dostarczonego przez dystrybutora energii i  wyposażonego w port optyczny obsługujący protokoły IEC 62056-21 / IEC 1107 / SML / DLMS

Ten port wykorzystywany jest przez służby techniczne dystrybutorów energii do parametryzacji i odczytu danych z liczników energii elektrycznej.

 

OneMeter beacon odczytuje dane bezpośrednio z licznika.

 

Tak, nie są zliczane impulsy tylko wykonywane są odczyty danych z licznika. W zależności od licznika możemy mieć dostęp do takich danych jak:

  • ile energii efektywnie zużyto / oddano do sieci
  • ile energii zostało utraconej przy zużyciu / oddaniu do sieci
  • ile energii o charakterze indukcyjnym zużyto / oddano do sieci

Ale nie tylko. Wymienione informacje dostępne są również w podziale na strefy czasowe, w których obowiązuje określona kwota za pobranie / oddanie energii. Lista dostępnych informacji jest dłuższa, wymieniłem te najczęściej wykorzystywane.

 

Kilka słów o samym urządzeniu

 

  • Niewielkie urządzenie w formie beacona o średnicy 32mm i wysokości 15mm.
  • Zasilanie jest bateryjne CR2032 z przewidywanym czasem pracy baterii około roku
  • Transmisja danych odbywa się za pomocą Bluetooth LE; więc zasięg to do ok. 10m w trybie połączenia
  • Dane są szyfrowane AES128b więc dopóki kwantowe komputery nie są dostępne; nikt tych danych nam nie ukradnie 😉
  • Mocowany jest do licznika w wykorzystaniem wbudowanego magnesu neodymowego
  • oraz pracuje w temperaturach -20 do 50stC

Urządzenie jest solidnie wykonane i dopieszczone detalami - chociażby grawerowany magnes, led informujący o stanie urządzenia. Samo opakowanie urządzenia daje pozytywne doświadczenia osobom, którym środowisko nie jest obojętne. To wszystko sprawia pozytywne wrażenie, że nie mamy do czynienia z samoróbką, czy jakąś tandetą wyprodukowaną na końcu świata.

IMG 2278
IMG 2280
IMG 2281

 

Urządzenie jest produkowane w Polsce! przez technologiczny startup skoncentrowany na obszarze energetycznym, którego misją jest zapewnienie każdemu domowemu lub biznesowemu użytkownikowi energii  dostępu i lepszego zrozumienia ich zużycia energii.

 

Jak działa urządzenie OneMeter?

 

Urządzenie odczytuje dokładne dane pomiarowe z licznika, które za pośrednictwem transmisji bezprzewodowej bluetooth przesyłane są do Smartfonu, a następnie do chmury OneMeter Cloud.

Urządzenie odczytuje dane z licznika w co 15-minutowych interwałach czasu i natychmiast przekazuje odczytane informacje do chmury jeśli beacon ma dostęp do Smartfonu.

Planując integrację odczytywanych danych z własnym systemem do automatyki, nie ukrywam, że zmartwiła mnie ta konieczna obecność smartfona, aby przesyłać dane do chmury

  • Nie mam cały czas smartfonu w obrębie ok 10 metrów od urządzenia
  • Nie jestem non-stop w domu
  • Bateria się wyczerpie itp, itd.

Rozwiązanie problemu, to dodatkowy, stary, tani smartfon na stałe podpięty do zasilania  w pobliżu urządzenia.

Ale, ale.... przeglądając dokumentację trafiłem, że mamy możliwość postawienia bramki nazwanej: OneMeter Gateway. Jest to specjalnie przygotowane oprogramowanie służące do ciągłego przesyłania danych z urządzenia OneMeter beacon do OneMeter Cloud

OneMeter Gateway, działa na urządzeniach z systemem Linux wyposażonych w Bluetooth. Dostępny jest pakiet instalacyjny OneMeter Gateway lub przygotowana dystrybucja Linux dla Raspberry Pi z zainstalowanym już oprogramowaniem wymagająca minimalnej konfiguracji. Oprogramowanie może swobodnie działać nawet na takim maleństwie, jak RPi Zero W.

Jak dla mnie, wystarczająco dobre rozwiązanie, aby mieć praktycznie zawsze aktualne dane w chmurze OneMeter i w systemie automatyki, o którym już za chwilę.

 

Czy urządzenie można ot tak stosować; co na to dystrybutorzy?

 

Na stronie producenta urządzenia można znaleźć taką notatkę:

OneMeter nie zakłóca pracy licznika. Nie ma więc powodu, dla którego operator miałby zabronić jego montażu. Użytkownik ma prawo odczytywać swój licznik w sposób analogiczny do operatora. Prawidłowe działanie urządzenia OneMeter Beacon potwierdzone zostało przez badanie wykonane przez Instytut Łączności (Potwierdzenie zgodności Nr 038/2016) oraz wystawioną Deklarację zgodności CE (oznaczenie CE 1471)

 

Instalacja

 

Nie ma się tutaj co rozwodzić. Jest tak banalnie prosta, że szkoda czasu, żeby specjalnie się rozpisywać:

  • wyciągamy beacon z pudełka
  • montujemy na porcie optycznym: trudność skali zero; przypominam mocowanie jest do licznika za pomocą wbudowanego w urządzenie magnesu
  • otwieramy aplikację w smartfonie, logujemy się z wykorzystaniem jednej z sieci społecznościowych, wybieramy jaką mamy taryfę
  • ... i koniec
IMG 2525
IMG 2523

 

Teraz kilka słów o stronie software'owej

 

Oczywiście nie zostajemy sami z urządzeniem ;). Do dyspozycji mamy dostęp do portalu, na którym możemy przeglądać i analizować informacje. Jest dostępna aplikacja na Androida, jeśli chodzi o iOS to jest w trakcie przygotowania (stan na czerwiec 2021)

Mamy dostępne statystyki, wykresy, tabele, koszty, prognozy, filtrowanie danych, jest tych informacji bardzo dużo i wydaje mi się dla większości użytkowników będzie tego wystarczająco.

Poniżej załączam galerię niektórych tylko informacji, które dostępne są przez portal

Zrzut ekranu 2021 06 09 212524
Zrzut ekranu 2021 06 09 202554
Zrzut ekranu 2021 06 09 202310
Zrzut ekranu 2021 06 09 202243
Zrzut ekranu 2021 06 09 202435
Zrzut ekranu 2021 06 09 202211
Zrzut ekranu 2021 06 09 202109
Zrzut ekranu 2021 06 09 202048
Zrzut ekranu 2021 06 09 201904
Zrzut ekranu 2021 06 09 201835
Zrzut ekranu 2021 06 09 201747
Zrzut ekranu 2021 06 09 201548

A tutaj screenshot'y z aplikacji mobilnej.

Screenshot 20210610 230103
Screenshot 20210610 225948
Screenshot 20210610 225903
Screenshot 20210610 225739
Screenshot 20210610 225815

 

Integracja z systemem do automatyki

 

Powyżej napisałem kilka podstawowych informacji na temat urządzenia / oprogramowania. W dalszej części skupiam się na integracji OneMeter, a przede wszystkim dostępie do danych zbieranych przez urządzenie w ramach lokalnego systemu do automatyki.

Więc tak:

  • urządzenie odczytuje dane co 15 minut
  • mamy bramkę, która wysyła odczytane dane do chmury OneMeter
  • możemy przeglądać dane przez przeglądarkę internetową lub aplikację mobilną

No, ale co gdybym chciał mieć te dane lokalnie w swojej bazie danych; analizować je na przeróżne sposoby; uruchamiać reguły za pomocą systemu do automatyki ,np.: na podstawie danych o zużyciu / oddaniu energii :

ooo produkuje więcej energii niż jestem w stanie zużyć, no to niech włączy się grzałka w basenie i zutylizuje nadprodukcję energii 😉

lub prezentować dane o zużyciu / wyprodukowaniu energii w naszym panelu , przykładowo:

Mamy taką możliwość. OneMeter udostępnia API, które pozwala na pobieranie danych z chmury OneMeter Cloud w formacie JSON.

Po zalogowaniu się do chmury mamy dostęp do naszego unikalnego klucza API, unikalnego ID urządzenia oraz dokumentacji do API, pozwalającej na pobranie szeregu różnych informacji w formie JSON.

Dokumentacja API zawiera opis, jak zintegrować się z HomeAssistant, Domoticz oraz OpenHab.

Nie przyglądałem się dokumentacji integracji: HA, Domoticz i nie mogę jej skomentować, natomiast konfigurację OpenHab przerobiłem. Jest poprawna, ale już trochę starawa i nie wykorzystująca komponentów OpenHab, jak np. Things. W dalszej części udostępniam bardziej rozbudowaną konfigurację, która umożliwia więcej niż przykład konfiguracji umieszczonej w dokumentacji OneMeter API.

Zanim przejdę do konkretów, jak co zrobić, to parę słów z czym trzeba się liczyć, jakie problemy rozwiązać, bo nie jest to integracja do zrobienia w dwóch, trzech krokach.

 
Jakie wyzwania musimy rozwiązać, z jakimi ograniczeniami musimy się liczyć?

 

1. Odczyty danych są co 15 minut, wiec nie mamy dostępu, do danych z licznika w czasie rzeczywistym.

  • nic z tym nie zrobimy
  • mamy dostęp do prawie rzeczywistych danych, czyli co ok. 15 minut
  • Rozwiązanie:
    • poczekanie na kolejną aktualizację firmware, która w momencie pisania tego artykułu jest opracowywana i będzie miała odczyty w czasie rzeczywistym. Natomiast trzeba poczekać na końcową wersję i jej możliwości, aby zrozumieć o czym tutaj mówimy i z czego rzeczywiście będziemy mogli skorzystać. Tak, czy inaczej dane co 15 minunt to nie taki zły interwał.

2. Trzeba zapewnić stabilne przesyłanie danych z beacona'a do chmury, po to aby mieć w systemie automatyki dane co 15min

  • jeśli nie będzie stabilnie to będziemy mieli poszatkowane dane.
  • jest to istotne jeśli zależy nam na własnej analizie danych, wykresach, czy regułach związanych z "aktualne" pobieraną / oddawaną energią elektryczną
  • Rozwiązanie:
    • Koniecznie Smartfon lub OneMeter Gateway np. na RPi, non-stop włączny w pobliżu urządzenia
      • Smartfon, który miałem włączony non-stop w odległości ok. 2 metrów od licznika przez ścianę dawał bardzo stabilną transmisję danych do chmury - testowane przez ok 1 tydzień
      • RPi4 z OneMeter Gateway około 6 metrów przez dwie ściany - nie działał stabilnie; transfery do chmury nie były wykonywane z sukcesem co 15 minut,
      • RPi4 i 3 metry od licznika, jedna ściana dzieląca - działa b. stabilnie od 3 miesięcy kiedy testuję urządzenie

3. Pobierane informacje z OneMeter Cloud to stan licznika zużycia energii (wartość) co 15 minut, a nie inkrementalne wartości zużycia energii w czasie

  • o ile oczywiście może być interesujące jaki jest stan licznika, o tyle nas interesuje zużycie energii w czasie, czyli ile energii zużyliśmy w ciągu 15m, 1h , 1 dnia, itd.
  • Rozwiązanie
    • Reguła w systemie do automatyki załatwi nam dodatkowe przeliczenia jakich potrzebujemy

4. Co jeśli zawiódł któryś z naszych komponentów: wyłączony system do automatyki, baza danych i straciliśmy dane itp.

  • Rozwiązanie: 
    • Jednym z rozwiązań może być uruchamiany  w nocy skrypt, który za jednym "strzałem" pobierze dane z OneMeter Cloud z ostatnich 24 godzin. To umożliwi nam osiągnięcie 100% regularności zapisów danych w naszej lokalnej bazie danych

 

Przykład integracji dla systemu automatyki: openHab

 

Konfiguracja jest wykonana z wykorzystaniem plików konfiguracyjnych znajdujących się w /etc/openhab dla Linux'a w standardowej instalacji

Thing

Thing odczytuje dane z OneMeter Cloud w co 15-minutowych interwałach.

W ramach Thing można bezpośrednio wysyłać zapytania do OneMeter Cloud, jednak proponuję  te zapytania wykonywać za pomocą Linux'owego CRON'a zapisującego wynik odczytanych danych w lokalnie przechowywanym pliku - czyli na naszym serwerze do automatyki. Następnie w ramach Thing odczytywać lokalnie pobrany już plik. Dlaczego?

  • OneMeter regularnie odczytuje dane z licznika o konkretnej godzinie : 00, 15, 30, 45 minut ... itd. W ramach OH Thing nie kontrolujemy czasu, kiedy zostanie wykonane zapytanie o dane do chmury OneMeter. W OH parametryzujemy interwały odczytów na przykład: niech Thing odświeża dane co 15 minut. Problem jest taki, że możemy mieć sytuację, że OneMeter Beacon odczyta dane z licznika o 14:15; wyśle je natychmiast do OneMeter Cloud, a nasz openHab te dane pobierze na przykład o 14:28 - bo tak sobie ustawi początek odliczania co piętnasto-minutowych interwałów. Trochę słabo, jeśli chce się mieć dane w systemie do automatyki w miarę bliskie rzeczywistym informacjom o zużyciu / produkcji energii.
  • Można odpytywać OneMeter Cloud częściej niż co 15 minut, ale według mnie to strata zasobów:
    • będą szły do OneMeter Cloud tzw. suche przebiegi: odczyty danych, które niczego nowego nie dostarczą do naszego systemu automatyki.

W przypadku mojej konfiguracji Linux CRON odczytuje dane co 15 min startując: Godzina : 02, 17, 32, 47 minut - czyli z 2 minutowym przesunięciem w stosunku do odczytów wykonanych przez OneMeter Beacon.

Polecenie cron'a

Tutaj, jak może wyglądać polecenie CRON

curl -s -X GET --header 'Authorization: TUTAJ-API-TOKEN' 'https://cloud.onemeter.com/api/devices/TUTAJ-ID-URZADZENIA' -o /etc/openhab/html/onemeter/onemeter-device-data.json

Przykładowa konfiguracja Thing dla taryfy G12 odczytująca już lokalnie pobrany plik

Items

Reguła wykonująca konieczne obliczenia

W GitHub umieściłem skrypt, który pobiera dane z OneMeter Cloud w regularnych 24 godzinnych interwałach i ładuje dane do bazy danych InfluxDBv2. Więcej informacji.

Skrypt zapewnia mi to, że jeśli miałem w czasie dnia jakieś zdarzenie, że nie działa regularna co-piętansto-minutowa wymiana informacji między beacon - chmurą - system automatyki (obojętnie gdzie był i jaki problem), skrypt zapewni odtworzenie poprawnych regularnych zapisów w lokalnej bazie danych.

 

Podsumowując

 

  • (-) Trzeba liczyć się z ograniczeniami wynikającymi z transmisji danych bluetooth - odległości
    • coś za coś; transmisja WiFi 2.4 lub 5Ghz szybko pochłonęłyby baterię
    • informacyjnie: trwają prace nad nowym urządzeniem, które w linii prostej powinno umożliwić zasięg ok. 100m
  • (-) Brak aplikacji mobilnej na iOS - w trakcie przygotowania
  • (-) Nie wszystkie dostępne komendy API, byłem w stanie uruchomić z sukcesem.
    • Nie wiem jeszcze jakie ciekawe informacje mogę pobrać. Dokumentacja tutaj nie jest wystarczająco jasna
  • (-) Urządzenie nie wspiera wszystkich liczników energii.
    • Konieczne jest sprawdzenie, czy nasz licznik energii OneMeter będzie obsługiwany; niektóre liczniki są blokowane przez dystrybutorów
  • (+) Bardzo intuicyjna, prosta i nieinwazyjna instalacja urządzenia
  • (+) Dostęp do aplikacji mobilnej (android). Aplikacja dobrze zaprojektowana i intuicyjna.
  • (+) Wiele zestawień, wykresów, włącznie z kosztami, prognozami zużycia itp. dostępne z pudełka przez stronę www.
  • (+) Dostęp do danych z licznika - zarówno pobór oraz produkcja energii; to nie jest zliczarka impulsów przeliczająca je na ilość zużytej energii - choć jest dostępna również taka opcja, z tego co wyczytałem
  • (+) Dostęp do gromadzonych danych w chmurze dzięki udostępnieniu API
  • (+) Dbałość o wykonanie urządzenia
  • (+) Pozytywne doświadczenie z zespołem wsparcia
  • (+) Rozsądne koszty urządzenia
  • (+) Rodzimy produkt i produkcja
 
Co byłoby szczęściem dla osób chcących integrować urządzenie z lokalnym systemem 🙂
  • bezpośredni dostęp do danych odczytywanych przez Beacon lub
  • możliwość subskrypcji do OneMeter MQTT Brokera zamiast korzystania z API do Cloud - uprościłoby to sporo integrację

 

Przydałoby się:

 

  • informacja o napięciu, np.: średnie z ostatnich 15 minut, albo jakieś chwilowe - tyle się słyszy o bardzo wysokim napięciu w sieci w słoneczne dni, kiedy pobliskie elektrownie fotowoltaiczne pracują pełną parą - ciekawe informacje do analizy
  • możliwość pobrania informacji o kosztach za pomocą API

 

Na koniec jeszcze jedno zdanie ode mnie; zrozumienie, a przede wszystkim optymalizacja zużycia energii, czyli wspieranie ekologicznego i zrównoważonego stylu życia, są zachowaniami do których szczerze, szczerze i gorąco  zachęcam, szczególnie myśląc o naszych dzieciakach, wnukach, czy przyszłych pokoleniach. OneMeter jest ciekawym urządzeniem wspomagającym ten cel.

 

Cytuj
Autor tematu Dodane : 16/06/2021 10:52 pm
isom polubień
isom
 isom
(@isom)
Prezes Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20

@adrian Kapitalny opis , mimo, że jednak bardziej do mnie przemawia coś bez baterii i bluetooth , prawie mnie namówiłeś na testy tej pastylki :))

OdpowiedzCytuj
Dodane : 17/06/2021 10:08 am
Udostępnij: