Timer pour une prise connectée en zigbee via mqtt

Bonjour

Je suis nouveau sur HomeAssistant.

J’ai un minipc (Ubuntu) avec un dongle zigbee sur lequel j’ai une VM sous Libvirt dans laquelle tourne HAos.
Tous les 3 jours je pétris une pâte à pain pendant 4 minutes.

Le robot qui pétrit est connecté sur une prise connectée nommée prise_petrin dans Appareils Zigbee2MQTT.

J’aimerais ajouter un bouton associé à un décompte dans une section de la map d’accueil.

Si possible, on pourrait aussi déclencher le timer (ou l’arreter) via un appui sur le bouton de la prise connectée.

J’ai testé des tutaux que j’ai récupéré sur ce forum, mais je n’arrive pas à faire fonctionner l’ensemble.

Pouvez vous m’aider ?

Salut,

Je ne sais pas ce que tu as tenté jusque là, mais une façon de faire qui devrait être assez robuste c’est :

Créer un minuteur dans « Paramètres>Appareils et Services > Entrées »
Tu le nommes comme tu veux et tu le définis à 4 minutes.

Puis sur ton tableau de bord tu peux ajouter une carte de type tuile avec comme entité ton minuteur, puis tu ajoutes l’interaction l’appui long (pour éviter les clics par erreur) que tu règles sur « executer une action » et dans l’action tu mets « timer.start » et tu choisis ton minuteur.

Ensuite tu vas dans les automatisations et tu ajoutes une nouvelle automatisation qui sera déclenchée par un « évènement manuel ». Tu mets en evènement timer.finished et en données entity_id: timer.ton_minuteur
Et avec comme action l’extinction de la prise.

Du coup tu aura un bouton qui affichera l’état et la durée restante de ton minuteur.

image
image

En revanche activer ça quand tu utilises le bouton sur le prise c’est une autre histoire… car le bouton sur la prise je pense est directement connecté au relai de la prise… je ne pense pas qu’il soit possible de récupérer le clic dans HA… (ça dépend de la prise en question, mais je n’en connais pas qui puisse faire ça… )

1 « J'aime »

Pour completer la réponse d’ @AlexHass

Tu peux faire une automatisation qui prenne comme trigger l’état de ta prise connectée.

Si lors de l’appui sur le bouton (que ce soit un bouton physique ou virtuel), la prise connectée passe de Off à On, tu peux créer un trigger a partir de cette transition.

Sur cette information, tu peux déclencher dans une automatisation ton timer « dans le pétrin » de 4 min (action timer.start).

Tu peux comme indiqué utiliser ce timer dans ton dashboard. Il t’indiquera le temps de pétrissage restant.

Lorsque le timer se termine il génère un event « fin de timer ». Il te suffit d’avoir une autre automatisation qui détecte cet event. Tu peux alors ajouter autant d’actions de « fin de pétrissage » que tu veux, comme couper la prise pour la repasser à Off, générer une notification « Pétrissage terminé » sur ton téléphone, ou une annonce sur tes enceintes connectées, etc…

Bonjour,
sinon il y a Simple Timer:

Bob

Merci pour vos retour

Malheureusement je suis largué dès le deuxième point:

Puis sur ton tableau de bord tu peux ajouter une carte de type tuile avec comme entité ton minuteur, puis tu ajoutes l’interaction l’appui long (pour éviter les clics par erreur) que tu règles sur « executer une action » et dans l’action tu mets « timer.start » et tu choisis ton minuteur.

Comment ajouter cette interaction ? :flushed_face:

Salut,

sur ta capture d’écran, c’est la configuration du minuteur.
Tu ne fais rien d’autre.

Ensuite c’est sur otn tableau de bord, l’interface graphique principale de HA, où tu passe en modifition et que tu choisis un carte de type tuile:

En haut à droite, icône crayon:

image

Choisir une carte de type tuile:

En fait ton bouton, tu le veut où ?

@AlexHass est parti du principe que tu voulais un bouton sur ton tableau de bord (ton dashboard).

Mais peut être que tu parles d’un bouton physique… Auquel cas les réponses seront plus une automatisation qu’un dashboard…

En tout cas pour parler le même langage, peut être que ça vaut le coup de faire un tour là pour lire quelques articles:

  • Pour l’instant, ton timer, c’est une sorte de minuterie, que tu peux lancer, arreter, redémarer, et qui va déclencher un évenement lorsquelle se termine (que HA pourra interpreter)

  • Tu peux créer un bouton virtuel ou utiliser un bouton physique pour « lancer » cette minuterie, suivant ce que tu fais il te faudra:

    • specifier dans l’affichage ce que tu veux faire à l’appui d’un bouton virtuel dans le tableau de bord
    • créer une automatisation pour que ton bouton physique puisse lancer la minuterie
  • tu peux aussi lancer la minuterie lorsque le pétrin démarre (soit parce que tu détecte que la puissance change, soit parce que tu met la prise sur ‹ on ›) => pour ça il te faut une automatisation.

  • l’état de la minuterie (le timer) peut être affiché dans le dashboard

  • la fin de la minuterie peut déclencher des effets si tu t’en sert dans une automatisation (éteindre la prise, envoyer une notification, alumer une lumière, etc…)

Pour ajouter un truc sur un tableau de bord, un type a fait un article dédié: Un beau dashboard, tout simplement...

1 « J'aime »

Dans l’idéal; ce serait de pouvoir utiliser ou le bouton de la prise , ou un bouton sur le dashboard

Le timer fonctionne bien, mais quand j’appuie il ne se passe rien, comment associer le début du timer à l’activation de la prise ?

Quel bouton? Et que fait il?

Donne nous un peu plus d’info.

Là à part répéter les messages déjà écrit c’est difficile de t’en dire plus…

je m’en suis sorti. Encore merci de m’avoir aidé à démarrer :grinning_face:
Ma plus grosse erreur était de ne pas déclarer le fichiers automations.yaml dans configuration.yaml.
J’ai été trompé par le fait que quand j’ajoutais une automatisation via l’interface graphique, le fichier automations.yaml était bien modifié.

Voici du coup ma configuration fonctionnelle (im manque la configuration du bouton, savez vous est le code ?

configuration.yaml:

# Loads default set of integrations. Do not remove.

default_config:

# Load frontend themes from the themes folder

frontend:

themes: !include_dir_merge_named themes

# automation: !include automations.yaml

script: !include scripts.yaml

scene: !include scenes.yaml

automation: !include automations.yaml

automation.yaml:

- id: '1764617247413'
  alias: fin_petrissage
  description: Désactivation de la prise à la fin du timer
  triggers:
  - platform: event
    event_type: timer.finished
    event_data:
      entity_id: timer.petrissage
  conditions: []
  actions:
  - service: switch.turn_off
    target:
      entity_id: switch.prise_petrin
  mode: single
- id: '1764617821794'
  alias: debut_petrissage
  description: Activation de la prise au démarrage du timer (via State)
  triggers:
  - platform: state
    entity_id: timer.petrissage
    from: idle
    to: active
  conditions: []
  actions:
  - service: switch.turn_on
    target:
      entity_id: switch.prise_petrin
  mode: single
- id: '1764617821795'
  alias: declenchement_physique_petrissage
  description: Lance le timer si la prise est activée manuellement
  triggers:
  - entity_id: switch.prise_petrin
    from: 'off'
    to: 'on'
    trigger: state
  conditions:
  - condition: state
    entity_id: timer.petrissage
    state: idle
  actions:
  - action: script.demarrer_petrissage
    metadata: {}
    data: {}
  mode: single




scripts.yaml:

demarrer_petrissage:
  alias: Demarrer_Petrissage
  sequence:
  - target:
      entity_id: switch.prise_petrin
    action: switch.turn_on
  - target:
      entity_id: timer.petrissage
    action: timer.start
  description: ''

et enfin le code de mon bouton:

type: button
name: Lancer le Pétrissage
icon: mdi:chef-hat
entity: timer.petrissage
tap_action:
  action: call-service
  service: timer.start
  target:
    entity_id: timer.petrissage
hold_action:
  action: call-service
  service: timer.cancel
  target:
    entity_id: timer.petrissage

Ce sujet a été automatiquement fermé après 60 jours. Aucune réponse n’est permise dorénavant.