On/off thermostat

Getest op een Intergas Combi HR 28/24.

Begaande grond: Esp32 met Xiaomi temp sensor 
Tweede verdieping: Esp 32 met relais aan CV. (Wifi bereik is belangrijk)

(bij appartement is maar 1 esp benodigd)

Voor vragen mail naar: mail@“bovenstaandedomein”.nl

Kostenplaatje

Mooie kleine setup, past op elkaar, je moet wel solderen:

Relais € 1,31 External Link

D1 mini esp32 € 5,37External Link

Xiaomi Mijia bluetooth thempature sensor € 15,75 External link

Totaal: € 22,43 incl verzenden

Of een losse setup zonder solderen:

relais € 0,62 External Link

esp32 € 7,37 External link

kabeltjes € 0,66 External Link

Xiaomi Mijia bluetooth thempature sensor € 15,75 External link

Totaal € 24,40 incl verzenden

bestel twee esp's als je CV boven hebt

ipv xiaomi sensor, kun je deze koppelen aan een ESP


Configuratie

ESP32 beneden met Xiaomi temp sensor en ESP32 boven met relais aan CV.

In alle code tags staan ook # voor extra uitleg en kun je gewoon laten staan. # worden genegeerd.

Verbind ESP met je computer.

  1. Start ESPhome plugin via HASSIO.
  2. Klik op het roze-plusje.
  3. Geef naam: ESP_beneden
  4. Device type: (laten staan, veranderen we zo)
  5. Geef wifi gegevens

  1. Je ziet nu esp_beneden staan, zie afbeelding hierboven
  2. Edit

Kopieer, of pas aan zo nodig (mac adres van Xiaomi vullen we later in. als esp32_ble_tracker: maar erin staat.) PAS sowieso platform en board aan!

esp_beneden.bin
esphome:
  name: esp_beneden
  platform: ESP32
  board: mhetesp32devkit

wifi:
  ssid: "ssid"
  password: "password"
captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:
  password: "pass"

ota:
  password: "pass"
 
# Enable Bluetooth scanning for this ESP32
esp32_ble_tracker:


sensor:
#check platform naam via "logs"
  - platform: xiaomi_lywsdcgq
    mac_address: 00:00:00:00:00:00
    temperature:
      name: "Sensor woonkamer Temperature"
    humidity:
      name: "Sensor woonkamer Humidity"
    battery_level:
      name: "Sensor woonkamer Battery Level"
      
switch:
  - platform: restart
    name: "test_temperature Restart"
    id: restart_switch_esp_beneden
 
#restart switch is for restarting esp at night, otherwise xiaomi sensor can freak out.    
time:
  - platform: homeassistant
    on_time:
      - seconds: 0
        minutes: 0
        hours: 4
        days_of_week: MON-SUN
        then:
           - switch.toggle: restart_switch_esp_beneden
  1. Save
  2. Klik dan rechts op de drie puntjes van cv_beneden
  3. Compile
  4. Download Binary
  5. Flash de binary file die je net hebt gedownload met ESPhome flasher
  6. Wanneer het flashen klaar is, herstart mocht het nodig zijn.
  7. Als het goed is geeft ESPHome nu “online” aan

  1. Klik op “show logs” en wacht tot je paarse text ziet.

  1. Dan komt de Xiaomi sensor tevoorschijn en zie je het mac adres staan. Schrijf of kopieer het mac adres
  2. Mocht de sensor niet tevoorschijn komen kun je op de achterkant de reset button indrukken
  3. Stop
  4. Edit
  5. Vul het ontbrekende mac adres in
  6. Save en upload

  1. Nu begin je weer bij stap 1 voor je tweede esp voor boven bij de CV: esp_cv
  2. Maar dan met de volgende yaml file: (nu zonder bluetooth tracking, want deze ESP gebruiken we alleen als switch)
esp_cv.bin
esphome:
  name: esp_cv
  platform: ESP32
  board: mhetesp32devkit

wifi:
  ssid: "ssid"
  password: "password"
  
captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:
  password: "pass"

ota:
  password: "pass"

switch:
  - platform: gpio
    name: "cv"
    pin: 2
    #inverted: True
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: restart
    name: "test_Restart"
    id: restart_switch_esp_cv
 
#restart switch is for restarting esp at night, otherwise xiaomi sensor can freak out.    
time:
  - platform: homeassistant
    on_time:
      - seconds: 0
        minutes: 0
        hours: 4
        days_of_week: MON-SUN
        then:
           - switch.toggle: restart_switch_esp_cv

Aansluitschema:

CV ketel (klepje onderaan de ketel, 1 schroefje)

CV ketel Relais
6 com
7 NO

Doordat je hem op NO aansluit ipv NC, blijft de ketel uit als de ESP van het stroom is. Hierdoor, zoals je op dinsdag 21 januari 2020 20:58 via Tweakers naar me schreef, blijft de CV in rust stand en warmt je huis niet als een malle op. De Xiaomi sensor geeft batterijniveau door aan Home Assistant. Als je E-inkt versie gekocht hebt, gaat hij wss jaren mee op 1 knoopcel.

Aansluiten ESP_cv en relais op pin:

ESP_cv Relais
D2 IN
GND GND
3V3 VCC

Home Assistant

In je configuration.yaml van Home Assistant. Check namen sensors, zie plaatje hierboven.

climate:
  - platform: generic_thermostat
    name: Thermostaat
#naam switch:
    heater: switch.cv
#naam sensor temperatuur Xiaomi:    
    target_sensor: sensor.sensor_woonkamer_temperature
    min_temp: 16
    max_temp: 22

Herstart Home Assistant. (Reboot Raspberry Pi, want soms pakt hij bij mij alleen herstart Home Assistant geen nieuwe settings)

Lovelace, add card: thermostat

Zelf gebruik ik deze card: https://github.com/nervetattoo/simple-thermostat

Lovelace, add custom card:

entity: climate.thermostaat
icon:
  auto: 'mdi:autorenew'
  away: 'mdi:leaf'
  cool: 'mdi:snowflake'
  eco: 'mdi:leaf'
  heat: 'mdi:fire'
  idle: 'mdi:power'
  'off': 'mdi:power'
#vertaling naar Nederlands:
label:
  state: Staat
  temperature: Temperatuur
modes:
  auto:
    include: false
  auxHeatOnly:
    include: false
sensors:
#Vul juiste sensornaam in:
  - entity: sensor.sensor_woonkamer_humidity
#Step size, vul bijvoorbeeld 1 in als je per graad wil bijstellen:
step_size: 0.5
type: 'custom:simple-thermostat'

Extra

ESPHome addon kun je uitzetten in Hassio als je klaar bent met configureren. Scheelt cpu van je Raspberry.

Automatisering CV laag om 21.30. (Ik kies er voor temperatuur laag te zetten ipv cv uit. Als je CV uit wilt kun je service: “climate.turn_off” “climate.turn_on” aanspreken.

- id: cv1
  alias: CV low at 21:30
  trigger:
  - at: '21:30'
    platform: time
  action:
  - data:
      hvac_mode: heat
      temperature: 16
    entity_id: climate.thermostaat
    service: climate.set_temperature

CV s'ochtends aan:

- id: '1578410701312'
  alias: CV on at 07:30
  description: ''
  trigger:
  - at: 07:30
    platform: time
  condition: []
  action:
  - alias: ''
    data:
      hvac_mode: heat
      temperature: 18.5
    entity_id: climate.thermostaat
    service: climate.set_temperature