DS18b20 esp8266 d1 mini częstotliwość wysyłania temperatury

Witam. Mam zainstalowane kilka czujników DSB18b pod ESP d1. Domyślnie jest wysyłana temperatura co 60 s. Chcialbym to zmienić na np. 5 s. Prosze o pomoc w kodzie. Dodawałem upade_interval: 5s ale pojawia się błąd przy instalacji.

esphome:
  name: cccccccccccc
  friendly_name: cccccccccccc

esp8266:
  board: esp01_1m

dallas:
  - pin: GPIO4

sensor:
  
  - platform: dallas
    address: 0x371d5c760e64ff28 
    name: "czujnik pompa1"
  - platform: dallas
    address: 0x6e134a760e64ff28 
    name: "czujnik pompa2"
  - platform: dallas
    address: 0x3287c0750e64ff28 
    name: "czujnik pompa3"




# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "mRQmDC2FRUEwny6Gnvhr/cccxVkyzftPuC539ozZw54="

ota:
  password: "dad5b387f49378f9sssd004d297bddd9"

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

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

captive_portal:

Jeżeli dodawałeś do kodu dokładnie to co wpisałeś w poście to masz tam literówkę. Sprawdź dokładnie co wpisujesz. Ma być update_interval

Z ciekawości: w jakim środowisku następuje taka szybka zmiana temperatury, że potrzebujesz ją mierzyć co 5s?

haha… o tym samym pomyślałem - przy pędzeniu bimbru.

Pewnie przeróbka klimy na pompę ciepła i wszyscy chcą nawet co 1 sek . Oczywiście nie ma to sensu, oprócz rurek gazowych w czasie defrostu, wtedy szybka reakcja jest potrzebna. Reszta to podobnie do tradycyjnego układu CO, co minutę świat i ludzie

Testuje pewne urządzenie i potrzebuje takich szybkich zmian. Oczywiście w kodzie literowki nie było - wpisaywałem normalnie update_interval= 5s

Z całą pewnością tak jest źle, bo jeśli już, to ma być update_interval: 5s
pokaż yamla, w którym masz to dodane
i pokaż loga z tym błędem (wklej jako tekst)

Ok. Ogarnałem. Problem był z umieszczeniem wpisu interval. Powinien być pod tą linijką:

dallas:
  - pin: GPIO4. 

A ja wpisywałem pod tą:

sensor:
    - platform: dallas
    address: 0x371d5c767e64ff28 
    name: "czujnik1"

Chociaż w dokumentacji napisano że własnie pod sensorem należy go umieścić.

To źle czytasz dokumentację, przeczytaj jeszcze raz dokładnie Dallas Temperature Sensor — ESPHome :

Component/Hub

The dallas component allows you to use your DS18b20 (datasheet) and similar 1-Wire temperature sensors.
To use your dallas sensor, first define a dallas “hub” with a pin and id, which you will later use to create the sensors.
[ …]

# Example configuration entry
dallas:
  - pin: 23

# Individual sensors
sensor:
  - platform: dallas
    address: 0x1c0000031edd2a28
    name: "Livingroom Temperature"

Configuration variables:

  • pin (Required, number): The pin the sensor bus is connected to. Please note that 1-wire is a bi-directional bus so it requires both input and output from the pin.
  • update_interval (Optional, Time): The interval that the sensors should be checked. Defaults to 60 seconds.
  • id (Optional, ID): Manually specify the ID used for code generation.

Parametr pin jest wymagany, pozostałe parametry update_interval i id są opcjonalne do komponentu dallas.
Warto też zwrócić uwagę, że w dokumentacji komponentu sensor - Sensor Component — ESPHome, nie ma parametru typu update_interval, można go użyc tylko w Template Sensor — ESPHome.

3 polubienia

@lukasx160
Jeśli masz takiego YAMLA jak wstawiłeś, to masz w nim nieprawidłowe wcięcia - to prędzej czy później powoduje problemy (dlatego zdjąłem marker rozwiązania, ma być tylko przy takich postach, które zawierają prawidłowe treści).

Wcięcia przy kopiowaniu - przynajmniej u mnie - prawie zawsze się zmieniają. Chciałem tylko wskazać rozwiązanie gdzie umieścić wpis dla innych zainteresowanych.

Gdybyś użył formatowania odpowiedniego dla kodu (te 3 odwrotne apostrofy przez i za blokiem kodu) to mógłbyś to zrobić porządnie.
Wiem, że bywają problemy z kopiowaniem (po prostu zawsze używaj w YAMLu spacji nigdy tabulatorów), ale jakoś wszyscy ogranięci dają radę wstawić kod, który jest do użycia “od ręki”.