Qubino Fil Pilote - ZMNHJD1

Bonjour bonjour,

Le partage du jour. L’inclusion du module Fil Pilote de Qubino :wink:

RAPPEL IMPOTANT : le QUBINO FIL PILOTE est vu comme une LUMIERE à VARIATION soit un DIMMER.
Les différents ordres correspondent donc à des valeurs de variation de lumière.

Avant toute chose, la syntaxe YAML est sensible …pour ne pas dire casse…
Alors pour éviter que votre HASS se mette en SAFE MODE (depuis la release 105) un petit lien pour vérifier la validité de la syntaxe.

D’ailleurs j’ai testé, indépendamment de ma volonté ce SAFE MODE, c’est nickel :wink:
On se reconnecte à l’instance et hop le message d’erreur :wink:

Hop c’est parti :wink:

1- Exclusion / Inclusion du module
→ L’exclusion on ne voit rien passer…je chercherai plus tard.
→ Inclusion : le module apparait dans Configuration → Zwave → Gerer → Noeuds" ; le module passe de l’état « static » à « complete »

2- L’inclusion crée 7 ENTITES :
→ 1 maître
→ 1 level
→ 3 sensors
→ 1 temperature


Je vous conseille d’ aller les renommer de suite pour les repérer plus facilement…sinon bonjour la galère si vous avez plusieurs qubino fil pilote
Allez dans « Configuration → Entités » puis modifier :
a- le nom de l’entité
b- entity_id : ATTENTION GARDER BIEN LE DOMAINE de l’entité, soit ce qu’il se trouve avant le « . »

Exemple : light.quibino_goap_… en light.radiateur_salon

3- Configuration.yaml
→ Créer un « input_select », une liste déroulante point de vue HASS

input_select:
  mode_chauffage_general:
    name:  Qubino Fil Pilote - Modes de chauffe Général
    options:
      - Confort
      - Confort -1
      - Confort -2
      - Eco
      - Hors-Gel
      - Arrêt
    initial:  Arrêt

4- Rédemarrer HASS pour la prise en compte de la modification de configuration.yaml

5- Automations.yaml
→ Exemple avec le mode confort

- id: '1581541617856'
  alias: Radiateur SAM - Confort
  description: ''
  trigger:
  - entity_id: input_select.mode_chauffage_radsam
    platform: state
    to: Confort
  action:
  - data:
      brightness: 255
    entity_id: light.radiateur_sam_level
    service: light.turn_on

→ id doit être unique pour hass, et est créé automatiquement lorsqu’on crée une automation.
→ astuce : j’ai créé la 1ere avec l’interface, puis copier coller et modifier selon le besoin et incrementer de 1 l’id.
→ créer une « automation » par ordre de chauffage.
→ PS : pour éviter cela, j’ai tente de le faire avec les « template » de HASS mias cela ne fonctionnait pas, je mettrais le nez dedans plus tard, la syntaxe doit bugguer lol
ci-dessous a quoi cela ressemble

  • alias: ‹ Radiateur SAM ›
    initial_state: false
    trigger:
    platform: state
    entity_id: input_select.mode_chauffage_radsam
    action:
    entity_id: light.radiateur_sam_level
    service_template: >
    {% if is_state(« input_select.mode_chauffage_radsam », « Confort ») %}
    light.turn_on
    {% elif is_state(« input_select.mode_chauffage_radsam », « Confort -1 ») %}
    light.turn_on
    {% elif is_state(« input_select.mode_chauffage_radsam », « Confort -2 ») %}
    light.turn_on
    {% elif is_state(« input_select.mode_chauffage_radsam », « Eco ») %}
    light.turn_on
    {% elif is_state(« input_select.mode_chauffage_radsam », « Hors-gel ») %}
    light.turn_on
    {% elif is_state(« input_select.mode_chauffage_radsam », « Arret ») %}
    light.turn_off
    {% else %}
    light.turn_off
    {% endif %}
    data_template:
    brightness: >
    {% if is_state(« input_select.mode_chauffage_radsam », « Confort ») %}
    130
    {% elif is_state(« input_select.mode_chauffage_radsam », « Confort -1 ») %}
    105
    {% elif is_state(« input_select.mode_chauffage_radsam », « Confort -2 ») %}
    79
    {% elif is_state(« input_select.mode_chauffage_radsam », « Eco ») %}
    54
    {% elif is_state(« input_select.mode_chauffage_radsam », « Hors-gel ») %}
    28
    {% elif is_state(« input_select.mode_chauffage_radsam », « Arret ») %}
    0
    {% else %}
    0
    {% endif %}

→ PS2 : la variation de HASS va de 0 à 250 et non de 0 à 100, faut donc jouer avec les valeurs de variation

6- Recharger les automations : Configuration → Contrôle du serveur → « Recharger les automations »

7- Créer une carte « entités »
→ Apercu → Modifier interface utilisateur ( 3 points verticaux en haut à droite) → le « + » en bas a droite → choisissez « entités »
→ sélectionnez l’input_select que vous avez créé au point 3

8- Créer une carte « Lumieres »
→ sélectionnez l’entité light.qubino…level
→ cette entité permet de visualiser la variation, soit la prise en compte de l’ordre.
9- Sauvegarder

Je vous joins un fichier yaml avec le code.
qubino_fil_pilote.yaml (2,5 Ko)

HAVE FUN :wink:

3 « J'aime »

Bonjour,
Merci pour ce tuto qui m’a aidé à comprendre les grands principes de fonctionnement de l’automatisation

Malheureusement je bloc en adapteur le code avec ma configuration
la vérification me renvoi le message suivant :

Invalid config for [automation]: Service {% if is_state(« input_select.mode_chauffage_seche_serviette », « Confort ») %}
light.turn_on
{% elif is_state(« input_select.mode_chauffage_seche_serviette », « Confort -1 ») %}
light.turn_on
{% elif is_state(« input_select.mode_chauffage_seche_serviette », « Confort -2 ») %}
light.turn_on
{% elif is_state(« input_select.mode_chauffage_seche_serviette », « Eco ») %}
light.turn_on
{% elif is_state(« input_select.mode_chauffage_seche_serviette », « Hors-gel ») %}
light.turn_on
{% elif is_state(« input_select.mode_chauffage_seche_serviette », « Arret ») %}
light.turn_off
{% else %}
light.turn_off
{% endif %}
does not match format . for dictionary value @ data[‹ action ›][0][‹ service_template ›]. Got None
invalid template (TemplateSyntaxError: unexpected char ‹ « › at 15) for dictionary value @ data[‹ action ›][0][‹ data_template ›]. Got None. (See /config/configuration.yaml, line 15).

mon adaptation est la suivante :

  • id: ‹ 1581541617861 ›
    alias: ‹ Radiateur Sdb ›
    initial_state: false
    trigger:
    platform: state
    entity_id: input_select.mode_chauffage_seche_serviette
    action:
    entity_id: light.qubino_goap_zmnhjd1_flush_dimmer_pilot_wire_level
    service_template: >
    {% if is_state(« input_select.mode_chauffage_seche_serviette », « Confort ») %}
    light.turn_on
    {% elif is_state(« input_select.mode_chauffage_seche_serviette », « Confort -1 ») %}
    light.turn_on
    {% elif is_state(« input_select.mode_chauffage_seche_serviette », « Confort -2 ») %}
    light.turn_on
    {% elif is_state(« input_select.mode_chauffage_seche_serviette », « Eco ») %}
    light.turn_on
    {% elif is_state(« input_select.mode_chauffage_seche_serviette », « Hors-gel ») %}
    light.turn_on
    {% elif is_state(« input_select.mode_chauffage_seche_serviette », « Arret ») %}
    light.turn_off
    {% else %}
    light.turn_off
    {% endif %}
    data_template:
    brightness: >
    {% if is_state(« input_select.mode_chauffage_seche_serviette », « Confort ») %}
    130
    {% elif is_state(« input_select.mode_chauffage_seche_serviette », « Confort -1 ») %}
    105
    {% elif is_state(« input_select.mode_chauffage_seche_serviette », « Confort -2 ») %}
    79
    {% elif is_state(« input_select.mode_chauffage_seche_serviette », « Eco ») %}
    54
    {% elif is_state(« input_select.mode_chauffage_seche_serviette », « Hors-gel ») %}
    28
    {% elif is_state(« input_select.mode_chauffage_seche_serviette », « Arret ») %}
    0
    {% else %}
    0
    {% endif %}

Peut-être auriez vous une idée du problème ?

bonjour as tu résolu ton problème.
cela peut peut être t’aider, vérifie bien les valeurs et autres je pense peut que peut être tu devras faire"Confort -1"ou 'confort -1' à la place de confort -1 et ainsi de suite.

alias: Nouvelle automatisation
description: ''
trigger:
  - platform: state
    entity_id: input_select.mode_chauffage_seche_serviette
condition: []
action:
  - choose:
      - conditions:
          - condition: state
            entity_id: input_select.mode_chauffage_seche_serviette
            state: Arret
        sequence:
          - service: light.turn_off
            data: {}
            entity_id: light.qubino_goap_zmnhjd1_flush_dimmer_pilot_wire_level
      - conditions:
          - condition: state
            entity_id: input_select.mode_chauffage_seche_serviette
            state: Hors-gel
        sequence:
          - service: light.turn_on
            data:
              brightness: 28
            entity_id: light.qubino_goap_zmnhjd1_flush_dimmer_pilot_wire_level
      - conditions:
          - condition: state
            entity_id: input_select.mode_chauffage_seche_serviette
            state:  Eco
        sequence:
          - service: light.turn_on
            data:
              brightness: 54
            entity_id: light.qubino_goap_zmnhjd1_flush_dimmer_pilot_wire_level
      - conditions:
          - condition: state
            entity_id: input_select.mode_chauffage_seche_serviette
            state: Confort -2
        sequence:
          - service: light.turn_on
            data:
              brightness: 79
            entity_id: light.qubino_goap_zmnhjd1_flush_dimmer_pilot_wire_level
      - conditions:
          - condition: state
            entity_id: input_select.mode_chauffage_seche_serviette
            state: Confort -1
        sequence:
          - service: light.turn_on
            data:
              brightness: 105
            entity_id: light.qubino_goap_zmnhjd1_flush_dimmer_pilot_wire_level
      - conditions:
          - condition: state
            entity_id: input_select.mode_chauffage_seche_serviette
            state: Confort
        sequence:
          - service: light.turn_on
            data:
              brightness: 130
            entity_id: light.qubino_goap_zmnhjd1_flush_dimmer_pilot_wire_level
    default: []
mode: single

Merci beaucoup
J’essaie ça demain

Bonjour,

Merci pour ce partage, je viens d’inclure et configurer mon module zwave Qubino Fil Pilote avec succès.

Une petite chose qui reste à améliorer pour le WAF, c’est le widget qui représente l’état du radiateur. Quelqu’un a-t-il déjà fait un widget plus joli qu’une lampe avec slider ?

Merci d’avance.

tu peux changer l’icone déjà

mdi:radiator

sur le forum tu trouvera les liens
tu vas dans configuration, puis appareils, puis ton appareil, puis entités et enfin icone.


et mettre l’option: icone de couleur basé sur l’état
pour activer l’option icone de couleur basé sur l’état :
sur votre lovelace, les trois boutons en haut à droite.

modifier le tableaux de bord

puis sur la carte à modifier choisir

modifier

enfin cocher icone basé sur la couleur.

1 « J'aime »

Bonjour,

Cela mérite peut-etre une explication :wink:

Merci pour le partage, j’avais effectivement changé l’icône.
Je regarde ce soir plus en détails pour le changement de couleur.

Oui effectivement, j’arrive bien à cette étape, mais comment choisir quelle couleur attribuer à un mode …
Je cherche un peu.

Merci

euh bonne question
en css regarde ici ,
ou avec des addons non officiel
HACS et custom card, card-mod et autres
personnellement je ne cherche pas encore cette utilité, mais je suis intéressé si tu trouve.
pour le niveau des batterie en visuel par exemple.

Bonjour,
Merci merci
ça fonctionne, j’ai réadapté le code et est modifié mon paraphage et ça fonctionne
Merci beaucoup

Problème résolu, peut nous donner des détails sur tes différentes erreurs : pour aider

Bonjour,

Super, dis nous comment tu as résolu :wink:

Bonjour à tout le monde… je suis nouveau avec HA, nouveau avec QUBINO, bref un bleu quoi.
Est-ce que quelqu’un a déjà utilisé ce module (fil pilote) avec la fonction thermostat de HA ?

Bonjour @Emmanuel

Désolé pour le retard de la réponse.

Je pense que cela ne fonctionnera pas, mais je n’ai pas testé.
Pourquoi ?
Le fil pilote est vu comme une lumiere à variation, chaque varaiation correspond à un signal, eco, confort, arret, hors-gel…

Je n’ai pas reverifie depuis que j’avais testé, mias dans mes souvenirs, l’integration générique du thermostat necessitait un paramètre obligatoire cible qui devait être une température…
Ce qui est donc impossible avec le Qubino…mais à vérifier

Bonjour Pépite, effectivement le problème c’est que le Qubino est vu comme une lumière à variation et pas en tant qu’interrupteur. Le paramètre cible (température) n’est pas un problème car on peut soir ajouter une sonde de température au Qubino soit associer n’importe quelle sonde température sur le réseau. Mais pas grave, j’ai fait mon propre thermostat (j’ai pas encore fait le côté Hystérésis mais je tenterai surement plus tard).
Voilà donc ce que ça donne pour l’instant…


Pas de panique pour la température du salon, j’ai simplement fait brûler une buche dans le poêle (en plus la sonde fait face au poêele - va falloir que je le change de place) mais du coup vous pouvez voir que ça fait le job puisque le chauffage du salon est pour l’instant inactif. Pour l’instant je n’ai qu’une plage jour mais je compte en ajouter une deuxième prochainement.

salut , comment met tu les infos début et fin (input_time) l’une a coté de l’autre en face de plage jour? :slight_smile: pour l’Hystérésis je cherche quelqu’un pour tester et faire son retour sur deux intégrations.

du topic

Regarde la carte multiple-entity-row

@Emmanuel
Effectivement fait chaud dans le salon :wink:

Pour ma part, j’ai 4 plages par jour avec un « python_script » + mode maison, marche forcée, notification et sensor.

oui merci j’ai installer multiple-entitity-row mais y’a un souci.


ca ca passe quand même, mais mon soucis est ici
que mettre sur la première ligne pour avoir un texte et pas un sensor.
ok je me repond à moi même :

type: entities
entities:
  - entity: input_boolean.thermostats_horaire
  - entity: input_datetime.sejour_start_1
    type: 'custom:multiple-entity-row'
    name: tranche 1
    show_state: false
    entities:
      - input_datetime.sejour_start_1
      - input_datetime.sejour_stop_1
  - entity: input_datetime.sejour_start_2
    type: 'custom:multiple-entity-row'
    name: tranche 2
    show_state: false
    entities:
      - input_datetime.sejour_start_2
      - input_datetime.sejour_stop_2
  - entity: input_datetime.sejour_start_3
    type: 'custom:multiple-entity-row'
    name: tranche 3
    show_state: false
    entities:
      - input_datetime.sejour_start_3
      - input_datetime.sejour_stop_3
state_color: true
show_header_toggle: false

reste a intégrer le valide horaire

type: button
tap_action:
  action: call-service
  service: script.recharge_les_heures
entity: input_boolean.reset_horaire
show_name: true

Ah bhe plus besoin, :slight_smile: et j’ai mis sensor.time dans le entity. Ok fonctionnelle

Bonsoir,
ton fichier .js n’est pas au bon endroit. C’est bizarre cela devrait etre dans
/config/www/community/ ??? Tu es sur quel matériel ?

show _state = false permet de supprimer la valeur d’affichage par défaut

Ce n’est plus utile normalement, depuis les dernieres versions.

A quoi ressemble ta carte maintenant ? C te plait ?