Cześć. Zrobiłem odbiornik do odczytu starych termometrów ze stacji pogody. Takie najzwyklejsze na 433Mhz. Mam tez kilka pilotów. Postawiłem wpierw na Sonoff Bridge RF433Mhz R2(ten biały). Po długich męczarniach ze sflashowaniem tego (na początek Tasmota) udało mi się wreszcie zrobić to co chciałem. Tasmota okazała się średnim oprogramowaniem, ponieważ nie odczytuje termometrów, a poza tym konfiguracja w HA, też nie należy do przyjemnych. Ta sama bolączka jest na ESPHome. Brak odczytów z termometrów a dodatkowo przy restarcie HA otwierają się rolety, brama itd. Pod młotek poszedł D1mini i najzwyklejszy odbiornik RF433Mhz. Wgrałem RFLink i ruszyły odczyty z termometrów i pozostałe z pilotów i znów problem. Nijak nie mogę znaleźć poprawnego zapisu aby MQTT mogło to odczytać i zrobić encję w HA. Dzisiaj mija trzeci dzień “rozmowy” z AI, setki różnych kombinacji, restartów i nic. Przyszło się zwrócić do normalej inteligencji. Ostatnim zapisem który zaproponowała AI, wygląda tak:
mqtt:
- switch:
- name: "RFLink Switch 0283a2"
state_topic: "dom/ESP00/msg"
command_topic: "dom/ESP00/cmd"
value_template: >-
{% if 'ID=0283a2' in value and 'SWITCH=05' in value %}
{% if 'CMD=ON' in value %}
ON
{% elif 'CMD=OFF' in value %}
OFF
{% endif %}
{% else %}
{{ states('switch.rflink_switch_0283a2') }}
{% endif %}
payload_on: "ID=0283a2;SWITCH=05;CMD=ON"
payload_off: "ID=0283a2;SWITCH=05;CMD=OFF"
optimistic: true
retain: true
Oczywiście nadal nic z tego aby się odezwało. MQTT cały czas odczytuje wszystkie piloty. Pomocy.
Poniżej wklejam zapis termometru który działa: zaproponowany zapis, który działa wklejam poniżej:
mqtt:
sensor:
- name: "Zewnętrzna_temperatura RF"
state_topic: "dom/ESP00/msg"
unit_of_measurement: "°C"
value_template: >-
{% if "2001" in value %}
{% set temp = value.split(';')[4][5:] %}
{% if (temp[:1] | int) > 0 %}
{% set temp = "-" + temp[1:] %}
{% endif %}
{{temp |int(base=16) /10 }}
{% else %}
{{states('sensor.RF_nord_temperatura')}}
{% endif %}
Czyli coś zrobiłeś źle, najprawdopodoniej masz źle napisane automatyzacje w HA, dodatkowo na ESPHome można zrobić sporo prostych automatyzacji, które działają bez udział HA.
Proszę najpierw popraw składnię encji (wymagane “wcięcia”), potem możemy dyskutować dalej.
@Janusz_Grzembka - na FB tak ładnie pokazałeś jak wyglądają ładunki w MQTT Explorer. Te informacje odnośnie topic i ładunku wiadomości jakie odczytujesz są kluczowe do tworzenia YAML w HA. Uzupełnij proszę te informacje.
To jest zapis skopiowany z AI. Za bardzo nie znam się na tych wcięciach. Nie oczekuję poprawiania ale gdybyś mnie nakierował, z czego się mam poduczyć byłoby super. W sumie i tak dziękuję za szybką odpowiedź.
Nawet automatyzacji nie dotknąłem. Po prostu po kompilacji ESPHome dostaję zapis, że jest stan wysoki GPIO i wpisać invertet: True. Problem w tym, że jeśli dam invertet: True (nie tylko ja, jest duzo wpisów ludzi, którzy z tego względu przechodzą na Tasmote), to miknie odbiornik i nie odbiera żadnych informacji.
Zacznijmy od początku analizę. Gdzie masz odczyt ładunku z pilota/przycisku, który odbierasz w MQTT Explorer, bo ciężko analizować nie widząc co odbierasz a co nadajesz?
A tego zdania to nie rozumiem:
Dla sensorów z radiowej stacji pogody mam przykładowo taki zapis w HA.
Uwaga jest to zapis umieszczony w pliku mqtt, który jest jako wiersz w pliku głównym configuration.yaml czyli:
Dopiero na podstawie dokładnie zidentyfikowanego tematu (topic) można używać wartości z ładunków (value). W przeciwnym razie jeśli coś publikujesz w temacie na którum Twoje urządzenie nie czeka na komendę, to ładunek informacji trafia w próżnię, bo nasłuchuje na innym temacie.
Będąc już przy nadawaniu… Czy elektronika, której użyłeś pozwala na nadawanie. Chcę się upewnić, że masz sprawdzoną stronę nadawczą swojego sprzętu.
Jak można zauważyć wszystko zależy od wersji płytki w Sonoffie.
Ostatnio uruchomiłem na ESPHome radio RF433 używając nadajnika STX882 i odbiornika SRX882, bezproblemowo wykryło pilot do okapu, wszystko działa bez problemu, stacja pogodowa a raczej czujnik temperatory i wilgotnoćci na 433MHz dopiero w planach.
Jeśli nie ma odpowiedzi, to edytuj swoje posty zamiast pisać jeden pod drugim - oszczędzisz nam roboty.
No i zamiast rozmawiać z AI przeczytaj dokumentację…
Nie ma nic w tym dziwnego - najwyraźniej masz źle napisaną konfigurację (nie nasłuchuje komend pilota, a raczej nie ustawia stanu encji w HA na podstawie tego co nasłuchało).
Jeśli klikasz przycisk w HA i on zmienia stan to dlatego, że
czyli używa metody nie sprawdzającej faktycznego stanu.
(pomijając szczegóły techniczne w przypadku RF433 rzeczywisty stan aktora jest zazwyczaj niesprawdzalny - to jest jeden z powodów dla których pozbyłem się sprzętu RF433 już z 10 lat temu; no może poza nielicznymi wyjątkowymi protokołami, bo tych jest kilkadziesiąt - to kolejny powód; a że niektóre z nich zakłócają działanie innych to już w ogóle szoł… minidygresja - w dziale ogłoszeń wystawiłem kiedyś do sprzedania nędzne resztki, które mi pozostały po RF433 - w sumie oddam to za darmo)
Miejsce, gdzie przebywam większość czasu, jest pozbawione sygnału GSM. Odległość miejsca, które chcę zabezpieczyć czujnikami otwarcia wynosi ponad 50m. Chyba na dzień dzisiejszy nie ma urządzeń(w rozsądnej cenie), które potrafią to zrobić na taką odległość. Piloty i termometry są dodatkiem, które posiadam i do nauki i rozwiązania problemu są wystarczające. Stąd moja decyzja o RF433Mhz,
Zamykam temat bez rozwiązania.