Elenia Aidon-mittari

1. Taustaa

Elenia vaihtaa uusia Aidon-älymittareita vanhojen mittareiden tilalle. Uuden mittarin ansiosta Elenian Aina palvelun sivuilta löytyy myös AinaLab josta sitten näkee 5 min tarkkuudella (tosin puoli tuntia myöhässä) sekä netottamattoman kulutuksen että tuotannon (esimerkiksi aurinkosähkö). Halutessaan vaihekohtaisesti.

Jos kulutusta ja verkkoon menevää tuotantoa haluaa seurata mittarista reaaliaikaisemmin, tarvitaan mittariin liittää laite joka lukee siinä olevaa RJ12-porttia.

Ennen kuin näitä laiteita on valmiina kaupallisesti saatavilla, tarvitsee itse askarrella. Fyysisen laitteen voi tilata esimerkiksi ohjeilla:

Tämän lisäksi tarvitaan omaan tietokoneeseen asennelle ohjelmia, jolla tuo "laite" saadaan toimimaan omassa WLAN-kotiverkossa

  • Python: ohjelmointikieli, jonka varaan moni muu työkalu perustuu
  • ESPHome: Python sovellus, joka osaa konfiguroida (fläshätä) laitteen ja sitten myös lukea sitä ja antaa tietoa vaikka HomeAssistant-järjestelmälle
  • p1reader: ESPHomen moduli joka keskustelee laitteen kanssa

Nämä ohjeet edellyttävät että osaat antaa koemntoriviltä (Ubuntu tai Windows, joku muu saa lisätä Mac) mainittuja komentoja.

Pyydä Elenialta Aidonin uusi mittari ja sitten pyydä kytkemään HAN-portti päälle ASCII-datalla. HAN-portti on se, johon laite liitetään RJ12 kaapelilla.

Mulla nähtävästi kuitenkin tuli binääri pyynnöistä huolimatta.

2. Asentaminen

2.1 Python

Aloita asentamalla Python jos sitä ei ole:

2.1.1 Ubuntu

sudo apt update && sudo apt upgrade -y
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.10
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1
sudo update-alternatives --config python
sudo apt install python3.10-venv

Katso onko oikea versio

python -- version

Sitten Pythonin paketinhallinta

sudo apt install python3-pip

Tee vaikka oma hakemisto ha ja siirry sinne

mkdir ha
cd ha

Tehdään virtuaaliympäristö ja vaihdetaan sinne

python3 -m venv venv
source venv/bin/activate

2.1.2 Windows

Lataa ja asenna uusin Windows installer (64 bit)

Tarvittaessa lisää PATH-ympäristömuuttujaan se mihin Pythonin asensit ja sen scripts-hakemisto.

2.2 ESPHome

Seuraavaksi asennetaan ESPHome antamalla komentoriviltä:

pip3 install wheel
pip3 install esphome

Katso että ESPHome toimii:

esphome version

Esphome Dashboard:

pip install tornado esptool
esphome dashboard .

Mene selaimessa osoitteeseen localhost:6052

3. Piirikortti ja flashääminen

Hanki tuolla mainittu kortti ja mikrokontrolleri (Wenos D1 mini lite) (Kiitoksia Jonni :-):

ja lue ohjeet. Alla omat kokemukset ja ohjeet "suomennettuna"

3.1 Omat ohjeet

Lue ohjeet: https://github.com/psvanstrom/esphome-p1reader ja myös https://github.com/rainisto/esphome-p1reader/tree/Elenia_Aidon_v1.2_binary jos sattuu olemaan binääridata

Hae tiedostot (binääristä dataa varten)

git clone https://github.com/rainisto/esphome-p1reader.git .

Tai ihan

wget https://raw.githubusercontent.com/rainisto/esphome-p1reader/Elenia_Aidon_v1.2_binary/p1reader.h
wget https://raw.githubusercontent.com/rainisto/esphome-p1reader/Elenia_Aidon_v1.2_binary/p1reader.yaml

Luo uusi tiedosto secrets.yaml ja sisällöksi:

wifi_ssid: <wifi verkon nimi>
wifi_password: <wifi verkon salasana>
fallback_password: <tähän voit laittaa mitä haluat>
encryption_key: <avain joka on tehty HA:ta varten>
hass_api_password: <the Home Assistant API password>
ota_password: <salasana Wifin yli flashaamista varten>

ja ota tuo <avain joka on tehty HA:ta varten> osoitteesta:
https://esphome.io/components/api.html#configuration-variables. Muista että väkäsiä ei kirjoiteta ja isoilla ja pienillä kirjaimilla on eroa.

Muokkaa p1reader.yml-tiedostoa:

esphome:
  name: esp-p1reader
  platform: ESP8266
  board: d1_mini
...
api:
  password: !secret hass_api_password
  encryption:
    key: !secret encryption_key

...
uart:
    id: uart_bus
    rx_pin:
      number: 3
      inverted: true
    baud_rate: 115200

Hakemiston pitäisi näyttää tässä vaiheessa suurinpiirtein seuraavalta:

p1reader.h  p1reader.yaml  secrets.yaml

Laita mikrocontrolleri USB-porttiin kiinni ja anna komento

esphome run p1reader.yaml

Voit kokeilla onnistuiko

esphome logs p1reader.yaml

Sitten ota kortti irti USBista ja laita koteloon ja liitä Aidonin mittariin RJ12-kaapelilla.

4. Kytkeminen

  1. Kytke esp-p1reader Aidon mittariin RJ12 johdolla

  2. Katso reitittimen kytketyistä laitteista näkyykö siellä esp-p1reader

    • jos ei näy, ei ole verkon kantaman päässä tai flashaaminen on epäonnistunut
    • jos näkyy, voit jatkaa
  3. katso saatko logia

    esphome logs p1reader.yaml

5. HomeAssistant

5.1 Asentaminen Hyper-V

  • tulossa

5.2 Editori

Kannattaa laittaa lisäosa:

eli kun HA on käynissä, menee sillä selaimella tuonne ja asentaa. Laita ruksi niin, että se näytetään vasemmassa palkissa.

5.3 p1readerin lisääminen

p1reader näytti lisääntyvän HA:han automaattisesti, kunhan vain hyväksyi sen.

# kayttoliittymia

5.4 Käyttöliittymiä

Käyttöliittymä jossa näkyy tämänhetkinen tehon suunta ja toinen näyttö jolla voi verrata miten teho muuttuu nollaushetkeen:

Näkymä muille kodin henkilöille: Sähkömittari
Näkymä muille kodin henkilöille: Sähkömittari
Näkymä itselle: Aidon
Näkymä itselle: Aidon

Aloita lisäämällä configuration.yaml tiedostoon viennin ja tuonnin eroa kuvaava laskuri (sensori) vienti_minus_tuonti sekä nollattua tehoeroa kuvaava laskuri vt_ero. Lisäksi "muuttuja" johon nollausarvo tallennetaan viimeisin_teho:

input_number:
  viimeisin_teho:
    name: Viimeisin teho
    max: 20
    min: -20
    initial: -0.730

sensor:
  - platform: template
    sensors:
      vienti_minus_tuonti:
        friendly_name: "Vienti-Tuonti"
        unit_of_measurement: "kW"
        value_template: "{{'{:.3f}'.format(states('sensor.momentary_active_export') | float - states('sensor.momentary_active_import') | float) }}"

      vt_ero:
        friendly_name: "Ero nollaushetkeen"
        unit_of_measurement: "kW"
        value_template: "{{'{:.3f}'.format(states('sensor.vienti_minus_tuonti') | float - states('input_number.viimeisin_teho') | float) }}"

Muokkaaminen onnistuu sillä aiemmin lisätyllä Studio Codella avaamalla vasemmasta palkista.

Sitten lisää scripts.yaml tiedostoon nollauskoodi:

set_viimeisin_teho:
  alias: Set Viimeisin Teho
  sequence:
    - service: input_number.set_value
      target:
        entity_id: input_number.viimeisin_teho
      data_template:
        value: "{{ states('sensor.vienti_minus_tuonti') | float }}"

Tee sähkömittaria varten oma käyttöliittymä (kojelauta, dashboard)

  1. Asetukset

  2. Kojelaudat

  3. Lisää koejelauta

  4. Valitse hyvä nimi (esim Aidon tai Sähkömittari) ja kuvake ja Luo

  5. Ilmestyy vasempaan palkkiin, sinne menee oletuksen kaikki...

  6. Avaa uusi ja paina oikeassa nurkassa kolmea pistettä ja Muokkaa käyttöliittymää

  7. Valitse Aloita tyhjällä kojelaudalla ja Ota hallintaan

  8. Paina oikeasta reunasta kolmea pistettä ja valitse {} Raaka kofigurointieditointi

  9. Laita sisällöksi esim seuraava pohja:

     title: Sähkömittari
     views:
       - path: default_view
         title: Home
         cards:
           - type: vertical-stack
             cards:
               - type: vertical-stack
                 cards:
                   - type: gauge
                     name: Vienti-tuonti
                     entity: sensor.vienti_minus_tuonti
                     max: 5
                     min: -5
                     needle: true
                     unit: kW
                     severity:
                       green: 0.04
                       yellow: -0.04
                       red: -5
                   - type: gauge
                     name: Ero nollaushetkeen
                     entity: sensor.vt_ero
                     max: 5
                     min: -5
                     needle: true
                     unit: kW
                     severity:
                       green: 0.04
                       yellow: -0.04
                       red: -5
                   - type: entity-button
                     show_name: true
                     show_icon: false
                     entity: input_number.viimeisin_teho
                     name: Nollaa ero
                     tap_action:
                       action: call-service
                       service: script.set_viimeisin_teho
  10. Muokkaa tarvittaessa ja Tallenna

  11. Sulje ruksista.

  12. Voit nyt muokata myös jonkin verran visuaalisestikin.

Tee vielä toinen näkymä Aidon:

Tee vielä toinen näkymä Aidon:

# jatko

6. Jatkokehitystä

Miten pitää kuluttaa/säästää
Miten pitää kuluttaa/säästää
Paljon miinuksella
Paljon miinuksella

Mittarit YAML-koodina

automations.yaml-osaan

configuration.yaml-koodiin

scripts.yaml-koodiin

7. Sekalaisia muistiinpanoja:

docker run --rm -p 6052:6052 -e ESPHOME_DASHBOARD_USE_PING=true -v e:\ha:/config -it ghcr.io/esphome/esphome

Vikoja:

  • ei pääse iPadillä https://portal.husdata.se/datalog.asp, ei jatka siitä Captah-kohdasta

  • https://portal.husdata.se/datalog.asp yksikkönä % pitäisi olla Hz

  • 0208 33 Hold Warm Water stop temp 2.00 C
    0212 34 Hold Warm Water start temp 49.00 C
    Varmaan väärät rekisterit koska ei ole samaa mieltä pumpun kanssa

  • 2204 30 Hold Room sensor influence 50.00
    Väärä kerroin, pitäisi näyttää 5.0

  • CFAA 40 Input Power consumption 0 Watt
    Watit ei toimi

  • ei voi säätää vedn lämpötilan säästö/mukavuus

  • ei voi pistää lisäkäyttövesi

# Plugin1

8. Mittauksia

8.1 Saunan kiuas

Saunan kiukaan sähkön kulutus kun luukku on auki
Saunan kiukaan sähkön kulutus kun luukku on auki

19.2 20.7 22.0 23.1 24.8

8.2 Tiskikone

  • 1.6 kWh, välillä yli 2.3 kW, kesto yli 2h
323	2-4		2	7	4	8	2.9	5.8	4	8	3	5	3	6	3	7
308	0-4		3	6	4	10	3.3	6.3	4	10	3	5	3	6	3	8
293	0-4		2	6	3	8	3.0	5.8	3	9	3	5	3	6	3	7
291	0-4		2	5	3	7	2.8	5.6	3	7	3	5	2	6	2	7
# spa

9. Bestway SPA

Lämmitin
Lämmitin
Lähdöt
Lähdöt

ImageImageImage

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.