Prises connectés disparaissent

Bonjour à tous !!!
Je viens d’acheter des prises connectés silvercrest de chez Lidl qui fonctionne en 433,92 Mhz, j’ai un récepteur et émetteur rflink branché sur mon arduino, j’ai réussi à créer des boutons pour pouvoir les activer ou les éteindre , le problème est qu’ils disparaissent aléatoirement de quelques heures à 1 jour il me met entité non disponible ; pour qu’ils réapparaissent il me faut réutilisé la télécommande et là après c’est reparti pour un tour, donc je pense qu’il y a une solution du moins j’espère car je voudrais faire des automatisations. Merci d’avance pour votre aide

Salut,

Tes entités bouton/switch, tu les as créées en enregistrant le code de ta télécommande, à partie de l’intégration RF?
Ou tu as créé des bouton/switch template.

II est possible que HA mette ces entités indisponibles car rien n’est venu de celles-ci pendant un certain temps.
Comme tu n’as pas de retour d’états avec le RF 433, ça risque d’arriver souvent.
Désolé je ne sais pas comment ajuster ce délais dans HA…

En revanche j’avais des prises commandées en RF et j’avais créé des switch template pour chacune des prises et simplement envoyé un msg RF si on en changeait l’état dans HA. Ces switch ne sont jamais indisponibles, mais ils ne récupèrent pas non plus les commandes de la télécommande.

bonsoir AlesHass, pour faire mes boutons j’ai été dans ajouter une carte et sélectionné le code de ma prise qui est apparu quand j’ai appuyé sur la télécommande; après effectivement je n’ai pas de retour d’état, je vais voir comment faire des switch template, je te tiens au jus merci

bon je pense que je n’y suis pas du tout, voici ce que j’ai fait :cold_sweat:

switch:
  - platform: template
    switches:
      blind:
        friendly_name: "Prise salon"
        value_template: "{{ is_state_attr('switch.blind_toggle', 'sensor_state', 'on') }}"
        turn_on:
          service: switch.toggle
          target:
            entity_id: light.unitec_32ae_01
        turn_off:
          service: switch.toggle
          target:
            entity_id: light.unitec_32ae_01

Ne riez pas :upside_down_face:

Par rapport à ta config, ça risque pas de marcher :slight_smile:
Y’a un peu trop de mélange là.

  • ton switch.blind_toggle on ne sait pas d’où ça sort.
  • Pour turn_on tu appelles un service de domaine « switch » sur une entité « light »

Je ne sais pas si tu peux reprendre ma façon.
Voici ce que j’avais qui marchait pas mal pour le cas de prises connectées DiO.
J’avais pour chaque prise 2 entités.

  • 1 Booléen juste pour enregistrer si c’est on ou off.
  • 1 Switch qui sert à avoir une carte et a lancer les actions on/off, son état reprend celui du booléen.

Moi j’avais une RFXCOM, dans le service pour envoyer risque de ne pas être le même.
Le code code envoyé c’est ce que j’avais enregistrer pour le on et le off de chaque prise.

Dans le yaml, ça ressemble à ça:

input_boolean:
  diom1:
    icon: mdi:lightbulb

switch:
  - platform: template
    switches:
      diom1:
        value_template: "{{ is_state('input_boolean.diom1', 'on') }}"
        friendly_name: "Prise M1"
        turn_on:
          - service: input_boolean.turn_on
            entity_id#: input_boolean.diom1
          - service: rfxtrx.send
            data:
              event: 071001084D010100
        turn_off:
          - service: input_boolean.turn_off
            entity_id: input_boolean.diom1
          - service: rfxtrx.send
            data:
              event: 071001094D010000

Salut
Ceci n’est pas un tutoriel mais une demande d’aide qui devrait être posté dans #entraide-home-assistant.

Pense y pour la prochaine demande. :wink:

Je déplace le sujet.

Merci McFly je ferais plus attention désolé

1 « J'aime »

Bonjour AlexHass
donc j’ai essayé de mettre ton code mais je pense que je merde quelques parts et au vu de l’erreur cela viendrai de l’ID
Invalid config for [switch.template]: [entity_id#] is an invalid option for [switch.template]. Check: switch.template->switches->diom1->turn_on->0->entity_id#. (See ?, line ?).

input_boolean:
  diom1:
    icon: mdi:lightbulb

switch:
  - platform: template
    switches:
      diom1:
        value_template: "{{ is_state('input_boolean.diom1', 'on') }}"
        friendly_name: "Prise salon"
        turn_on:
          - service: input_boolean.turn_on
            entity_id#: input_boolean.diom1
          - service: rflink
            data:
              event: light.unitec_32ae_01
        turn_off:
          - service: input_boolean.turn_off
            entity_id: input_boolean.diom1
          - service: rflink
            data:
              event: light.unitec_32ae_01

voilà

Mon copier/coller était mauvais, faut enlever le « # » !!!

Sinon cette ligne ne marchera pas non plus, « rflink » c’est le nom de ton intégration. un service c’écrit généralement <intégration>.

- service: rflink

En fait je te conseilles de commencer par aller dans « Outils de développement » puis l’onglet services.
Puis tu tapes rflink dans la ligner service, ça t’affichera ce qui existe. Choisis ce qui semble convenir pour ce que tu veux faire et fais des essais, avec d’essayer de faire ça dans une switch template.
Essaye de trouver ce qu’il faut faire pour envoyer un on et un off.

Ensuite je ne sais pas i je peux beaucoup t’aider, je ne connais que rfxcom, rflink ne marche pas pareil je crois.

AlexHass merci pour tes infos car j’avance un peu j’ai réussi à faire le bouton mais bon ne fonctionne pas :sweat_smile:

input_boolean:
  diom1:
    icon: mdi:lightbulb

switch:
  - platform: template
    switches:
      diom1:
        value_template: "{{ is_state('input_boolean.diom1', 'on') }}"
        friendly_name: "Prise M1"
        turn_on:
          - service: input_boolean.turn_on
            entity_id: input_boolean.diom1
          - service: rflink.send_command
            data:
              event: light.unitec_32ae_01
        turn_off:
          - service: input_boolean.turn_off
            entity_id: input_boolean.diom1
          - service: rflink.send_command
            data:
              event: light.unitec_32ae_01

quand j’appui dessus il me marque : échec de l’appel du service "switch/turn_off.extra keys not allowed @data[‹ event ›]

bonjour, mes boutons on l’air de tenir un peu plus mais hélas je n’ai pas réussi à faire comme toi AlexHass, je vais essayer de vous donner un peu plus de donner pour m’aider, avec mon récepteur émetteur rflink j’ai lancé via windows rflink loader et en appuyant sur le bouton 1 on de ma télécommande j’ai ça qui s’affiche:

Unitec;ID=32ae;SWITCH=01;CMD=ON

et quand j’appuie sur bouton 1 off

Unitec;ID=32ae;SWITCH=01;CMD=OFF

maintenant voici ce que j’ai dans ma carte :

type: vertical-stack
cards:
  - type: button
    tap_action:
      action: toggle
    entity: light.unitec_32ae_01
    icon: mdi:power-socket-fr
    name: Prise chargeur salon
    show_state: true
  - type: button
    tap_action:
      action: toggle
    entity: light.unitec_32ae_02
    icon: mdi:power-socket-fr
    name: Prise TV
    show_state: true
  - type: button
    tap_action:
      action: toggle
    entity: light.unitec_32ae_03
    icon: mdi:power-socket-fr
    show_state: true
    name: Prise poulailler

mon but serait de faire une automatisation mais je ne trouve pas mes boutons quand je veux appeler un service.
Merci d’avance pour votre aide

Ca on dirait le message RF décodé par rflink, ça t’affiche aussi la valeur brute?
Généralement en hexadécimale qui ressemblerait àa ça:
0710010832AE010100
(pas forcément la même longueur ni les même chiffres, mais avec le 32AE quelque part dans le code…)
Car si tu trouves ça il est surement possible d’utiliser ce code pour allumer/éteindre en l’envoyant avec un service.

Dans ta carte que tu partages.
Que se passe t’il quand tu cliquer sur l’icone?
Quelque chose s’allume?

bonjour, quand j’appuie sur l’icone de ma carte la prise s’allume et l’icone change de couleur (jaune) et inversement quand je rappuie dessus ça éteint la prise et l’icone repasse en gris, par contre si j’ai utilisé la télécommande je suis obligé de faire 2 appuis car il n’a pas tout le temps pris en compte le changement de mode, si home assistant est ouvert et que j’utilise la télécommande je vois les changement d’état dès qu’il est fermé cela ne remonte pas. Donc si j’ai bien compris AlexHass si j’arrive à mettre le code que tu as déchiffré je pourrais choisir du ON ou OFF ?

Bonjour, je relance l’affaire car je suis toujours dans l’impasse, donc AlexHass si le code que tu m’as décodé est bon je pourrais l’utiliser, mais comment je peux l’essayer ? Merci

Juste pour résumer si j’ai bien compris.

  • Tu as ajouté à ton interface des boutons qui correspondent à chaque prise…
  • Quand tu cliques sur ces boutons, tu arrives bien à allumer ou éteindre tes prises.
  • Maintenant tu veux ajouter ça dans une automatisation.

Si ce que j’ai compris est correct, oublie le code que j’ai donné… c’est que tes prises marchent. Mais dans ce que tu dis, je pense que tu t’emmêles les pinceaux entre boutons lovelace et entités de HA.
Les boutons que que as créé, c’est « juste » des élements d’interface graphique, ce n’est pas ça que tu contrôle dans des automatisation.
Mais comme tu peux voir dans les boutons partagés tu as attaché à chacun une « entity ». Et c’est ça qu’on contrôle au final.

Dans ton exemple:

  • « name: Prise chargeur salon » tu as l’entité « entity: light.unitec_32ae_01 ».
  • light.unitec_32ae_01 c’est une entité de type lumière. De base une lumière offre les services « turn_on », « turn_off » et « toggle ».
  • ton bouton est réglé pour que chaque clic lance le service « toggle ».

Si toi tu veux créer une automatisation pour allumer cette prise tu dois appeler le service « light.turn_on » et lui ajouter l’entité light.unitec_32ae_01
Tu peux essayer ça dans les outils de développement, rubrique services.

AlexHass tu m’as complètement cerné :grinning: et j’ai réussi à faire les automatisations, merci de ton aide, mais si j’arrive à le faire avec le code théoriquement je n’aurai pas la perte des entités de mes prises? car elles avaient de nouveaux disparues et je suis obligé de ré-appuyer sur les touches de la télécommandes pour qu’elles réapparaissent !
Merci

Ok ça progresse :slight_smile:
Maintenant cette histoire de prises qui disparaissent…
Je ne sais pas trop car je ne connais pas rflink… mais j’ai l’impression que tu les cas car tu les avais crées en enregistrant un appui sur la télécommande… As-tu regardé la doc de HA sur RFLink.
Je pense que une fois que tu connais les ID de tes prises (light.unitec_32ae_01, etc…) tu dois les ajouter à la main dans le configuration.yaml, pour ne pas les perdre à chaque fois.

Je n’ai pas de rflink je ne pourrais t’aider beaucoup plus je pense pour ces détais là…

Regarde la doc:

Merci beaucoup AlexHass j’ai fait comme indiqué du moins j’espère pour l’instant cela fonctionne à voir si ça disparaît :crossed_fingers:

rflink:
  port: /dev/serial/by-id/usb-Arduino__www.arduino.cc__0042_5584634343225181A060-if00
  wait_for_ack: true
  reconnect_interval: 20
light:
  - platform: rflink
    devices:
      light.unitec_32ae_01: {}
      light.unitec_32ae_02: {}
      light.unitec_32ae_03: {}

En plus grâce à tes précieux conseils je comprends mieux certaines choses :grinning:

1 « J'aime »

Holà tout le monde !!! bon c’était trop beau pour que ça dur mes entités continues de disparaitre, je suis dégouté et je pense que si j’arrive à utiliser le code hexadécimale que AlexHass à déchiffrer, ça devrait fonctionner non ? mais commet utiliser ce code ? Merci d’avance

Bonjour, as tu trouvé une solution car je galère aussi avec mes télécommande.
Merci