Asystent AI
Powiadomienia
Wyczyść wszystko

Home Assistant ESPHome z CC1101

1 Wpisów
1 Użytkownicy
1 Reactions
7,336 Wyświetleń
(@mig41)
Wpisów: 630
Ekspert
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 
[#4991]

Być może kogoś to przekona do używania ESPHome dla ESP8266 i/lub ESP32. 

 Jest to bazowane na https://github.com/SzczepanLeon/esphome-components

Służy do odczytu z różnych liczników typu gazomierze ,  wodomierze ,które zdalnie wysyłają dane na częstotliwości 868MHz.

ESP8266 będzie standardowo odczytywał wodomierz , ale uzdatniłem go o funkcję szamba ( niestety w moim  regionie oczyszczalnia nie jest możliwa , za wysoki poziom wód gruntowych). 

Po naciśnięciu przycisku Szambowóz aktualny stan licznika jest zapisywany we flash (więc nie zginie po rebocie czy zaniku prądu) , a różnica stanu aktualnego i zapisanego jest wyświetlana jako stan szamba.

Wszystko będzie się mniej więcej zgadzać ( no chyba ,że jest nieszczelne 🙂 ) dopuki nie zaczniemy podlewać trawnika...

Yaml napisany w godzinę ,ale soft działa już z tydzień.

esphome:
  name: apator
  comment: Licznik wody
  
esp8266:
  board: nodemcuv2
  restore_from_flash: true
 
external_components:
  - source: github://SzczepanLeon/esphome-components@main
    refresh: 12h
    components: [ wmbus ]

# Enable logging
logger:
  level: DEBUG

# Enable Home Assistant API
api:

ota:
# Serwer with a statistic data and OTA board update
web_server:
  port: 80
  version: 2

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "*************"
    password: "***************"

captive_portal:

time:
  platform: sntp

wmbus:
  mosi_pin: GPIO13
  miso_pin: GPIO12
  clk_pin:  GPIO14
  cs_pin:   GPIO15
  gdo0_pin: GPIO5
  gdo2_pin: GPIO4

globals:
   # Example for global string variable
   - id: poziomzero
     type: float
     restore_value: yes 
     initial_value: '0.001'

sensor:
  - platform: wmbus
    name: "Wodomierz"
    meter_id: 0x******
    type: apator162
    key: "00000000000000000000000000000000"
    id: wodomierz
    icon: "mdi:water"

  - platform: template
    name: "Szambo"
    lambda: |-
      return (id(wodomierz).state - id(poziomzero)) ;
    unit_of_measurement: "m³"
    icon: "mdi:storage-tank"
    state_class: "measurement"
    accuracy_decimals: 3
    update_interval: 60s

button:
  - platform: template
    name: "Szambowóz"
    icon: "mdi:water-truck"
    id: kasowanie
    on_press:
      - logger.log:
          level: DEBUG
          format: 'Ustawienie poziomu zero szamba na %.5f m³'
          args: ['id(wodomierz).state']
      - globals.set:
          id: poziomzero
          value: !lambda 'return id(wodomierz).state;'

 

 Samo ESPHome instaluje się w HA w Ustawienia/Dodatki zaznaczając Uruchamianie przy starcie i Pokaż na pasku bocznym ( pozwoli nam na szybkie wejście w konfigurację) , wchdzimy w ten dodatek , dodajemy plusikiem New Device , wpisujemy nazwę , później je edytujemy na powyższy wzór , instalujemy ( jak wybierzemy Manual to ściągnie się gotowy plik bin do flashowania ESP8266 , później już możemy aktualizować w powietrzu).

Na samym użądzeniu będzie strona , która wygląda tak:

image

Ale po wgraniu flasha do ESP8266 HA wykryje urządzenie ,które dodajemy i później możemy takie encje z tego stworzyć :

image

 


 
Dodane : 08/03/2023 7:53 pm
adrian zareagował
Udostępnij: