Utrzymanie stanu czujnika otwarcia na 433 mhz

Szukam skutecznego rozwiązania dotyczącego stanu kontaktronów w łączności 433mhz.

Nabyłem tanie kontaktrony 433 mhz wskazujące 2 stany (zwarty, rozwarty). Kod odczytuje za pomocą dongla dvbt przez mqtt jako binary sensor. Problem polega na tym, że czujniki wysyłają sygnał w chwili zmiany stanu i to działa dobrze. Niestety jako, że jest to łączność jednokierunkowa po restarcie HA widnieją jako niedostępne. Jak sprawić, żeby HA zapamiętywał ostatni stan czujnika i wskazywał go po restarcie?

Kod wysyłany przez kontaktron:
id = 193
unit = 0
learn = 0
code = 901820 (rozwarty) / code = c01820 (zwarty)

konfiguracja w yaml

- platform: mqtt
    state_topic: "rtl_433/+/devices/Smoke-GS558/193/code"
    name: Okno w salonie
    value_template: '{{value_json.RfReceived.Data}}'
    payload_on: 'c01820'
    payload_off: '901820'
    device_class: window
    unique_id: 193_okno

W jaki sposób wysyłasz dane z dvbt do brokera mqtt?
Aby broker zachował ostatnią wiadomość w konkretnym topicu, trzeba publikując ją, ustawić flagę retain=1.
Dla komendy mosquitto_pub jest to parametr -r
Więcej informacji masz w opisie integracji https://www.home-assistant.io/integrations/binary_sensor.mqtt

Temat rozwiązany dzięki dodatkom rtl_433 oraz rtl_433 MQTT Auto Discovery.

1 Like

Witaj, napiszesz coś wiecej w temacie? Ja mam bramke sonoff z wgrana tasmotą.

Udało Ci się odczytać tym dane z termometrów stacji pogodowych?