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

Merci, je vais tenter l’incursion du RFPlayer dans HA. Peut être ce we si j’ai un peu de temps…

Pour emettre une commande il faut passer par service, avec dans commande OFF ON ou ce que tu as initié, Protocol « PARROT » et Device adresse celle que tu as enregistré ici ON PARROT A2 j’ai sélectionné create entity pour test…


son log si OK

2022-05-10 10:18:50 INFO (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Running websocket_api script
2022-05-10 10:18:50 INFO (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Executing step call service
2022-05-10 10:18:50 DEBUG (MainThread) [custom_components.rfplayer] Rfplayer send command for {'protocol': 'PARROT', 'automatic_add': True, 'device_address': 'A2', 'command': 'OFF'}
2022-05-10 10:18:50 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] writing data: b'ZIA++OFF PARROT A2\n\r'
2022-05-10 10:18:50 DEBUG (MainThread) [custom_components.rfplayer] Add device for {'protocol': 'PARROT', 'automatic_add': True, 'device_address': 'A2', 'command': 'OFF'}
2022-05-10 10:18:50 DEBUG (MainThread) [custom_components.rfplayer.switch] Add switch entity {'protocol': 'PARROT', 'device_address': 'A2', 'device_id': None, 'command': True, 'id': 'PARROT_A2'}
2022-05-10 10:18:50 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new switch.rfplayer entity: switch.parrot_a2
2022-05-10 10:18:50 DEBUG (MainThread) [custom_components.rfplayer] Fired bus event for switch.parrot_a2: True

@+DÕ¿ÕM

Faut que je réenregistre le code enregistré avec Jeedom où il est déjà stocké dans le RFPlayer ?

Il est déjà dans la mémoire du Rfplayer

c’est pour cela qu’il faut se rappeler de ces infos que tu as créé.
Il y a la méthode du status pour les voir

Celui que j’ai initié plus haut ON PARROT A2 avec « create entity » du coup j’ai un ident switch.parrot_a2 qui me sert maintenant pour faire la cde Attention d’utiliser seulement la cde correspondante switch.parrot_a2 ici OFF ( si ON sera pas bon mais le prog l’envoie sans vérif car A2 est enregistré avec OFF) le log devrait dire si envoie ( ici j’ai aussi un Rfxcom et je vois que la cde est passée, qui correspond à un ID 0125C5CE et une commande ON-ALL) d’ou mon erreur quand enregistré dans le Rfplayer.

2022-05-10 10:32:47 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] writing data: b'ZIA++OFF PARROT A2\n\r'
2022-05-10 10:32:47 DEBUG (Thread-3) [RFXtrx] Recv: 0x0b 0x11 0x00 0x27 0x01 0x25 0xc5 0xce 0x01 0x04 0x0f 0x60

Il y a aussi l’astuce pour voir si un ID Parrot est enregistré ( test sur un seul)
dans services Rfplayer mettre dans « device_adresss » l’identité et sa cde, si ok voir log

ici Mode YAML
service: rfplayer.send_command
data:
  automatic_add: false
  command: STATUS
  protocol: PARROT
  device_address: B10 ON TXT
en Mode UI

Log en TXT

Log en TXT plus simple à lire même si erreur du prog ( faut que je modifie pour pas l’avoir)
le reminder est l’info enregistrée (que A1 → B16)

2022-05-10 14:16:02 INFO (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Running websocket_api script
2022-05-10 14:16:02 INFO (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Executing step call service
2022-05-10 14:16:02 DEBUG (MainThread) [custom_components.rfplayer] Rfplayer send command for {'automatic_add': False, 'command': 'STATUS', 'protocol': 'PARROT', 'device_address': 'B10 ON TXT'}
2022-05-10 14:16:02 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] writing data: b'ZIA++STATUS PARROT B10 ON TXT\n\r'
2022-05-10 14:16:02 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] received data: ZIA--
parrotStatus request number=0
id: 25 (B10), action: 1 (ON), rank: 3/4, reminder: Pompe Puit ON_ALL 0125C5CE ->1, 


ZIA--
error request number=0
Syntax error: TXT
2022-05-10 14:16:02 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] decoded packet: {'node': 'gateway', 'message': '\nparrotStatus request number=0\nid: 25 (B10), action: 1 (ON), rank: 3/4, reminder: Pompe Puit ON_ALL 0125C5CE ->1, \n'}
2022-05-10 14:16:02 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpparser] f:node,v:gateway
2022-05-10 14:16:02 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpparser] f:message,v:
parrotStatus request number=0
id: 25 (B10), action: 1 (ON), rank: 3/4, reminder: Pompe Puit ON_ALL 0125C5CE ->1, 

2022-05-10 14:16:02 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] decoded packet: {'node': 'gateway', 'message': '\nerror request number=0\nSyntax error: TXT\n\n'}
2022-05-10 14:16:02 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpparser] f:node,v:gateway
2022-05-10 14:16:02 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpparser] f:message,v:
error request number=0
Syntax error: TXT

Log en XML
2022-05-10 14:32:24 INFO (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Running websocket_api script
2022-05-10 14:32:24 INFO (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Executing step call service
2022-05-10 14:32:24 DEBUG (MainThread) [custom_components.rfplayer] Rfplayer send command for {'automatic_add': False, 'command': 'STATUS', 'protocol': 'PARROT', 'device_address': 'B10 ON XML'}
2022-05-10 14:32:24 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] writing data: b'ZIA++STATUS PARROT B10 ON XML\n\r'
2022-05-10 14:32:24 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] received data: ZIA--<?xml version="1.0" encoding="ISO8859-1" ?><parrotStatus><reqNum>0</reqNum><i><n>id</n><v>25</v><c>B10</c></i><i><n>action</n><v>1</v><c>ON</c></i><i><n>rank</n><v>3/4</v></i><i><n>reminder</n><v>Pompe Puit ON_ALL 0125C5CE - 1</v></i></parrotStatus>
2022-05-10 14:32:24 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] decoded packet: {'node': 'gateway', 'message': '<?xml version="1.0" encoding="ISO8859-1" ?><parrotStatus><reqNum>0</reqNum><i><n>id</n><v>25</v><c>B10</c></i><i><n>action</n><v>1</v><c>ON</c></i><i><n>rank</n><v>3/4</v></i><i><n>reminder</n><v>Pompe Puit ON_ALL 0125C5CE - 1</v></i></parrotStatus>'}
2022-05-10 14:32:24 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpparser] f:node,v:gateway
2022-05-10 14:32:24 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpparser] f:message,v:<?xml version="1.0" encoding="ISO8859-1" ?><parrotStatus><reqNum>0</reqNum><i><n>id</n><v>25</v><c>B10</c></i><i><n>action</n><v>1</v><c>ON</c></i><i><n>rank</n><v>3/4</v></i><i><n>reminder</n><v>Pompe Puit ON_ALL 0125C5CE - 1</v></i></parrotStatus>

Si la cde ou l'ID n'existe pas ici (OFF)
service: rfplayer.send_command
data:
  automatic_add: false
  command: STATUS
  protocol: PARROT
  device_address: B10 OFF XML

le log ne remonte pas d’info derriere « /reqNum> »

Log en XML avec un faut ID ou cde
2022-05-10 14:35:01 INFO (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Running websocket_api script
2022-05-10 14:35:01 INFO (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Executing step call service
2022-05-10 14:35:01 DEBUG (MainThread) [custom_components.rfplayer] Rfplayer send command for {'automatic_add': False, 'command': 'STATUS', 'protocol': 'PARROT', 'device_address': 'B10 OFF XML'}
2022-05-10 14:35:01 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] writing data: b'ZIA++STATUS PARROT B10 OFF XML\n\r'
2022-05-10 14:35:01 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] received data: ZIA--<?xml version="1.0" encoding="ISO8859-1" ?><parrotStatus><reqNum>0</reqNum></parrotStatus>
2022-05-10 14:35:01 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] decoded packet: {'node': 'gateway', 'message': '<?xml version="1.0" encoding="ISO8859-1" ?><parrotStatus><reqNum>0</reqNum></parrotStatus>'}
2022-05-10 14:35:01 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpparser] f:node,v:gateway
2022-05-10 14:35:01 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpparser] f:message,v:<?xml version="1.0" encoding="ISO8859-1" ?><parrotStatus><reqNum>0</reqNum></parrotStatus>

En supplément la fonction Apprentissage du Parrot depuis HA

Dans l’outil de développement ‹ services › du GCE RFPlayer: send_command

    • Vous pouvez faire en mode YAML (plus simple)
    • il faut → automatic_add: false
    • il faut-> protocol: '' <----cela n’est pas possible en mode UI
    • dans la partie " command: " c’est là que nous entrons

    • la commande à enregistrée avec son ID

    • sa fonction

    • et le message de rappel de sa fonction si besoin (reminder) maxi 30 caracteres entre crochet [message] POSSIBLE QUE DE A1 à B16

Exemple pour moi apprendre une commande ON, pour Mettre en fonction ma pompe, dans l’ID « B10 »
j’ai mis trop de caracteres dans le message d’info donc sera tronqué (Pompe Puit ON_ALL 0125C5CE - 1)

Exemple en mode YAML
service: rfplayer.send_command
data:
  automatic_add: false
  command: PARROTLEARN B10 ON [Pompe Puit ON_ALL 0125C5CE - 1232171904]
  protocol: ''

Si appuie sur APPELER LE SERVICE le RFPLAYER passe en attente d’envoie de code ( il faut être assez prés 50cm /1 m suivant la puissance de l’émetteur)

Info de Ziblue mode Parrot apprentissage

La phase d’apprentissage démarre alors, la LED doit clignoter régulièrement BLEU. La sensibilité du RFPLAYER a été diminuée afin de l’isoler de son environnement et afin d’éviter des usages malicieux de PARROT.
Se mettre à 3-4 mètres de RFPLAYER et activer l’émission de la trame à acquérir. Observer les clignotements de la LED.
Si rien ne se passe, approchez vous progressivement de RFPLAYER.
Une trame apprise une fois se traduit par un clignotement BLEU régulier plus rapide.
Activer alors à nouveau l’émission de la trame.
Si la LED devient ROSE, la trame a été reconnue comme identique à la première. La trame est stockée et le processus d’apprentissage est terminé.
Si la LED devient ROUGE, la trame est rejetée et le processus d’apprentissage est réinitialisé.
Pour forcer la sortie du processus d’apprentissage, cliquer sur le bouton latéral de RFPLAYER (sinon Timeout après 2mn).

Il vous reste a initier cette commande PARROT dans HA qui produira un switch.parrot_« x »

Rappel méthode

Pour emettre une commande il faut passer par service, avec dans commande OFF ON ou ce que tu as initié, Protocol « PARROT » et Device adresse celle que tu as enregistré ici ON PARROT B10 j’ai sélectionné create entity pour enregisté ( cela se fera automatiquement si OK avec « switch.parot_b10 »

service: rfplayer.send_command
data:
  automatic_add: true
  command: 'ON'
  protocol: PARROT
  device_address: B10

Donc dans la page intégration du RFPLAYER on doit retrouver notre switch.parrot_b10 ( j’ai déjà renommer et mis icône)

switch.parrot_b10

image
Qui sera la commande attention il faut sélectionner la bonne fonction( ici sera le ON, le OFF pas d’effet), il est possible de passer par une carte Bouton et modifier les appuies ici si appuie long sera OFF que j’ai initié avec « PARROT B1 OFF »
nota " automatic_add:true" n’est là que pour vérifier dans log

show_name: true
show_icon: true
type: button
entity: switch.parrot_b10
show_state: true
hold_action:
  action: call-service
  service: rfplayer.send_command
  service_data:
    command: 'OFF'
    protocol: PARROT
    device_address: B1
    automatic_add: true
  target: {}

image

Si on a un ON et un OFF ( en mode Parrot) on peut passé aussi par « /config/switch.yaml »

et ajouter un switch avec les commandes ON et OFF
  - platform: template
    switches:
      pompepuit:
        friendly_name: 'Pompe Puit ON OFF Rfplayer'
        turn_on:
            service: rfplayer.send_command
            data:
                command: 'ON'
                protocol: PARROT
                automatic_add: false
                device_address: B10
        turn_off:
            service: rfplayer.send_command
            data:
                command: 'OFF'
                protocol: PARROT
                automatic_add: false
                device_address: B1

On devrait retrouver après redémarrage notre identité dans une carte bouton cela donne :


image

@+DÕ¿ÕM

1 « J'aime »

Slt ainsi qu’au testeur de la version Béta … @Vincha @Arnault @Czara1 @max5962 et notre → Githubien @Aohzan]

Pour le JAMMING cela fonctionne j’ai fais des tests avec le « JAMMING SIMULATE »
Par contre il faut prendre un "sensor.jamming_0" pour avoir les infos , pas celui d’origine « jamming detection »
j’ai bug avec affichage à droite de la valeur du slider ( mais fonctionne, sur « 0 » arrêt du Jamming)
jamming detection

Je mets ici le lien pour la version Béta 14 de Github voir info sur la partie Béta dans Issue 10

RTS

INFO (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Running websocket_api script
INFO (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Executing step call service
DEBUG (MainThread) [custom_components.rfplayer] Rfplayer send command for {'command': 'ON', 'protocol': 'RTS', 'device_address': 'A8', 'automatic_add': False}
DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] writing data: b'ZIA++ON A8 RTS\n\r'

Merci pour les remontées d’info ou demande d’amélioration !

:vulcan_salute: Merci @+DÕ¿ÕM

Salut, est-ce que tu peux faire une PR dans GitHub pour pouvoir merge ensuite ton boulot ?

Pour le sensor.jamming_0, il faut ajouter dans le code une exception pour mettre dans la bonne entité lorsqu’il parse un message reçu

Bonjour à tous,

J’ai également testé la version Beta 14 dans HA avec un RFPlayer
Voici mes observations pour contribuer :

Je confirme que je parviens bien à modifier le niveau de détection du jamming entre 0 et 10, et qu’on visualise bien les commandes envoyées par HA au RFPlayer pour ce réglage dans les logs :slight_smile:
J’ai également le bug d’affichage de la valeur du slider à droite qui ne se met pas à jour

Je confirme également que l’envoi de la commande JAMMING SIMULATE génère bien les trames « JAMING ON » et fait bien passer le sensor.jamming_0 à 1 (puis il revient ensuite normalement à 0).

En revanche, autre bug de mon côté : lorsqu’on redémarre HA, l’état de sensor.jamming_0 s’initialise à 1 par défaut. Il faut forcer manuellement l’état à 0 (via la section « outils de développement », « Etats » par exemple). Je m’en suis rendu compte après avoir positionné une automatisation d’alerte lorsque le sensor.jamming_0 passe de 0 à 1, et je reçois l’alerte à chaque redémarrage de HA :slight_smile:

Je suis prêt à faire d’autres tests pour aider aux avancées, mais uniquement sur la partie JAMMING (désolé, je n’ai pas d’équipements 433/868 utilisant les protocoles du RFPlayer pour faire plus).

Merci à tout ceux qui travaillent actuellement là-dessus, C’est vraiment génial d’avoir une compatibilité sous Home Assistant !!

Slt ainsi qu’au testeur de la version Béta … @Vincha @Arnault @Czara1 @max5962 @RedQuarck et surtout → Githubien @Aohzan] désolé si j’en oublie

Je mets

ici le lien pour la version Béta 15 de Github

Mise à jour de protocole et ajout X2D

Decode packet X2D ajout @jaroslawp

Par rapport à la version initiale de @Aohzan , il n’y a que des modifications dans le répertoire « custom_components\rfplayer\rflib » plus ajout du fichier Béta 15 ( pour savoir la version )

Pull Requests en cours

Pull Requests 13
Pull Requests 14

Merci pour les remontées d’info ou demande d’amélioration !

:vulcan_salute: Merci @+DÕ¿ÕM

PS: Mise à jour du lien

1 « J'aime »

Je n’ai pas de X2D mais merci de continuer a travailler a l’améliioration de ce projet ! :smiley:
J’installe ca ce soir et je fais un retour si necessaire.

Salut Doubledom et bonjour à tous !

Merci pour cette Beta15. Installée ce matin, jusqu’ici, rien à signaler :slight_smile:

Par contre, j’ai une info supplémentaire par rapport à mon dernier post:
Je me suis rendu compte que c’est au moment où HA s’éteint que le sensor_jamming_0 passe à 1, et non quand HA démarre !
(Le statut reste à 1 et est ensuite « repris » au démarrage de HA).

Je ne sais pas pourquoi, il n’y a rien de très précis dans les logs, on voit juste que c’est au moment de la déconnection que le changement d’état de sensor_jamming_0 a lieu (ligne 5), car juste après mes automatisations d’envoi d’alerte (notification push sur smartphone) s’enclenchent.

2022-06-14 09:32:53 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] received data: ZIA55 JAMMING: Threshold=7/10 CurLevel=0/10 isON=0 Ver=1.39
2022-06-14 09:32:56 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] received data: ZIA55 JAMMING: Threshold=7/10 CurLevel=0/10 isON=0 Ver=1.39
2022-06-14 09:32:59 INFO (MainThread) [homeassistant.components.stream] Stopped stream workers
2022-06-14 09:32:59 INFO (MainThread) [homeassistant.components.websocket_api.http.connection] [139744215329040] Connection closed by client
2022-06-14 09:32:59 INFO (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] disconnected because of close/abort.
2022-06-14 09:32:59 INFO (MainThread) [homeassistant.components.automation.jamming_detecte] Jamming detecté: Running automation actions
2022-06-14 09:32:59 INFO (MainThread) [homeassistant.components.automation.jamming_detecte] Jamming detecté: Executing step call service
2022-06-14 09:32:59 INFO (MainThread) [homeassistant.components.script.notification_de_jamming] Notification de Jamming: Running script sequence
2022-06-14 09:32:59 INFO (MainThread) [homeassistant.components.script.notification_de_jamming] Notification de Jamming: Parallel action at step 1: parallel 1: Running script sequence
2022-06-14 09:32:59 INFO (MainThread) [homeassistant.components.script.notification_de_jamming] Notification de Jamming: Parallel action at step 1: parallel 1: Executing step call service
2022-06-14 09:32:59 INFO (MainThread) [homeassistant.components.mobile_app.notify] mobile_app push notification rate limits for iPhone de RedQuarck: 2 sent, 500 allowed, 0 errors, resets in 16:27:00
2022-06-14 09:33:00 ERROR (MainThread) [homeassistant.components.hassio.handler] Client error on /homeassistant/restart request Server disconnected

N’hésitez pas si vous avez besoin que je fasse des manips :slight_smile:

Bonne journée à tous !

Slt.
Pour ceux qui ont du VISONIC, merci de faire remonter vos « log » pour modification intégration retour info

:vulcan_salute: Merci @+DÕ¿ÕM

PS: j’ai changé le lien de la béta .

Slt
Je n’ai pas ce type de log, ne serait-ce pas ton automatisation, de toute façon il faut forcer la valeur du sensor jamming JAMMING_0_cmd à zéro lors du redémarrage de HA, voir si quelqu’un à une solution !

@+DÕ¿ÕM

Bonjour à tous, j’ai un rf player que je tente désespérément de faire fonctionner avec home assistant. je sèche au niveau de l’intégration, j’ai bien installé les fichiers requis vis samba dans le dossier config/custom_component mais impossible de trouver ensuite l’intégration « GCE RF player » :no_mouth:
Je ne comprends pas ce que je fais mal…
Quelqu’un a t-il une idée ?
Merci beaucoup d’avance.

F.

Montre structure répertoire

1 « J'aime »

hello, merci de la réponse, j’ai finalement réussi je ne sais comment…merci beaucoup de ta réponse rapide :grinning:

Ok @+ bonne continuation
Dom

1 « J'aime »

Bonjour,

Je viens d’instaler le plugin. J’ai 14 volets qui fonctionne parfaitement sous Jeedom mais il ne me détectais rien hier. Ce matin j’ai 2 sensor d’ajouté mais je ne sais pas a quoi ils correspondent.

Je ne vois pas comment ouvrir et fermer mes volets mais la bonne nouvelle c’est que HA devrait etre capable de détecter si on a actionné manuellement un volet…

Je ne sais pas trop ce que je dois faire pour ajouter mes volets ?

Salut
Tu as quel version
Normalement doit remonter tout seul de la version dans HA

PS

Après fait test avec outil dev, il lui faut normalement une adresse, mais avec son ID devrait passer, dis moi si OK

Je vient d’installer la Beta 15.
Le problème pour l’outil de Dev c’est que je ne connais pas les ID

Avec Jeedom, je ne sais pas si l’association était fait dans Jeedom ou synchro avec le RFPlayer :thinking: