Brak wartości w encji mimo że odczyt MQTT jest

Witam serdecznie.
Piszę mój pierwszy post tutaj bo niedawno tzn tydzień temu zacząłem przygodę z HA i IOT.

Kilkanaście poradników filmików i coś zaczyna sie pojawiać, ale nie na kafalkach.

Mam HA zainstalowane na malince 4.
Skonfigurowalem mqtt. Na screenie widać że dostaje info z esp8266 z czujnikiem ruchu i bmp180.

Poniżej kod z konfiguracją. Nie jestem tego pewny. Sporo poradników jest starszych i nie uwzględniają zmian w kodzie na 2023.

mqtt:
  sensor:
    - name: "Temperatura sypialnia"
      state_topic: "home/temppir-syp_1/Tempbar_syp/Temperatura"
      unit_of_measurement: "°C"
      value_template: "{{ value_json.Temperatura }}"
      device_class: temperature
    - name: "Ciśnienie sypialnia"
      state_topic: "home/temppir-syp_1/Tempbar_syp/Cisnienie"
      unit_of_measurement: "hPa"
      value_template: "{{ value_json.Cisnienie }}"
      device_class: pressure
  binary_sensor:
    state_topic: "home/temppir-syp_1/Ruch_syp/Ruch" 
    value_template: "{{ value_json.Ruch }}"
    name: "Ruch sypialnia"
    device_class: motion

Następnie, gdy chcę dodać kafelek na dashbordzie szukam encji np sensor.temperatura_sypialnia i mam go ale tam, gdzie powinna byc wartość, wyswietla mi się nieznane.

Gdzie moze być błąd?

Wcześniej próbowałem dodać taki czujnik przez Esphome prosto z HA ale po wgraniu wygenerowanej konfiguracji esp8266 nie łączyło mi sie z routerem. A taka konfiguracja byłaby wg mnie szybsza, prosciejsza.

state_topic: “home/temppir-syp_1/Tempbar_syp/Temperatura”
unit_of_measurement: “°C”
value_template: “{{ value_json.Temperatura }}”

…albo samo
value_template: “{{ value_json }}”
albo
state_topic: “home/temppir-syp_1/Tempbar_syp”
Jeden z tych dwóch wpisów musisz zmienić.

Przy Twojej konstrukcji próbuje czytać z tematu
home/temppir-syp_1/Tempbar_syp/Temperatura/Temperatura

Dziękuję. W końcu działa. Niewielka rzecz, a jak cieszy :slight_smile:

Przy takich problemach pomocny jest bardzo program:

Dzięki za program. W domu łatwiej będzie mi go ogarnąć bo teraz jestem zdalnie podłączony.
Jednak zauważyłem że połowicznie działa. Żona wstała i kazałem jej podejść do pir :slight_smile: i niestety nadal mam nieznane a odczyt w mqqt mam. Jeszcze chyba coś w kodzie muszę przestudiować. Wyrzuciłem cały człon z value json. Temperatura i ciśnienia działa.

Co działa na tym ESP8266? Tasmota, ESPHome?

Wgrałem soft espeasy i wszystko tam skonfigurowałem.

Pokaż co się publikuje w MqttExplorer przy tym czujniku.
Jak nazwałeś ten sensor w ESP… ?.. “Ruch”?

a tu screen z ESPeasy:

i właśnie udało mi się poprawić kod…

mqtt:
  sensor:
    - name: "Temperatura sypialnia"
      state_topic: "home/temppir-syp_1/Tempbar_syp/Temperatura"
      unit_of_measurement: "°C"
      device_class: temperature
    - name: "Ciśnienie sypialnia"
      state_topic: "home/temppir-syp_1/Tempbar_syp/Cisnienie"
      unit_of_measurement: "hPa"
      device_class: pressure
  binary_sensor:
    name: "Ruch sypialnia"
    state_topic: "home/temppir-syp_1/Ruch_syp/Ruch" 
    #availibility_topic: "home/temppir-syp_1/Ruch_syp/Ruch"
    payload_on: "1"
    payload_off: "0"
    qos: 1
    #value_template: "{{ value_json.Ruch }}"
    device_class: motion

U niektórych bez “” w payload działa, u niektórych ON OFF… metodą prób i błędów :slight_smile:

Czy to jest optymalne dodawanie sensorów czy polecacie inny sposób? Muszę poczytać o mqtt discovery i tej Tasmocie…

Dziękuję za wszelką pomoc… Na pewno się przyda, już Chińczycy pakują kolejne esp :slight_smile:

Więc łap link z przykładem. Ułatwi zrozumienie jak to działa.

1 polubienie