Encja switch z http

Witam

Proszę o podpowiedź w jaki sposób można przestawić daną encje typu switch za pomocą linky http://192.168.x.x/
Miałem taką funkcjonalność w domoticzu lecz w HA nie potrafię sobie z tym poradzić

Chodzi ci o switch po http:// ?

# przekazniki anita espswitch1
- platform: command_line
  switches:
  
    espswitch0:
      command_on: "curl -X GET 'http://192.168.1.58/control?cmd=relay,0,1'"
      command_off: "curl -X GET 'http://192.168.1.58/control?cmd=relay,0,0'"
      #command_state: "curl -X GET 'http://192.168.1.58/control?cmd=relay/'"
      value_template: "{{ value_json.status == '1' }}"
      #value_template: '{{ value_json["espswitch0"]["state"] == "on" }}'
      #friendly_name: espswitch0
    
    espswitch1:
      command_on: "curl -X GET 'http://192.168.1.58/control?cmd=relay,1,1'"
      command_off: "curl -X GET 'http://192.168.1.58/control?cmd=relay,1,0'"
     # command_state: "curl -X GET 'http://192.168.1.58/control?cmd=relay/'"
      value_template: "{{ value_json.status == '1' }}"
      #value_template: '{{ value_json["espswitch1"]["state"] == "on" }}'
      #friendly_name: espswitch1

Opcji jest kilka, nie przedstawiłeś szczegółów więc musisz sam wybrać, np.

Wydaje mi się, że autorowi chodziło o wywołanie encji po http, ale mogę się mylić :slight_smile:

Dla przykładu wywołanie z innego hosta:
curl -X POST -H ‘Authorization: Bearer twoj_token’ -H ‘Content-Type: application/json’ -d ‘{“entity_id”: “switch.lampka”}’ http://192.168.1.77:8123/api/services/switch/toggle

Dziękuje za zainteresowanie
Chodzi mi dokładnie o to by na urządzeniu shelly po wciśnięciu “long push” została przełączona jedna z encji. Mogę to zrobić jedynie za pomocą “switched url”.
Próbowałem uruchomić “long push” w samym NR ale nie poradziłem sobie bo mam jednak za małą wiedzę, więc pomyślałem, że wykonam to w ten sposób.

A gdzie jest ta “encja”? Źle opisałeś co chcesz zrobić i w jakich systemach. Spróbuj jeszcze raz, będzie prościej.

No to tak, chce aby po dłuższym naciśnięciu na wyłączniku podłączonym do shelly przełączyć switch w HA
Więc w samym interfejsie SHELLY mogę wpisać w polu “long push” url jaki ma być odpalony by włączyć tryb “home office”

innymi słowy w dowolnej przeglądarce jak wpisze w pasku adresu:
http://192.168.5.3/xxxxxx/turnON
to załączy mi przełącznik w HA

Aby to zrobić musisz podać token do autentykacji w HA, w ten sposób:

curl -k -X POST -H "Authorization: Bearer myVeryLoooo0ooOOOngAndSecretToken" -H "Content-Type: application/json" -d '{"entity_id": "switch.door_light"}' https://hass.example.org:8123/api/services/switch/turn_on

Szczegóły w dokumentacji HA - REST API | Home Assistant Developer Docs

A nie prościej skorzystać z integracji Shelly MQTT i automatyzacji HA - naciśnięcie “long push” generuje wiadomość mqtt (zakładam, że Shelly na oryginalnym oprogramowaniu publikuje takie zdarzenie), na podstawie której uruchamia się automatyzacja, która to załącza przełacznik w HA.

MQTT + NodeRED zadziałało, dzięki za podpowiedź

edit
tak to teraz wygląda (automat ON/OFF to pomocnik typu switch):

swiatlo z blokada longpush.json (7,7 KB)

Hmm :thinking: można i tak zakończyć opisywany na początku problem ale to niczego nie wnosi.