Arrêt du serveur octoprint à la fin d'une impression

Bonjour,

Je souhaite utiliser ce script pour arrêter proprement mon imprimante 3D à la fin de l’impression (arrêt d’octoprint et coupure des prises 433).

alias: Arrêt à la fin de l'impression 3D
description: ""
trigger:
  - platform: state
    entity_id: binary_sensor.octoprint_printing
    from: "on"
    to: "off"
condition: []
action:
  - wait_template: "{{ states('sensor.octoprint_actual_tool0_temp')|int < 45 }}"
  - service: rest_command.shutdown_octoprint
    data: {}
  - delay: "00:02:00"
  - device_id: a75e7073fdedb1209b711184316ecf94
    domain: rfxtrx
    type: send_command
    subtype: "Off"
  - device_id: 1a8c01e35b30601122ff59c2bfe36316
    domain: rfxtrx
    type: send_command
    subtype: "Off"
mode: single

La commande rest_command.shutdown_octoprint me renvoie l’erreur suivante :

Une idée ?

Salut,

Vu que ceci est une demande d’aide, elle doit être créée dans la catégorie Entraide Home Assistant . Je déplace le sujet.

Bonne journée

oui effectivement erreur de ma part.

Octoprint MQTT me renvoie deux entités :

Bonjour,

As-tu le rest_command de défini?

example trouvé ici Octoprint setup, UI, scripts and automations

#shutdown octopi RPI
rest_command:
  shutdown_octoprint:
    url: http://octopi.local/api/system/commands/core/shutdown #use numeric IP alternatively
    method: POST
    headers: 
      X-Api-Key: !secret octoprint_api_key

Cordialement,

Abel

Non effectivement mais je vais essayer avec qqchose de plus simple en utilisant l’une des deux entités, par contre je ne vois pas bien la différence entre le switch et button et lequel il est préférable d’utiliser ?

alias: Arrêt à la fin de l'impression 3D
description: ""
trigger:
  - platform: state
    entity_id: binary_sensor.octoprint_printing
    from: "on"
    to: "off"
condition: []
action:
  - entity_id: button.octoprint_shutdown_system
    service: button.turn_on
  - delay: "00:02:00"
  - device_id: a75e7073fdedb1209b711184316ecf94
    domain: rfxtrx
    type: send_command
    subtype: "Off"
  - device_id: 1a8c01e35b30601122ff59c2bfe36316
    domain: rfxtrx
    type: send_command
    subtype: "Off"
mode: single

Finalement, j’ai fait comme ça :

alias: Arrêt à la fin de l'impression 3D
description: ""
trigger:
  - platform: state
    entity_id: binary_sensor.octoprint_printing
    from: "on"
    to: "off"
condition: []
action:
  - wait_template: "{{ states('sensor.octoprint_actual_tool0_temp')|int < 100 }}"
  - entity_id: button.octoprint_shutdown_system
    service: button.press
  - delay: "00:02:00"
  - device_id: a75e7073fdedb1209b711184316ecf94
    domain: rfxtrx
    type: send_command
    subtype: "Off"
  - device_id: 1a8c01e35b30601122ff59c2bfe36316
    domain: rfxtrx
    type: send_command
    subtype: "Off"
mode: single

Reste à tester …

Question vous avez la commande connexion / déconnexion du serveur octoprint à l’imprimante à tout hasard ?

L’idée est faite un bouton qui lorsque tu cliques dessus cela allume la lumière, puis la prise imprimante puis au bout de quelques seconde connecte le serveur et inversement pour l’arrêt.

Merci

Bonjour.
saurais-tu comment se servir de ce script directement depuis un bouton ou autre? je voudrais, depuis mon lovelace éteindre « on demand » l’Octoprint, sans pour autant passer par une automatisation.
j’ai bien regardé le service « button » de Homme assistant mais sans y arriver :confused:

je suis preneur de toute aide (^^)

Bonjour,

Avec un bouton, il est possible d’appeler un script avec le Call Service

Cordialement,

Abel

ah donc il ne faut plus se servir de la commande en tant que telle mais créer un script a la place ?

Tu n’as pas installé l’intégration Octoprint ?

Si mais je n’ai pas de boutton pour arrêter directement la machine

Ouuppsss … Je parlais de MQTT ?

ah ? il y a du MQTTT sur Octoprint?! je vais aller voir…

en un mot… merci! :slight_smile:

1 « J'aime »