Skip to content
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

Possibilité de régler le reporting max sous les 60 secondes #302

Open
KipK opened this issue Nov 30, 2024 · 12 comments
Open

Possibilité de régler le reporting max sous les 60 secondes #302

KipK opened this issue Nov 30, 2024 · 12 comments

Comments

@KipK
Copy link

KipK commented Nov 30, 2024

Salut @fairecasoimeme

J'aimerais pouvoir régler le reporting max de Sinst sous les 60 secondes qui est la limite logicielle pour l'instant.

Depuis quelques mois j'ai mon sinst réglé en reporting min sur 10s avec un changement minimum sur 1.
Cela fonctionne bien sur mon linky, j'ai bien sinst toutes les 10s.

Aujourd'hui je voudrais changer un truc pour avoir plus de reactivité sur les gros changements, et je me rend compte que la valeur reporting max est bloquée à 60 sec minium.

Je voudrais pouvoir regler le min reporting sur 1s, et le max sur 20s, avec une valeur de changement minimum de 500 pour que seules les changements de puissance > 500VA soient mis à jours immediatement et le reste à 20.
Au final ca ferait moins de messages à envoyer, avec le confort d'avoir bien les changements importants en quasi temps réél.
J'ai testé déjà avec la limite actuelle, donc le max sur 61sec, le min sur 1sec, et changement min sur 1 et ca fonctionne impec.

Possible d'avoir ça pour la prochaine maj ?

Merci à toi

@fairecasoimeme
Copy link
Owner

Bonjour,

Oui, je peux créer une version spécifique pour commencer avec cette modification et que tu puisses la tester.
De mémoire tu utilises une version limited ?

@KipK
Copy link
Author

KipK commented Dec 2, 2024

Top merci.
Je suis en version standard maintenant.

@fairecasoimeme
Copy link
Owner

ok je compile une version asap

@fairecasoimeme
Copy link
Owner

J'ai pas pu tester mais normalement c'est ok

ZLinky_router_v14_MAX_Report.zip

@KipK
Copy link
Author

KipK commented Dec 4, 2024

Merci d'avoir pris le temps pour ça.

Apperement ca ne passe pas, si je mets une valeur inférieure à 61 pour "Max rep Interval" sur SINST, il renvoie toujours la même erreur:

z2m: Request 'zigbee2mqtt/bridge/request/device/configure_reporting' failed with error: 'ZCL command 0x00158d000638e0dc/1 haElectricalMeasurement.configReport([{"attribute":"apparentPower","minimumReportInterval":1,"maximumReportInterval":20,"reportableChange":500}], {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"reservedBits":0,"writeUndiv":false}) failed (Status 'INVALID_VALUE')'

@fairecasoimeme
Copy link
Owner

erf OK
Je vais faire plus de tests ASAP alors

@KipK
Copy link
Author

KipK commented Dec 6, 2024

J'ai fouiné un peu dans le code et pas trouvé grand chose sur la configuration de la tolérance de ces valeurs de reporting interval.
Du coup je suis allé voir dans le sdk, apperement ca se joue ici :

if((psAttributeReportingRecord->u16MaximumReportingInterval != REPORTING_MAXIMUM_PERIODIC_TURNED_OFF ) &&
       (psAttributeReportingRecord->u16MaximumReportingInterval < psZCL_Common->u16SystemMaximumReportingInterval)
    )
    {
        return(E_ZCL_ERR_INVALID_VALUE);
    }

psZCL_Common->u16SystemMaximumReportingInterval prend la valeur de ZCL_SYSTEM_MAX_REPORT_INTERVAL
il est reglé par défaut dans le sdk ici:

  #ifndef ZCL_SYSTEM_MAX_REPORT_INTERVAL
        #define ZCL_SYSTEM_MAX_REPORT_INTERVAL   (0x003d)
    #endif

0x003d = 61

Donc en rajoutant un

#define ZCL_SYSTEM_MAX_REPORT_INTERVAL 0x0014

là où tu regles les #define ( app_common.h ? ) ca devrait le faire.

@fairecasoimeme
Copy link
Owner

oui c'est exactement ce que j'ai fait en modification mais apparemment ça ne suffit pas. Il faut que j'investigue plus

@KipK
Copy link
Author

KipK commented Dec 7, 2024

oui c'est exactement ce que j'ai fait en modification mais apparemment ça ne suffit pas. Il faut que j'investigue plus

Et tu avais définis aussi

ZCL_ATTRIBUTE_REPORTING_SERVER_SUPPORTED
?

@fairecasoimeme
Copy link
Owner

Oui, c'est plus un problème (je pense) de timer. je cherche actuellement, mais je pense qu'il doit y avoir un timer à 60 sec quelque part qui bloque. je cherche par rapport à l'erreur retournée : E_ZCL_ERR_INVALID_VALUE

@fairecasoimeme
Copy link
Owner

Normalement c'est ok.
ZLinky_router_v14_MAX_Report2.zip

@KipK
Copy link
Author

KipK commented Dec 7, 2024

C'est tout bon 👍 Merci

edit: du coup t'as du changer quoi ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants