Intégration Legrand Cable outlet 064882 à Zigbee2MQTT

Bon suite à l’achat, j’ai fait une petite carte mushroom (encore simplifiable/optimizable)
image

type: custom:stack-in-card
cards:
  - type: custom:layout-card
    layout_type: grid
    layout:
      grid-template-rows: 25px
      grid-template-areas: |
        "entity info"
        "entity last"
    cards:
      - type: custom:mushroom-template-card
        primary: >-
          {{state_attr('switch.convecteur_bureau','friendly_name')| title }}
        secondary: >-
          {{
          states('switch.convecteur_bureau')|replace('on','Allumé')|replace('off','Éteint')
          }}
        icon: mdi:radiator
        entity: switch.convecteur_bureau
        picture: >-
          {{state_attr('switch.convecteur_bureau','entity_picture') }}
        icon_color: |
          {% if is_state('switch.convecteur_bureau','on') %}
            yellow
          {% else %}
            disable
          {% endif %}
        view_layout:
          grid-area: entity
          grid-column-start: 1
          grid-column-end: 3
      - type: custom:mushroom-template-card
        primary: ''
        secondary: >-
          Il y a {{ relative_time(states.switch.convecteur_bureau.last_changed)
          | regex_replace('second','seconde') | regex_replace("hour", "heure")
          |regex_replace("day", "jour") |regex_replace("month(s){0,1}", "mois")
          }}
        view_layout:
          grid-area: last
        card_mod:
          style: |
            ha-card {
              background-color: transparent;
              margin-top: 10px;
              margin-right: 5px;
              text-align: right;
              box-shadow: none;
            }
      - type: custom:mushroom-template-card
        primary: ''
        secondary: '{{ states(''sensor.convecteur_bureau_power'') }} W'
        view_layout:
          grid-area: info
        card_mod:
          style: |
            ha-card {
              background-color: transparent;
              margin-top: 10px;
              margin-right: 5px;
              text-align: right;
              box-shadow: none;
            }
  - type: custom:mushroom-chips-card
    card_mod:
      style: |
        ha-card {
          margin-bottom: 10px;
        }
    alignment: center
    chips:
      - type: template
        content: >-
          Il y a {{
          relative_time(states.select.convecteur_bureau_cable_outlet_mode.last_changed)
          |
            regex_replace('second','seconde') | regex_replace("hour", "heure")
            |regex_replace("day", "jour") |regex_replace("month(s){0,1}",
            "mois") }}
      - type: template
        icon: mdi:radiator-off
        entity: select.convecteur_bureau_cable_outlet_mode
        icon_color: |-
          {% if is_state('select.convecteur_bureau_cable_outlet_mode', 'off') %}
            yellow
          {% else %}
            disabled
          {% endif %}
        tap_action:
          action: call-service
          service: select.select_option
          service_data:
            entity_id: select.convecteur_bureau_cable_outlet_mode
            option: 'off'
        card_mod:
          style: |
            ha-card {
                {% if is_state('select.convecteur_bureau_cable_outlet_mode', 'off') %}
                   --chip-background: rgba(var(--mush-rgb-state-entity), 0.3);
                {% else %}
                  --chip-background: rgba(var(--rgb-grey), 0.1);
                {% endif %}
             } 
      - type: template
        icon: mdi:snowflake-thermometer
        entity: select.convecteur_bureau_cable_outlet_mode
        icon_color: >-
          {% if is_state('select.convecteur_bureau_cable_outlet_mode',
          'frost_protection') %}
            yellow
          {% else %}
            disabled
          {% endif %}
        tap_action:
          action: call-service
          service: select.select_option
          service_data:
            entity_id: select.convecteur_bureau_cable_outlet_mode
            option: frost_protection
        card_mod:
          style: |
            ha-card {
                {% if is_state('select.convecteur_bureau_cable_outlet_mode', 'frost_protection') %}
                   --chip-background: rgba(var(--mush-rgb-state-entity), 0.3);
                {% else %}
                  --chip-background: rgba(var(--rgb-grey), 0.1);
                {% endif %}
             }
      - type: template
        icon: mdi:thermometer-low
        entity: select.convecteur_bureau_cable_outlet_mode
        icon_color: |-
          {% if is_state('select.convecteur_bureau_cable_outlet_mode', 'eco') %}
            yellow
          {% else %}
            disabled
          {% endif %}
        tap_action:
          action: call-service
          service: select.select_option
          service_data:
            entity_id: select.convecteur_bureau_cable_outlet_mode
            option: eco
        card_mod:
          style: |
            ha-card {
                {% if is_state('select.convecteur_bureau_cable_outlet_mode', 'eco') %}
                   --chip-background: rgba(var(--mush-rgb-state-entity), 0.3);
                {% else %}
                  --chip-background: rgba(var(--rgb-grey), 0.1);
                {% endif %}
             }
      - type: template
        icon: mdi:checkbox-multiple-outline
        entity: select.convecteur_bureau_cable_outlet_mode
        icon_color: >-
          {% if is_state('select.convecteur_bureau_cable_outlet_mode',
          'comfort') %}
            yellow
          {% else %}
            disabled
          {% endif %}
        tap_action:
          action: call-service
          service: select.select_option
          service_data:
            entity_id: select.convecteur_bureau_cable_outlet_mode
            option: comfort
        card_mod:
          style: |
            ha-card {
                {% if is_state('select.convecteur_bureau_cable_outlet_mode', 'comfort') %}
                   --chip-background: rgba(var(--mush-rgb-state-entity), 0.3);
                {% else %}
                  --chip-background: rgba(var(--rgb-grey), 0.1);
                {% endif %}
             }
      - type: template
        icon: mdi:numeric-1-box-multiple-outline
        entity: select.convecteur_bureau_cable_outlet_mode
        icon_color: >-
          {% if is_state('select.convecteur_bureau_cable_outlet_mode',
          'comfort-1') %}
            yellow
          {% else %}
            disabled
          {% endif %}
        tap_action:
          action: call-service
          service: select.select_option
          service_data:
            entity_id: select.convecteur_bureau_cable_outlet_mode
            option: comfort-1
        card_mod:
          style: |
            ha-card {
                {% if is_state('select.convecteur_bureau_cable_outlet_mode', 'comfort-1') %}
                   --chip-background: rgba(var(--mush-rgb-state-entity), 0.3);
                {% else %}
                  --chip-background: rgba(var(--rgb-grey), 0.1);
                {% endif %}
             }
      - type: template
        icon: mdi:numeric-2-box-multiple-outline
        entity: select.convecteur_bureau_cable_outlet_mode
        icon_color: >-
          {% if is_state('select.convecteur_bureau_cable_outlet_mode',
          'comfort-2') %}
            yellow
          {% else %}
            disabled
          {% endif %}
        tap_action:
          action: call-service
          service: select.select_option
          service_data:
            entity_id: select.convecteur_bureau_cable_outlet_mode
            option: comfort-2
        card_mod:
          style: |
            ha-card {
                {% if is_state('select.convecteur_bureau_cable_outlet_mode', 'comfort-2') %}
                   --chip-background: rgba(var(--mush-rgb-state-entity), 0.3);
                {% else %}
                  --chip-background: rgba(var(--rgb-grey), 0.1);
                {% endif %}
             } 
4 « J'aime »

Encore un qui a craqué pour ces sorties de câbles :slight_smile:
Chapeau pour la carte, propre !!!

Exactement ce que j’ai entendu dire ici :

T’as craqué ? Le convecteur démonté et resté est en plein milieu :skull_and_crossbones:

On remerciera l’électricien qui met des boites de dérivation, mais avec l’armature du convecteur qui passe en plein milieu !!! :face_with_head_bandage:
Donc oui, mais je crois que c’est pas pour les même raisons par contre :sweat_smile:

C’était un électricien de chez Wish ? :smiley:

Je ne sais pas d’où il vient (partie rénové avant mon arrivée), mais ce qui est sûr c’est que je le reprendrais plus.

C’est long ce genre d’âneries et je suis pas expert sur l’ui, donc il reste toujours pleins de petits défauts…

1 « J'aime »

J’ai réussi à faire l’appairage en appuyant 5 fois sur la mollette et la LED rouge est passée directement au vert. Toutes les manips précédentes étaient sans succès.

Bonjour,

Merci beaucoup pour le travail fourni pour cette intégration ! J’ai une petite question qui reste en suspend de mon côté. Est-il possible d’utiliser ces prises uniquement avec home assistant, sans le bridge du constructeur ?

J’ai bien conscience vu les messages du dessus qu’il ne sera pas possible de faire les mises à jour (pour l’instant). Mais j’ai croisé des messages (datant de plusieurs années), qui laissaient penser que cela n’était pas possible.

Merci d’avance pour vos informations :slight_smile:

Salut
Oui pas besoin d’une boîte legrand pour utiliser le module. Zigbee suffit.
Et pour les mises à jour, elles ne doivent pas changer fondamentalement le fonctionnement du module alors ne pas les avoir…

Salut

j’ai 3 cable outlet chez moi et pas le bridge de Legrand.
Aujourd’hui commandé via l’API deconz mais dès que je peux je le mets sous Z2M.

Salut,

Merci beaucoup pour les précisions, j’ai reçu et installé ces modules tout semble fonctionner parfaitement !

Merci encore pour tout le travail sur l’intégration avec Z2M :slight_smile:

J’étais en train de regarder pour ajouter la consommation dans le dashboard energy. A priori le sensor n’est pas configuré avec les long term statistics. (sitedehomeassistant/docs/core/entity/sensor/#long-term-statistics)
Certains d’entre vous ont réussi à l’intégrer, vous savez si un travail est en cours ? Histoire que je me lance pas sur le sujet si quelqu’un a déjà intégrer la chose !

Sinon je vais regarder ça dans les prochains jours (j’ai jamais trop mis les doigts dans ça, mais ça ne doit pas être trop sorcier)

2 « J'aime »

Voilà de quoi jouer en ajoutant un sensor:

sensor:
  - platform: template
    sensors:
      convecteur_bureau_electric_consumption_kwh:
        friendly_name: "Convecteur bureau electric consumption [kWh]"
        unit_of_measurement: "kWh"
        value_template: "{{ states('sensor.convecteur_bureau_power') | float(0) / 1000 }}"
        device_class: energy
        attribute_templates:
          state_class: total_increasing
1 « J'aime »

Top ! merci beaucoup pour toutes ces info :slight_smile:

Salut @jeannehiz
Perso, j’ai ma propre intégration de la puissance instantanée donnée par la sortie de câble. Cela me permet de la réinitialiser quand j’ai besoin.
Je crois que les intégrateurs proposés par HA n’ont pas de fonction reset. Par exemple celui ci:

sensor:
  - platform: integration
    source: sensor.current_power
    name: energy_spent
    unit_prefix: k
    round: 2
1 « J'aime »

Bonjour,

merci pour votre travail.
J’attends de recevoir le cable outlet 064882 et en attendant je me pose quelques questions.
Dans le cadre d’un radiateur, je comprends très bien le principe d’énum comfort , comfort-1 , comfort-2 , eco , frost_protection , off
Mais concernant le cas d’un sèche serviette avec fil pilote, savez-vous comment cela va se comporter ? Au vu de mon boitier de commandes actuel je n’ai pas l’impression qu’il y ait de notions de « comfort », « éco », « frost », etc.
Pour moi un sèche serviette peut être mis en marche forcée pour 2h, mais pas autre chose ?
Est-ce que quelqu’un d’autre utilise cet appareil avec un sèche serviette ?

merci :wink:

Un sèche-serviette avec fil pilote se comporte de la même manière qu’un radiateur.
En revanche, avec un sèche-serviette soufflant, ça fonctionne autrement.
Le mode Confort fonctionnera sur ce type de radiateur avec une puissance réduite car le mode soufflant de ce dernier (sauf s’il est connecté) ne peut s’activer que via un appui sur son panneau de commande.

J’ai ce type de sèche-serviette à la maison et ce n’est absolument pas la configuration optimale pour le domotiser…

1 « J'aime »

merci pour la réponse, le miens n’est pas soufflant, donc j’en deduis que ca fera bien l’affaire. Plus qu’à installer et à voir de moi meme donc

bonne soirée!

1 « J'aime »

Hello la communauté, un Grand merci pour ce partage et surtout à @Carthage pour l’intégration du 064882

J’ai installé 2 modules legrand 064882 sur ma domotique
Ma conf Zigbee2MQTT version 1.27.0 (commit #a9b8808) / Jeedom 4.3.5 /Sonoff Zigbee 3.0 USB Dongle Plus), test sur 2 modules legrand Cable outlet model 064882, Date du firmware 20220708, Version du firmware 0017.
J’ai effectué un reset du module comme expliqué précédemment (8 secondes appuyé sur le bouton avec la roue dentée… led passe au vert). J’ai bien la led verte, le module remonte bien dans les log Zigbee2MQTT, cependant Je n’ai que les informations suivante {« linkquality »:40,« power »:0,« state »:« ON »} et ceux sur mes 2 appareils. Les radiateurs ont les modes suivant: soleil/nuit/programme/hors-gel/off avec une molette pour régler le mode ‹ Soleil › et une pour le mode ‹ nuit ›.
J’ai bien branché le fil pilote sur le module lergand (repère FP sur le boîtier). J’ai testé le mode ON/OFF qui fonctionne bien ainsi que la remonté d’énergie (power)
Je n’arrive pas à avoir la remonté d’information sur le fil pilote, donc de pouvoir changer les informations eco, confort…

Mais en rédigeant mon problème J’AI TROUVE la SOLUTION :wink:
donc je post la suite si cela peu servir à quelqu’un d’autre

Je pensais que les infos de la doc Legrand 064882 control via MQTT | Zigbee2MQTT allait ressortir tous seul dans mon JSON, mais en fait non… donc

je récupère les infos du device_mode
zigbee2mqtt/chauffage_cuisine_45ba/get => {« device_mode »:«  »}
J’obtiens dans les logs:
MQTT publish: topic 'zigbee2mqtt/chauffage_45ba', payload '{"cable_outlet_mode":"eco","device_mode":"pilot_off","led_when_off":"OFF","led_when_on":"OFF","linkquality":36,"power":0,"state":"ON"}'

J’active le device_mode ‹ pilot_on › avec le post suivant
zigbee2mqtt/chauffage_cuisine_45ba/set => {« device_mode »:« pilot_on »}
J’obtiens dans les logs:
MQTT publish: topic 'zigbee2mqtt/chauffage_45ba', payload '{"cable_outlet_mode":"eco","device_mode":"pilot_on","led_when_off":"OFF","led_when_on":"OFF","linkquality":40,"power":0,"state":"ON"}'

Et cela fonctionne, je peux passer de ECO, Confort, hors_gel, Off sur device_mode
Donc pour résumer, une suffit juste d’activer ce mode {« device_mode »:« pilot_on »}, bref tout était dans la doc :wink: mais bon il faut pratiquer un peu quand même

Merci encore Carthage de nous permettre d’utiliser le 064882 à notre sauce :wink:

Pas de problème :wink:
Mais ton histoire est bizarre. Tu dois en théorie avoir tout ça dans Z2M concernant ce module, sans rien « bidouiller » :

Essaies de cliquer sur le bouton « Reconfigurer » pour ton module et regardes si ça change les choses

Hello, idem pour moi,

Merci @Carthage et @chrisdelt de votre commentaire rapide.
De mon coté J’ai fait de nouveau un « Reconfigurer » et j’ai
Capture d’écran du 2022-10-23 22-38-55
Je n’ai pas l’information ‹ power_on_behavior › d’affiché (peut être parce que le fil pilote est activé!). Mais rien de bloquant j’ai pu créer mon scénario et passer mes radiateurs en mode nuit/jour en auto :blush: