# ESPHome połączenia bezpośrednio z ESPHome

**URL:** <https://forum.arturhome.pl/t/esphome-polaczenia-bezposrednio-z-esphome/13167>\
**Category:** ESPHome\
**Tags:** esphome\
**Created:** [12 Październik 2024 20:06 UTC](https://forum.arturhome.pl/t/esphome-polaczenia-bezposrednio-z-esphome/13167 "2024-10-12T20:06:42Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Autor:** ![arnie280](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/arnie280/32/8609_2.png) [@arnie280](https://forum.arturhome.pl/u/arnie280)\
**Data wpisu:** [12 Październik 2024 20:06 UTC](https://forum.arturhome.pl/t/esphome-polaczenia-bezposrednio-z-esphome/13167/1 "2024-10-12T20:06:42Z")

</div>

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

1. termostat posiada czujnik temperatury dht22:

```auto
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.

```auto
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.

---

<div class="post-metadata">

**Autor:** ![artpc](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/artpc/32/848_2.png) [@artpc](https://forum.arturhome.pl/u/artpc)\
**Data wpisu:** [12 Październik 2024 23:34 UTC](https://forum.arturhome.pl/t/esphome-polaczenia-bezposrednio-z-esphome/13167/2 "2024-10-12T23:34:17Z")

</div>

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](https://esphome.io/components/http_request.html)

---

<div class="post-metadata">

**Autor:** ![macek](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/macek/32/1647_2.png) [@macek](https://forum.arturhome.pl/u/macek)\
**Data wpisu:** [13 Październik 2024 07:25 UTC](https://forum.arturhome.pl/t/esphome-polaczenia-bezposrednio-z-esphome/13167/3 "2024-10-13T07:25:08Z")

</div>

> [@arnie280](#):
>
> Próbuje zbudować prosty termostat oparty na dwóch urządzeniach esphome:

W wersji [ESPHome 2024.9.0 - 18th September 2024 — ESPHome](https://esphome.io/changelog/2024.9.0.html) jest nowy [UDP Component — ESPHome](https://esphome.io/components/udp), 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](https://esphome.io/cookbook/http_request_sensor.html) co mocno “sugeruje” aby nie używać starego sposobu komunikacji.

---

<div class="post-metadata">

**Autor:** ![arnie280](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/arnie280/32/8609_2.png) [@arnie280](https://forum.arturhome.pl/u/arnie280)\
**Data wpisu:** [13 Październik 2024 11:37 UTC](https://forum.arturhome.pl/t/esphome-polaczenia-bezposrednio-z-esphome/13167/4 "2024-10-13T11:37:39Z")

</div>

Mała korekta w kodzie i działa

```auto
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:

```auto
"Temperatura Piec CO"

```

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

> **[Parsing http request json ESPHome](https://community.home-assistant.io/t/parsing-http-request-json-esphome/323497)**
>
> 4 days of my life were not in vain. I found a solution to the problem, automation between nodes. I have put together a lot of instructions on how to parse json http reequest. Unfortunately, I did not find any sensible instructions on the site...
