* 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
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ä).
Kiitos! Tällä päivittyi reilu vuosi sitten sinulta ostamani palikka taas. ESPhome tosiaan valitti tuosta customista luonnollisesti.
VastaaPoistahienoa, että postauksesta oli apua päivittämisen suhteen :)
PoistaMinulla ollut tämä sinun P1 lukija jo pidemmän aikaa käytössä ilman mitään ongelmia. Itse päivitin käyttämällä tätä samaa https://github.com/psvanstrom/esphome-p1reader repoa, joka oli sinun alkuperäisissä ohjeissa. Kyseinen esphome-p1reader on päivitetty käyttämään external componenttia, joten pävitys oli todella helppo.
VastaaPoistaKiitos tiedosta, tosiaan näyttää alkuperäinenkin repo heti tän mun postauksen jälkeen myös alkanut tukemaan uusinta ESPHomea.
PoistaMuuten on aika selkeätä, mutta kuten aina tuo githubin jargoni ja meikäläinen ei vaan sovi yhteen. Miten siis saan esphomen hakemaan tuon external componentsin filuineen githubista. Ilmeisesti tämä on ainakin jotenkin väärin:
Poistaexternal_components:
source: github://cadwal/esphome-p1reader@main
Onko kirjoitusasussa joku vika? En tajua kun täysin ohjeiden mukaan yritän tehdä.
Minkähän ohjeen mukaan? Kun yaml tiedoston external_components kohtaa ei tarvi minun seuraamissa ohjeissa koskea, joten ensimmäinen kysymys kuuluu missä ohjeissa käsketään pistää sourceksi github?
PoistaSori, tarkoitin esphomen omia ohjeita heidän sivuillaan external componentsien käyttöä koskien :) En kyllä localinakaan saanut toimimaan niin siksi kokeilin tuota github menetelmää...
PoistaNoniin, sain toimimaan eli minulla vaatii tuon local folderin määrittämisen näin esphomessa:
Poistaexternal_components:
- source:
type: local
path: esphome-components
Lyhyt yhden rivin tapa joka muilla näyttää olevan ok ei toiminut... Tiedoksi jos jollakin tulee samanlaisia ongelmia :)
Onkohan kokemuksia tarvitseeko ESP32-C3-Zero puolella myös ottaa käyttöön tuo inverted: false ja mode: INPUT vai meneekö ilman tuota jos laittaa siihen vastuksen ohjeiden mukaan. Muuttaen toki tuota minimum_period arvoa
VastaaPoista