Witam mam małe doświadczenie z plikami configuration.yaml. kupiłem ostatnio moduł z gniazdem lan pracujący po MQTT. Udało mi się go uruchomić, ale teraz chcę takie moduły wykorzystać do oświetlenia i rolet. Czy możecie spojrzeć na kod i spróbować poprawić po light wywala błąd
switch:
- platform: mqtt
name: "lan relay 1"
state_topic: "/dingtian/relay1916/out/relay1"
command_topic: "/dingtian/relay1916/in/control"
payload_on: '{"type":"ON/OFF","idx":"1","status":"ON","time":"0","pass":"0"}'
payload_off: '{"type":"ON/OFF","idx":"1","status":"OFF","time":"0","pass":"0"}'
state_on: '{"idx":"1","status":"ON"}'
state_off: '{"idx":"1","status":"OFF"}'
- platform: mqtt
name: "lan relay 2"
state_topic: "/dingtian/relay1916/out/relay2"
command_topic: "/dingtian/relay1916/in/control"
payload_on: '{"type":"ON/OFF","idx":"2","status":"ON","time":"0","pass":"0"}'
payload_off: '{"type":"ON/OFF","idx":"2","status":"OFF","time":"0","pass":"0"}'
state_on: '{"idx":"2","status":"ON"}'
state_off: '{"idx":"2","status":"OFF"}'
- platform: mqtt
name: "lan relay 3"
state_topic: "/dingtian/relay1916/out/relay3"
command_topic: "/dingtian/relay1916/in/control"
payload_on: '{"type":"ON/OFF","idx":"3","status":"ON","time":"0","pass":"0"}'
payload_off: '{"type":"ON/OFF","idx":"3","status":"OFF","time":"0","pass":"0"}'
state_on: '{"idx":"3","status":"ON"}'
state_off: '{"idx":"3","status":"OFF"}'
light:
- platform: mqtt
name: "lan relay 4"
state_topic: "/dingtian/relay1916/out/relay4"
command_topic: "/dingtian/relay1916/in/control"
payload_on: '{"type":"ON/OFF","idx":"4","status":"ON","time":"0","pass":"0"}'
payload_off: '{"type":"ON/OFF","idx":"4","status":"OFF","time":"0","pass":"0"}'
state_on: '{"idx":"4","status":"ON"}'
state_off: '{"idx":"4","status":"OFF"}'
Co to za moduł? @mikolaj sterujesz nim po LAN? To jest z Poe?
Zasilanie na 12V kupiłem na próbę i działa nawet szybko. Kupiłem go właśnie na połączenie LAN i MQTT.
aliexpres link
Tutaj sporo o tym module pisaliśmy, przeanalizuj wątek i jak nie znajdziesz odpowiedzi to poszukamy przyczyny.
Po przeprowadzonych testach:
STAN AKTUALNY ZAŁĄCZONE 2 PRZEKAŹNIKI
Po restarcie Jolki, wszystkie switche widoczne jako OFF w dashboard.
Fizycznie załączone 2 jak w stanie wyjściowym. Załączenie na ON przycisku powoduje jego włączenie (przy dwóch załączonych zmienia porostu info widoku na on, fizyczne są już załączone)
Restart Dingtian
Po ponownym podaniu napięcia na urządzenia. Stany urządzeń wracają z przed awarii.
W czasie wyłączenia Dingtian nie jesteśmy w stanie zmienić stanu w Jolce, …
Zgadza się to ten sam moduł tylko nie mam problemów z odświeżaniem stanu, znalazłem opcję pamięci modułu po restarcie. Ale moje pytanie jest dalej aktualne. Chciałbym wykorzystać ten moduł do rolet i oświetlenia. Działa
payload_on: ‘{“type”:“Delay”,“idx”:“4”,“status”:“ON”,“time”:“5”,“pass”:“0”}’
które powoduje pracę monostabilną.
Ok, czyli wracamy do problemu z light. Pokażesz ten błąd?
Z tego co widzę w dokumentacji nie ma state_on i off dla encji light, tylko to:
Invalid config for [light.mqtt]: [state_on] is an invalid option for [light.mqtt]. Check: light.mqtt->state_on. (See ?, line ?).
Gdy wykreśliłem linie z pobieraniem statusu, działa oczywiście ale AIS nie wie czy lampa się włączyła.
Czyli poprawnie wskazałem Ci przyczynę tego błędu w poprzednim poście.
Zgadza się wskazałeś błąd poprawnie. Tylko mam problem z przekształceniem gdy wpisałem
state_value_template: ‘{“idx”:“2”,“status”:“ON”}’
konfiguracja jest poprawna ale nie zmienia się stan w AIS, chyba trzeba przekształcić jakoś w JSON ale nie mam pomysłu
Nie mam niestety czasu do tego przysiąść.
Zrób z tego switch, a potem opakuj w light template, będzie sprawnie działać.
Po MQTT trzeba by testować i czytać dokumentację.
Spróbuj tak:
state_value_template: “{{ value_json.status }}”
A jak nie zadziała to szkoda na to czasu i opakuj to tym:
2 sposób załatwił robotę Dzięki. Teraz jeszcze muszę jeszcze wymyślić sposób aby wykorzystać moduł do rolet i otwieranie garażu ze stanem bramy.
Udało mi się uruchomić Jako Lampe i Bramę teraz potrzebuje pomocy z Roletami Jakieś pomysły.
platform: mqtt
name: “lan relay 1”
state_topic: “/dingtian/relay1916/out/relay1”
command_topic: “/dingtian/relay1916/in/control”
payload_on: ‘{“type”:“ON/OFF”,“idx”:“1”,“status”:“ON”,“time”:“0”,“pass”:“0”}’
payload_off: ‘{“type”:“ON/OFF”,“idx”:“1”,“status”:“OFF”,“time”:“0”,“pass”:“0”}’
state_on: ‘{“idx”:“1”,“status”:“ON”}’
state_off: ‘{“idx”:“1”,“status”:“OFF”}’
platform: mqtt
name: “lan relay 3”
state_topic: “/dingtian/relay1916/out/relay3”
command_topic: “/dingtian/relay1916/in/control”
payload_on: ‘{“type”:“DELAY”,“idx”:“3”,“status”:“ON”,“time”:“10”,“pass”:“0”}’
payload_off: ‘{“type”:“ON/OFF”,“idx”:“3”,“status”:“OFF”,“time”:“0”,“pass”:“0”}’
state_on: ‘{“idx”:“3”,“status”:“ON”}’
state_off: ‘{“idx”:“3”,“status”:“OFF”}’
platform: mqtt
name: “lan relay 4”
state_topic: “/dingtian/relay1916/out/relay4”
command_topic: “/dingtian/relay1916/in/control”
payload_on: ‘{“type”:“DELAY”,“idx”:“4”,“status”:“ON”,“time”:“10”,“pass”:“0”}’
payload_off: ‘{“type”:“ON/OFF”,“idx”:“4”,“status”:“OFF”,“time”:“0”,“pass”:“0”}’
state_on: ‘{“idx”:“4”,“status”:“ON”}’
state_off: ‘{“idx”:“4”,“status”:“OFF”}’
light:
platform: switch
name: “lampa relay 1”
entity_id: switch.lan_relay_1
cover:
platform: mqtt
name: “Brama relay 2”
device_class: garage
command_topic: “/dingtian/relay1916/in/control”
state_topic: “/dingtian/relay1916/out/input2”
payload_open: ‘{“type”:“JOGGING”,“idx”:“2”,“status”:“ON”,“time”:“1”,“pass”:“0”}’
payload_close: ‘{“type”:“JOGGING”,“idx”:“2”,“status”:“OFF”,“time”:“1”,“pass”:“0”}’
payload_stop: ‘{“type”:“JOGGING”,“idx”:“2”,“status”:“ON”,“time”:“1”,“pass”:“0”}’
state_open: ‘{“idx”:“2”,“status”:“HIGH”}’
position_open: 100
state_closed: ‘{“idx”:“2”,“status”:“LOW”}’
position_closed: 0