Jak dodać switch mqtt w configuration.yaml?

Mam takie coś jako przykład.

mqtt:
  switch: 
    name: jakisklawisz
    state_topic: "zigbee2mqtt/urządzeni_z_z2m/set"
    payload_on: '{"ir_code_to_send" "twójodczytanykod"}'
    payload_off: '{"ir_code_to_send" "twójodczytanykodwyłączenia"}'
Advertisement
mqtt:
    switch:
        - name: "jakisklawisz"
          state_topic: “zigbee2mqtt/urządzeni_z_z2m/set”
          command_topic: "zigbee2mqtt/urządzeni_z_z2m/set"
          payload_on: ‘{“ir_code_to_send” “twójodczytanykod”}’
          payload_off: ‘{“ir_code_to_send” “twójodczytanykodwyłączenia”}’

nie zapomnij o poprawnym formatowaniu kodu.

To wrzucić do configuration.yaml?

TAK. Jak miałeś w pierwszym poście.

Po czym przeładuj MQTT w Narzędzia Developerskie MQTT
Screenshot - 26.12.2022 , 19_03_31

Popraw w kodzie znaki na "
@Pawel_Praczkowski

Ok udało mi sie dodać switch lecz nie reaguje na przełączanie. Tzn switch tak ale nie projektor.



Zmieniłeś znaki które ci podałem ?

Tak ponizej moj kod

mqtt:
  switch: 
    name: jakisklawisz
    state_topic: "zigbee2mqtt/urządzeni_z_z2m/set"
    payload_on: '{"ir_code_to_send" "twójodczytanykod"}'
    payload_off: '{"ir_code_to_send" "twójodczytanykodwyłączenia"}'
Advertisement

Pokaż jak masz w configuration.yaml

kawałek pliku

# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:

mqtt:
    switch:
        - name: "projektorwlacz"
          state_topic: "zigbee2mqtt/Pilot/set"
          command_topic: "zigbee2mqtt/Pilot/set"
          payload_on: ‘{“ir_code_to_send” “BVAjhRFFAuADAQFsBuABA0AB4AMPQAtAAeAHB8ABQBdAA+AHAUATQAPAAUAL4AMDD3uXUCOrCEUC//9QI6sIRQI=”}’
          payload_off: ‘{“ir_code_to_send” “BVAjhRFFAuADAQFsBuABA0AB4AMPQAtAAeAHB8ABQBdAA+AHAUATQAPAAUAL4AMDD3uXUCOrCEUC//9QI6sIRQI=”}’





sensor:
  - platform: time_date
    display_options:
      - 'time'
      - 'date'
      - 'date_time'
      - 'date_time_utc'
      - 'date_time_iso'
      - 'time_date'
      - 'time_utc'
      - 'beat'

Edit:

tam gdzie kody też miały być zmienione cudzysłowia?

Masz dalej złe znaki Masz powinny być "

jak teraz?

mqtt:
    switch:
        - name: "projektorwlacz"
          state_topic: "zigbee2mqtt/Pilot/set"
          command_topic: "zigbee2mqtt/Pilot/set"
          payload_on: '{"ir_code_to_send" "BVAjhRFFAuADAQFsBuABA0AB4AMPQAtAAeAHB8ABQBdAA+AHAUATQAPAAUAL4AMDD3uXUCOrCEUC//9QI6sIRQI="}'
          payload_off: '{"ir_code_to_send" "BVAjhRFFAuADAQFsBuABA0AB4AMPQAtAAeAHB8ABQBdAA+AHAUATQAPAAUAL4AMDD3uXUCOrCEUC//9QI6sIRQI="}'

Tak, tak powinno być.

Tylko teraz jest taki problem że jak klikam żeby wyłączyć to samoistnie się włącza a to napewno przez to że kod dla payload on i off jest taki sam. Przełącznik już mam ale dalej nie włącza on projektora.

Musisz mieć prawidłowe payload

message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"ir_code_to_send": NEW_VALUE

Nie mam fizycznie tego urządzenie więc dalej musisz kombinować z prawidłowym formatem payload

czyli kod musi byc bez cudzysłowia w takiej formie jak podałeś w tym przykładzie?

Spróbuj tylko tak {"ir_code_to_send": NEW_VALUE}

 state_topic: "zigbee2mqtt/urządzeni_z_z2m/set"
    command_topic: "zigbee2mqtt/urządzeni_z_z2m/set"
    payload_on: '{"ir_code_to_send": twójodczytanykod}'
    payload_off: '{"ir_code_to_send": twójodczytanykodwyłączenia}'

Zobacz w Z2M logi co wysyła po wysłaniu kodu

error 2022-12-26 20:08:50Invalid message 'null', skipping...
error 2022-12-26 20:08:51Invalid message 'null', skipping...

Edit:

z kodem powinno być ok nie wywala błędów

mqtt:
    switch:
        - name: "projektorwlacz"
          state_topic: "zigbee2mqtt/Pilot/set"
          command_topic: "zigbee2mqtt/Pilot/set"
          payload_on: '{"ir_code_to_send": BVAjhRFFAuADAQFsBuABA0AB4AMPQAtAAeAHB8ABQBdAA+AHAUATQAPAAUAL4AMDD3uXUCOrCEUC//9QI6sIRQI=}'
          payload_off: '{"ir_code_to_send": BVAjhRFFAuADAQFsBuABA0AB4AMPQAtAAeAHB8ABQBdAA+AHAUATQAPAAUAL4AMDD3uXUCOrCEUC//9QI6sIRQI=}'

Kody masz poprawne bo wyglądają inaczej jak w twoich postach powyżej .

Raz na kilka zczytań kod się zmienia. Oczywiście kod zczytuje z pilota od projektora. np. żeby wyłączyć projektor to trzeba nacisnąć dwa razy przycisk power.

Edit:

może pilot podaje to w jakiejś formie zaszyfrowanej ?

Edit2:

ten sam kod wkleje tylko że z poziomu interfejsu zigbee2mqtt i projektor sie włącza

Edit:3

zrobiłem test z trzema kodami w panelu zigbee2mqtt od rana miałem już 3 różne kody, kazdy z nich włącza projektor

To zobacz co masz w logach Z2M jaki topic i payload

Sciągnij sobie program z MQTTBox MS store