Urządzenie niewidoczne w mosquito broker

Kolejne pytanie początkującego.
zrobiłem na bazie wemos D1 urządzenie do odczytu danych z zewnętrznych czujników temperatury i wilgotności po rf433. Skonfigurowałem mqtt i działa - wysyła dane i mogę je czytać w mqtt explorerze ale urządzenie nie figuruje na liście w mosquito brokerze. Podpowiedzcie proszę jak mogę wyciągnąć te wartości. Najlepiej łopatologicznie.



Nie rozumiem co chciałeś powiedzieć… ale mniejsza.
Zmajstrowałeś RFLink na ESP?
Tak wnioskuję po wyglądzie tematu rf/ESP/msg.
Działa to tak - gdy odbierzesz sygnał radiowy i możliwe jest jego zdekodowanie to wynik tego umieszczany jest w w/w temacie. Wszystkie urządzenia meldują w tym jednym temacie i trzeba je na bieżąco odczytywać i na podstawie np.ID i dane gdzieś trwale przepisać. Jeśli nie zdążysz to przepadło i zostanie nadpisane.
Wg. mnie z tego powodu najlepiej sprawdza się zrobienie tego w Node_Red.
Zapoznaj się najpierw z node-red-contrib-rflink (node) - Node-RED. wraz z przykładami.
Pewnie są inne sposoby ale ja preferuje NR.

Ja też lubię node-red. Zainstalowałem tego noda, o którym piszesz. Podstawiłem wartości mojego czujnika i niestety w debug wywala błąd "msg : error “TypeError: msg.payload.indexOf is not a function”
O czymś pewnie jeszcze nie wiem.

Pokaż co wiesz to się poprawi :wink:
Moim zdaniem to powinno już działać
flows (11).json (5,5 KB)
Dla tego czujnika Xiron ID0902 przypisanego do TH_Taras powinny się w MQTT pojawić jego odczyty

Wiem niezbyt wiele :slight_smile:

  1. zainstalowałem tego noda z Twojego postu.
    Mój msg wygląda podobnie jak ten z przykładu: (msg = 20;01;Xiron;ID=0902;TEMP=009d;HUM=52;BAT=LOW;CHN=0002;)
    Wpisałem do noda Nazwę(Xiron) i ID(0902)
    zrobiłem akcję w NR Inject > rflink out > debug
    i w debugu wyrzuca ten błąd

Wiem, że z “zielonymi” się trudno rozmawia. :slight_smile:

Prawie dobrze… skoro nie działa.
Uruchom tego flow co dałem, tylko ustaw w węzłach MQTT prawidłowo swojego brokera.
Na przyszłość - to zawsze zrób export tego co chcesz pokazać.

Jak sam zobaczysz - to nie inject tylko odczytany rf/ESP/msg

Ok, działa. Muszę sobie przeanalizować na spokojnie ten proces. Podpowiesz mi jeszcze jak z tych trzech wartości (temp. hum. batt) zrobić teraz encje do wykorzystania w innych procesach?

Tak jak każdy czujnik MQTT.
Ręcznie dopisujesz w .yaml

@angler … znam to rozwiązanie, pytalem bardziej w kontekscie czy to rflink w ogóle.
Ta wersja bazuje na R29 i nie dekoduje wszystkich czujników. Ja bazuje klasyczne na Mega+ Esp jak serwer rs232 opartej na ostatniej wersji R4x

Mogę prosić o jakiś przykład? Początek znam:

- platform: mqtt
  name: "moja_nazwa"
  state_topic: "rf/ESP/sensor"

ale co dalej?

O tym temacie już zapomnij, on jest tylko do komunikacji.
Używasz tych tematów do których przepisałeś wartości i tak adekwatnie do tego co załączyłem

  - platform: mqtt
    name: "Temp ch1"
    state_topic: "RFLink-out/Ch1"
    unit_of_measurement: '°C'
    value_template: "{{ value_json.temp }}"
    
  - platform: mqtt
    name: "Hum ch1"
    state_topic: "RFLink-out/Ch1"
    device_class: humidity
    unit_of_measurement: '%'
    value_template: "{{ value_json.hum }}"       
    
  - platform: mqtt
    state_topic: "RFLink-out/Ch1"
    name: "Bat ch1"
    value_template: '{{ value_json.bat}}'
    device_class: battery  

Bardzo dziękuję za przykłady (najłatwiej mi się na nich douczyć) i CIERPLIWOŚĆ! :slight_smile:

Czy wartości tych sensorów nie powinny się automatycznie pojawić tutaj:?

Pewnie jeszcze ciągle czegoś nie łapię…

… żeby pokazać co namodziłeś. Jak mam Ci pomóc?
Co widzisz w MQTTExplorer?
Przypisany w state_topic: temat może nie być zgodny z rzeczywistym.

Ok. no to po kolei:
mqtt explorer:
zrzut2

Dopisałem to co mi podałeś do configuration.yaml

przeładowałem system i zaglądnąłem do narzędzi deweloperskich, żeby sprawdzić wartości.

Ten flow, który podałeś pokazuje cały msg
zrzut4

flow node-red… co wychodzi i noda rflink?.. nie widzę żeby coś się zapisało w MQTT.
Coś namieszałeś, jakim cudem masz różne msg - porównaj obrazki z pierwszego postu i obecnym

ps / zmieliłeś w funkcji Topic ch1 temat !!!??? - zostaw jak było w oryginale, bo nadpisujesz wiadomość wejściową. Tam powinno być to samo co tu

state_topic: "RFLink-out/Ch1"

może być dowolny, ale taki sam w tych dwóch miejscach

W twoim przykładzie w nodzie topicCh1 jest to (nic nie zmieniałem)
zrzut5

To pokaż debug za tym nodem … i czy w ogóle masz dobrze skonfigurowany mqttout … cholera pokaż wreszcie ten Twój przepływ, zrób export.
Powinneś otrzymać w ex
rflink
plorerze coś takiego

Zmieniłem w funkcji Topic ch1 msg.topic na state_topic i już są wartości. Uff. Dzięki