#003 - ESPhome e Tasmota

Qui verranno inseriti i link a tutte le puntate man mano che escono, eventuali commenti potranno essere inseriti sotto al relativo post. I nuovi post li possono fare solo gli Admin
Rispondi
Avatar utente
francesco
Site Admin
Messaggi: 230
Iscritto il: 18/11/2020, 22:08
Località: Torino
Contatta:

#003 - ESPhome e Tasmota

Messaggio da francesco »

Dopo aver fatto il server Home Assistant in una serata è tempo di mettere i sensori, in pochi minuti, senza scrivere una riga di codice.

#003
Voce dei podcast Pillole di Bit, Pillole di Videogiochi e Pillole di Geek
Nerd, anche troppo, qui: www.iltucci.com
Sysadmin, io ho la password di amministratore termonucleare globale e tu no. 8-)
Avatar utente
francesco
Site Admin
Messaggi: 230
Iscritto il: 18/11/2020, 22:08
Località: Torino
Contatta:

#003 - ESPhome e Tasmota

Messaggio da francesco »

Dopo aver fatto il server Home Assistant in una serata è tempo di mettere i sensori, in pochi minuti, senza scrivere una riga di codice.

#003
Voce dei podcast Pillole di Bit, Pillole di Videogiochi e Pillole di Geek
Nerd, anche troppo, qui: www.iltucci.com
Sysadmin, io ho la password di amministratore termonucleare globale e tu no. 8-)
Avatar utente
ccxx72
Messaggi: 14
Iscritto il: 22/11/2020, 18:07

Re: #003 - ESPhome e Tasmota

Messaggio da ccxx72 »

Link per i termometri XIAOMI : https://www.banggood.com/custlink/KDGdjsEA9p
Seguendo le indicazioni sulla pagina dedicata di ESPHome potrete trovare come ottenere l'occorrente per farli comunicare direttamente o cambiando il firmware (non so quanto ne valga la pena visto che comunque sono integrabili semplicemente anche con il fw originale)

Questo è il codice utilizzato per il gateway con OLED. Noterete 3 diversi tipi di termometro, due sono quelli del link ma con firmware diversi mentre l'altro è un altro tipo sempre Xiaomi forse fuori produzione. Occhio all'indentazione:

Codice: Seleziona tutto

esphome:
  name: gateway_bt
  platform: ESP32
  board: wemos_d1_mini32

wifi:
  ssid: "xxxx"
  password: "xxxxxx"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Gateway Bt Fallback Hotspot"
    password: "oK3iiTPutyAnu"

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:

esp32_ble_tracker:

binary_sensor:

i2c:
  sda: 5
  scl: 4
  scan: True
  

font:
  - file: "Seven Segment.ttf"
    id: my_font
    size: 20
    
image:
  - file: "battery_alert_b.png"
    id: my_image
    # resize: 18x10

display:
  - platform: ssd1306_i2c
    model: "SSD1306 128x64"
    reset_pin: D0
    address: 0x3C
    id: my_display
    pages:
    - id: page1  
      lambda: |-
        it.print(0, 0, id(my_font), "Laboratorio");
        it.printf(0, 23, id(my_font), TextAlign::TOP_LEFT , "Temp: %.1f", id(lab_temp).state);
        it.printf(0, 46, id(my_font), TextAlign::TOP_LEFT , "Hum: %.1f", id(lab_hum).state);
        if (id(lab_batt).state < 11) {
          it.image(90, 25, id(my_image));
        }
    - id: page2  
      lambda: |-
        it.print(0, 0, id(my_font), "Camera");
        it.printf(0, 23, id(my_font), TextAlign::TOP_LEFT , "Temp: %.1f", id(letto_temp).state);
        it.printf(0, 46, id(my_font), TextAlign::TOP_LEFT , "Hum: %.1f", id(letto_hum).state);
        if (id(letto_batt).state < 11) {
          it.image(90, 25, id(my_image));
        }
    - id: page3  
      lambda: |-
        it.print(0, 0, id(my_font), "Soggiorno");
        it.printf(0, 23, id(my_font), TextAlign::TOP_LEFT , "Temp: %.1f", id(elena_temp).state);
        it.printf(0, 46, id(my_font), TextAlign::TOP_LEFT , "Hum: %.1f", id(elena_hum).state);
        if (id(elena_batt).state < 11) {
          it.image(90, 25, id(my_image));
        }
    # it.printf(0, 51, id(my_font), TextAlign::TOP_LEFT , "Batt: %.1f°", id(lab_batt).state);
    
interval:
  - interval: 5s
    then:
      - display.page.show_next: my_display
      - component.update: my_display

sensor:
  - platform: xiaomi_lywsdcgq
    mac_address: "4C:65:A8:DA:BD:6E"
    temperature:
      id: lab_temp
      name: "LYWSDCGQ Temperature"
    humidity:
      id: lab_hum
      name: "LYWSDCGQ Humidity"
    battery_level:
      id: lab_batt
      name: "LYWSDCGQ Battery Level"
      # on_value_range:
        # below: 11.0
        # then:
          
  - platform: atc_mithermometer
    mac_address: "A4:C1:38:1E:27:65"
    temperature:
      id: letto_temp
      name: "ATC Temperature"
    humidity:
      id: letto_hum
      name: "ATC Humidity"
    battery_level:
      id: letto_batt
      name: "ATC Battery-Level"
    battery_voltage:
      name: "ATC Battery-Voltage"
	  
  - platform: xiaomi_lywsd03mmc
    mac_address: "A4:C1:38:06:75:99"
    bindkey: "dad807ec2eeeb6325b0ecbd02d68f151"
    temperature:
      id: elena_temp
      name: "LYWSD03MMC Temperature"
    humidity:
      id: elena_hum
      name: "LYWSD03MMC Humidity"
    battery_level:
      id: elena_batt
      name: "LYWSD03MMC Battery Level"
      
From Sardinia with ESP :lol:
Rispondi