Measure the Tempretur with one ESP8266 and display it with another

Good morning,
i measure the temperature from my hotwater tank (Temp 6) with an ESP8266 (lets call it Device A) and a DS18B20 now i want to display it with another ESP8266 (lets call it Device B) and a 7-Segement display.

Here is my Code and log from Device A (Temp. measurement)

esphome:
  name: tempmessung
  friendly_name: TempMessung

esp8266:
  board: esp01_1m

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "jh2gFoaibuJ28wx75tNC8of2/bhn1KqU4D6WtUbKtJo="

ota:
  - platform: esphome
    password: "a43a1360c4751274ba63c75c2e142fa7"

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

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

captive_portal:
    
  
one_wire:
  - platform: gpio
    pin: GPIO14
    #update_interval: 10s

sensor:
  - platform: dallas_temp
    address: 0x373ce10457e4a428
    name: "Temp_1"
    update_interval: 10s
  - platform: dallas_temp
    address: 0x033ce10457ebb428
    name: "Temp_2"
    update_interval: 10s
  - platform: dallas_temp
    address: 0xbc3ce1045764f628
    name: "Temp_3"
    update_interval: 10s
  - platform: dallas_temp
    address: 0xc63ce1045730b128
    name: "Temp_4"
    update_interval: 10s
  - platform: dallas_temp
    address: 0x233ce10457f2c528
    name: "Temp_5"
    update_interval: 10s
  - platform: dallas_temp
    unit_of_measurement: "°C"
    device_class: "temperature"
    address: 0xd53ce104578cbd28
    name: "Temp_6"
    update_interval: 10s
  - platform: dallas_temp
    address: 0x6d3ce10457dc7b28
    name: "Temp_7"
    update_interval: 10s
  - platform: dallas_temp
    address: 0x1a3ce1045774c728
    name: "Temp_8"
    update_interval: 10s
  - platform: dallas_temp
    address: 0x7c3ce10457250f28
    name: "Temp_9"
    update_interval: 10s
  - platform: dallas_temp
    address: 0xfb3ce1045776af28
    name: "Temp_0"
    update_interval: 10s
  - platform: adc
    pin: A0
    name: "BrennerSpannung"
    update_interval: 1s
    filters:
      - multiply: 3.3

INFO ESPHome 2024.9.2
INFO Reading configuration /config/esphome/tempmessung.yaml...
INFO Starting log output from 192.168.0.116 using esphome API
INFO Successfully connected to tempmessung @ 192.168.0.116 in 0.004s
INFO Successful handshake with tempmessung @ 192.168.0.116 in 2.377s
[05:50:42][I][app:100]: ESPHome version 2024.9.2 compiled on Nov 18 2025, 05:34:21
[05:50:42][C][wifi:600]: WiFi:
[05:50:42][C][wifi:428]:   Local MAC: 08:3A:8D:CF:AE:A3
[05:50:42][C][wifi:433]:   SSID: [redacted]
[05:50:42][C][wifi:436]:   IP Address: 192.168.0.116
[05:50:42][C][wifi:439]:   BSSID: [redacted]
[05:50:42][C][wifi:441]:   Hostname: 'tempmessung'
[05:50:42][C][wifi:443]:   Signal strength: -65 dB ▂▄▆█
[05:50:42][C][wifi:447]:   Channel: 1
[05:50:42][C][wifi:448]:   Subnet: 255.255.255.0
[05:50:42][C][wifi:449]:   Gateway: 192.168.0.1
[05:50:42][C][wifi:450]:   DNS1: 192.168.0.1
[05:50:42][C][wifi:451]:   DNS2: 0.0.0.0
[05:50:42][C][logger:185]: Logger:
[05:50:42][C][logger:186]:   Level: DEBUG
[05:50:42][C][logger:188]:   Log Baud Rate: 115200
[05:50:42][C][logger:189]:   Hardware UART: UART0
[05:50:42][C][gpio.one_wire:020]: GPIO 1-wire bus:
[05:50:42][C][gpio.one_wire:021]:   Pin: GPIO14
[05:50:42][C][gpio.one_wire:080]:   Found devices:
[05:50:42][C][gpio.one_wire:082]:     0x373ce10457e4a428 (DS18B20)
[05:50:42][C][gpio.one_wire:082]:     0x033ce10457ebb428 (DS18B20)
[05:50:42][C][gpio.one_wire:082]:     0xbc3ce1045764f628 (DS18B20)
[05:50:42][C][gpio.one_wire:082]:     0xc63ce1045730b128 (DS18B20)
[05:50:42][C][gpio.one_wire:082]:     0x233ce10457f2c528 (DS18B20)
[05:50:42][C][gpio.one_wire:082]:     0xd53ce104578cbd28 (DS18B20)
[05:50:42][C][gpio.one_wire:082]:     0x6d3ce10457dc7b28 (DS18B20)
[05:50:42][C][gpio.one_wire:082]:     0x7c3ce10457250f28 (DS18B20)
[05:50:42][C][gpio.one_wire:082]:     0xfb3ce1045776af28 (DS18B20)
[05:50:42][C][dallas.temp.sensor:029]: Dallas Temperature Sensor:
[05:50:42][C][dallas.temp.sensor:034]:   Address: 0x373ce10457e4a428 (DS18B20)
[05:50:42][C][dallas.temp.sensor:035]:   Resolution: 12 bits
[05:50:42][C][dallas.temp.sensor:036]:   Update Interval: 10.0s
[05:50:42][C][dallas.temp.sensor:029]: Dallas Temperature Sensor:
[05:50:42][C][dallas.temp.sensor:034]:   Address: 0x033ce10457ebb428 (DS18B20)
[05:50:42][C][dallas.temp.sensor:035]:   Resolution: 12 bits
[05:50:42][C][dallas.temp.sensor:036]:   Update Interval: 10.0s
[05:50:42][C][dallas.temp.sensor:029]: Dallas Temperature Sensor:
[05:50:42][C][dallas.temp.sensor:034]:   Address: 0xbc3ce1045764f628 (DS18B20)
[05:50:42][C][dallas.temp.sensor:035]:   Resolution: 12 bits
[05:50:42][C][dallas.temp.sensor:036]:   Update Interval: 10.0s
[05:50:42][C][dallas.temp.sensor:029]: Dallas Temperature Sensor:
[05:50:42][C][dallas.temp.sensor:034]:   Address: 0xc63ce1045730b128 (DS18B20)
[05:50:42][C][dallas.temp.sensor:035]:   Resolution: 12 bits
[05:50:42][C][dallas.temp.sensor:036]:   Update Interval: 10.0s
[05:50:42][C][dallas.temp.sensor:029]: Dallas Temperature Sensor:
[05:50:42][C][dallas.temp.sensor:034]:   Address: 0x233ce10457f2c528 (DS18B20)
[05:50:42][C][dallas.temp.sensor:035]:   Resolution: 12 bits
[05:50:42][C][dallas.temp.sensor:036]:   Update Interval: 10.0s
[05:50:42][C][dallas.temp.sensor:029]: Dallas Temperature Sensor:
[05:50:42][C][dallas.temp.sensor:034]:   Address: 0xd53ce104578cbd28 (DS18B20)
[05:50:42][C][dallas.temp.sensor:035]:   Resolution: 12 bits
[05:50:42][C][dallas.temp.sensor:036]:   Update Interval: 10.0s
[05:50:42][C][dallas.temp.sensor:029]: Dallas Temperature Sensor:
[05:50:42][C][dallas.temp.sensor:034]:   Address: 0x6d3ce10457dc7b28 (DS18B20)
[05:50:42][C][dallas.temp.sensor:035]:   Resolution: 12 bits
[05:50:42][C][dallas.temp.sensor:036]:   Update Interval: 10.0s
[05:50:42][D][dallas.temp.sensor:054]: 'Temp_0': Got Temperature=26.3°C
[05:50:42][D][sensor:093]: 'Temp_0': Sending state 26.31250 °C with 1 decimals of accuracy
[05:50:42][C][dallas.temp.sensor:029]: Dallas Temperature Sensor:
[05:50:42][C][dallas.temp.sensor:034]:   Address: 0x1a3ce1045774c728 (DS18B20)
[05:50:42][C][dallas.temp.sensor:035]:   Resolution: 12 bits
[05:50:42][C][dallas.temp.sensor:036]:   Update Interval: 10.0s
[05:50:42][C][dallas.temp.sensor:029]: Dallas Temperature Sensor:
[05:50:42][C][dallas.temp.sensor:034]:   Address: 0x7c3ce10457250f28 (DS18B20)
[05:50:42][C][dallas.temp.sensor:035]:   Resolution: 12 bits
[05:50:42][C][dallas.temp.sensor:036]:   Update Interval: 10.0s
[05:50:42][C][dallas.temp.sensor:029]: Dallas Temperature Sensor:
[05:50:42][C][dallas.temp.sensor:034]:   Address: 0xfb3ce1045776af28 (DS18B20)
[05:50:42][C][dallas.temp.sensor:035]:   Resolution: 12 bits
[05:50:42][C][dallas.temp.sensor:036]:   Update Interval: 10.0s
[05:50:42][C][adc:097]: ADC Sensor 'BrennerSpannung'
[05:50:42][C][adc:097]:   Device Class: 'voltage'
[05:50:42][C][adc:097]:   State Class: 'measurement'
[05:50:42][C][adc:097]:   Unit of Measurement: 'V'
[05:50:42][C][adc:097]:   Accuracy Decimals: 2
[05:50:42][C][adc:102]:   Pin: GPIO17
[05:50:42][C][adc:141]:   Samples: 1
[05:50:42][C][adc:142]:   Update Interval: 1.0s
[05:50:42][C][captive_portal:089]: Captive Portal:
[05:50:42][C][mdns:116]: mDNS:
[05:50:42][C][mdns:117]:   Hostname: tempmessung
[05:50:42][C][esphome.ota:073]: Over-The-Air updates:
[05:50:42][C][esphome.ota:074]:   Address: tempmessung.local:8266
[05:50:42][C][esphome.ota:075]:   Version: 2
[05:50:42][C][esphome.ota:078]:   Password configured
[05:50:42][D][sensor:093]: 'BrennerSpannung': Sending state 0.13857 V with 2 decimals of accuracy
[05:50:42][C][safe_mode:018]: Safe Mode:
[05:50:42][C][safe_mode:019]:   Boot considered successful after 60 seconds
[05:50:42][C][safe_mode:021]:   Invoke after 10 boot attempts
[05:50:42][C][safe_mode:022]:   Remain in safe mode for 300 seconds
[05:50:42][C][api:139]: API Server:
[05:50:42][C][api:140]:   Address: tempmessung.local:6053
[05:50:42][C][api:142]:   Using noise encryption: YES
[05:50:42][D][dallas.temp.sensor:054]: 'Temp_6': Got Temperature=51.2°C
[05:50:42][D][sensor:093]: 'Temp_6': Sending state 51.18750 °C with 1 decimals of accuracy
[05:50:43][D][sensor:093]: 'BrennerSpannung': Sending state 0.13857 V with 2 decimals of accuracy
[05:50:44][D][sensor:093]: 'BrennerSpannung': Sending state 0.13857 V with 2 decimals of accuracy
[05:50:45][D][sensor:093]: 'BrennerSpannung': Sending state 0.13857 V with 2 decimals of accuracy
[05:50:46][D][sensor:093]: 'BrennerSpannung': Sending state 0.15791 V with 2 decimals of accuracy
[05:50:47][D][sensor:093]: 'BrennerSpannung': Sending state 0.13535 V with 2 decimals of accuracy
[05:50:48][D][dallas.temp.sensor:054]: 'Temp_2': Got Temperature=26.2°C
[05:50:48][D][sensor:093]: 'Temp_2': Sending state 26.25000 °C with 1 decimals of accuracy
[05:50:48][W][component:170]: Component dallas_temp.sensor cleared Warning flag
[05:50:48][D][sensor:093]: 'BrennerSpannung': Sending state 0.14502 V with 2 decimals of accuracy
[05:50:49][W][dallas.temp.sensor:139]: 'Temp_8' - Scratch pad checksum invalid!
[05:50:49][W][component:157]: Component dallas_temp.sensor set Warning flag: scratch pad checksum invalid
[05:50:49][D][sensor:093]: 'Temp_8': Sending state nan °C with 1 decimals of accuracy
[05:50:49][D][sensor:093]: 'BrennerSpannung': Sending state 0.14502 V with 2 decimals of accuracy
[05:50:50][D][dallas.temp.sensor:054]: 'Temp_5': Got Temperature=56.1°C
[05:50:50][D][sensor:093]: 'Temp_5': Sending state 56.06250 °C with 1 decimals of accuracy
[05:50:50][D][dallas.temp.sensor:054]: 'Temp_9': Got Temperature=55.1°C
[05:50:50][D][sensor:093]: 'Temp_9': Sending state 55.06250 °C with 1 decimals of accuracy
[05:50:50][D][sensor:093]: 'BrennerSpannung': Sending state 0.14824 V with 2 decimals of accuracy
[05:50:50][D][dallas.temp.sensor:054]: 'Temp_4': Got Temperature=18.8°C
[05:50:50][D][sensor:093]: 'Temp_4': Sending state 18.75000 °C with 1 decimals of accuracy
[05:50:51][D][dallas.temp.sensor:054]: 'Temp_1': Got Temperature=41.1°C
[05:50:51][D][sensor:093]: 'Temp_1': Sending state 41.12500 °C with 1 decimals of accuracy
[05:50:51][D][dallas.temp.sensor:054]: 'Temp_3': Got Temperature=25.7°C
[05:50:51][D][sensor:093]: 'Temp_3': Sending state 25.68750 °C with 1 decimals of accuracy
[05:50:51][D][sensor:093]: 'BrennerSpannung': Sending state 0.13213 V with 2 decimals of accuracy
[05:50:51][D][dallas.temp.sensor:054]: 'Temp_7': Got Temperature=33.6°C
[05:50:51][D][sensor:093]: 'Temp_7': Sending state 33.62500 °C with 1 decimals of accuracy
[05:50:52][D][dallas.temp.sensor:054]: 'Temp_0': Got Temperature=26.3°C
[05:50:52][D][sensor:093]: 'Temp_0': Sending state 26.31250 °C with 1 decimals of accuracy
[05:50:52][D][sensor:093]: 'BrennerSpannung': Sending state 0.14502 V with 2 decimals of accuracy
[05:50:52][D][dallas.temp.sensor:054]: 'Temp_6': Got Temperature=51.2°C
[05:50:52][D][sensor:093]: 'Temp_6': Sending state 51.18750 °C with 1 decimals of accuracy

Here is the code and log from Device B (Temp display):

esphome:
  name: badezimmer
  friendly_name: Badezimmer

esp8266:
  board: esp01_1m

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "iI1tfBIStTkLKKiqh6ivxqPvjM3gOvPCdiBRCntUac8="

ota:
  - platform: esphome
    password: "62d4d7e381a40ed19688beaf06b1752a"

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

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

captive_portal:
    
sensor:
  - platform: homeassistant
    entity_id: sensor.tempmessung_temp_6
    unit_of_measurement: "°C"
    state_class: "measurement"
    id: temp_6_display

#sensor:
#  - platform: template
#    name: "Fixed Temp"
#    id: temp_6_display
#    lambda: |-
#      return 42;

display:
    platform: tm1637
    id: tm1637_display
    clk_pin: GPIO14
    dio_pin: GPIO12
    inverted: true
    length: 4
    update_interval: 10s
    lambda: |-
      it.printf(0, "%2.1f", id(temp_6_display).state);
      ESP_LOGD("Temp_6: ", "Current Temp: %2.1f", temp_6_display);
INFO ESPHome 2024.9.2
INFO Reading configuration /config/esphome/badezimmer.yaml...
INFO Starting log output from 192.168.0.123 using esphome API
INFO Successfully connected to badezimmer @ 192.168.0.123 in 0.005s
INFO Successful handshake with badezimmer @ 192.168.0.123 in 2.403s
[05:53:48][I][app:100]: ESPHome version 2024.9.2 compiled on Nov 18 2025, 05:43:17
[05:53:48][C][wifi:600]: WiFi:
[05:53:48][C][wifi:428]:   Local MAC: A4:CF:12:EE:BC:93
[05:53:48][C][wifi:433]:   SSID: [redacted]
[05:53:48][C][wifi:436]:   IP Address: 192.168.0.123
[05:53:48][C][wifi:439]:   BSSID: [redacted]
[05:53:48][C][wifi:441]:   Hostname: 'badezimmer'
[05:53:48][C][wifi:443]:   Signal strength: -66 dB ▂▄▆█
[05:53:48][C][wifi:447]:   Channel: 1
[05:53:48][C][wifi:448]:   Subnet: 255.255.255.0
[05:53:48][C][wifi:449]:   Gateway: 192.168.0.1
[05:53:48][C][wifi:450]:   DNS1: 192.168.0.1
[05:53:48][C][wifi:451]:   DNS2: 0.0.0.0
[05:53:48][C][logger:185]: Logger:
[05:53:48][C][logger:186]:   Level: DEBUG
[05:53:48][C][logger:188]:   Log Baud Rate: 115200
[05:53:48][C][logger:189]:   Hardware UART: UART0
[05:53:48][C][display.tm1637:138]: TM1637:
[05:53:48][C][display.tm1637:139]:   Intensity: 7
[05:53:48][C][display.tm1637:140]:   Inverted: 1
[05:53:48][C][display.tm1637:141]:   Length: 4
[05:53:48][C][display.tm1637:142]:   CLK Pin: GPIO14
[05:53:48][C][display.tm1637:143]:   DIO Pin: GPIO12
[05:53:48][C][display.tm1637:144]:   Update Interval: 10.0s
[05:53:48][C][captive_portal:089]: Captive Portal:
[05:53:48][C][mdns:116]: mDNS:
[05:53:48][C][mdns:117]:   Hostname: badezimmer
[05:53:48][C][esphome.ota:073]: Over-The-Air updates:
[05:53:48][C][esphome.ota:074]:   Address: badezimmer.local:8266
[05:53:48][C][esphome.ota:075]:   Version: 2
[05:53:48][C][esphome.ota:078]:   Password configured
[05:53:48][C][safe_mode:018]: Safe Mode:
[05:53:48][C][safe_mode:019]:   Boot considered successful after 60 seconds
[05:53:48][C][safe_mode:021]:   Invoke after 10 boot attempts
[05:53:48][C][safe_mode:022]:   Remain in safe mode for 300 seconds
[05:53:48][C][api:139]: API Server:
[05:53:48][C][api:140]:   Address: badezimmer.local:6053
[05:53:48][C][api:142]:   Using noise encryption: YES
[05:53:48][C][homeassistant.sensor:030]: Homeassistant Sensor 'temp_6_display'
[05:53:48][C][homeassistant.sensor:030]:   State Class: 'measurement'
[05:53:48][C][homeassistant.sensor:030]:   Unit of Measurement: '°C'
[05:53:48][C][homeassistant.sensor:030]:   Accuracy Decimals: 1
[05:53:48][C][homeassistant.sensor:031]:   Entity ID: 'sensor.tempmessung_temp_6'
[05:53:51][D][Temp_6: :055]: Current Temp: 1.9
[05:54:01][D][Temp_6: :055]: Current Temp: 1.9

It didnt work the display shows “nAn” and the displayed value in the log shows 1,9 °C …

What do i wrong here ?

Best regards
Kai

Are the sensors sending a string, and the display is trying to show a float?
What is the entity name you are accessing from either device? Does it match?
Sorry, I’m playing with boisterous puppies here, and only casually glanced at your code.

This is displaying the entity object, rather than the state. That always looks like some random number. That’s why it doesn’t represent what is read on the other ESP.

ESP_LOGD("Temp_6: ", "Current Temp: %2.1f", id(temp_6_display).state);

Will probably return NaN as well.

Check that you have the name of the sensor in HA correct for starters. ESPHome does not check the validity of the HA sensor name. It will compile fine, will not throw runtime errors, just never get a value if the id is wrong. You should see something like this is the logs - and I don’t see it in yours:

[21:30:50.971][D][homeassistant.sensor:024]: 'sensor.man_cave_temperature': Got state 21.96

The error sits in 99 % in front of the pc display…

I didnt add the esp (Device B) to the ESP Component.

Now it works flawlessly.

Best regards
Kai