Module DIO 1.0

Bonjour à Tous.
Je suis nouveau et essaye de passer toute ma domotique de Enki à HA.
J’ai fait pas mal de recherche mais je sèche déjà sur mes modules de volets.
Ces volets sont équipés de module DIO 1.0
Kit module de volets et télécommande - DiO Home
image

J’ai ajouté un module GCE RFPLayer RF Player (gce-electronics.com).

Chaque module est associé à une télécommande physique donc, je reçois bien la trame quand j’actionne la télécommande:

024-05-16 22:22:11.912 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpparser] Packet : ZIA33{ "frame" :{"header": {"frameType": "0", "cluster": "0", "dataFlag": "0", "rfLevel": "-67", "floorNoise": "-105", "rfQuality": "9", "protocol": "4", "protocolMeaning": "CHACON", "infoType": "1", "frequency": "433920"},"infos": {"subType": "1", "id": "2071648640", "subTypeMeaning": "ON"}}}
2024-05-16 22:22:11.912 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] handle packet: {'node': 'gateway', 'frameType': '0', 'cluster': '0', 'dataFlag': '0', 'rfLevel': '-67', 'floorNoise': '-105', 'rfQuality': '9', 'infoType': '1', 'frequency': '433920', 'protocol': 'CHACON', 'subType': 'ON', 'id': '2071648640', 'command': 'ON', 'platform': 'sensor'}
2024-05-16 22:22:11.912 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] got event: {'id': 'CHACON_2071648640typ_typ', 'subType': 'ON', 'value': 'ON', 'unit': None, 'platform': 'sensor', 'protocol': 'CHACON'}

A ce moment je sèche un peu pour répéter cette trame depuis HA, j’ai l’intégration TEST RFPlayer, lorsque je teste pour emettre une trame j’ai un message du type:

2024-05-17 10:04:57.619 WARNING (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] no valid packet, ou ZIA66 = Retour Info
2024-05-17 10:06:52.563 DEBUG (MainThread) [custom_components.rfplayer] Rfplayer send command for {'command': 'OFF', 'automatic_add': False, 'protocol': 'CHACON', 'device_id': 'CHACON_2071648640cmd_cmd', 'entity_type': 'sensor'}
2024-05-17 10:06:52.563 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] writing data: b'ZIA++OFF ID CHACON_2071648640cmd_cmd CHACON\n\r'
2024-05-17 10:06:52.973 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpparser] Packet : ZIA--
error request number=0
Syntax error: _2071648640cmd_cmd CHACON


2024-05-17 10:06:52.973 ERROR (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] failed to parse packet data: ZIA--
error request number=0
Syntax error: _2071648640cmd_cmd CHACON

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.12/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 2 column 1 (char 1)

Je pense faire de la mauvaise façon, mais je ne trouve pas trop d’exemple avec ces modules DIO et j’en ai 8 d’installés…

Auriez vous de quoi m’aider à avancer?
Merci

Salut!
Quelle version de l’add-on tu as installé ? la mienne ou autre ?

Salut,

Ta version oui depuis le dépôt

OK…
Est-ce que tu peux montrer le log quand appuie sur la télécde et que ton module 1.0 répond ?

On ne peut répéter la cde avec id > 256 !, donc il faut émuler une cde ( sauf si tu arrives à enregistrer en mode Parrot !)

Re

Biensur

2024-05-17 13:10:27.969 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpparser] Packet : ZIA33{ "frame" :{"header": {"frameType": "0", "cluster": "0", "dataFlag": "0", "rfLevel": "-57", "floorNoise": "-104", "rfQuality": "10", "protocol": "4", "protocolMeaning": "CHACON", "infoType": "1", "frequency": "433920"},"infos": {"subType": "0", "id": "2088746368", "subTypeMeaning": "OFF"}}}
2024-05-17 13:10:27.969 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] handle packet: {'node': 'gateway', 'frameType': '0', 'cluster': '0', 'dataFlag': '0', 'rfLevel': '-57', 'floorNoise': '-104', 'rfQuality': '10', 'infoType': '1', 'frequency': '433920', 'protocol': 'CHACON', 'subType': 'OFF', 'id': '2088746368', 'command': 'OFF', 'platform': 'sensor'}
2024-05-17 13:10:27.969 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] got event: {'id': 'CHACON_2088746368typ_typ', 'subType': 'OFF', 'value': 'OFF', 'unit': None, 'platform': 'sensor', 'protocol': 'CHACON'}
2024-05-17 13:10:27.969 DEBUG (MainThread) [custom_components.rfplayer] device_id not known, adding new device
2024-05-17 13:10:27.970 INFO (MainThread) [custom_components.rfplayer.sensor] RfPlayer Sensor ID : 2088746368typ
2024-05-17 13:10:27.971 DEBUG (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] got event: {'id': 'CHACON_2088746368cmd_cmd', 'command': 'OFF', 'value': 'OFF', 'unit': None, 'platform': 'sensor', 'protocol': 'CHACON'}
2024-05-17 13:10:27.971 DEBUG (MainThread) [custom_components.rfplayer] device_id not known, adding new device
2024-05-17 13:10:27.972 INFO (MainThread) [custom_components.rfplayer.sensor] RfPlayer Sensor ID : 2088746368cmd

Je l’ai lancé sur un module non testé encore

Ok donc dans le Dashboard du Rfplayer tu dois voir les log de ta télécde !

  • si tu ne peux pas enregistré la télécde en mode Parrot, tu dois faire une cde avec un ID <256 dans le mode développement ! avec un appairage sur ton module !

    test si ok , sans sélectionner Create entity

Re, ça à l’air ok :blush:

Je suppose devoir mettre un ID différent pour chaque récepteur ?

Merxi beaucoup

1 « J'aime »

Oui tu as 256 id à disposition !
Mais si tu veux commander plusieurs modules en même temps tu peux avoir le même ID, cela évite les groupes !
N’oublie pas de mettre Create entity en On pour avoir le switch !
Il ne sera pas sauvegarder au reboot ! , pour l’instant que le type cover !, mais tu peux faire un switch en Yaml ou automation au reboot !

Bonjour
Encore moi :slight_smile:

Je n’arrive pas à créer, lorsque je selectionne création entité j’ai ce message

2024-05-31 13:03:11.459 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 501, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 736, in _async_call_service_step
    response_data = await self._async_run_long_action(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 699, in _async_run_long_action
    return await long_task
           ^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2738, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2779, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/rfplayer/__init__.py", line 127, in async_send_command
    await hass.data[DOMAIN][DATA_DEVICE_REGISTER][EVENT_KEY_COMMAND](device)
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
KeyError: 'command'

Quand tu dis que ça ne sera pas sauvegardé ça veut dire qu’il faut que je fasse autre chose pour garder mes boutons?

Merci

Slt,
C’est quoi la commande que tu initie, montre moi sous dev, en yaml si possible

service: rfplayer.send_command
data:
  command: "ON"
  automatic_add: true
  entity_type: switch
  protocol: CHACON
  device_id: "2"

Est ce que tu as des entités qui remonte comme contrôle dans log ?

Bonjour
Hum non.
J’ai reussi à créer mes switchs à la main

switch:
  - platform: template
    switches:
      volet_1:
        unique_id : switch.volet_2
        friendly_name: 'switch_volet_test'
        turn_on:
            service: rfplayer.send_command
            data:
              command: "ON"
              protocol: CHACON
              entity_type: switch
              device_id: "2"
        turn_off:
            service: rfplayer.send_command
            data:
                command: "OFF"
                protocol: CHACON
                entity_type: switch
                device_id: "2"

Par contre je n’arrive pas à intégrer ce switch pour mon module cover

cover:
  - platform: cover_time_based_synced
    devices:
      my_room_cover_time_based:
        name: Volet test
        travelling_time_up: 10
        travelling_time_down: 10
        close_switch_entity_id: switch.volet_1
        open_switch_entity_id: switch.volet_1
        send_stop_at_ends: False
        aliases: #optional
          - my_room_cover_time_based

J’ai bien une action depuis cover, le volet semble faire un monté descente, donc je pense que le Cover est mal fait?

J’ai réussi, je faisais bien une bêtise et n’utilisais pas la bonne intégration.
Merci encore pour ton aide.

1 « J'aime »

Si tu bascules sur un module supportant la connexion wifi en plus de la RF comme le https://diohome.com/rev-shutter-mod, avec l’intégration Chacon Dio - Home Assistant, ça devrait être détecté automatiquement et du coup pilotable dans homeassistant avec un retour d’état.