Broadlink RM mini - apprendre ou importer des commandes

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

2 « 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 ! Hex to Base64 | Base64 Encode | Base64 Converter | Base64
du coup je prends mes codes jeedom et c’est parti !

1 « J'aime »

ca marche ! merci ! je pense que j’ai a peu pres fait le tour de la question :slight_smile:
Merci

dernière question de débutant, si je veux faire un scénario qui allume mon ampli par exemple lorsqu’un detecteur de mouvement s’active. C’est compliqué a faire ?

pas du tout .

juste pense à mettre une condition pour que ton automation ne se déclenche pas si elle a déjà été enclencher.

donc :
trigger:
« ton capteur voie quelque chose. »
condition:
« n’a pas déjà été enclenché »
action:
" appel le service"
data
« script… »

je vais tester, sur jeedom j’avais un truc du genre, si chomecast diffuse du contenu, ca allume l’entrée de l’ampli et met la TV en mute. je testerai ca un de ces 4 une chose a la fois :slight_smile:

Bonjour,

Oui oui, par une card c’est toujours plus simple :wink:

Cela t’oblige a le fair epour chque commande et chaque remote ajouté :wink: en modifiant tes input_select :wink:

Pour aller plus loin, ce serait : (j’ai bien dit serait)

  • renseigner ton input_select automatiquement
  • apprendre les commandes en 1 fois :wink:

Super idée

Bonjour et merci beaucoup pour cette carte de base pour le fonctionnement de la broadlink très souple et qui marche très bien.
Je fais une télécommande universelle pour la télé, l’ampli et le lecteur de CD à partir d’une carte « picture-element » composé d’une image commune pour les commandes et de boutons pour choisir quel appareil commander.
voici le YAML :

type: picture-elements
image: /local/images/telecommande_image.png
elements:
  - type: image
    alias: ____bouton1
    image: /local/images/Telec1_Bouton_55-50.png
    tap_action:
      action: call-service
      service: remote.send_command
      service_data:
        entity_id: remote.telecommande
        device_id: '{{ states(''input_text.telecommande_en_cours'') }}'
        command: channeldown

La variable « input_text.telecommande_en_cours » ne passe pas ! Est-ce du au mode carte « picture-elements » ou bien faut-il une syntaxe particulière dans ce cas précis ?

Merci de votre réponse