ESPHome połączenia bezpośrednio z ESPHome

Próbuje zbudować prosty termostat oparty na dwóch urządzeniach esphome:

  1. termostat posiada czujnik temperatury dht22:
esphome:
  name: thermostat-co
  friendly_name: thermostat co 

esp8266:
  board: d1_mini

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "...................."

ota:
  - platform: esphome
    password: "..................."

wifi:
  ssid: dom
  password: dom
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Thermostat-Co"
    password: "DWIdlzSztUOv"

captive_portal:

web_server:
  port: 80

http_request:
  useragent: esphome/device
  timeout: 10s

sensor:
  - platform: dht
    pin: GPIO2
    temperature:
      name: "Dom Temperatura"
      id: temp_dom
    humidity:
      name: "Dom Wilgotność"
    update_interval: 60s
  - platform: wifi_signal
    name: thermostat wifi signal
    update_interval: 600s

climate:
  - platform: thermostat
    name: "Thermostat Dom"
    sensor: temp_dom
    min_heating_off_time: 300s
    min_heating_run_time: 300s
    min_idle_time: 30s
    heat_action:
      - switch.turn_on
        then  
          http_request.post: http://192.168.1.105/switch/piec_co_switch/turn_on
    idle_action:
      - switch.turn_off
        then
          http_request.post: http://192.168.1.105/switch/piec_co_switch/turn_off
    default_preset: Home
    preset:
      - name: Home
        default_target_temperature_low: 16 °C

  1. element wykonawczy który ma załączać lub wyłączać sterownik pieca oraz dodatkowo sprawdzać temperaturę wody za pomocą ds18b20.
esphome:
  name: switch-co
  friendly_name: switch-co
esp8266:
  board: esp01_1m

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "..................."

ota:
  - platform: esphome
    password: "......................"

wifi:
  ssid: dom
  password: dom

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Switch-Co"
    password: "k50qWsqwjIFv"

captive_portal:

web_server:
  port: 80

one_wire:
  - platform: gpio
    pin: GPIO2


sensor:
  - platform: wifi_signal
    name: switch wifi signal
    update_interval: 600s
  - platform: dallas_temp
    address: 0x69062221970e0028
    name: "Temperatura Piec CO"

switch:
  - platform: gpio
    pin: GPIO0
    name: "Piec CO Switch"
    id: switch_co
    inverted: true

Niestety nie potrafię sobie poradzić z konfiguracją “zdalnego włączania / wyłączania” za pomocą http_request.post.

Samo wklejenie linku w przeglądarkę działa?

http://192.168.1.105/switch/piec_co_switch/turn_off

https://esphome.io/components/http_request.html

W wersji ESPHome 2024.9.0 - 18th September 2024 — ESPHome jest nowy UDP Component — ESPHome, znacznie prostszy w konfiguracji i mniej obciążający bo nie korzysta z web_server. Nawet z dokumentacji ESPHome (cookbook) zniknął opis poprzedniej komunikacji po TCP Share data directly between ESPHome co mocno “sugeruje” aby nie używać starego sposobu komunikacji.

Mała korekta w kodzie i działa

climate:
  - platform: thermostat
    name: "Termostat Dom"
    sensor: temp_dom
    min_heating_off_time: 60s
    min_heating_run_time: 60s
    min_idle_time: 30s
    heat_action:
      then:
        http_request.post: http://192.168.1.105/switch/piec_co_switch/turn_on
    idle_action:
      then:
        http_request.post: http://192.168.1.105/switch/piec_co_switch/turn_off
    default_preset: Home
    preset:
      - name: Home
        default_target_temperature_low: 18 °C
        mode: HEAT

Próbowałem przerobić to na komunikację po UDP ale niestety nie wiem jak.
Zastanawiam się jeszcze nad przekazaniem temperatury z czujnika:

"Temperatura Piec CO"

Znalazłem coś podobnego ale niestety nie umiem tego dostosować: