Näytetään tekstit, joissa on tunniste HAN. Näytä kaikki tekstit
Näytetään tekstit, joissa on tunniste HAN. Näytä kaikki tekstit

lauantai 22. helmikuuta 2025

RJ12-kotiautomaatioliitynnän HAN portin lukeminen, osa 2

Jatkoa edelliselle postaukselleni (https://omakotikotitalomme.blogspot.com/2022/10/elenian-aidon-rj12-kotiautomaatioliityn.html) kun uusin ESPHome 2025 versio tiputti tuen Custom Componenteista, niin vanhoja ohjeita seuraamalla pitää käyttää vuoden 2024 ESPHome versioita. Joten alla sitten uusi ohjeistus, mikä toimii myös tällä hetkellä uusimman ESPHome 2025.2.0 version kanssa.

* EDIT: 07.03.2025, näyttää myös alkuperäinen repo (https://github.com/psvanstrom/esphome-p1reader) alkanut tukemaan uusinta ESPHomea, joten voi käyttää kumpaa vaan repoa haluaa.

Vanhat ohjeet pääasiassa toimivat (esim Home Assistant näkymien conffaus samalla tavalla), ainoa ero on, että mistä asentaa uusin firmis joka tukee uusinta ESPHome versiota, jossa koodi on muutetu käyttämään custom componentin sijasta nykyisin tuettua external componenttia.

Eli haetaan koodi https://github.com/Beaky2000/esphome-p1mini, ja muutetaan muutama rivi .yaml rivistä tukemaan laitettamme (RTS on pullup ja sitä ei ole kytketty GPIO pinniin). Ja asennus samaan tapaan kuin ennenkin. Hyvänä puolena Beaky2000 versio osaa automaattisesti ascii- ja binaari-formaatit, joten ei tarvi arvuutella minkä version lataa, kun kaikki laitteet toimivat samalla koodilla.

Linuxissa asennus menee tyyliin:

$ pip3 install esphome -U
$ git clone https://github.com/Beaky2000/esphome-p1mini.git
$ cd esphome-p1mini/
# Alle lisäät esim wifi salasanat ja api-keyn generoinnissa seuraa README:n ohjeita (api.html).
$ nano secrets.yaml
# editoidaan p1mini.yaml tiedostosta muutamaa riviä:
$ git diff p1mini.yaml
diff --git a/p1mini.yaml b/p1mini.yaml
index ab56611..cc1e2d3 100644
--- a/p1mini.yaml
+++ b/p1mini.yaml
@@ -72,8 +72,8 @@ uart:
       mode: OUTPUT_OPEN_DRAIN
     rx_pin:
       number: RX
-      inverted: true         # Set to false if inverting in hardware
-      mode: INPUT_PULLUP     # Set to INPUT if inverting in hardware
+      inverted: false        # Set to false if inverting in hardware^M
+      mode: INPUT            # Set to INPUT if inverting in hardware^M
     baud_rate: 115200
     rx_buffer_size: 512      # Probably not needed, but it is good to have some margin.
 #  - id: my_uart_2
@@ -82,7 +82,7 @@ uart:
 p1_mini:
   - id: p1_mini_1
     uart_id: my_uart_1
-    minimum_period: 2s       # Should be 0 (zero) if the RTS signal is not used.
+    minimum_period: 0s       # Should be 0 (zero) if the RTS signal is not used.^M
     buffer_size: 3072        # Needs to be large enough to hold one entire update from the meter.
     secondary_p1: false
     on_ready_to_receive:
# asennetaan firmis /dev/ttyUSB0:n läpi run komennon avulla
$ esphome run p1mini.yaml     
# asennetaan laite paikoilleen ja katsotaan logeja wifin yli ja/tai http sivun yli
$ esphome logs p1mini.yaml    
Eli muutokset lyhyesti: 2s -> 0s ja inverted arvo falseksi ja mode INPUT_PULLUP:sta INPUT:ksi. Ja laitteen lisääminen esim Home Assistant:n puolelle käy samalla lailla kuin ennenkin, nykyisin pitää vain generoitu API key kopioida secrets tiedostosta.

Minulla on edelleen itse rakennettuja readereitä tarjolla pikkuisessa sumupstoressani ja ja myös tori.fi:ssä (25e+5e kirjeposti), jos kiinnostaa, niin https://p1reader.sumupstore.com/tuote/koteloitu-p1-reader-rj12-kaapeli tai viestiä tori.fi:n kautta: https://www.tori.fi/recommerce/forsale/item/2035004. Sillä disclaimerillä, että sinun pitää olla tuttu Linuxin kanssa, että osaat ESPHomen flashata laitteeseen (D1 mini laite tulee ilman firmistä, kun oman verkon ssid ja salasana määritellään flashauksen yhteydessä).

tiistai 25. lokakuuta 2022

Elenia Aidon RJ12-kotiautomaatioliitynnän HAN portin lukeminen

Elenia julkaisi tuossa hiljattain, että heidän Aidon sähkömittareiden RJ12 portin avausta voi pyytää ilmaiseksi asiakaspalvelusta.

https://www.elenia.fi/tulevaisuuden-energia/sahkonkulutuksen-mittausuudistus/tietoa-mittausuudistuksesta
https://www.elenia.fi/files/8ce06662fedee10d57bd390e9863a685f73bbb27/elenia-rj12-kotiautomaatioliitynta-21092022-4.pdf

Seskon suosituksessa lukee: "Edellä 1 momentin 3 kohdassa tarkoitetusta asiakasrajapinnasta on saatava RJ12-liittimen välityksellä ASCII-merkkimuotoista tiedonsiirtotapaa noudattaen 10 sekunnin välein tai tiheämmin ainakin sähköverkosta otetun sähkön jasähköverkkoon syötetyn sähkön virran, pätötehon, loistehon ja jännitteen tehollisarvot vaihekohtaisesti sekä mittauslaitteiston kumulatiivinen sähköenergialukema minuutin välein tai tiheämmin, kun verkonhaltija on aktivoinut rajapinnan loppukäyttäjän pyynnöstä" (https://sesko.fi/wp-content/uploads/2022/01/Suositus_SK_13-1_H1_asiakasrajapinta_final_2021dec.pdf)

Joten pistin sähköpostia asiakaspalveluun ja 10 päivän päästä sieltä tuli ilmoitus, että portti on aktivoitu. Yllätys sitten olikin, että luvatun ASCII datan sijasta sieltä portista tuli ulos binääridataa. Vielä ei ole Elenian asiakaspalvelu vastannut, että ovatko vahingossa enabloineet EFS (binääri ulostulon) eikä EFS2 (ASCII ulostulo). Tai tarkoituksella eivät seuraa Seskon suositusta ASCII datasta (tai eivät ole päivittäneet tänä vuonna asennettuun Aidon mittariin uusinta softaversiota). Edit: "asiakaspalvelu@elenia.fi" vastasi minulle sähköpostilla: "Pahoittelut, näissä asiakkaan lisälaitteissa täytyisi olla laitevalmistajaan yhteydessä." Eli eivät tunnustaneet aktivoineensa väärää profiilia minulle (ja eivät muuttaneet sitä asciiksi), vaan vyöryttivät mokansa laitevalmistajan syyksi (sinälläään ihan sama minulle, kun sain tuon binäärimuotoisenkin toimimaan).

Piirtelyn custom piirilevyn ja 3d printattavan koteloinnin, johon pystyy Wemos D1 Minin asentamaan, johon ESPHomella asennetaan lukusofta, jonka sitten liittää langattomasti vaikka Home Assistanttiin.

Tarvittava softa ASCII muotoiselle datalle:
https://github.com/psvanstrom/esphome-p1reader
Conffaus Wemos D1 minin mukaan:
https://github.com/psvanstrom/esphome-p1reader/tree/main#running-on-smartyreader-p1

Semmoinen huomio käyttäjiltä on tullut vastaan, että osassa mittareista, inverted true pitääkin olla inverted false, joten jos tuntuu, että data näyttää väärältä, niin kannattaa kokeilla kyseisen lipun kääntämistä toiseen asentoon.

Ja binääri-muotoiselle löysin toteutuksen internetin syövereistä ja tein sille custom branchin:
https://github.com/rainisto/esphome-p1reader/tree/Elenia_Aidon_v1.2_binary

Joten riippuen, että antaako mittarisi ulos ASCIIta tai binääria, niin joudut valitsemaan kumman firmiksen laitteeseen flashaat. Itse flashasin ekana ASCII version, ja jos ulostulo näyttää tältä, niin silloin mittarisi sylkee binääriä ulos (tai inverted arvo väärinpäin):

Ja sitten, kun olin asentanut binaari branchin itselleni, niin esphomen logi näytti paremmalta:

Sitten vain tein dashboardin HA:lle seuraavaa esimerkkiä seuraten (https://gist.github.com/endor-force/3c9fdf95535423157fa52609ba42d738). Data näyttää kiltisti päivittyvän 10 sekunnin välein, joten kaiken kaikkiaan varsin onnistunut DIY projekti.

Minulla on muutama ylimääräinen koteloitu lukija (rj12 kaapelin kanssa) rakennettuna hyllyssä (25e+5e kirjeposti), jos kiinnostaa, niin voi pistää sähköpostia blogin osoitteeseen, pikkuisesta sumup storestani: https://p1reader.sumupstore.com/tuote/koteloitu-p1-reader-rj12-kaapeli tai viestiä tori.fi:n kautta: https://www.tori.fi/recommerce/forsale/item/2035004. Sillä disclaimerillä, että sinun pitää olla tuttu Linuxin kanssa, että osaat ESPHomen flashata laitteeseen (laite tulee ilman firmistä, kun oman verkon ssid ja salasana määritellään flashauksen yhteydessä).

Oheinen ohjeistus voi kanssa helpottaa käyttöönottoa: https://tim.jyu.fi/view/users/vesal/oma/talo/talo/aidon

EDIT: 2025 vuoden ESPHomessa custom components on deprikoitunut, joten vanhoilla ohjeilla joudut käyttämään 2024 vuoden ESPHomea, 2025 vuoden ESPHomen kanssa Beaky2000sen versio voisi olla potentiaalinen vaihtoehto (RTS ei ole kytketty joten joudut asettamaan 0s update periodiksi): https://github.com/Beaky2000/esphome-p1mini/blob/main/NO-RTS.md#rts-not-attached-to-a-gpio

EDIT: uusi blogipostaus, joka toimii myös uusimman ESPHome 2025.2.0:n kanssa: https://omakotikotitalomme.blogspot.com/2025/02/rj12-kotiautomaatioliitynnan-han-portin.html