Aller au contenu

Messages recommandés

Posté(e)

essaie ceci

if tonumber(data_port_table[i]["poe_power"]) > 0 and data_port_table[i]["poe_power"]~= nil then

je pense que tu as un switch avec des ports non poe

 

Aprés je n'ai que l'udm pour tester

 

 

Posté(e)

Pour notre histoire de table avec port_overrides 

 

je crois que j'ai l'explication est c'est logique

 

Au départ tu es en profil par défault

 

donc la valeur de port_overrides ne sert a rien ou plutôt égal au profil

 

si tu envois une modification pour un port cela va fonctionner il aura la table pour l’exception du port

si tu envois a nouveau une table d'un port cela va fonctionner pour ce port mais cela va effacer l'ancienne table et la remettre en profil par défault

 

donc la solution c'est de garder la table port_overrides de modifier le auto/off du bon port et de renvoyer la valeur

 

il faut donc que la table garde l'ensemble des ports et la tu n'auras plus de probléme

on pourrait aussi modifier plusieurs port avant de faire le PUT

 

  • Like 1
Posté(e)

Oui @mprinfo c'est ce que je t'ai dit plus haut :) tu fetches la table override, puis dedans tu insert la nouvelle valeur en ne changeant que la position on/off.

Bon on dirait qu'on dit la même chose mais pas de la même façon, on va y arriver.

Je viens de mon coté de faire la petite modif, c'est bon, tu as beaucoup plus de fonction dans ta version, je pense de mn coté déjà faire qlq chose d'utilisable pour cette petite partie qu'est la gestion des port. 

Je continuerai ce we tranquillou. 

 

  • Like 1
Posté(e)

Depuis le début je ne fais que modifier la valeur dans la table
La raison est que j'ai regardé comment cela ce passe via l'interface unifi est l'on voit bien qu'il procède de cette façon

Il y a une solution temporaire avant que cela avance pour n'avoir qu'un qa

La solution n'est pas propre mais cela fonctionnera

Il faut récupérer la table

Tu crées en dur avec la position auto/off

Tu fais autant de table que du position

Pour un explication plus claire

Table 1 = 1 à auto 2 à auto 3 à off etc..
Table 2 = 1 à off 2 à auto 3 à auto etc..

Ensuite tu n'as plus qu'à récupérer la table que tu as besoin et faire le PUT



Envoyé de mon BLA-L29 en utilisant Tapatalk

  • Like 1
Posté(e)

@mprinfo Merci mon ami! malheureusement ça crash toujours avec le même problème de POE, je t'assure que mon 24-PRO POE est bien POE sur tout ses ports :)

c'est vraiment étrange que ce QA fonctionne chez toi et pas sur mon UDM, je ne pense pas qu'il y ait de différence d'api entre l'UDM et l'UDM SE mais sait on jamais, ma version fonctionne chez moi mais pas chez toi et inverse! 

Trop bizarre comme comportement.

Posté(e)

J'ai pas fais la modif que je t'avais donné

Chez moi j'ai juste l udm en poe

Donc si un port est non poe la valeur et nil est ça crache

Demain je m'occupe soit du poling soit de la gestion des enfants

Je réfléchis pour comment faire avec le moins de ressources

Je tag chaque child avec une variable qui et un numéro de port du switch

Envoyé de mon BLA-L29 en utilisant Tapatalk

Posté(e)

Pour ton switch ta as 24 poe et 2 non poe les sfp

 

Simple à vérifier #table des ports je suis sur que tu auras 26

 

Pour l udm c'est différent les 3 ports non poe sont des ports wan

 

Envoyé de mon BLA-L29 en utilisant Tapatalk

 

 

 

 

  • Thanks 1
Posté(e)

@tonyC voici la version 0.74b

Attention les childs ne sont pas correctement gérer lors de la création

la création des childs et provisoire il faut que je modifie pour que cela soit plus  propre

j'ai fais quelques vérification lors de la création mais il y a encore du travail

je mettrais une fonction  pour la suppression des childs

 

voici le QA : Poe_On_Off_V0.74.fqa

 

Posté(e)
@TonyC je crois que j'ai tout fais :2:
 
Voila un version Candidate pour la gestion du POE sur un switch UNIFI
 
Normalement la gestion des childs ce fait automatiquement en fonction des ports que tu choisis dans la variable du QA
 
Chez moi cela fonctionne très bien. J'attends 2 switchs POE donc je testerai avec lorsque je les aurais
 
1.thumb.jpg.ad5af51c101d90abbdcbb21f5985bcbf.jpg
 
2.jpg.f16017c08b551512a012fadb33d3bae9.jpg
 
 
version QA 0.75 : Switch_Poe_V0.75.fqa
 
 
  • Like 1
Posté(e)

Pour la consommation je remonte la consommation total du switch et non des ports que l'on a en switch
J'ai hésité à ajouter un child par port mais je n'en vois pas trop l'intérêt. Si besoin je ajouter cela c'est pas très compliqué à faire

Envoyé de mon BLA-L29 en utilisant Tapatalk

Posté(e)

@TonyC je viens de faire un test avec un switch

Il y a quelques bug

Le QA plante car une variable est à nil
La fameuse erreur que tu avais est bien causé par les ports stp qui sont non poe

Autre soucis que j'ai eu la table overite était vide la je sais pas pourquoi ?

Lorsque cette table est corrompu on peut corriger ce soucis en éteignant ou allumant tout les ports poe via l'interface elle sera reconstruite

Pour pallier à ce soucis je pense que je vais faire une copie de cette table dans une variable du QA en mettant tout les ports à auto



Envoyé de mon BLA-L29 en utilisant Tapatalk

Posté(e)
Le 09/02/2022 à 20:40, mprinfo a dit :

Pour la consommation je remonte la consommation total du switch et non des ports que l'on a en switch
J'ai hésité à ajouter un child par port mais je n'en vois pas trop l'intérêt. Si besoin je ajouter cela c'est pas très compliqué à faire 

Inutile de créer des modules enfants dédiés pour la consommation.
Tu peux ajouter l'interface "power" sur les modules enfants existants, et mettre à jour la propriété power avec la consommation actuelle.

  • Like 1
Posté(e)
Il y a 19 heures, Lazer a dit :

Inutile de créer des modules enfants dédiés pour la consommation.
Tu peux ajouter l'interface "power" sur les modules enfants existants, et mettre à jour la propriété power avec la consommation actuelle.

je viens de regarder pour un binaryswitch il n'y a pas le "power" par contre il y a "log" j'ai donc afficher les watts dans "log"

Tu as peut être une solution pour ajouter "power" dans les properties ?

Posté(e)

Je t'ai dit qu'il faut ajouter l'interface power.

Une fois cela fait, la propriété power apparaitra (le QA est automatiquement redémarré sitôt l'interface ajoutée)

 

Chaque mot a son importance, il faut bien prendre le temps de lire mes phrases ;)

Je t'ai mis en gras et en couleurs les mots importants pour comprendre la logique des modules chez Fibaro (héritée de la HC2, donc ce n'est pas nouveau)

 

 

Posté(e)

@lazer désolé je suis un jeune papa donc je ne maitrise pas trop l'élevage des momes :D

 

Pour ajouter "Power" tu utiles le même principe que pour la création de variable dans les childs ?

 

Voici une nouvelle version

correction de bug mineur

sauvegarde de la table "port_override" pour la restauration en cas de soucis ca sera manuel pour le moment

Vérification du numéro de port avant la création du child pour éviter d'avoir des ports qui n'existe pas je test juste sur le nombres de ports

Vérification que le switch et bien connecté (online) et mise a 0 des consommation si offline

Si vous avez d'autres proposition je suis preneur

 

merci Christophe pour ton aide

 

@tonyC il faudra supprimer la variable "Save_port_override" car pour poster sur le forum j'utilise notepad pour modifier le mot de passe, user etc... comme cette variable et une table j'hésite a la supprimer sous notepad j'ai peur de merder

 

nouvelle version : Switch_Poe_V0.77.fqa

 

Posté(e)

Je t'incite à regarder mes QA existants, par exemple Onduleur Eaton, Xiaomi Roborock, GCE IPX800 & EDRT2, pour lesquels j'ajoute des interfaces aux modules.

Par nécessairement pour des enfants d'ailleurs, puisque le principe est le même pour les modules parents.

 

Attention à ne pas ajouter l'interface à un module qui la possède déjà, sinon c'est le redémarrage en boucle assuré. Donc avant d'ajouter, on vérifier si l'interface n'est pas déjà présente sur le module.

Tout est dans ma librairie tools, mais les commandes de bases sont :

-- mode bourin, là on va ajouter 3 interfaces d'un coup :
local interfaces = {"power", "energy", "battery"}

-- parent :
self:addInterfaces(interfaces)
-- enfant :
child:addInterfaces(interfaces)
-- ou n'importe quel device du système :
fibaro.call(id, "addInterfaces", interfaces)

Et regarde ma function tools.hasInterface() pour le reste.

 

Posté(e)

@lazer merci pour ces information, effectivement j'ai regarder le QA Surveillance station avant de me lancer dans les childs j'ai vu que tu avais un tools pour la création

Mais j'ai pas tout bien compris, car au départ je ne savais pas faire

Maintenant que je comprends un peu mieux le fonctionnement des childs je vais regarder de plus prêt

 

@tonyc je suis entrain de faire une version avec un code plus propre attend un peu il ne me reste plus qu'a implémenté la fonction PUT et faire quelques petite modification afin de gérer au mieux les erreurs.

 

Je pense que je publierai cela dans la semaine si je ne vais pas au bois

 

 

 

 

  • Like 1
×
×
  • Créer...