Switch pour Connecter et Déconnecter Octoprint

Bonjour

Bon je tourne un peu en rond sur le sujet !
J’ai créé deux commandes shell :

shell_command:
  octoprint_connect: "curl -s http://192.168.1.105/api/connection -d '{\"command\":\"connect\"}' -H 'Content-Type: application/json' -H 'X-Api-Key: API_KEY'"
  octoprint_disconnect: "curl -s http://192.168.1.105/api/connection -d '{\"command\":\"disconnect\"}' -H 'Content-Type: application/json' -H 'X-Api-Key: API_KEY'"

à partir de ces deux commandes j’aimerais avoir un bouton ON / OFF pour lancer la connection ou déconnection de mon serveur octoprint.
Pour ce faire j’ai fait ceci :

switch:
  - platform: template
    switches:
      connect_octoprint:
        value_template: "{{is_state('binary_sensor.octoprint_connect', 'on') }}"
        turn_on:
          service: shell_command.octoprint_connect
          target:
            entity_id: switch.octoprint_connect
        turn_off:
          service: shell_command.octoprint_disconnect
          target:
            entity_id: switch.octoprint_connect

Mais il revient à OFF en permanence et surtout pour la commande OFF il se passe rien du tout !
Je pense que je suis à coté de plaque dans la construction mais je ne vois pas trop où et comment !

l’idée est de mettre ensuite le switch dans un button card customisée que j’ai déjà sous la main.

Merci de votre aide

Salut!

Comment as-tu déclarer ce binary_sensor ? As-tu vérifier dans les outils de dév son contenu ?

Salut,
En plus de la question de @Giga77 sur ton binary_sensor qui peut avoir un effet sur l’état de ton switch.
Il y aussi quelque chose qui semble bizarre sur ton service, normalement tu n’as pas de target à donner pour un appel à une commande shell… juste le nom du service.
De plus as-tu bien un switch qui s’appelle ‹ switch.octoprint_connect ›?

Alors je ne peux pas trop toucher là j’ai un print en cours :slight_smile:

Le binary_sensor.octoprint_connect c’est le celui qui vient de HomeAssistant Discovery en MQTT (plugin Octoprint) donc je n’ai rien touché

Concernant le target @AlexHass je sais pas trop te dire j’ai compilé plusieurs sources sur le sujet du service mais je débute complet sur ce type de commande !

donc c’est la patauge totale :slight_smile:

Hello

Comme indiqué par @AlexHass , supprime simplement target / entities dans ton switch pour ne laisser que les appels à tes services shell command

Désolé à tous, pas eu encore le temps de testé passage de RJ45 et amélioration de mon réseau Ubiquiti oblige sans compter les autres travaux :slight_smile:

Bref, je viens de supprimer les target et je viens de relancer HA
Je vous dis ça de suite après car j’ai pas lancé de print malgré le besoin de le faire :grin:
Bon alors voici le résultat le switch fonctionne super bien sir je ne ferme pas la fenêtre :

Car sinon le switch reste sur OFF et ne garde pas l’état dans lequel il a mis la connexion entre le serveur et l’imprimante !
L’état semble être donnée par l’intégration Octoprint avec ce switch switch.octoprint_connect_to_printer mais qui n’est pas un switch car il commande rien et quand on l’action revient à OFF !