Install P1-Reader on ESPHome in Home Assistant

Install P1-Reader on ESPHome in Home Assistant

Jag har utgått från informationen som finns här.

Installera ESPHome

Först måste Home Assistant (HA) vara installerat eller så måste du köra ESPHome någonstans. För att installera ESPHome i HA så gå till Settings -> Add-ons -> Add-ons store

Välj ESPHome bland alla Add-ons och på nästa sida install

När du installerat det borde det se ut såhär när allt kör som det ska.

Generera firmware fil

För att kunna läsa ut datan så måste vi koppla en extra fil till ESPHome för att kunna få ut våran extra data som skickas från elmätaren. Denna fil kommer att kompileras med allt annat. Allt detta sker automatiskt i ESPHome.

För att ladda upp filen behöver vi installera ett add-on till. Det heter “File editor” och ligger under Official add-ons. Öppna sedan File editor.

Nu behöver du ladda ner denna filen. Den ska sparas ner och måste heta p1reader.h.

Längst upp till höger i HA på File editor finns en ikon som ser ut som en katalog. Klicka på den och leta reda efter esphome katalogen. Klicka sedan på pilen som pekar uppåt för att ladda upp p1reader.h i denna katalogen.

Nu ska du gå till ESPHome i vänstermenyn. Längst ner till höger finns en grön knapp för att lägga till en ny enhet. Välj ett bra namn för enheten och välj nästa.

Välj att skippa nästa dialog.

Checka ur Use recommended settings och välj sedan ESP8266

Scrolla ner och välj “WeMos D1 R2 and mini”

Skippa nästa steg eftersom vi kommer ladda upp filen istället för att använda en kabel. Det går lika bra att ta ut ESPn och använda en kabel om man vill det.

Nu måste man editera den nya integrationen så den kan läsa av datan från el-centralen. Klicka på Edit på den nya ESP devicen som vi har lagt upp. Det finns två delar man behöver göra. Dels behöver man lägga till en länk till sin fil som vi laddade upp och dels behöver vi lägga till vart signalen från el-centralen kommer in till enheten. Kopiera in de delarna som anges med kommentarer här under. Det ska vara två ställen.

esphome:
  name: main-central
  friendly_name: main-central
  # ADD THIS TWO LINES
  includes:
  - p1reader.h

esp8266:
  board: d1_mini

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "jdd6724cbry4aCk+SKslMIYdGTTYzH9I/R4hBVbcqXQ="

ota:
  password: "725c86cd0e43211461c7279a695736eb"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Main-Central Fallback Hotspot"
    password: "7VnbsQjkliMI"

captive_portal:
    
# ------ ADD EVERYTHING UNDER THIS COMMENT -------  
uart:
  id: uart_bus
  rx_pin:
      number: 3
  baud_rate: 115200
  
sensor:
- platform: custom
  lambda: |-
    auto meter_sensor = new P1Reader(id(uart_bus));
    App.register_component(meter_sensor);
    return {
      meter_sensor->cumulativeActiveImport,
      meter_sensor->cumulativeActiveExport,
      meter_sensor->cumulativeReactiveImport,
      meter_sensor->cumulativeReactiveExport,
      meter_sensor->momentaryActiveImport,
      meter_sensor->momentaryActiveExport,
      meter_sensor->momentaryReactiveImport,
      meter_sensor->momentaryReactiveExport,
      meter_sensor->momentaryActiveImportL1,
      meter_sensor->momentaryActiveExportL1,
      meter_sensor->momentaryActiveImportL2,
      meter_sensor->momentaryActiveExportL2,
      meter_sensor->momentaryActiveImportL3,
      meter_sensor->momentaryActiveExportL3,
      meter_sensor->momentaryReactiveImportL1,
      meter_sensor->momentaryReactiveExportL1,
      meter_sensor->momentaryReactiveImportL2,
      meter_sensor->momentaryReactiveExportL2,
      meter_sensor->momentaryReactiveImportL3,
      meter_sensor->momentaryReactiveExportL3,
      meter_sensor->voltageL1,
      meter_sensor->voltageL2,
      meter_sensor->voltageL3,
      meter_sensor->currentL1,
      meter_sensor->currentL2,
      meter_sensor->currentL3
    };
  sensors:
  - name: "Cumulative Active Import"
    unit_of_measurement: kWh
    accuracy_decimals: 3
    state_class: "total_increasing"
    device_class: "energy"
  - name: "Cumulative Active Export"
    unit_of_measurement: kWh
    accuracy_decimals: 3
    state_class: "total_increasing"
    device_class: "energy"
  - name: "Cumulative Reactive Import"
    unit_of_measurement: kvarh
    accuracy_decimals: 3
  - name: "Cumulative Reactive Export"
    unit_of_measurement: kvarh
    accuracy_decimals: 3
  - name: "Momentary Active Import"
    unit_of_measurement: kW
    accuracy_decimals: 3
    state_class: "measurement"
    device_class: "power"
  - name: "Momentary Active Export"
    unit_of_measurement: kW
    accuracy_decimals: 3
    state_class: "measurement"
    device_class: "power"
  - name: "Momentary Reactive Import"
    unit_of_measurement: kvar
    accuracy_decimals: 3
  - name: "Momentary Reactive Export"
    unit_of_measurement: kvar
    accuracy_decimals: 3
  - name: "Momentary Active Import Phase 1"
    unit_of_measurement: kW
    accuracy_decimals: 3
    state_class: "measurement"
    device_class: "power"
  - name: "Momentary Active Export Phase 1"
    unit_of_measurement: kW
    accuracy_decimals: 3
    state_class: "measurement"
    device_class: "power"
  - name: "Momentary Active Import Phase 2"
    unit_of_measurement: kW
    accuracy_decimals: 3
    state_class: "measurement"
    device_class: "power"
  - name: "Momentary Active Export Phase 2"
    unit_of_measurement: kW
    accuracy_decimals: 3
    state_class: "measurement"
    device_class: "power"
  - name: "Momentary Active Import Phase 3"
    unit_of_measurement: kW
    accuracy_decimals: 3
    state_class: "measurement"
    device_class: "power"
  - name: "Momentary Active Export Phase 3"
    unit_of_measurement: kW
    accuracy_decimals: 3
    state_class: "measurement"
    device_class: "power"
  - name: "Momentary Reactive Import Phase 1"
    unit_of_measurement: kvar
    accuracy_decimals: 3
  - name: "Momentary Reactive Export Phase 1"
    unit_of_measurement: kvar
    accuracy_decimals: 3
  - name: "Momentary Reactive Import Phase 2"
    unit_of_measurement: kvar
    accuracy_decimals: 3
  - name: "Momentary Reactive Export Phase 2"
    unit_of_measurement: kvar
    accuracy_decimals: 3
  - name: "Momentary Reactive Import Phase 3"
    unit_of_measurement: kvar
    accuracy_decimals: 3
  - name: "Momentary Reactive Export Phase 3"
    unit_of_measurement: kvar
    accuracy_decimals: 3
  - name: "Voltage Phase 1"
    unit_of_measurement: V
    accuracy_decimals: 3
    state_class: "measurement"
    device_class: "voltage"
  - name: "Voltage Phase 2"
    unit_of_measurement: V
    accuracy_decimals: 3
    state_class: "measurement"
    device_class: "voltage"
  - name: "Voltage Phase 3"
    unit_of_measurement: V
    accuracy_decimals: 3
    state_class: "measurement"
    device_class: "voltage"
  - name: "Current Phase 1"
    unit_of_measurement: A
    accuracy_decimals: 3
    state_class: "measurement"
    device_class: "current"
  - name: "Current Phase 2"
    unit_of_measurement: A
    accuracy_decimals: 3
    state_class: "measurement"
    device_class: "current"
  - name: "Current Phase 3"
    unit_of_measurement: A
    accuracy_decimals: 3
    state_class: "measurement"
    device_class: "current"

Efter att vi gjort detta ska vi generera ut en fil som vi kan ladda upp till våran ESP. Då trycker du på Install längst upp till höger och väljer Manual Download och sedan väljer Modern format. Då kommer det upp en ruta som visar allt som den kompilerar och när den är klar ska det finnas en fil att ladda hem som slutar på .bin.

Koppla upp P1-Reader

Första gången så ska det finnas en för flashad version så man kan göra en installation utan att koppla in den fysiskt utan man kan göra en manuell OTA installation. Koppla in den till mätaren och se om du hittar ett Wifi-nätverk som heter “Grunna P1Reader”. Du ska ha fått ett lösenord som ska funka till wifit. Datorn eller mobilen kan säga att den vill logga in när den anslutit sig. Om den inte gör det öppna en webbläsare och gå till “http://192.168.4.1/”.

Det borde se ut såhär när du loggar in. Gå till “Välj fil” och välj filen du genererade från ESPHome och ladda upp den. Efter det borde du få in data till HA. Efter det kan man uppdatera allt från HA och välja wireless utan att man behöver generera några nya filer om man skulle behöva göra några uppdateringar eller förändringar.

This website uses cookies. By continuing to use this site, you accept our use of cookies.