Forum Francophone Home Assistant

Broadlink RM mini - apprendre ou importer des commandes

Bonjour,
Je suis actuellement sous jeedom et entrai de tester HA. J’ai reussi à intégrer mon RM mini via l’integration boradlink, maintenant je cherche comment faire pour lui faire apprendre des code de telecommande IR et aussi importer celle deja presente dans jeedom.
J’ai suivi l’exemple de la donc et j’en ai profité pour créer un fichier switch.yaml
dedans j’ai mis ce code pour tester :

      - platform: broadlink
    mac: xx:xx:xx:xx:xx
    switches:
      - name: Ampli Cambridge
        command_on: 2600b0003a1d1e393b1c1e1d1c1e1d3a3a3a3b1c1e391e000b543a1d1d3a3b1c1e1c1d1d1d3a3a3b391e1d3a1d000b543b1d1d3a3a1d1d1d1e1c1e393b393b1d1d3a1d000b553a1d1d3a3a1d1f1b1f1b1f383b3a3a1d1e391e000b533c1c1e393a1d1e1c1f1b1f383b393b1d1d3a1d000b543b1c1e393b1d1d1d1d1d1d3a3b393b1c1e391e000b543a1d1d3a3c1c1c1e1c1e1c3b3b3900000000000000000000000000000000000000000000000000000
        command_off: 2600b6001f1b1f1b1f1b1f1c3c1b1f383c1b1f381f1b1f1b1f1c1f000b6a1f1b1f1b1f1c1e1c3c1b1f383c1b1f381f1c1e1c1e1c1f000b6a1f1b1f1b1f1c1f1b3c1b1f383c1b1f381f1b1f1c1f1b1f000b6a201a201a201b1e1c3a1d1e393b1c1e391e1c1e1d1d1d1d000b6c1e1c1e1c1e1d1d1d3a1d1e393b1c1d3a1e1d1d1d1d1d1d000b6c1d1d1d1d1d1e1c1e3a1d1d3a3b1c1e391e1c1e1d1d1d1d0000000000000000000000000000000000000
      - name: LG TV
        command_on: JgBYAAABIJISExETETcSEhISEhQQFBETETcROBESEjcRNhM1EjcTNRMTERISNxEUERMSExE2EjYSNhM2EhIROBE3ETcR00000000000000000000000000000000
        command_off: JgBYAAABIJISExETETcSEhISEhQQFBETETcROBESEjcRNhM1EjcTNRMTERISNxEUERMSExE2EjYSN0000000000000000000000000000000000000000000

J’ai trouvé l’adress mac sur mon routeur.
LG TV c’est pour tester et voir si j’ai bien une entité qui apparait (je n’ai pas de TV LG) en plus de mon ampli cambridge. J’ai pris les codes IR que j’ai trouvé dans jeedom mais ca n’a pas l’air d’etre le bon format. Hex2send…
de plus si sur mon ampli j’ai autre chose a mettre que du ON ou OFF que faut il mettre comme nom ? j’ai plusieurs entrées a ajouter

Lorsque j’active les switch depuis l’interface la led du Rm mini ne s’allume pas. Je n’ai pas l’impression que ca communique avec le Rm mini…

Merci pour votre aide

bonjour comment vas aujourd’hui.
il faut te mettre dans outil de développement
puis service:
la tu appel le service remote.learn_command
avec comme data:
. entity_id: remote.bedroom
device: television
command: power

entity id le nom de ta braodlink (pour ha)
device c’est tv , aspirateur, ampli radio
command c’est on , off , mute…
une fois tout rempli tu fais appeler le service. et tu appuie sur le bouton
apres tu vas dans le fichier partager avec samba si tu as installer . /config/.storage/et tu retrouvera tes commandes. à finir à la main ou de la même manière pour les autres commandes.
autre solution voir chez @Canaletto ici

Ca va très bien, je decouvre HA et le RM mini me fait galéré :slight_smile:
Y a un truc que je ne dois pas piger car je n’ai pas l’impression qu’il communique. pourtant lors de l’ajout du RM mini 3 il me l’a ajouté.

J’ai une question aussi concernant l’adresse ip du RM mini qui m’a été demandée lors de l’intégration. Comment je peux faire pour la modifier ou voir ce que j’ai indiqué ?

J’ai une télécommande HS mais dans la doc il y a les codes. comment je vais pour les ajouter ? a priori faut convertir non ?

image

bonjour.

tu trouvera l’ip dans /config/.storage/core.config_entries

accessible par smb (addons sambas installer)

regarde du coté des [calculatrice] de conversion, mais comme ca tes codes me paraissent très court.

Résumé

ici il ont l’air d’expliquer le fonctionnement avec ton code a 4 « digits » je sais pas si c’est comme ca qu’on dit.

a tester mais si ca marche ca sera pratique

met ta marque etc ca à l’air d’être pas mal ,je compte sur toi pour vérifier.

après re-conversion ici ou pas je sais pas mais ca ressemble.

autres piste:
ici

script:
  turn_on_ac:
    sequence:
      - service: remote.send_command
        data:
          entity_id: remote.bedroom
          device: television
          command:
            - turn on
            - b64:JgAaABweOR4bHhwdHB4dHRw6HhsdHR0dOTocAA0FAAAAAAAAAAAAAAAAAAA=

en fait sur mac ce dossier est caché… j’ai trouvé… merci.

Pour le broadlink avant de me prendre la tete avec les codes je vais deja essayer d’envoyer n’importe quel code pour voir si ca communique. La petite led devant est censée s’allumer et ce n’est ps le cas…
Le broadlink est bien intégé je pense mais par contre je n’arrive pas a envoyer de codes. je vais chercher mais sur le blog de My canaletto je n’ai pas l’inression qu’il utilise l’intégration « officielle »

je viens de refaire un test d’apprentissage mais je ne trouve pas le fichier avec le code ir enregistré donc je presume que ca ne fonctionne pas.


dans l’outil de developpement j’ai mis ceci :

entity_id: remote.rmmini3_remote
device: television
command: Turn on
command_type: ir
alternative: true
timeout: 30

Je clique sur « appeler le service » j’appuie sur le bouton de la telecommande avant 30s mais je n’ai rien

j’ai essayé ce script aussi

  learn_tv_power:
sequence:
  - service: remote.learn_command
    data:
      entity_id: remote.rmmini3_remote
      device: television
      command: power
1 J'aime

1
il faut changer l’entité et l’entité id:avec ton braodlink
le device et la commande.
après tu appui sur appeler le service une notification(en bas a droite) te demande d’appuyer sur le bouton de la télécommande.

lorsque je clique sur appeler le service il ne se passe rien… je ne comprends pas. quand je clique ca passe vert et redevient bleu


moi ca fait ca.

image
ca y est en fait dans l’interface le switch du RM mini etait desactivé… tout ce temps pour ca…

Maintenant il ne me reste plus qu’a comprendre comment l’envoyer pour avoir un bouton dans l’interface HA

j’ai fais un script pour mon aspirateur.

alias: marche aspirateur
sequence:
  - service: remote.send_command
    data:
      entity_id: remote.braodlink_salon_remote
      device: aspirateur
      command: marche
mode: single

apres tu peux faire des switch comme t’avais commencer et une carte bouton

bon du coup j’ai trouver mieux
tu sélectionne ton braodlink, ton appareil, ta commande. tu exécute le scripte.

1/ trois input_select.
dans input_select.yaml

#############################
######## broadlink ##########
#############################
entity_id:
    name: Text 1
    options:
       - remote.braodlink_salon_remote
       - autres
device: 
    name: Text 2
    options:
       - aspirateur
       - television
       - autres
command:
    name: Text 3
    options:
       - marche
       - arret
       - son+
       - son-
       - son mute
       - menu
       - retour
       - netfix
       - av
       - autres

à modifier selon tes besoins tu peux rajouter ce que tu aura besoin.

2/ puis deux scripts :

alias: braodlink(executer)
sequence:
  - service: remote.send_command
    data:
      entity_id: '{{ states(''input_select.entity_id'') }}'
      device: '{{ states(''input_select.device'') }}'
      command: '{{ states(''input_select.command'') }}'
mode: single  

alias: braodlink (enregistrer)
sequence:
  - service: remote.learn_command
    data:
      entity_id: '{{ states(''input_select.entity_id'') }}'
      device: '{{ states(''input_select.device'') }}'
      command: '{{ states(''input_select.command'') }}'
mode: single

enfin dans ton lovelace 1 carte

type: entities
entities:
  - entity: input_select.entity_id
  - entity: input_select.device
  - entity: input_select.command
  - entity: script.broadlink (executer)
  - entity: script.broadlink (enregistrer)

ce qui donne:
1

ne pas oublier de recharger avant la première utilisation. redémarrage ou recharger les entité et les scripts)

du coup pour enregistrer les commandes. tu les crées dans tes input_select (recharge des input select), puis tu choisi et exécute le script (enregistrer).

je comprend pas pourquoi je n’ai pas fait ca avant.:slight_smile:

autres post à la résolution:
1/

2/

1 J'aime

Bonsoir Messieurs, je passe par la un peu tard :wink:

Le passage en base64 n’est pas obligatoire

Je partage mon script si ca peut aider, hyper simple comme décrit par @steffleur

  • Creation du script
  • Rechargement des scripts par configuration ou developer tools par le service script.reload
  • On lance le script
  • on clique sur la télécommande au rythme de la led du broadlink RM
  • FINIIIIIIIIIIIIIIIIIIIIII

Puis on script.automatise avec les noms des commandes données lors de l’apprentissage :wink:

learn_poele_commands:
  sequence:
    - service: remote.learn_command
      data:
        entity_id: remote.rm_mini3_remote
        device: poele
        command:
          - temperature_up
          - temperature_down
          - flamme_up
          - flamme_down

Je suis entrain d’essayer de mettre les 2 scripts dans script.yaml
et j’ai une erreur :

duplicated mapping key at line 36, column 1:
alias: braodlink (enregistrer)
^

Concernant le point 3 je dois créer un fichier ui-lovelace.yaml ? et je dois ajouter quelque chose dans configuration.yaml ?

re

voici ce que tu dois copier dans script.yaml tu peux enlever le script du dessus learn tv power

braodlink_enregistrer:
  alias: braodlink (enregistrer)
  sequence:
  - service: remote.learn_command
    data:
      entity_id: '{{ states(''input_select.entity_id'') }}'
      device: '{{ states(''input_select.device'') }}'
      command: '{{ states(''input_select.command'') }}'
  mode: single
braodlink_executer:
  alias: 'braodlink(executer) '
  sequence:
  - service: remote.send_command
    data:
      entity_id: '{{ states(''input_select.entity_id'') }}'
      device: '{{ states(''input_select.device'') }}'
      command: '{{ states(''input_select.command'') }}'
  mode: single

après pour le point3

non tu vas sur ton tableau de bord.
les trois point en haut a droite modifier
puis en bas a droite ajouter une carte (entité) et tu met tes entitée)

1 J'aime

je fessais comme ca avant (hier) , mais après la discutions: les 3 input_select et les 2 script + la carte :
je trouve la méthode meilleur. car la carte permet d’apprendre et de commander un peu tout. plus Lean à mon goût ( et c’est moi qui l’ai fait) nha, nha, nha :partying_face: :partying_face: :partying_face:

ca mérite même un article ,dommage qu’il n’y a pas de Bluetooth dedans :wink:

avec rajout de 3 input_text et 1 automation qui rajoute dans les input_select

1 J'aime

C’est nickel ces scripts! top ! j’ai enfin reussi !

Maintenant pour conclure j’ai encore 2 questions… désolé :slight_smile:

  1. Sur une carte je voudrais pouvoir ajouter des bouton D1 D2 Mute etc… avec les codes deja enregistrés via les scripts. C’est possible ?

  2. Je voudrais pouvoir mettre sur une carte les codes que j’importe moi meme avec les conversions si j’y arrive, et aussi mettre les codes de la banque de code IR que tu as mentionné plus haut.

Une fois que j’aurais fait tout ca j’aurais beaucoup appris sur HA :slight_smile:

oui il faudra rajouter tes code en utilisant la syntaxe dans le fichier.
config/.storage/braodlink_remote

{
    "version": 1,
    "key": "broadlink_remote_XXXXXXX_codes",
    "data": {
        "aspirateur": {
            "marche": "JgBIAAABHDcUEhE4FQANBQ==",
            "arret": "JgBIAAABIZDYVNhQ3FQANBQ=="
        },
        "television": {
            "son+": "JgBSAn2CEUARQBFXX",
            "son-": "JgCiAIGDEUEQQg9CEEIRIBXX",
            "son mute": "JgCiAICEEEIRQBBCEEIPIXXX",
            "marche": "JgBEAYGDEE0IQIRBCEAABGoaEEj8QQhBXXXX",
            "arret": "JgCiAIGDEEEQQhBCD8iEEIPIg9CEAABG4WEEEIQQg9CEXXXXX",
            "menu": "JgDYAH+AEz4MeEx4TPhM/Ez4TPhMeEz8TPhM/EgANBQ==",
            "retour": "JgAOAX6BEUAQQhFAEEEECEQIRAhEAANBQAAAAAAAAAAAAA=",
            "netfix": "JgDYAHyDEEEQQ8iDyIPIg8iDyIQQRAhECEQIRAhEAANBQ==",
            "av": "JgDYAICAEj8SPxJAHxBBECIPQhBBEEEQIRAiDwANBQ=="
        }
    }
}

puis rajouter dans ton input_select.yaml
les commandes ou appareils rajouter à la main dans le fichier config/.storage/braodlink_remote… afin d’utiliser le script executer
ou que tu veux ajouter en apprentissage avec le script enregistrer

device: 
    name: Text 2
    options:
       - aspirateur
       - television
       - appareil que tu as ajouter dans ton fichier
       - appareil que tu veux ajouter avec le script apprentissage
       - autres
command:
    name: Text 3
    options:
       - marche
       - arret
       - son+
       - son-
       - son mute
       - menu
       - retour
       - netfix
       - av
       - commande que tu as rajouter dans ton fichier
       - commande que tu veux ajouter avec apprentissage
       - autres

ha oui ok j’allais faire l’inverse. Je pensais qu’il fallait reprendre les codes dans .storage pour les remettre dans un autre .yaml pour faire des boutons par exemple

si tu veux faire un bouton avec une action particulière:
fait un script et un bouton qui appel ton script.

avec une carte bouton:

ou une carte entité et script.marche_aspirateur

1 J'aime

la conversion des codes depuis ce site fonctionne ! top ! https://base64.guru/converter/encode/hex
du coup je prends mes codes jeedom et c’est parti !

1 J'aime