Jak zamienić moduł switch w oświetleniowy i roletowy

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.

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ę. :slight_smile:

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.

Kolejny szablon?

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