Home Assistant et Octoprint

Mettre en place la connexion HA - Octoprint

Dans le fichier configuration.yaml

 octoprint:
  host: 192.168.10.5
  api_key: !secret octoapi
  bed: true
  number_of_tools: 1

Parmi les options à la déclaration, on a :

  • api_key : à récupérer sous l'interface d'Octoprint
  • bed : pour avoir la température du lit chauffant
  • number_of_tools : permet de savoir le nombre d'extruder installé sur la machine et récupérer les températures de chacun.

Dans les sensors :

 - platform: octoprint
  name: OctoPrint
  monitored_conditions:
    - Current State
    - Temperatures
    - Job Percentage

Pour les sensors :

  • Current State : l’état de l'imprimante Operational(allumée et en attente), Printing (en cours d'impression).
  • Temperature : pour obtenir les températures actuelles et cibles (lors du chauffage par exemple) pour le lit chauffant et la buse
  • Job Percentage : pour connaitre l'état d'avancement de l'impression.

Pour la camera branchée sur OctoPrint :

 camera:
  - platform: mjpeg
    mjpeg_url: http://192.168.10.5:8080/?action=stream
    name: octocam

On obtient ce genre de chose une fois configuré :

On peut voir un autre input_boolean ajouté "Extinction auto A8" que l'on utilisera dans les automations suivantes.

Mise en place des automations

Pour être averti de la fin d'impression :

   - alias: "Print 3D fini"
    trigger:
     - platform: numeric_state
       entity_id: sensor.octoprint_job_percentage
       above: 96
    action:
      - service: notify.teleha
        data:
          message: "Print presque fini !!!"

Des que l'on passera les 96% on recevra un message telegram pour nous prévenir (après 96% sur une pièce qui met 1h ou 7h à imprimer le temps d'attente n'est pas le même) ...

Si le input_boolean est positionné, on éteint l'imprimante après qu'elle ait terminé :

   - alias: "Print 3D fini stop Anet A8"
    trigger:
     - platform: state
       entity_id: sensor.octoprint_current_state
       from: 'Printing'
       to: 'Operational'
    condition:
      - condition: state
        entity_id: input_boolean.autoprint
        state: 'on'
    action:
     - delay:
         minutes: 5
     - service: switch.turn_off
       entity_id: switch.imprimante

Enfin la dernière automation qui permet de positionner le flag, si on a oublié de le faire et que l'on va se coucher :

   - alias: "Print 3D pas fini la nuit stop auto Anet A8"
    trigger:
     - platform: state
       entity_id: input_boolean.bye
       from: 'on'
       to: 'off'
    condition:
      - condition: state
        entity_id: sensor.octoprint_current_state
        state: 'Printing'
    action:
      - service: input_boolean.turn_on
        entity_id: input_boolean.autoprint
Home Assistant et Octoprint
Share this