Utilisateur RFPLAYER + Version Béta "en cours 16" VOIR NEW

Le ON suffit pour créé

Quel type de capteur ?

Un temp/humidité modèle TESA WH2A 433.9MHz
Un autre La Crosse Technology TX3-TH

je guette les logs :slightly_smiling_face:

Challenge pour un store banne Cherubini, voici le log lorsque j’utilise la télécommande d’origine:

2022-09-24 15:47:01.929 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] received data: ZIA33{ "frame" :{"header": {"frameType": "0", "cluster": "0", "dataFlag": "0", "rfLevel": "-27", "floorNoise": "-80", "rfQuality": "10", "protocol": "2", "protocolMeaning": "VISONIC", "infoType": "2", "frequency": "433920"},"infos": {"subType": "1", "subTypeMeaning": "Remote Control", "id": "2094401792", "qualifier": "8", "qualifierMeaning": { "flags": ["button/command"]}}}}
2022-09-24 15:47:01.930 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] decoded packet: {'node': 'gateway', 'protocol': 'VISONIC', 'id': '2094401792', 'state': 'Remote Control', 'command': 'button/command'}
2022-09-24 15:47:01.930 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpparser] f:node,v:gateway
2022-09-24 15:47:01.930 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpparser] f:protocol,v:VISONIC
2022-09-24 15:47:01.931 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpparser] f:id,v:2094401792
2022-09-24 15:47:01.931 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpparser] f:state,v:Remote Control
2022-09-24 15:47:01.931 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpparser] f:command,v:button/command
2022-09-24 15:47:01.931 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpparser] event: command -> button/command
2022-09-24 15:47:01.931 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpparser] packet_events, sensor:command,value:button/command
2022-09-24 15:47:01.932 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] ignore_event
2022-09-24 15:47:01.932 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] got event: {'id': 'VISONIC_2094401792_cmd', 'sensor': 'command', 'value': 'button/command', 'unit': None}
2022-09-24 15:47:01.932 DEBUG (MainThread) [custom_components.rfplayer] event of type sensor: {'id': 'VISONIC_2094401792_cmd', 'sensor': 'command', 'value': 'button/command', 'unit': None}
2022-09-24 15:47:01.932 DEBUG (MainThread) [custom_components.rfplayer] passing event to sensor.visonic_2094401792
2022-09-24 15:47:04.824 INFO (MainThread) [homeassistant.components.websocket_api.http.connection] [547889191264] Connection closed by client

Par contre quand j’essaie de réémettre avec le même id j’ai cette erreur de syntaxe :

2022-09-24 15:53:45.699 INFO (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Running websocket_api script
2022-09-24 15:53:45.700 INFO (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Executing step call service
2022-09-24 15:53:45.702 DEBUG (MainThread) [custom_components.rfplayer] Rfplayer send command for {'command': 'ON', 'protocol': 'VISONIC', 'automatic_add': False, 'device_address': '2094401792'}
2022-09-24 15:53:45.702 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] writing data: b'ZIA++ON VISONIC 2094401792\n\r'
2022-09-24 15:53:45.715 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] received data: ZIA--
error request number=0
Syntax error: ON VIS
2022-09-24 15:53:45.731 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] received data: ONIC 2094401792
2022-09-24 15:53:45.731 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] decoded packet: {'node': 'gateway', 'message': '\nerror request number=0\nSyntax error: ON VISONIC 2094401792\n\n'}
2022-09-24 15:53:45.732 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpparser] f:node,v:gateway
2022-09-24 15:53:45.732 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpparser] f:message,v:
error request number=0
Syntax error: ON VISONIC 2094401792
2022-09-24 15:53:50.660 INFO (MainThread) [homeassistant.components.websocket_api.http.connection] [547889241856] Connection closed by client

Le rfplayer ne supporte pas des commandes autres que Ax ou Bx etc, protection interne du rfplayer ( je suis en train de voir pour faire sauter cette protection Firware GCE)
Sauf certain protocole type EDISIO et bien sûr Parrot ( car lui Ax , Bx)
Tu ne peux donc pas lui renvoyer avec le même ID

Tu auras l’info de la commande faites avec ta télécommande, mais si tu veux commander depuis HA il te faut initier une commande Parrot qui correspondra à ton équipement !

Bonjour à tous,

Je viens d’acquérir un RFPlayer pour enfin notamment piloter correctement mes volets RTS. Jusque là, je passais par la freebox delta puis un Jeedom en VM sur la freebox mais peu fiable et surtout j’aime bien la simplicité.

Le RFPlayer est branche sur un RPI4 et est correctement reconnu.
J’ai d’ailleurs pu associer un premier volet et fait quelques tests.
Mais depuis impossible d’en associer d’autres. Je précise que je coche juste avant la manip, l’option « Ajouter les appareil automatiquement lorsqu’un signal est reçu »

Je fais la manip suivante :

  • passer le volet en mode apprentissage (il descend puis remonte)
  • je lancer la commande suivant via l’onglet « outils de dev/services » :
    image
  • le volet descend puis remonte, signe qu’il a bien reçu l’ordre émis par le RFPlayer mais le bouton « appeler le service » indique une erreur et j’ai les logs suivants :

Sur le volet déjà enregistré, je peux l’utiliser dans HA sans souci via l’interface graphique ou via une commande envoyée. Pour les autres, j’ai essayé de changer l’ID « A2 » par un autre sans plus de succès.

Vous auriez une piste que je pourrai suivre pour essayer de résoudre ce souci et pouvoir enregistrer tous mes devices ?
Merci par avance pour votre aide.

Mavvv

Salut.
D’abord ne mets pas les logs en image mais en texte, plus facile à lire…
Le mode « Assoc » n’a pas besoin d’être en « automatic_add »=« true », étant donner que l’on ne fait qu’une fois pour associer avec le volet, il ne sert plus ensuite.( tu peux faire plusieurs fois pour test si commande log passe)
Si le volet a répondu, est-ce que l’envoie d’un ON ou OFF fonctionne ?
@+Dom
PS: Peut tu essayer d’envoyer une autre commande , avec un autre protocole ?
Passer en mode Yaml
et remplir des exemples de données
Puis appeler le service (regarder si OK)
et voir log

Résumé

Hello,

Dsl pour les images, je veillerai à les insérer en mode texte la prochaine fois. Merci du conseil.
Effectivement, je n’avais pas pensé à faire ce test vu que mon association me revenait en erreur.
Après, le test, le volet réagit effectivement aux commandes « ON », « OFF », « DIM%4 »

Par contre, le volet associé n’apparait pas dans HA alors que je premier (pour la salle à manger) et bien visible :
image

Et je précise que l’entité n’est également pas visible dans l’onglet entités.

Tu as eu un problème de liaison apparemment.
Essaye d’envoyer un « PING » avec protocole rempli avec un espace, sans rien d’autre, et voit si commande passe .Répond PONG .

service: rfplayer.send_command
data:
  command: PING
  protocol: " "

LOG
2022-09-27 08:56:10.019 INFO (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Running websocket_api script
2022-09-27 08:56:10.019 INFO (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Executing step call service
2022-09-27 08:56:10.019 DEBUG (MainThread) [custom_components.rfplayer] Rfplayer send command for {'command': 'PING', 'protocol': ' ', 'automatic_add': False}
2022-09-27 08:56:10.020 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] writing data: b'ZIA++  PING\n\r'
2022-09-27 08:56:10.029 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] received data: ZIA--PONG
`

Visiblement, il semble répondre correctement :

2022-09-27 10:00:44.950 INFO (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Running websocket_api script
2022-09-27 10:00:44.951 INFO (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Executing step call service
2022-09-27 10:00:44.958 DEBUG (MainThread) [custom_components.rfplayer] Rfplayer send command for {'command': 'Ping', 'automatic_add': False, 'protocol': ' '}
2022-09-27 10:00:44.958 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] writing data: b'ZIA++  Ping\n\r'
2022-09-27 10:00:44.972 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] received data: ZIA--PONG
2022-09-27 10:00:44.973 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] decoded packet: {'node': 'gateway', 'message': 'PONG'}
2022-09-27 10:00:44.973 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpparser] f:node,v:gateway
2022-09-27 10:00:44.973 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpparser] f:message,v:PONG

OK refait une commande RTS ASSOC avec celui qui fonctionne (A? =A1 je suppose) laisse avec
« automatic_add »=« true » et regarde si OK en envoie ( appeler le service et le log)

PAS BESOIN DE REMETTRE LE VOLET EN ASSOCIATION !

ReTest ici avec A14 déjà dans HA
2022-09-27 09:13:46.764 INFO (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Running websocket_api script
2022-09-27 09:13:46.764 INFO (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Executing step call service
2022-09-27 09:13:46.765 DEBUG (MainThread) [custom_components.rfplayer] Rfplayer send command for {'command': 'ASSOC', 'protocol': 'RTS', 'device_address': 'A14', 'automatic_add': True}
2022-09-27 09:13:46.765 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] writing data: b'ZIA++ASSOC RTS A14\n\r'
2022-09-27 09:13:46.767 DEBUG (MainThread) [custom_components.rfplayer] Add device for {'command': 'ASSOC', 'protocol': 'RTS', 'device_address': 'A14', 'automatic_add': True}
2022-09-27 09:13:46.767 DEBUG (MainThread) [custom_components.rfplayer.switch] Add switch entity {'protocol': 'RTS', 'device_address': 'A14', 'device_id': None, 'command': True, 'id': 'RTS_A14'}
2022-09-27 09:13:46.783 ERROR (MainThread) [homeassistant.components.switch] Platform rfplayer does not generate unique IDs. ID rts_a14 already exists - ignoring switch.rts_a14

rts_a14 already exists - ignoring switch.rts_a14

Dans ce cas, j’ai de nouveau la même erreur :

022-09-27 11:10:28.944 INFO (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Running websocket_api script
2022-09-27 11:10:28.945 INFO (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Executing step call service
2022-09-27 11:10:28.952 DEBUG (MainThread) [custom_components.rfplayer] Rfplayer send command for {'command': 'ASSOC', 'protocol': 'RTS', 'device_address': 'A1', 'automatic_add': True}
2022-09-27 11:10:28.953 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] writing data: b'ZIA++ASSOC RTS A1\n\r'
2022-09-27 11:10:28.954 DEBUG (MainThread) [custom_components.rfplayer] Add device for {'command': 'ASSOC', 'protocol': 'RTS', 'device_address': 'A1', 'automatic_add': True}
2022-09-27 11:10:28.961 ERROR (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Error executing script. Unexpected error for call_service at pos 1: 'command'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 447, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 680, in _async_call_service_step
    await service_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1738, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1775, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/config/custom_components/rfplayer/__init__.py", line 110, in async_send_command
    await hass.data[DOMAIN][DATA_DEVICE_REGISTER][EVENT_KEY_COMMAND](device)
KeyError: 'command'
2022-09-27 11:10:28.969 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [547864562944] Error handling message: Unknown error (unknown_error)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 27, in _handle_async_response
    await func(hass, connection, msg)
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 646, in handle_execute_script
    await script_obj.async_run(msg.get("variables"), context=context)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1513, in async_run
    await asyncio.shield(run.async_run())
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 405, in async_run
    await self._async_step(log_exceptions=False)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 449, in _async_step
    self._handle_exception(
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 472, in _handle_exception
    raise exception
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 447, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 680, in _async_call_service_step
    await service_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1738, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1775, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/config/custom_components/rfplayer/__init__.py", line 110, in async_send_command
    await hass.data[DOMAIN][DATA_DEVICE_REGISTER][EVENT_KEY_COMMAND](device)
KeyError: 'command'

Ok peut tu faire une commande « ON » à la place de « ASSOC ».

En ne changeant rien sauf la command :

service: rfplayer.send_command
data:
  command: ON 
  protocol: RTS 
  device_address: A1 
  automatic_add: True

J’ai toujours la même erreur :

2022-09-27 11:26:31.909 INFO (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Running websocket_api script
2022-09-27 11:26:31.909 INFO (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Executing step call service
2022-09-27 11:26:31.914 DEBUG (MainThread) [custom_components.rfplayer] Rfplayer send command for {'command': 'ON', 'protocol': 'RTS', 'device_address': 'A1', 'automatic_add': True}
2022-09-27 11:26:31.915 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] writing data: b'ZIA++ON RTS A1\n\r'
2022-09-27 11:26:31.924 DEBUG (MainThread) [custom_components.rfplayer] Add device for {'command': 'ON', 'protocol': 'RTS', 'device_address': 'A1', 'automatic_add': True}
2022-09-27 11:26:31.929 ERROR (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Error executing script. Unexpected error for call_service at pos 1: 'command'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 447, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 680, in _async_call_service_step
    await service_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1738, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1775, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/config/custom_components/rfplayer/__init__.py", line 110, in async_send_command
    await hass.data[DOMAIN][DATA_DEVICE_REGISTER][EVENT_KEY_COMMAND](device)
KeyError: 'command'
2022-09-27 11:26:31.935 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [548239371200] Error handling message: Unknown error (unknown_error)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 27, in _handle_async_response
    await func(hass, connection, msg)
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 646, in handle_execute_script
    await script_obj.async_run(msg.get("variables"), context=context)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1513, in async_run
    await asyncio.shield(run.async_run())
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 405, in async_run
    await self._async_step(log_exceptions=False)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 449, in _async_step
    self._handle_exception(
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 472, in _handle_exception
    raise exception
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 447, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 680, in _async_call_service_step
    await service_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1738, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1775, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/config/custom_components/rfplayer/__init__.py", line 110, in async_send_command
    await hass.data[DOMAIN][DATA_DEVICE_REGISTER][EVENT_KEY_COMMAND](device)
KeyError: 'command'

Par contre, cela fonctionne évidemment si je mets AUTOMATIC_ADD à False

Je précise qu’en l’état, l’option" Ajouter les appareil automatiquement lorsqu’un signal est reçu" est désactivée mais le problème initial survenait que l’option soit activée ou non

Cela n’a d’incidence que sur la réception d’une trame, si tu as télécommande d’origine, il te remontera un ident .
Bug sur ta version
Tu as installé comment et quel version ( je vois bien beta sur ton service)
image

AS-tu fais test avec un autre type de commande ? comme demandé plus haut

Merci pour ton retour.
J’ai installé via HACS et je suis actuellement en version 15.0.0 selon le manifest.

J’ai essayé d’installer plusieurs volets différents mais qui sont tous en RTS avec la même erreur.
Par contre, ensuite, je peux effectivement les piloter même si je ne les vois pas dans HA.
Comme autre protocole, j’ai aussi de l’InterTechno (ITS-23 et ITL-100) qui semble pris en charge par le RFPlayer selon une liste présente sur le forum GCE mais je ne sais pas quelle valeur mettre dans protocol.

Du coup, je pense que je vais désinstaller le module, redémarrer HA puis réinstaller pour voir si cela permet de résoudre le souci.

Oui pour supprimer et réinstalle, sinon si tu vas sur HACS et intégration
et sur la béta du Rfplayer
image
Clic dessus
tu devrais voir la version en haut à gauche « 4d5f0a5 »


Qui doit correspondre à celle de mon Github !

PS: si tu désinstalles fait le par le menu de HACS (intégration) Rfplayer béta

les 3 points verticaux en haut à gauche pour info !

Je te confirme être dans la bonne version :

Du coup, j’ai désinstallé le device et réinstallé et effectivement tout est rentré dans l’ordre. J’ai pu associer mes différents volets RTS

Je saurai du coup pas expliquer le pourquoi de ce bug. Mais tout semble maintenant fonctionner.
En tout cas, merci pour ton support et tout le boulot que tu as fait !

Ok alors surement une installe pas complète ?

Si peux faire log de ce matériel