claudegel / sinope-zha

This is a custom quirks for sinope zigbee devices for testing before it is added to zha-device-handlers. It also explain how to setup those quirks in Home Assistant to use and test them before they are merged in zha-device-handlers
GNU General Public License v2.0
26 stars 5 forks source link

Valve VA4220ZB - Questions #44

Open maxperron opened 1 month ago

maxperron commented 1 month ago

Bonjour,

J'aurais quelques questions concernant l'intégration ZHA de la valve VA4220ZB.

Premièrement, merci énormément pour le travail sur tous les équipements Sinope!

Note: J'ai ajouté la valve avec ZHA sans utiliser le zhaquirks de ce répertoire.

image

J'avais des questions sur les entités créées:

  1. L'entité "Ouverture" semble être toujours à "Closed" peut importe l'état de la valve, que représente-t-il?
  2. Que représente "Zone IAS" ?
  3. Est-ce qu'il y a une façon d'avoir l'information sur la batterie?
  4. Le device type de l'entité "Summation delivered" est "Water Metering" ce qui fait que l'ont ne peut pas l'utiliser dans la dashboard Energy, puisque qu'il doit être de type "water" seulement. Je ne sais pas si c'est possible de le changer dans une version future. image Pour le moment, j'ai créé un template avec le bon device type: image

Merci!

claudegel commented 1 month ago

Je vous reviens demain. Le zhaquirks de ce répertoire est inclu dans ZHA. Vous n'avez pas besoin de l'installer sauf si vous voulez tester de nouvelles fonctions. Pouvez-vous publier la signature de votre valve dans ZHA. parametres, appareils et services, zha, sélectionnez votre valve et cliquez sur les trois petits points verticaux a coté de reconfigurer. Dans la fenêtre qui s'ouvre cliquez sur gérer l'appareil zigbee puis choisir le 3e onglet. Avez-vous un débit mètre attaché à la valve? FS4220 ou FS4221

maxperron commented 1 month ago

Certainement, voici la signature:

{
  "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=1, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.FullFunctionDevice|MainsPowered|RxOnWhenIdle|AllocateAddress: 142>, manufacturer_code=4508, maximum_buffer_size=71, maximum_incoming_transfer_size=43, server_mask=10752, maximum_outgoing_transfer_size=43, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
  "endpoints": {
    "1": {
      "profile_id": "0x0104",
      "device_type": "0x0003",
      "input_clusters": [
        "0x0000",
        "0x0001",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0x0008",
        "0x0402",
        "0x0404",
        "0x0500",
        "0x0702",
        "0x0b05",
        "0xff01"
      ],
      "output_clusters": [
        "0x0003",
        "0x0006",
        "0x0019"
      ]
    }
  },
  "manufacturer": "Sinope Technologies",
  "model": "VA4220ZB",
  "class": "zhaquirks.sinope.switch.SinopeTechnologiesValveG2"
}

Avez-vous un débit mètre attaché à la valve? FS4220 ou FS4221

J'ai la FS4220, j'ai fais la procédure documenté dans le readme pour appeler le service pour écrire l'attribut avec ZHA Toolkit.

claudegel commented 1 month ago

Vous avez la même valve que moi sauf que la mienne est au firmware 010402. je vais la remettre dans neviweb pour faire la mise a jour. Les sensors qui apparaissent ne sont pas produits par les quirks mais directement par ZHA. Je pense qu'ils créent les sensors sur les cluster/attributs qui font du reporting. Maintenant que les quirks sont pas mal matures je vais regarder pour ajouter les sensors qui manquent. Par contre avec ZHA tool-kit on peut créer les sensor qu'on a besoin. Par exemple pour le voltage et le % de la batterie c'est le cluster 0x0001, PowerConfiguration, attribut 0x0020 et 0x0021 il y a un service de ZHA tool-kit qui permet de créer un sensor pour suivre l'état des ces attributs. Dans votre carte il y a commutateur (hidden) je n'ai pas ca sur la mienne est-ce quelques chose que vous avez ajouté ? Est-ce possible d'exécuter zha_toolkit.scan_device sur votre valve.

service: zha_toolkit.scan_device
data:
  ieee: 50:0b:91:40:00:02:26:6d <-ieee of your valve
  endpoint: 1
  event_success: my_read_success_trigger_event
  event_fail: my_read_fail_trigger_event
  event_done: my_read_done_trigger_event

Ca va créer un fichier dans config/scans/ qui dompe tous les clusters et attributs de votre valve. ceci me permettrait de comparer et voir s'il n'y a pas de nouveaux attributs pour cette valve. Concernant vos questions. L'entité ouverture sur ma valve est aussi toujours à closed je vais essayer de trouver quel attribut elle suit. Pour la zome IAS c'est l'alarme en cas de fuite détectée par le débit mètre. Pour la batterie, je l'ai indiqué plus haut, je vais retrouver le service qui permet de créer le sensor pour la batterie. Pour le summation delivered c'est effectivement le débit mesuré en L/hr. je vais regarder pour le modifier mais en attendant pour vouvez créer un sensor de type water qui va suivre le summation delivered et vous permettre de l'inclure dans le module énergie.

claudegel commented 1 month ago

le service suivant permet de récupérer la valeur de la batterie

service: zha_toolkit.execute
data:
  command: attr_read
  ieee: 50:0b:91:40:00:03:ed:b0
  cluster: 0x0001
  attribute: 0x0021
  state_id: sensor.bat_percent
  allow_create: True
  tries: 100

Ca va créer un sensor.bat_percent et y inscrire la valeur de battery percent remaining. Il suffit de faire une automation qui va exécuter ce service selon la fréquence requise.

maxperron commented 1 month ago

Merci pour l'information, je vais créer les sensors avec ZHA tool-kit.

Dans votre carte il y a commutateur (hidden) je n'ai pas ca sur la mienne est-ce quelques chose que vous avez ajouté ?

Oui, nous pouvons changer le type d'une switch dans Home Assistant maintenant, quand je l'ai changé pour Valve, HA a désactivé la switch.

image

Est-ce possible d'exécuter zha_toolkit.scan_device sur votre valve.

J'ai attaché le fichier généré. VA4220ZB_Sinope-Technologies_400005b318_01_scan_results.txt

claudegel commented 1 month ago

Merci pour le fichier. Je vais travailler pour ajouter directement le type valve dans ZHA pour sortir les valves du groupe switch comme je l'ai fais pour neviweb130 ou le type valve suit HA valve. Dans HA le type valve est nouveau de cet année. Je vais aussi regarder pour créer directement les sensors qui nous intéressent. Ca va demander un peu de temps mais c'est la suite logique aux quirks.

krokets commented 1 month ago

Bonjour,

Je suis aussi sur le cas de "Zone IAS". J'ai remarqué que IAS devient vrai au moment que la valve détecte un débit anormal et aussitôt que la valve se ferme, il retombe à faux. De mon côté, j'aimerais seulement être averti d'un débit anormal sans fermeture de valve, j'ai donc mis 0x0001 dans FF01h:0253h pour alerte seulement. Par contre, Zone IAS ne devient plus jamais vrai. J'ai pensé que FF01h:0230h alarm_flow_threshold devrait être à ON, mais sans succès.

Autre point étrange, en vérifiant les différents attributs, je tombe sur FF01h:0231h alarm_options qui est réglé à _AlarmAction.undefined0x04

claudegel commented 1 month ago

J'ai observé aussi cette valeur pour AlarmAction. je pense que c'est lorsque le flowmeter n'est pas définit. Je l'ai ajouté pour la prochaine mise a jour. je pense qu'une fois qu'on a configurer le flowmeter il faut changer la valeur de AlarmAction pour une des autres valeur ci-dessous.

Nothing = 0x00
Notify = 0x01
Close = 0x02
Close_notify = 0x03
No_flow = 0x04 

Ma valve est dans Neviweb pour un update de firmware mais je vais la ramener dans ZHA. Mais avant je vais sniffer la ligne pour voir quel attributs sont modifiés quand on change les valeurs des options dans neviweb.