Mät elförbrukningen i realtid med en ESP32, fotoresistor och Home Assistant

Detta inlägg bygger vidare och förtydligar saker från detta inlägg. Dock saknades en del information och del saker var felaktiga så jag kör ett inlägg här för att göra en komplett guide.

Du kommer behöva:

  • Home Assistant med ett ledigt USB-uttag på det systemet
  • ESP32, jag har testat både de från AZDelivery och SP-Cow, båda kostar ca 100 SEK.
  • En fotoresistor eller LDR (Light Dependent Resistor), jag kör med en KY-018 från AZDelivery, kostar ca 20 SEK. Den har en inbyggd resistor på 10k Ohm så man slipper krångla med en resistor i kopplingen.
  • En Mikro-USB-kabel och strömadapter för strömförsörjning.
  • Ett kopplingsdäck, det räcker med en liten variant. Kostar ca 20 SEK.
  • Kopplingskablar, främst hane-hona. Kostar ca 20 SEK.

Installera ESPHome genom vanliga Add-ons.

Koppla sedan upp din ESP32 med en mikro-USB till dator som kör Home Assistant.

Tryck continue och välj ett bra namn, tex platsen där mikrokontrollern kommer sitta. Om det är första enheten du lägger till kommer du även behöva fylla i Wifi-inställningarna. Dessa sparas sedan i secrets.yaml uppe i högra hörnet.

Välj Generic ESP32 om du kör en SP-Cow och AZ-Delivery ESP32 Dev Kit C V4 om du ska flasha en sådan. Notera det kan variera mellan ESP32 vilka drivrutiner som krävs för flashning. Jag kan t.ex. inte flasha AZ-Delivery ESP32 med min HP T530 men det gick bra med Raspberry Pi 4 Model B. ESP32 från SP-Cow gick att flasha med HP T530.

Nu har enheten skapats i ESPHome och det är dags att installera konfigurationen på enheten!

Välj USB-porten. Har du flera enheter kopplade till datorn som kör Home Assistant ska du vara noga med att du väljer rätt i detta steg:

När den flashat klart så kan du koppla ur och ge den vanlig strömförsörjning via USB. Du ska nu se att den ligger online.

Koppla ur enheten. Dags att koppla fotoresistorn till den!

Kopplingsdäck är enkla att jobba med och man kan enkelt koppla upp flera sensorer på samma enhet.

  • Koppla GND till – på fotoresistorn
  • Koppla förslagvis pin 25 (G25 på den ESP32 i denna guide) till S på fotoresistorn
  • Koppla 3V3 till mittenkontakten på fotoresistorn

I ovan exempel har jag dragit ut GND med gröna kopplingskablar ut till raden längst ner. Hela denna raden kommer nu vara kopplad till GND. Jag gör samma med 3V3 som jag kopplar upp på andra sidan med den gula kabeln. Hela översta raden kommer nu vara kopplad till 3V3. De numrerade kolumnerna i bilden nedan är ihopkopplade men mittenfåran skiljer dem åt. Dvs de undre 5 stycken kopplingspunkterna på kolumn 26 är ihopkopplade och de övre 5 stycken kopplingspunkterna på kolumn 26 är ihopkopplade. Det finns ingen koppling mellan de paren med 5 stycken punkter som har samma siffra och heller någon koppling mellan siffror om man själv inte drar kopplingen. Se nedan.

Vik in fotoresistorn om det är möjligt då du vill ha att blinkningen ska träffa resistorn på slingan. Tejpa på fotorestistorn på elcentralen rakt på blinkrutan:

Ge enheten ström igen och välj Edit sedan Save, Install och Wirelessly från och med nu om du ska uppdatera enheten. Använd följande kod för sensorn:

# Mät förbrukningen och totala kWh
sensor:
  - platform: pulse_counter
    update_interval: 30s
    pin: 25
    unit_of_measurement: 'kW'
    name: 'Elförbrukning AZ-ESP32'
    internal_filter: 13us
    filters:
      - multiply: 0.06
    total:
      unit_of_measurement: 'kWh'
      name: 'Elförbrukning kWh AZ-ESP32'
      filters:
        - multiply: 0.001  # (1/1000 pulses per kWh)

Färdiga koden ser då ut så här:

Kolla loggerna så borde du se värden.

Du kan sedan navigera till dina Devices och den nya enheten ska dyka upp där med respektive entity som går att använda som vanliga sensorer i lovelace.


Publicerat

i

, ,

av

Kommentarer

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *