KiwiHC16 / Abeille

Abeille pour Jeedom (Gateway ZiGate)
GNU Affero General Public License v3.0
60 stars 52 forks source link

Revue controle volets Profalux #1994

Closed tcharp38 closed 2 years ago

tcharp38 commented 3 years ago

Il y a beaucoup de points ouverts autour de Profalux et Abeille. Je constate moi meme que ca n'est pas si clair du coup je vais tout regrouper ici.

Le retour d'info necessite un "bind" et "configure report" pour le cluster 0008, attrib 0000

@pipiche38

Merci

tcharp38 commented 3 years ago

https://github.com/KiwiHC16/Abeille/issues/1066 https://github.com/KiwiHC16/Abeille/issues/767 https://github.com/KiwiHC16/Abeille/issues/751 https://github.com/KiwiHC16/Abeille/issues/589

tcharp38 commented 3 years ago

Le retour de position semble fonctionner maintenant pour moi. image

Xav-74 commented 3 years ago

Hello ! Cool d'avoir tout regroupé. Je te confirme aussi que les tlc s'annoncent. Par contre si je les supprimes, elles apparaissent néanmoins toujours dans le graph. Toi aussi ?

image

Autre question : en passant par le cluster 0x0008, tu récupères le bon niveau de level ? Si tu fais un SetLevel, arrives-tu à être précis ? Jusqu'à présent je passais par le plugin VoletProp pour gérer la bonne hauteur !.

Merci de ton retour,

Xav

tcharp38 commented 3 years ago

Salut. J'ai bien avancé et à part refaire des tests je crois que c'est ok. En résumé pour les volets profalux j'ai revu le JSON pour

Cote retour de level je constate que le volet renvoi des valeurs intermediaires etranges mais ca fini comme il faut. En gros je fais un setLevel 85% et il fini à 85%.

La telecommande peut s'annoncer mais on ne peut rien en faire. Je dois donc encore ajouter un modele qui la permette de la reconnaitre et la desactiver & masquer.

Xav-74 commented 3 years ago

Merci pour tout le boulot sur 👍 Je testerai dès que c'est sur la béta !

Pour le level, en fait c'est plus le setLevel qui n'est pas précis. Si tu règle ton setLevel sur 85% par exemple, ton volet se cale bien à 85% ? Je me demandais si on ne pouvait pas utiliser le lift comme pour les BSO (les moteurs étant les mêmes, seul l'option tilt est désactivée) ? Il varie entre 0 et 255 et c'est super précis.

tcharp38 commented 3 years ago

J'avoue n'avoir pas regardé en détail. Mais on peut reprendre ça apres. Il faut que livre la et qu'on s'assure qu'il n'y a pas de regression dans la beta. Je vais tacher de la faire... maintenant

tcharp38 commented 3 years ago

La beta "210520-BETA-4" est dispo. Attention à bien faire un backup avant si besoin de revenir sur la stable. Le contenu de la DB 'edLogic' est modifié.

Xav-74 commented 3 years ago

Hello, Je te confirme que c'est OK pour la beta pour le retour d'état ;) C cool ! Good job A ta dispo pour regarder les autres point ensemble. Pas d'urgence.

D'ailleurs @pipiche38, tu gères comment ton setlevel toi ? Les valeurs sont bonnes ?

Xav

tcharp38 commented 3 years ago

Cool. Donc pas de soucis de reinclusion ?

Xav-74 commented 3 years ago

Ah j'ai pas réinclu par contre. Juste tester ! Seul la réinclusion permet de repartir sur le bon json ?

tcharp38 commented 3 years ago

Du coup tu veux dire quoi pas "testé" ? Les JSON ne sont utilisés qu'a la découverte d'un nouvel equipement. Donc il faut reinclure. A moins qu'il n'y ait une fonctionalité que je ne connaisse pas.

Seby9576 commented 3 years ago

Bonjour,

Merci pour votre travail, du coup il faut réinclure les volets pour la prise en compte de ta modification ?

tcharp38 commented 3 years ago

Reinclure les volets permets d'obtenir les commandes suivantes

image

tcharp38 commented 3 years ago

Pour le level, en fait c'est plus le setLevel qui n'est pas précis. Si tu règle ton setLevel sur 85% par exemple, ton volet se cale bien à 85% ? Je me demandais si on ne pouvait pas utiliser le lift comme pour les BSO (les moteurs étant les mêmes, seul l'option tilt est désactivée) ? Il varie entre 0 et 255 et c'est super précis.

Effectivement, un setLevel 50% ca me donne pas la moitié de la fenetre, pas tout à fait. A creuser (tilt) mais pour l'instant j'en reste la côté profalux sauf catastrophe.

tcharp38 commented 3 years ago

A noter que si la telecommande s'annonce (pas toujours le cas chez moi par ex), elle devrait faire partie des equipements Abeille mais ne devrait pas être visible dans le dashboard vu qu'on ne peut rien en faire.

Ex: image

Xav-74 commented 3 years ago

Hello, Suite à la dernière MAJ j'ai un volet qui est passé en TimeOut. Du coup j'en ai profité pour refaire une inclusion totale (avec RAZ du volet). La tlc apparait bien (c'est top ca 👍). Par contre le volet est détecté en unknown :

[2021-05-24 10:11:13][DEBUG] : msgFromParser(): Eq announce received for 99B0, type='defaultUnknown'
[2021-05-24 10:11:13][DEBUG] : getDevicePath(defaultUnknown) => /var/www/html/plugins/Abeille/core/class/../config/devices/defaultUnknown/defaultUnknown.json
[2021-05-24 10:11:13][DEBUG] : msgFromParser(): EP=01
[2021-05-24 10:11:13][DEBUG] : msgFromParser(): Updated EQ config={"defaultUnknown":{"nameJeedom":"defaultUnknown","timeout":"60","Categorie":{"security":"1"},"configuration":{"uniqId":"5cfdgh0asDFRTd6rt78620b6b","icone":"defaultUnknown","mainEP":"01","poll":"0"},"Commandes":{"IEEE-Addr":{"isVisible":0,"name":"IEEE-Addr","order":17,"isHistorized":"0","Type":"info","subType":"string","invertBinary":"0","template":"badge","configuration":{"uniqId":"5c07c76621c24","visibilityCategory":"Network"}},"Link-Quality":{"isVisible":0,"name":"Link Quality","order":19,"isHistorized":"0","Type":"info","subType":"string","invertBinary":"0","template":"badge","configuration":{"uniqId":"5c07c76621e85","visibilityCategory":"Network"}},"Time-Time":{"isVisible":0,"name":"Time-Time","order":5,"isHistorized":"0","Type":"info","subType":"string","invertBinary":"0","template":"","configuration":{"uniqId":"5c07c766225aa","visibilityCategory":"Time"}},"Time-TimeStamp":{"isVisible":0,"name":"Time-TimeStamp","order":6,"isHistorized":"0","Type":"info","subType":"numeric","invertBinary":"0","template":"badge","configuration":{"uniqId":"5c07c7662262b","visibilityCategory":"Time"}},"Power-Source":{"isVisible":0,"display":{"showNameOndashboard":"0"},"name":"Power Source","order":20,"isHistorized":"0","Type":"info","subType":"binary","invertBinary":"0","template":"AbeillePower","configuration":{"uniqId":"5c07c76622259","visibilityCategory":"Network"}},"Short-Addr":{"isVisible":0,"name":"Short-Addr","order":18,"isHistorized":"0","Type":"info","subType":"string","invertBinary":"0","template":"badge","configuration":{"uniqId":"5c07c766223ee","visibilityCategory":"Network"}},"online":{"isVisible":0,"name":"online","order":31,"isHistorized":"1","Type":"info","subType":"binary","generic_type":"ONLINE","invertBinary":"0","template":"","configuration":{"uniqId":"5c07c766246fd","returnStateValue":"0","returnStateTime":"60","visibilityCategory":"Network"}},"0000-01-0005":{"isVisible":0,"name":"nom","order":0,"isHistorized":"0","Type":"info","subType":"string","invertBinary":"0","template":"","configuration":{"uniqId":"5c07c766243fa","visibilityCategory":"Network","topic":"0000-01-0005"}},"0000-01-0004":{"isVisible":0,"name":"societe","order":1,"isHistorized":"0","Type":"info","subType":"string","invertBinary":"0","template":"","configuration":{"uniqId":"5c07c766253e6","visibilityCategory":"Network"}},"0000-01-4000":{"isVisible":0,"name":"SW","order":2,"isHistorized":"0","Type":"info","subType":"string","invertBinary":"0","template":"","configuration":{"uniqId":"5c07c76622387","visibilityCategory":"Network"}},"getManufacturerName":{"isVisible":0,"name":"getManufacturerName","order":14,"isHistorized":"0","Type":"action","subType":"other","invertBinary":"0","template":"","configuration":{"uniqId":"5c07c76623e00","topic":"ReadAttributeRequest","request":"EP=01&clusterId=0000&attributeId=0004","visibilityCategory":"additionalCommand"}},"getModelIdentifier":{"isVisible":0,"name":"getModelIdentifier","order":14,"isHistorized":"0","Type":"action","subType":"other","invertBinary":"0","template":"","configuration":{"uniqId":"5c07c76623e9b","topic":"ReadAttributeRequest","request":"clusterId=0000&attributeId=0005&EP=01","visibilityCategory":"additionalCommand"}},"getSWBuild":{"isVisible":0,"name":"getSWBuild","order":16,"isHistorized":"0","Type":"action","subType":"other","invertBinary":"0","template":"","configuration":{"uniqId":"5c07c76623f2a","topic":"ReadAttributeRequest","request":"EP=01&clusterId=0000&attributeId=4000","visibilityCategory":"additionalCommand"}},"Identify":{"isVisible":0,"name":"Identify","order":21,"isHistorized":"0","Type":"action","subType":"other","invertBinary":"0","template":"","configuration":{"uniqId":"5c07c76621cea","topic":"identifySend","request":"EP=01&duration=0010","visibilityCategory":"additionalCommand"}}}}}
[2021-05-24 10:11:13][DEBUG] : Template config={"uniqId":"5cfdgh0asDFRTd6rt78620b6b","icone":"defaultUnknown","mainEP":"01","poll":"0"}
[2021-05-24 10:11:13][DEBUG] : Abeille1-400: Adding cmd 'IEEE-Addr' => 'IEEE-Addr'
[2021-05-24 10:11:13][DEBUG] : Abeille1-400: Adding cmd 'Link Quality' => 'Link-Quality'
[2021-05-24 10:11:14][DEBUG] : Abeille1-400: Adding cmd 'Time-Time' => 'Time-Time'
[2021-05-24 10:11:14][DEBUG] : Abeille1-400: Adding cmd 'Time-TimeStamp' => 'Time-TimeStamp'
[2021-05-24 10:11:14][DEBUG] : Abeille1-400: Adding cmd 'Power Source' => 'Power-Source'
[2021-05-24 10:11:14][DEBUG] : Abeille1-400: Adding cmd 'Short-Addr' => 'Short-Addr'
[2021-05-24 10:11:14][DEBUG] : Abeille1-400: Adding cmd 'online' => 'online'
[2021-05-24 10:11:14][DEBUG] : Abeille1-400: Adding cmd 'nom' => '0000-01-0005'
[2021-05-24 10:11:14][DEBUG] : Abeille1-400: Adding cmd 'societe' => '0000-01-0004'
[2021-05-24 10:11:14][DEBUG] : Abeille1-400: Adding cmd 'SW' => '0000-01-4000'
[2021-05-24 10:11:14][DEBUG] : Abeille1-400: Adding cmd 'getManufacturerName' => 'getManufacturerName'
[2021-05-24 10:11:14][DEBUG] : Abeille1-400: Adding cmd 'getModelIdentifier' => 'getModelIdentifier'
[2021-05-24 10:11:14][DEBUG] : Abeille1-400: Adding cmd 'getSWBuild' => 'getSWBuild'
[2021-05-24 10:11:14][DEBUG] : Abeille1-400: Adding cmd 'Identify' => 'Identify'
[2021-05-24 10:11:14][DEBUG] : message(topic='Abeille1/99B0/SimpleDesc-DeviceDescription', payload='Shade')
[2021-05-24 10:11:14][DEBUG] :   L'objet 'Abeille1/99B0' existe mais pas la cmde 'SimpleDesc-DeviceDescription' => message ignoré
[2021-05-24 10:11:14][DEBUG] : Update ONLINE Status
[2021-05-24 10:11:14][DEBUG] : message(topic='Abeille1/99B0/SimpleDesc-01-DeviceDescription', payload='zigbeeShade')
[2021-05-24 10:11:14][DEBUG] :   L'objet 'Abeille1/99B0' existe mais pas la cmde 'SimpleDesc-01-DeviceDescription' => message ignoré

Tu as le même fonctionnement ? Pour info je suis en dernière version beta. Si tu veux plus de logs, dis moi. Merci d'avance,

Xav

tcharp38 commented 3 years ago

Salut @Xav-74 Donc tu es sur la beta.

J'ai noté chez moi que parfois les 2 ne s'annoncent pas en meme temps. Tres bizarre leur comportement. Du coup j'ai relancé une inclusion dans la foulée. En gros j'ai noté que

Tu peux me filer le log parser correspondant à l occase si ca se reproduit ?

Xav-74 commented 3 years ago

Oui il arrive parfois que tout ne se produise pas en même temps. Ici le log suite à une nouvelle inclusion : les 2 se sont annoncés : AbeilleParser.log Mais toujours même souci.

Merci

tcharp38 commented 3 years ago

Ha ouiiiiiiiiii J'ai pigé ! Un cas auquel personne n'a pensé ??

Les volets Profalux sont particuliers. Ils ne respectent pas vraiment la norme car se renvoient pas de "nom de fabricant" et de "nom de model". Du coup ils sont identifiés par ... leur champ "location". Sauf que toi tu as modifié ce champ (je sais pas trop comment d'ailleurs :)) Je vois 'Salleàmanger' la ou Profalux renvoi "volet". Du coup ca plante la detection.

[2021-05-24 10:47:59] Abeille1, Type=004d/Device announce, Addr=5A39, ExtAddr=000D6F0012214D89, MACCapa=8E [2021-05-24 10:47:59] EQ already known: Status=discovering, since=1621843873, time=1621846079 [2021-05-24 10:47:59] updateEq('epList', '01'), status=identifying [2021-05-24 10:47:59] findJsonConfig(), manuf='false', model='false', loc='Salleàmanger' [2021-05-24 10:47:59] EQ is UNsupported. 'defaultUnknown' config will be used [2021-05-24 10:47:59] discoverEQ() [2021-05-24 10:47:59] Requesting simple descriptor for EP 01

Seby9576 commented 3 years ago

Bonjour,

Chez moi j'ai eu toutes les télécommandes avec les volets. Par contre je ne comprend pas le changement avec la beta (pas encore installée) moi j'avais déjà toutes les commandes : monter, descendre, stop, set level et get level. Du coup c'est quoi le changement ? J'ai souvent le retour de positions qui fonctionne mais pas a chaque fois. Si je fais du dashboard ca fonctionne si je fais de la commande local ca ne se met pas à jours. Je dirais que si c'est commandé depuis un widget ou scenario c'est pareil. Est ce que le beta corrige ca ? Merci

tcharp38 commented 3 years ago

Salut @Seby9576 Oui le retour de position doit se faire meme si l'action vient de la telecommande et non pas de Jeedom.

Xav-74 commented 3 years ago

Je crois savoir d'où vient le problème de location : j'utilise aussi la télécomande Zoé et le volet est localisé dans la salle à manger ;)

tcharp38 commented 3 years ago

Je crois savoir d'où vient le problème de location : j'utilise aussi la télécomande Zoé et le volet est localisé dans la salle à manger ;)

Ha peut etre qu'avec Zoe tu peux changer ce nom la pour chaque volet. C'est ca ?

Xav-74 commented 3 years ago

Par contre c'est bizarre qu'il ne se réinitialise pas lors du RAZ ! Du coup comment faire pour le réinclure ? Je vais essayer avec Zoé. Juste besoin que la location soit 'volet' c'est ca ?

tcharp38 commented 3 years ago

Oui malheureusement aujourd hui c est la seule solution mais je suis d'accord avec toi, je m attendais à ce qu'un reset remette la valeur par defaut.

Xav-74 commented 3 years ago

Bon impossible à changer ! C'est vraiment bizarre. Du coup je vais l'inclure de manière manuelle. Que dois je modifier pour qu'il cherche 'Salleàmanger' plutôt que 'volet' ? Uniquement le json ?

Xav

tcharp38 commented 3 years ago

Zut. Il faut qu'on comprenne comment ce truc à été modifié.

En attendant du copies devices/volet/volet.json => devices_local/Salleàmanger/Salleàmanger.json

Et tu changes "volet": { par "Salleàmanger": {

Ca devrait fonctionner et le test est interessant car tu prouves que tu peux voir des configs "locales" (non supportées par Abeille)

Xav-74 commented 3 years ago

Bon alors la je comprends rien. Je fais ta manip, je relance le demon puis le lance la réinclusion. Et a il prend le json "volet" ??????????????????????????????? A n'y rien comprendre. En tout cas mon volet est revenu. Je vais refaire des tests plus tard pour inclure les tlc.

Merci de ton aide

tcharp38 commented 3 years ago

Je pige pas non plus. Tu as le log parser ?

Seby9576 commented 3 years ago

@tcharp38 Merci de ton retour. Donc avec cette nouvelle beta mon volet sera toujours remonté à la bonne position ?

La par exemple j'ai ouvert mon dashboard et il voit toujours mon volet fermé alors qu'il est ouvert depuis ce matin. Par contre si je fais un getlevel alors il le verra ouvert. Si cette maj fait le taf ca serait cool. Par contre j'attendrais la stable car j'ai 16 volets à réinclure :-(

tcharp38 commented 3 years ago

Jusque la aucun retour negatif de cette beta. Elle va devenir stable du coup.

Je reconnais qu'il manque encore qqch: le status des volets n'est pas remis à jour au (re)demarrage d'Abeille. Donc soit tu fais un get level soit une action quelconque soit appuis sur la telecommande "ouvrir". Le status devrait etre remis à jour dans la foulée. Tu confirmes ?

Seby9576 commented 3 years ago

Que veux tu dire par le redemarrage de abeille ? Oui si je fais une action cela met à jours la position si celle ci est fait du dashboard.

tcharp38 commented 3 years ago

Redemarrage des démons. On quand ta box redemarre. Si tu fais une action via la telecommande, celle ci doit aussi etre renvoyée à Abeille si tu as reinclus des volets en version Beta.

Seby9576 commented 3 years ago

Non je suis pas passé à la beta car trop de boulot, j'attend un peu avant de refaire mes 16 volets

tcharp38 commented 3 years ago

ok

Xav-74 commented 3 years ago

Juste une question @tcharp38 : l'ajout d'éqt à un groupe fonctionne sur la beta chez toi ? Si oui, j'ouvrirai une nouvelle issue car impossible de mettre le nouveau volet dans un groupe ;)

tcharp38 commented 3 years ago

@Xav-74 Je n'ai pas testé ca. Jamais utilisé en fait. Ca fonctionne sur la stable ?

Regression confirmée => sujet #2011

tcharp38 commented 3 years ago

Nouvelle beta sortie suite regression groupes & remote virtuelle. Du coup la stable est retardée.

Xav-74 commented 3 years ago

Hello @tcharp38,

Petite info concernant les volets Profalux. Je ne sait pas si c'est lié au changement de cluster mais mes volets (inclus depuis plus de 2 ans) passent en timeout les uns après les autres. Il faudra peut-être prévenir les users qu'une réinclusion est nécessaire pour bénéficier de la nouvelle version. Une réinclusion suffit pour que ce soit OK mais je constate un effet de bord : en effet, je commence par supprimer mon équipement de Abeille. Puis je fais la procédure de RAZ (5x bouton R) puis réinclusion (1x R + flèche du haut). Mais l'équipement n'apparait pas. Dans les logs "parser", j'ai l'info comme quoi l'équipement existe déjà et que l'adresse courte se met à jour. Mais celle-ci n'existe pas. A regarder donc !

Merci d'avance Xav

tcharp38 commented 3 years ago

Salut @Xav-74 Je vais regarder cette histoire de timeout mais il est vrai que comme j'ai reinclus tous mes volets je ne vois aucun pb.

Pour la reinclusion il est inutile de supprimer ton equipement avant. Je pense meme que ca n'est pas une bonne idée. Peux tu me donner le package de logs qui correspond au souci ?

Xav-74 commented 3 years ago

Yes, j'ai prévu de réinclure les derniers mercredi ou jeudi. Je suis en dep ces 2 jours. Je t'envoie les logs à ce moment là. Par contre, si je ne supprime pas l'équipement avant, je ne récupère pas les dernières infos issues du json. Par exemple dans l'onglet "Avancé", je n'ai pas les dernières modifications comme la partie calibration par exemple.

tcharp38 commented 3 years ago

Attention. En ce qui me concerne je n'ai revu que le JSON des "volet" pas celui des "BSO". Tu fais allusion à ce dernier ?

Xav-74 commented 3 years ago

Non non je parle bien des volets :) aucun souci côté BSO

tcharp38 commented 3 years ago

OK parfait. Du coup j'ai besoin de ton aide concernant cette partie "avancée". De mon coté je n'utilise rien la dedans pour les volets et du coup je n'y ai rien vérifié. Je regarde ce soir mais si jamais tu as par ex des snapshots de la version "ok" et ceux de la version "pas ok", je peux essayer de comprendre d'ou ca sort et ce que j'aurais oublié.

Détruire un equipement pour le reinclure n'est pas normal maintenant. En + c'est dangereux car si jamais le chemin logique est utilisé dans un scenario ou autre, tu casses ca.

tcharp38 commented 3 years ago

@Xav-74 Ton histoire de timeout m'intrigue. Avant que tu ne relances l'inclusion sur tous, et si tu en as encore un en timeout, j'aimerais bien voir tes logs. Tu en as encore un ? Si oui possible de me filer le package support ?

Xav-74 commented 3 years ago

Il me reste 3 volets qui ne sont pas passés en Timeout et que je n'ai pas encore migrés. Dès que l'un 2 passe en timeout je te mets les logs.

tcharp38 commented 3 years ago

Ha oui ?! Ben je pige pas. Si il y a bug, je m attendrais a ce que TOUS tes volets passent en timeout, ou aucun. Bon je suis preneur de tes logs dans tous les cas. Je dois piger ca.

Xav-74 commented 3 years ago

Ah non ! Ca vient 1 par 1 (et impossible à prédire d'ailleurs) alors que cela n'était jamais arrivé. Du coup j'en profite pour les réinclure sur le nouveau modèle. Je te tiens au jus dès que le cas se présente.

tcharp38 commented 3 years ago

Ok. je vais creuser ca. Tu es bien sur la derniere beta n'est ce pas ?

Xav-74 commented 3 years ago

Oui