RFPlayer et Volet roulant SOMFY

Bonjour,

Mon problème

Je viens d’installer un HA tout neuf sur Synology via VMM
J’ai juste installé HACS
Branché un RFPlayer dessus et suivi l’intégration suivante :

image

Une fois fait, j’ai bien une intégration GCE TEST RFPlayer
et instantanément il découvre mes sondes de T°

Euphorique de cette facilité, je clic sur ma télécommande de volet de mon bureau, et encore plus magique, 3 entités sont créés, mis directement en cover avec des boutons pour monter et descendre un volet (je ne sais pas encore pourquoi il y en a trois …) :

Et là où HA aurait pu etre magique si ca avait marché d’un coup, c’est que ces boutons de volets ne font rien.
Ca ne fait pas bouger mon volet en appuyant dessus

Donc ma question est : Qu’est ce que j’ai raté ou qu’est ce que je dois encore faire pour que ca puisse piloter mon volet qui a été détecté ?

Log

En regardant les logs, j’ai une erreur récurrente :

2025-01-12 14:32:30.898 WARNING (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] dropping invalid data:   ZIA--Welcome to Ziblue Dongle RFPLAYER (RFP1000, Firmware=V1.39 F=433Mhz & 868Mhz EU)!
2025-01-12 14:33:07.893 ERROR (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] failed to parse packet data: ZIA--
error request number=0
Syntax error: OFF ID 9508961cov RTS

Traceback (most recent call last):
  File "/config/custom_components/rfplayer/rflib/rfpprotocol.py", line 123, in handle_raw_packet
    packets = decode_packet(raw_packet)
  File "/config/custom_components/rfplayer/rflib/rfpparser.py", line 172, in decode_packet
    message = json.loads(frame)
  File "/usr/local/lib/python3.13/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^
  File "/usr/local/lib/python3.13/json/decoder.py", line 345, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/json/decoder.py", line 363, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 2 column 1 (char 1)

Et un autre message, intéressant , pour @Doubledom

2025-01-12 14:40:34.207 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'rfplayer' sets option flow config_entry explicitly, which is deprecated at custom_components/rfplayer/config_flow.py, line 79: self.config_entry = config_entry. This will stop working in Home Assistant 2025.12, please create a bug report at https://github.com/Doubledom45/TEST-RFPLAYER/issues

J’ai pas trouvé mieux pour afficher du code.

Ma configuration


[center]

System Information

version core-2025.1.2
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.13.1
os_name Linux
os_version 6.6.66-haos
arch x86_64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
HACS Data ok
GitHub API Calls Remaining 5000
Installed Version 2.0.2
Stage running
Available Repositories 1498
Downloaded Repositories 2
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 14.1
update_channel stable
supervisor_version supervisor-2024.12.3
agent_version 1.6.0
docker_version 27.2.0
disk_total 30.8 GB
disk_used 3.5 GB
healthy true
supported true
host_connectivity true
supervisor_connectivity true
ntp_synchronized true
virtualization kvm
board ova
supervisor_api ok
version_api ok
installed_addons Get HACS (1.3.1)
Dashboards
dashboards 2
resources 0
views 0
mode storage
Recorder
oldest_recorder_run 12 janvier 2025 à 12:39
current_recorder_run 12 janvier 2025 à 14:31
estimated_db_size 0.38 MiB
database_engine sqlite
database_version 3.47.1
[/center]

Salut
Pour les entités qui remontent gardent le cov, les entités sont ceux de la commande réelle.
Pour faire une commande de tes volets dans HA avec le Rfplayer, tu as une fonction dans développement avec une entité qui doit être du style A1 (adresse) jusqu’à P16, les A1->B16 autorisé un renseignement en plus.
Attention de choisir le bon Protocole et le choix en mode cover

Bonjour

merci pour cette réponse, mais je me rends comptes que je suis trop débutant encore sur HA pour comprendre ce que tu veux dire.

j’ai essayé dans le menu « outil de développement » puis actions, mais je ne sais pas quoi taper exactement. J’ai essayé ca mais en vain :

J’ai aussi chercher ce menu :

Mais impossible de le trouver, ca doit etre devant mes yeux, mais je ne le trouve pas :frowning:

Yahoo, j’ai progressé grace au tuto trouvé sur ce forum :
https://forum.hacf.fr/t/installation-et-utilisation-dun-rfplayer-pour-piloter-des-volets-somfy-rts/17428

En me mettant en mode UI, j’ai réussi à faire bouger mon volet, apres l’avoir mis en mode programmation, de cette manière :

Et en copiant le code dans configuration.yaml, j’ai bien un volet qui est apparu dans « Apercu »
Je vais faire les autres maintenant, et je vous tiendrai au courant de mes avancés.

Merci en tout cas.

Salut…
Quand tu passes par l’UI develop TEST RFPlayer: send_command, si tu sélectionne Create entity le cover est créé directement dans HA, pas besoin de YAML !
Il faut évidement faire une cde assoc [sans create entity] pour voir si ton volet accepte le code du Device Adress, donc cela inscrit le code A1 dans ton volet !.
Puis faire une Command ON (ou OFF) du même cover (A1) , sans le Create entity sélectionné, si le Volet réagi, alors seulement sélectionné e Create entity pour avoir ce cover en création automatique dans HA !

Excellent, merci, ca marche nickel.

Est-ce que tu aurais la même procédure pour ajouter des module DIO on/off.
De ce type là : Module On/off
J’ai essayé tout pareil mais en mettant :

Action = TEST RFPLayer:send_command
Command = ASSOC
Protocol = CHACON
Device address = B1 (comme ca je gardais les A pour les volets et les B pour ces modules on/off)
Entity Type = Switch

et en mettant le module en mode association

Mais ca ne fonctionne pas :frowning:
Et j’en ai une dizaine dans la maison …

Salut
Il faut regarder, si tu as télécommande plus facile, si des fois en mode chacon fonctionne, il n’y a pas de cde association à faire, seulement un on ou off pour tester sans cocher création.
Voir avec des ID (1 → 255) à la place des adresses ( Ax…)

Entre temps j’ai trouvé un autre sujet qui parle de ce module : https://forum.hacf.fr/t/module-dio-1-0/41804/6

Ou tu propose effectivement cela :

Mais ca ne fonctionne pas, le module ne fait aucun bruit, donc ne change pas d’état.

J’ai bien une télécommande qui elle fait changer d’état le module.
Mais je n’ai pas encore compris comment l’utiliser dans HA

Les télécommandes remontent automatiquement, mais tu ne peux pas te servir de leurs entités en mode commande Switch.
Voir avec Domia
Je verrais sur PC plus tard.

Dommage car dans les logs je vois bien :

2025-01-15 17:53:00.839 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] got event: {'id': 'CHACON_2395224704typ_typ', 'subType': 'ON', 'value': 'ON', 'unit': None, 'platform': 'sensor', 'protocol': 'CHACON'}
2025-01-15 17:53:00.839 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] got event: {'id': 'CHACON_2395224704cmd_cmd', 'command': 'ON', 'value': 'ON', 'unit': None, 'platform': 'sensor', 'protocol': 'CHACON'}

ce qui est étrange c’est que je n’ai pas de log pour le OFF

Salut…
Quel est le type de télécde ?
Si le ON remonte le OFF doit aussi remonter !

Pour une cde depuis HA avec le Rfplayer , il faut avant mettre le module en appairage ( attention au maxi d’appairage (6) sur certaines entités de module ), puis lui envoyer la cde ON avec un ID choisi, le module doit l’accepter, (le module repasse en OFF), donc faire un ON et OFF en direct avec le Rfplayer pour vérif.
Attention le OFF si prise en attente d’appairage efface le code.
Un ALL-OFF efface tout les codes si ton module en mode appairage.
@+

Alors, avec tes dernières explications, j’ai réussi à connecter le module.

J’ai d’abord mis en mode appairage.
Puis envoyé un ON / Chacon / ID = 3 / entity = switch / create entity = false

Le module a clignoté puis est resté allumé.
J’ai attendu qu’il s’éteigne et j’ai envoyé un OFF

Après, j’ai refait un ON puis un OFF en cochant create entity
J’ai alors eu une nouvelle entité qui commande le module.

Mais c’est qui est bizarre, c’est que ca ne marche pas à chaque fois.
Dès fois dès le premier clic ca allume ou éteint, dès fois je dois cliquer 3 ou 4 fois.
Donc là ca me fait peur quand j’automatiserai des choses.
Faut que j’essaye avec un autre module, voir si j’ai le même comportement.
Ca pourrait venir du RFPlayer qui a du mal à envoyer la commande, sachant que pour l’instant tout est dans mon bureau, donc quasi cote à cote.

Ma télécommande est celle ci :

malheureusement même symptôme.
Même avec un module tout neuf, sortie de son emballage et posé à 5cm du RFPlayer

Une fois ca va marcher du premier coup, une autre fois il faut cliquer 3 ou 4 fois …

Tu n’as besoin que de faire un On avec create entity, Ha va créer le switch.
Attention celui-ci n’est pas forcément sauvegarder si redémarrage de Ha.
Quand tu as le code tu peux faire en Yaml, des switch

Le type de code, celui-ci est dans un switch.yaml, référencé dans configuration.yaml avec ligne

switch: !include switch.yaml
Exemple de [switch]
  - platform: template
    switches:

      rfplayer_change_mac:
        unique_id: switch.rfplayer_change_mac
        icon_template: mdi:remote
        turn_on:
          - service: rfplayer.send_raw_command
            data:
                command: "{{states.sensor.pour_mac_rfplayer.state}}"
        turn_off:
          - service: rfplayer.send_raw_command
            data:
                command: "{{states.sensor.pour_mac_rfplayer.state}}"

      rfplayer_test_disponibe:
        unique_id: switch.rfplayer_test_disponibe
        icon_template: mdi:remote
        turn_on:
          - service: rfplayer.send_raw_command
            data:
                command: ZIA++PING
        turn_off:
          - service: python_script.set_state
            target: {}
            data:
              entity_id: sensor.reponse_ping
              state: "?"
      fontaine:
        friendly_name: 'Fontaine ON OFF Rfplayer'
        unique_id: switch.fontaine
        turn_on:
            service: rfplayer.send_command
            data:
                automatic_add: false
                entity_type: switch
                protocol: DOMIA
                command: ON
                device_address: D3
        turn_off:
            service: rfplayer.send_command
            data:
                automatic_add: false
                entity_type: switch
                protocol: DOMIA
                command: OFF
                device_address: D3
        icon_template: mdi:fountain

Regarde le switch.fontaine

      fontaine:
        friendly_name: 'Fontaine ON OFF Rfplayer'
        unique_id: switch.fontaine
        turn_on:
            service: rfplayer.send_command
            data:
                automatic_add: false
                entity_type: switch
                protocol: DOMIA
                command: ON
                device_address: D3
        turn_off:
            service: rfplayer.send_command
            data:
                automatic_add: false
                entity_type: switch
                protocol: DOMIA
                command: OFF
                device_address: D3
        icon_template: mdi:fountain

Tu peux mettre automatic_add: false en automatic_add: true

Hello

j’avoue que je suis bien déçu de ce RFPlayer que j’ai acheté.

J’ai pris mon courage à deux mains, et j’ai recommencé tout en empruntant mon RFXCom de ma box jeedom.
Et bien, c’est pas pareil du tout.
J’ai pu tout intégrer hyper facilement :

  • mes volets easy, car j’avais le code de chaque volets dans jeedom
  • mes sondes de températures sont toutes remontées une par une
  • les modules on/off, avec l’aide d’un tuto de ce site, hyper simple en une commande action dans outils de dev
  • les télécommandes : un vrai bijou, juste besoin d’appuyer sur les boutons, bing reconnues et fonctionnelles.

Mon moral a grimpé en flèche !
Je m’attaque donc ce jour et ce WE à tout basculer la partie 433Mz de jeedom à HA.
Bon, je fais une sauvegarde à chaque nouvelle étape quand meme :slight_smile:

Merci pour toute votre aide.

Salut…
Le Rfplayer est surtout fait pour des trucs en 868 Mhz ! même si 433 Mhz aussi, mais limité en codage pure ( Firmware protégé, protection Fr contre piratage à l’époque)
Le RFXCOM est capable de reproduire le code d’origine !
PS il y a bien un RFXCOM en version 868 Mhz, mais limité pour l’instant et surtout pas intégrable dans HA directement !