-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Intégration zha #18
Comments
Bonjour, |
Bonjour, merci beaucoup. Dans le doute, j'avais créé un ticket ici : zigpy/zigpy-zigate#103 |
Bonjour, |
J'utilise effectivement une passerelle zzh avec firmware Z-Stack supportée par zigpy-znp, et il s'agit d'une version de développement de Home Assistant mise à jour le 31 octobre. |
J'ai la même chose que @pdecat avec une zigate J'imagine qu'il doit manquer quelques informations :) Le fait que le module apparaisse comme "Router" semble indiquer qu'il faudra probablement un zha_quirks pour mieux le configurer non ? |
@MichaelBitard tu es sous quel version de hass ? EDIT : tu as quoi dans "informations zigbee" ? merci :) |
La dernière à jour normalement: System Health
Home Assistant Community Store
Home Assistant Cloud
Home Assistant Supervisor
Lovelace
Il est où le panel "informations zigbee" ? |
|
Ha ok, en anglais c'est zigbee device signature :) {
"node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=4151, maximum_buffer_size=127, maximum_incoming_transfer_size=100, server_mask=11264, maximum_outgoing_transfer_size=100, 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": 260,
"device_type": "0x0053",
"in_clusters": [
"0x0000",
"0x0003",
"0x0702",
"0x0b01",
"0x0b04",
"0xff66"
],
"out_clusters": [
"0x0019"
]
},
"242": {
"profile_id": 41440,
"device_type": "0x0061",
"in_clusters": [
"0x0021"
],
"out_clusters": [
"0x0021"
]
}
},
"manufacturer": "LiXee",
"model": "ZLinky_TIC",
"class": "zigpy.device.Device"
}
J'imagine que si quirk il y a, ça sera ici : https://github.com/zigpy/zha-device-handlers par contre mes compétences s'arrêtent là malheureusement. |
La mise à jour a permit de remonter plus d'informations. (étonnant car il est noté nul part dans le changelog un upgrade de la lib zigpy ) Plus qu'à corriger l'unité/virgule et vérifier qu'il y ai bien une évolution des métriques :) Après quelques jours de suivis, la remontée est hératique, parfois j'en ai tous les heures, parfois plusieurs heures sans rien. Espérons qu'une intégration ZHA réel corrige tout ça :) |
Pour info, j'ai ouvert une issue pour l'ajout du quirk : zigpy/zha-device-handlers#1146 |
J'ai creusé un peu la question pour faire un quirk. Pour ce qui est du voltage, je crois que le mode historique ne renvoit pas cette info, c'est seulement le mode standard. @fairecasoimeme pourra surement confirmer. Ayant mon linky en mode historique je ne peux pas tester. Les info de courrant fonctionnent bien. L'index de consommation fonctionne correctement mais il faut explicitement demander la valeur dans le menu "gérer les clusters" pour que ce soit mis à jour. Je ne sais pas pourquoi c'est comme ça, mais je ne suis pas le seul dans ce cas : #19 (comment) J'ai commencé à faire le quirk et pour l'instant j'en suis là : from zigpy.quirks import CustomDevice
from zigpy.types import basic
from zhaquirks import Bus, LocalDataCluster
from zigpy.profiles import zha
from zhaquirks.const import (
DEVICE_TYPE,
ENDPOINTS,
INPUT_CLUSTERS,
MODELS_INFO,
OUTPUT_CLUSTERS,
PROFILE_ID,
)
from zigpy.zcl.clusters.general import (
Basic,
GreenPowerProxy,
Identify,
Ota,
)
from zigpy.zcl.clusters.smartenergy import Metering
from zigpy.zcl.clusters.homeautomation import (
ElectricalMeasurement,
MeterIdentification
)
LIXEE = "LiXee"
class ZLinkyTIC(CustomDevice):
"""ZLinky_TIC from LiXee"""
signature = {
MODELS_INFO: [(LIXEE, "ZLinky_TIC")],
ENDPOINTS:{
1: {
PROFILE_ID: zha.PROFILE_ID,
DEVICE_TYPE: zha.DeviceType.METER_INTERFACE,
INPUT_CLUSTERS: [
Basic.cluster_id,
Identify.cluster_id,
Metering.cluster_id,
MeterIdentification.cluster_id,
ElectricalMeasurement.cluster_id,
0xff66, # Manufacturer Specific
],
OUTPUT_CLUSTERS : [
Ota.cluster_id
]
},
242: {
PROFILE_ID: 41440,
DEVICE_TYPE: 0x0061,
INPUT_CLUSTERS: [
GreenPowerProxy.cluster_id
],
OUTPUT_CLUSTERS: [
GreenPowerProxy.cluster_id
]
}
}
}
replacement= {} Pour le endpoint 242, je n'ai rien trouvé dans zigpy pour le Il faut maintenant remplir le dictionnaire |
Je crois que développer un quirk n'est pas ce qu'il faudrait faire (ou en tout cas pas la seule chose à faire). Je crois que quelque chose comme ça devrait être suffisant : @MULTI_MATCH(channel_names=CHANNEL_ELECTRICAL_MEASUREMENT)
class ElectricalMeasurementApparentPower(ElectricalMeasurement, id_suffix="apparent_power"): # pas sûr pour le id_suffix
"""Apparent Power measurement."""
SENSOR_ATTR = "apparent_power"
_device_class = DEVICE_CLASS_POWER
_unit = POWER_VOLT_AMPERE
_div_mul_prefix = "ac_power"
@property
def should_poll(self) -> bool:
"""Poll indirectly by ElectricalMeasurementSensor."""
return False Cependant ça va bloquer. En effet, les devices de la classe On peut toujours dire qu'il s'agit de Watt en changeant Je crois qu'il faudra quand même faire un quirk pour définir les |
Bonne nouvelle, il suffit "juste" de rajouter un nouveau sensor comme je le disais dans mon dernier post et ça fonctionne (enfin presque) : J'ai testé en éditant le fichier |
J'ai fait la PR qui est ici : home-assistant/core#59857 |
La réponse semble avoir été apportée dans la PR: home-assistant/core#59857 (comment) |
Oui effectivement je n'avais pas vu qu'il fallait rajouter l'attribut à cet endroit également ! |
La Pull Request sur ZHA est mergée 🥳 ! Malheureusement, l'actualisation de l'index de consommation ne fonctionne pas. Cependant j'avais dit une bétise. J'ai une autre prise en zigbee qui rapport l'indexe et effectivement celui ci ne semple pas s'actualiser tout seul. Il doit falloir creuser du côté ZHA pour ça. Mais l'actualisation de la puissance en VA fonctionne elle ! @ralmn, est-ce que dans votre version du |
Non je suis obligé (comme pour pas mal de valeur) de lire la valeur périodiquement. Comme indiqué en #24 il faudra attendre une nouvelle version du firmware |
Hello, Donc si je résume l'état des lieux :
J'ai tout bon ? ;) D'autres choses avant d'avoir d'avoir une intégration au petits ognons ? |
@max5962 C'est presque ça. Pour ce qui est du troisième point, ce n'est pas via un quirk mais via une modification directement dans l’intégration zha. Pour info les sensors dispo dans zha (avant la PR) étaient rms_voltage, rms_current, active_power et current_summ_delivered (index de consommation). active_power n'est pas dispo sur ZLinky_TIC, c'est pour ça que j'ai rajouté le sensor apparent_power lui fonctionne. (Il y a une petite difference physique entre les deux, apparent_power, c'est la grandeur en Volt-Ampères que l'on peut voir sur son linky quand on appuie sur les boutons et qui correspond à la puissance apparente soutirée). Si on résume les sensors dispo, ça nous fait : voltage, courrant, puissance apparente et indexe de consommation. Ça me semlble être les sensors plus pertinent. A savoir: le voltage n'est disponnible que sur les Linky en mode standard, pas en mode historique. Les autres sensors (comme au pif : l'option tarifaire et la puissance souscrite) ne sont pas rapportés dans ZHA. Pour les rajoutés il faudrait faire une autre modification. Et pour le coup, pas sûr que ça soit accepté puisque ça ne servirait que pour le Zlinky_TIC. Voilà, j'espères que c'est plus clair 👌 EDIT :
|
@N0ciple |
La correction de l'unité Wh en kWh fonctionne aussi parfaitement et la mise à jour se fait toute seule également. À noter, je vois ceci dans les logs :
|
Une nouvelle version est disponible ou vous avez modifié votre instance locale ? |
Il s'agit d'un environnement de développement local. |
Oui effectivement, l'unité Volt-Ampère existe mais je crois qu'elle n'a pas été ajouté comme une unité de puissance, ce qui explique le warning. Mais ça n'empêche pas le bon fonctionnement je crois. La documentation ne donne que les Watts comme unité de puissance : https://developers.home-assistant.io/docs/core/entity/sensor/ @pdecat avec la modif du quirk en local, même l'index de conso en kWh est bien updaté automatiquement ? Pour ma part je croyais que c'était le cas mais en fait c'était juste mis à jour au redémarrage de HA ou en requêtant la valeur à la main. |
Bonjour |
Bonjour @seblang, Toutes les personnes ici (moi y compris) qui ont des infos que vous n'avez pas ont modifié les fichiers en local à la main pour avoir de nouvelles fonctionnalités. La bonne nouvelle c'est que nous avons fait en sorte que ces modifications soient intégrées dans home assistant. Cependant, depuis que ces modifications ont été intégrées dans le code de home assistant, il n'y a pas eu de mise à jour de publiées. Si tout va bien, dans la prochaine version de home assistant (2021.12.0 j'imagine), la puissance apparente soutirée sera disponible. Il y a également un quirk qui permettra entre autre de faire la conversion Wh vers kWh pour l'indexe de consommation; Cependant, je ne suis pas sûr que ce quirk sera intégré dans la prochaine version de home assistant, il faudra peut-être attendre encore un peu. Et pour finir, l'indexe de consommation ne se met pas à jour tout seul. Je crois que ça sera réglé dans le prochain firmware sur ZLinky_TIC. Mais là encore, il faudra attendre encore peu qu'il soit publié. |
It's not due to ZHA. You have a Linky in historic mode. If you want more informations, you have to change to standard mode. |
I've passed to standard mode a long time ago but it seems that nothing has changed. Should I repair ZLinky TIC, should I update the FW? |
Hello, since firmware upgrade from v13 to v14 and a "quirk" in Home Assistant (ZHA integration) I reappaired my Linxee and since my counters are all false. Thank you for your help |
You should submit that as a new bug report to the "ZHA Device Handlers" (zha-quirks) repository on GitHub so that the ZHA community for that there can look at fixing the quirk for it so correct for all firmware versions (even if it is bug in v14 firmware), see: https://github.com/zigpy/zha-device-handlers/issues ZHA uses a "ZHA Device Handler" (also known as a "zha-quirk" or just "quirk") to translate/convert attribute values that are not shown correctly in the ZHA integration, (like for example multiply or devide a value for converting from kWh to Wh or vice versa), as well as having the possible or change or expose attributes that are exposed under other or non-standard Zigbee cluster. See: https://www.home-assistant.io/integrations/zha#how-to-add-support-for-new-and-unsupported-devices If you want to help contribute then best start by submitting a device support request or bug-report if one does not already exist. Or if you want to contribute by fixing "ZHA Device Handlers" (zha-quirks) yourself then check out their readme file: https://github.com/zigpy/zha-device-handlers/blob/dev/README.md |
Hello, sorry but your issue have no link with the firmware. I think you have to review you script or others ... |
Yeah thanks for your reply, I will submit a bug to zha github. current_tier1_summ_delivered (id: 0x0100) 1610442 values are Wh are we OK ? |
yes all counters are in Wh. You have informations in README |
@fairecasoimeme can you maybe actively help enchancing and improving the ZHA Device Handler quirk for the ZHA integration?
Perhaps you or someone else here would be willing to convert the existing old ”quirks v1” for it to next-generation ”quirks v2”: That new ”quirks v2” architecture for ZHA is a huge change since will allow quirk developers to add new entities to Home Assistant via quirks alone without having to modify ZHA code in HA core (which is/was a must with the existing quirks the way that the ZHA integration component worked before). For more information about ”quirks v2” (next-generation quirk functionality for ZHA) please see all of these for reference: (also see zigpy/zigpy#1350 and zigpy/zigpy#1362 for related quirks changes added to zigpy after the initial "quirks v2" pull request). This ”quirks v2” was first added to Home Assistant 2023.3 release and significantly changes how ZHA makes use of the entity API in HA: Anyway, that documentation PR above will initially add a separate
So again note that for now the existing tutorial in the zha-device-handlers's README.md will only apply to old "quirks v1" funtionality. PS: Also check out summarized back-story and more links here in the Home Assistant community forum which more targets end-users: |
@superlevure if tested/verified OK make sure submit change as a pull request -> https://github.com/zigpy/zha-device-handlers |
On my side I don't understand why zha doesn't divide the retourned Wh value by 1000 for my current_summ_delivered anymore, big mystery... (since OTA firmware upgrade) Should I see the divisor value when I query the zlinky ??? (the divisor return "none") If somebody could help In the Zlinky python scrypt (https://github.com/zigpy/zha-device-handlers/blob/dev/zhaquirks/lixee/zlinky.py) the values should be divided ? ZLinky_TIC reports current_summ_delivered in Wh
|
HI All, I did get the fix for the V14 merged. This is here It was suggested to create a quirk v2. I started to have a look and it seems relatively easy. The first this I did is to add the PRN number in the sensor. The question for the community is what would you like to see added in the Sensor list? I'll try to make a PR for the quirks which satisfy as many people as possible. |
Thanks @blauret ! About your question, in my case the custom tariff (TEMPO) could be interesting, as explained in this earlier comment: #18 (comment) 😃 |
Thanks. I tried to go through the history but too many comments to figure it out. I thought it would be de easier to ask here. For reference I'm documenting progress and issues in zigpy/zha-device-handlers#3453 |
Might also be a good idea to post a new thread under discussions in zigpy's "zha-device-handlers" repo too for long-term discussions with ZHA community devs as unlike an issue an discussion thread will not be closed once a pull request gets merged. Again, ”quirks v2” is a huge improvement since will allow quirk developers to add new entities to Home Assistant via quirks alone without having to modify ZHA code in HA core (which was a must with the existing quirks the way that the ZHA integration component worked before). FYI, ”quirks v2” are newer ZHA Device Handlers that allow developers to expose attributes as entities under ZHA in Home Assistant to automatically create switches, sensors, etc. without having to modify the ZHA component code inside Home Assistant core. And, by the way, ”quirks v2” was first added to Home Assistant 2023.3 release and significantly changes how ZHA makes use of entity API in HA. Since then they also further enhanced and improved upon that newer ”quirks v2” architecture for newer ZHA Device Handlers. ZHA/zigpy developers have now introduced initial support for what they call ”quirks v2 ” and dmulcahey begun documentation for quirk development in zha-device-handlers (zha-quirks) here: For reference if anyone wondering what a "Quirk V2" is, it refers to ZHA Device Handlers format version 2, see more info here: Note! If adding or changing a custom quirks v2 to ZHA then note that the ZHA integration can not just be reloaded for it to take affect, instead a full manual restart of the whole Home Assistant core is required to re-add it or changes to a quirk v2. PS: Also posted info in Home Assistant's community forum but easy to miss for other projects/developers whos not using ZHA: |
Good suggestion, thanks!
Actually, I'm using the local quirks, as described here and I just need to delete the pycache folder and reload zha to see the changes. It's a lot more convenient. |
The PR for the qirks v2 is zigpy/zha-device-handlers#3456. It's still work in progress and will need improvement but feedback in the PR are Welcome. |
Tip if it is still work-in-progress then it is usually a good idea if you set it as a draft until it is ready to be reviewed by ZHA devs. You can select "Convert to draft" yourself (to the right) then later also change it back yourself by clicking on "Ready for review": |
To me the most important issue is to get access to the tariff information so that it becomes possible to make automations that save electricity when the ultra high red tariff is active - or just before it becomes active. (My plan is to make the entire house really warm during the hour before the tariff becomes active and then turn the heating down.) From ZLinkyTICManufacturerCluster (Endpoint id: 1, Id: 0xff66, Type: in) I would like to see the following attributes:
Many thanks for your help! |
I'll try to get those in in the coming days! |
@steenlarsen. If you are willing to contribute, you can make a PR in this branch. I'll merge and it will go in the final PR in ZHA |
I looked I Don't I have permission to make it a draft. It's been done for me. |
I just had a look and std_current_tariff_index_number is in the PR. The others are coming as a string and I don't know where the spec is for this one. |
Sorry, I don´t know howto do that. But if there is something to test I can try to help. |
FYI, here you can are two step-by-step guides (one short and one long/detailed) on how-to use not yet merged custom ZHA Device Handlers (zha-quirks) and as such howto steps needed to test a custom ZHA Device Handler (quirk) in Home Assistant. See: and PS: What is missing is howto documentations on how to spot and remove custom quirks that users has manually added themselves if and when an official ZHA Device Handler quirk is added later: |
If someone here is maybe skilled enough it would be great if you could add a LiXee ZLinky TIC Zigbee OTA Provider to zigpy(?): That would enable option to update ZLinky TIC via Zigbee OTAU (Over-The-Air Updates) in Home Assistant's ZHA integration. |
There are still things which are not working great. I did not have time to finish, but I will get back to it. |
Hello,
Plus un ticket de demande qu'un vrai bug. Mais c'est essentiel pour l'utilisation.
Qui s'occupe de l'intégration via ZHA de zlinky ?
Merci
The text was updated successfully, but these errors were encountered: