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.

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ä).

2 kommenttia:

  1. Kiitos! Tällä päivittyi reilu vuosi sitten sinulta ostamani palikka taas. ESPhome tosiaan valitti tuosta customista luonnollisesti.

    VastaaPoista
    Vastaukset
    1. hienoa, että postauksesta oli apua päivittämisen suhteen :)

      Poista