Aller au contenu

Christb

Membres confirmés
  • Compteur de contenus

    57
  • Inscription

  • Dernière visite

  • Jours gagnés

    2

Christb a gagné pour la dernière fois le 5 mai

Christb a eu le contenu le plus aimé !

Profile Information

  • Sexe :
    Homme
  • Ville :
    Langey et Saint Loup sur Thouet
  • Intéret :
    DOMOTIQUE
  • Box
    Home Center 2
    Home Center Lite
    Home Center 3
  • Version
    HC3 v5.202 HC2 v4.63 et HCL 4.60

Visiteurs récents du profil

1 190 visualisations du profil

Christb's Achievements

Apprentice

Apprentice (3/14)

  • Reacting Well Rare
  • Dedicated Rare
  • First Post Rare
  • Collaborator Rare
  • Week One Done

Recent Badges

4

Réputation sur la communauté

  1. Hello @fel-X May be the following post will help you: The user manual is in english and the file iconKindDisplay.json will give you the number of icons per deviceType.
  2. Bonsoir, Depuis un certain temps, je cherchai à afficher toutes les icône de ma HC3; pour cela j'ai développé un QA pour afficher les icône User pour les Device, Scene et Room mais loin d'être exhaustif. Voici donc une version écrite en python qui permet de visualiser toutes les icônes que ce soit pour les Device, Scene ou Room et le type d'image (png ou svg). De plus lorsque l'id de l'icône fait partie de ce que Fibaro appelle iconSet; il y en a 19 dans cette catégorie dont le nombre d'image varie de 3 à 32. Points importants pour un affichage correct des icônes dans un explorateur interne: Autoriser l'accès http sur votre HC3 pour afficher les icônes (impossible en mode https) installer l'addOn python 'selenium' ajouter dans la fonction onInit() d'un de vos QA des lignes de code lua pour créer un variable Globale ou la mettre à jour (IconSetTable): local iconSetTable=api.get('/icons') - - get the iconSet Table local tIconSet= hub.getGlobalVariable(“IconSetTable”) if (tIconSet ~= nil) then print(“Global Variable ‘IconSetTable’ exists already, updating…”) api.put("/globalVariables/IconSetTable",json.encode(iconSetTable)) - -update GV IconSetTable else local responseData,status=api.post(‘/globalVariables’, -- create GV IconSetTable { name=”IconSetTable”, isEnum=false, readOnly=false, value=json.encode(iconSetTable) }) print(“GV IconSetTable creation status :”,status) end Joint au présent post: le script python displayHC3Icons.py le fichier IconKindDisplay.json qui permet de connaître le nombre d'icônes par ID le fichier IconSetTable.json qui définit les liens http des images de certaines Id. un mode d'emploi en anglais Je serais heureux d'avoir un retour de ceux qui testeront ce script; joyeux test! DisplayHC3Icons.py displayHC3Icons.py v0.2.5_User Manual.pdf IconKindDisplay.json IconSetTable.json
  3. Bonsoir, Voici la dernière version (1.3.0) qui permet de : sauvegarder les icônes type Device, Room et Scene,, télécharger de nouvelles icônes pour pour chacun de ces 3 types, recharger les icônes du backup vers la HC3*, Changer les icônes par les dernières icônes téléchargées avec une tâche 'load' par type, Changer l'icône d'un éléments par une existante dans la HC3. J'ai aussi revu le mode d'emploi. * Je l'ai laissée même si elle n'est pas facile à utiliser. HC3IconManager U_ManualV1-04.pdf HC3IconMgrV1.3.0.py
  4. En fait ce contrôle n'est pas simple car le nom UserNNNN de l'icône n'est peut être plus présent dans la HC3 mais la même icône a pu être rechargée mais sous un autre nom... Je pense que la tâche 'restore' peut être utilisée de la manière suivante: Faire un 'save' et sauvegarder le répertoire "backup" ailleurs. Plus tard, Avant de faire un 'restore', faire un nouveau 'save et comparer avec l'ancien pour voir s'il manque des icônes et copier les manquantes dans le répertoire correspondant du répertoire du backup du script Les manquantes seront bien rechargées lors du 'restore' mais avec un nouveau nom (malheureusement) ; par contre le fichier "idChanges.json" donne le changement de numéro Usernnnn, mintenant sous la forme suivante :{"device-1041": 1027, "device-1092": 1081, "device-1136": 1135, "device-1035": 1032, "device-1036": 1032, "device-1037": 1032, "device-1040": 1032, "scene-1014": 1044, "scene-1015": 1045, "scene-1001": 1040, "scene-1002": 1046} Peut-être une usine à gaz pour pas grand chose...
  5. Même si je vais essayer d'ajouter le test de présence dans la HC3 pour ma formation à la programmation en Python et aussi avoir une tâche 'restore' qui fonctionne mieux, je pense qu'en final, je vais la supprimer car en fait elle sera redondante avec 'load'. Puis dès que j'aurais fini les tests des autres tâches je publierais ma nouvelle version pour gérer tous les types d'icônes (QA, Device, Room et Scene)
  6. Bonsoir, 1) oui 2) pas de réponse car il semble qu'aucune demande n'est faite à la HC3 si l'cône est dite déjà existante) 3) oui mais sans résultat 4) oui il s'appelle 'ExistingIconTable.json' et je pense que le problème vient de là: Ce fichier est créé après une sauvegarde et contient bien toutes les icônes de la HC3 téléchargées dans les répertoires "Backup/<deviceType>" donc lors d'un 'restore', il est vérifié si chaque icône de ces répertoires existe dans ce fichier json ce qui est toujours vrai! Pour chercher si cela venait de là, j'ai fait les tests suivants : Création d'un nouveau script pour chercher si une icône de type 'deviceType' ou 'room' ou 'scene' existe dans la HC3 et et je peux contrôler de manière externe l'existence d'une icône dans la HC3 ; qui montre que bien qu'elles n'existent plus ces icônes sont dites déjà existantes lors d'un 'restore' (ou un 'load'). Après suppression d'une icône dans la HC3, un 'save' montre bien qu'elle n'est plus dans la HC3 (quelque soit son type) ni dans les répertoires du "backup". Après un 'save', j'ai ajouté des icônes dans un répertoire du "backup" de type unary avec un nom type UserNNNN.png et lors d'un 'restore' elles sont bien rechargées dans la HC3 mais avec un nouvel 'UserId'. Le contrôle avec le fichier ExistingIconTable.json est très utile pour éviter des doublons mais je pense, pour la tâche 'restore', qu'il faut aussi ajouter un test pour contrôler si elle est aussi aussi présente dans la HC3. Votre avis?
  7. @yves.guern En fait, j'ai besoin de votre aide pour vérifier que 'restore' fonctionne bien. J'ai fait plusieurs ajouts d'icônes pour 'device', 'room 'et 'scene' Grâce à la tâche 'load' avec succès puis fais un 'save'. Je les ai ensuite toutes supprimées dans la HC3. Si je fais un 'restore', toutes les icônes présentes dans mon répertoire Backup sont toujours considérées comme existantes même celles qui n'existent plus dans le HC3 et donc elles ne sont pas rechargée. Dans quelle condition une icône est rechargée avec la tâche 'restore?
  8. J'ai trouvé pourquoi la tâche 'restore' ne faisait pas grand chose : Avec Python 3.14 le format files = glob.glob(sBackupIconsPath+sDevType+'\*_0.png') # le bug venait du fait que le '\' avait été supprimé Il faut le remplacer par les lignes suivantes: pattern=os.path.join(sBackupIconsPath,sDevType,'*_0.png') files = glob.glob(pattern) Voici donc la version V1.1 corrigée avec un manuel mis à jour. HC3IconManager U_ManualV1-03.pdf HC3IconMgrV1.11.py
  9. Oui, cela à été très utile et j'ai trouvé le format pour charger une icône dans une Room et dès quelle est chargée, elle est disponible pour toutes les autres Je ne l'ai pas encore testé mais ce format devrait être valable aussi pour charger une Scène.
  10. Désolé de vous avoir ennuyé avec mon problème de réseau. Pouvez-vous me guider pour la construction du postContentHeader pour le type d'icône 'room'?
  11. La réponse était Non pour toutes vos propositions, je vais les faire. Ne change rien sur le PC de développement Merci de ce conseil, je viens de le faire depuis mon portable sous windows10 avec l'adresse "hc3-0000xxxx ; trois essai successifs OK: très grosse différence, lecture des images beaucoup plus rapide (environ 3 à 4 fois plus vite) et pas d'erreur. J'ai trouvé le problème de configuration réseau sur le PC de développement : cela venait du fait que ma Livebox diffuse 2 wifi 2.4GHz et 5GHz. Le portable sur 5GHz et le PC Dev sur 2.4GHZ (de façon involontaire) ; dès que je l'ai basculé sur le 5GHz tout va bien et la lecture des icônes est même plus rapide que sur le portable. Je dois vérifier que tous mes produits y compris la HC3 wifi sont compatible 5GHZ avant de ne plus diffuser le 2.4...
  12. Malheureusement, cela ne résout pas le problème ni d'utiliser l'adresse IP 192.168.1....
  13. En regardant le code Swagger je ne pense pas qu'il faille changer cette lignes$ mais plutôt celles là: postContentHead = postContentHead + SockDataBoundary + 'Content-Disposition: form-data; name="type"\r\n\r\n'+room+'\r\n' Pour la ligne postContentHead = postContentHead + SockDataBoundary + 'Content-Disposition: form-data; name="deviceTemplate"\r\n\r\n'+sDevType+'\r\n' est-ce que le terme 'deviceTemplate' est valide pour 'room' qui est toujours 'unary'? Pour la ligne : postHeader = postHeader + 'Referer: http://'+host+'/app/settings/devices/list\r\n' changer en : postHeader = postHeader + 'Referer: http://'+host+'/app/settings/rooms/list\r\n' J'ai vraiment besoin d'aide sur ce point car l'IA donne plutôt des réponses imcomplètes (certainement du au manque de documentation sur ce point de Fibaro).
  14. Bonsoir ygern13, Je travaille sur le chargement d'une icône dans une pièce et avant de lancer la fonction uploadOneIconSet, je ne suis pas sur du format du code suivant: postHeader = postHeader + 'POST /api/icons HTTP/1.1\r\n' faut-il la changer ou pas en : 'POST /api/rooms/icons HTTP/1.1\r\n' ou 'POST /api/icons/rooms HTTP/1.1\r\n' ?
  15. Oui, j'ai bien sûr pensé à ce problème de l'adresse hc3-000680 non reconnue mais pourquoi après 30 à 100 récupérations d'icônes OK. De plus un 'ping' juste près cette erreur est accepté . Je pense que cela vient du fait que la HC3 est trop occupée pour répondre à temps à la requête du script d'où l'erreur. Y-a-t-il un moyen pour augmenter l'attente d'une réponse de la HC3? dans le header? J'ai trouvé comment faire en ajoutant à la requête ,timeout=(5,10)
×
×
  • Créer...