30/11/2022, 15:14:59 (Modification du message : 30/11/2022, 15:15:42 par richardpub.)
Mise en forme des exports d'ETS pour automatiser l'insertion dans le code HA:
Je fait appel à votre expérience:
Je cherche à mettre en forme les exports d'ETS5, pour pouvoir créer du code plus facilement dans HA.
Je suis partie d'un export en XLS, de mes GA dans ETS5, puis dans excel, j'ai fait une concaténation pour obtenir une case avec le code suivant, qui correspond à ce que je devrais coller dans VSC:
Dans Excel j'ai ceci:
Malheureusement lorsque je colle le contenu de ma case Excel j'ai des " qui se rajoute voir si dessous, et du coup je ne peux pas coller mon code dans Visual studio Code dans HA.
(30/11/2022, 16:18:05)Kevlille a écrit : tu exportes en .csv pour ouverture sous Excel?
Quand tu dis tu colles le contenu, c'est dans file editor de HA? Ou directement dans le fichier .yaml?
Je ne vois pas trop la différence.
Je l'exporte en .csv et comme je maitrise mieux excel, je l'ouvre sous excel, et je fais une chaine de caractère correspondant à la structure du yaml, en passant par le complément Studio Code Server, dans lequel je fais un copier coller de la chaine dans Excel. C'est pour cela que j'ai ces caractères ", qui trainent.
Quelle serait la meilleur méthode pour donner un format précis en automatique au presque, pour retrouver tous les devices KNX, dans HA???
Donc si je comprends bien les copié/collé sont fait à la main depuis l'interface d'Excel vers l'interface de SCS. As-tu essayer une étape intermédiaire sur le bloc-note?
As-tu un exemple de fichier à partager? Ce serait plus simple pour t'aider
Pour ma remarque sur le collé directement dans l'interface ou dans le .yaml, c'est justement pour ces histoires de "" car normalement en copiant directement dans le .yaml (équivalent d'un .txt sous bloc note), tu ne devrais pas avoir ces "" qui s'ajoutent car cela va coller la chaine de caractère tel qu'elle est.
Merci pour le fichier. Cest exactement cela et cela fonctionne parfaitement.
Par contre cela fait plus 10 ans que je n'ai pas utilisé VBA dans Excel et du coup de ramer pour le réactiver dans Excel 2007.
Je suis en train de rechercher comment faire, car je voudrais bien être capable de le reproduire par la suite, et éventuellement être capable de l'expliquer à d'autres.
En tout cas c'est génial pour intégrer les devices Lights de KNX vers HA.
Du coup j'ai finalement copié l'ensemble les cases Excel concatenées et je les ai copiées dans Visual Studio Code, et puis j'ai pratiqué par rechercher-Remplacer pour obtenir la bonne mise en forme.
Pas très élégant, mais ça fonctionne.
il me reste juste à adapter les éléments plus compliqués comme les volets simples et les BSO.
Bonjour
Peut être que c'est une différence de format d affichage qui fait que tu ne vois pas les "" mais apparait quand tu colles.
Pour le format date qui s'active, dans la concatenisation tu peux imposer le format
(04/12/2022, 09:20:32)fabric24 a écrit : Bonjour
Peut être que c'est une différence de format d affichage qui fait que tu ne vois pas les "" mais apparait quand tu colles.
Pour le format date qui s'active, dans la concatenisation tu peux imposer le format
Pour le format date qui s'active, dans la concaténation, Je n'ai pas su trouver le format pour les GA.
Finalement j'ai choisi de coller au format de la concaténation la plus proche de ce que demande un device KNX dans HA au niveau de Visual Studio Code, et de travailler par remplacer les mauvais formats par les bons. Je gère ainsi les"" au lieu de " , et les indentations 4 espaces au lieu de 2, du yaml.
Il me reste à faire une mise en forme conditionnelle de la concaténation dans Excel, du fichier provenant d'ETS5, pour tenir compte des devices comme les volets et les BSO, qui contrairement aux Lights, qui ne nécessite que 2 GA, pour les commander. Les BSO eux pour ma part, ont 7 GA. Après je n'en ai que 3, il sera plus simple de les faire à "la main".
En tout cas je ne regrette pas d'avoir bien gérer le nom des devices dans ETS5, car ils sont nickel aujourd'hui dans HA.
04/12/2022, 12:02:36 (Modification du message : 04/12/2022, 12:04:49 par M2D.)
Bonjour Richard
Ton soucis est connu des utilisateurs d'Excel (enfin moi je la connais depuis plus de 20 ans), c'est l'importation des CVS dans Excel qui pose encore problème, c'est ce qui m'a fait utilisé OpenOffice pour ne citer qu'un tableur. Microsoft ne donne pas le choix des délimiteurs et du formatage des colonnes. Donc quand tu importe ton fichier, certain caractère sont défini comme délimiteur (tabulation, point-virgule et virgule) et je pense que c'est Microsoft qui ont imposé les guillemets dans les CSV pour signifié à Excel que cela été une chaine de caractère et non une formule ou une variable. Cependant pour ne pas perturber les utilisateurs il efface l'affichage des guillemets de la cellules mais elle est bien présente dans les données.
Pour solutionner ton problème, il suffira que tu édites, dans un éditeur de texte, ton fichier CSV avant ton importation dans Excel, que tu fasses un RemplacerTout (comme tu as fait) '"' par '' (rien),et aussi les "; ;" par ";;". Ensuite, après avoir sauvegardé, tu importes le fichier CSV dans Excel où tu pourras formater les colonnes (clic droit sur la colonne) en fonction de tes besoins (je pense entre autre au groupe d'adresse qui ressemble fortement à des dates pour Excel). Et là, tu pourra formater correctement la cellule de sortie pour HA.
Autre sujet qui en découle, à quoi te sers VSC si tu programmes pas avec ? (question sans jugement mais qui me laisse dubitatif)
(04/12/2022, 12:02:36)M2D a écrit : Autre sujet qui en découle, à quoi te sers VSC si tu programmes pas avec ? (question sans jugement mais qui me laisse dubitatif)
Initialement j'ai découvert VSC, en travaillant avec des ESP8266, la création de fichiers knxprod, fonctionnel dans ETS.
Avec VSC, je trouve plus simple de faire du versionning dans Github.
Je pense aussi que VSC est très complet, et je pense qu'il vaut mieux ne pratiquer qu'un seul logiciel pour developper des applications.
Aujourd'hui je me concentre sur le passage de Lifedomus vers HA.
Je profite du sujet pour savoir sur quelle organisation de vos GA vous avez appliqué?
> 3 niveaux
> niveaux libres
Et comment avez vous fait votre organisation?
basée sur les fonctions: Fonction/Sous-Fonction/elements pilotés
basée sur les parties du batiment: Partie Batiment/Fonction/element piloté
Je suis initialement partie sur une organisation FOnction/Sous-fonction/elements pilotés mais pour une importation dans Home Assistant cela implique de le faire à la mano.
Je souhaiterai revoir mes GA afin de coller au mieux à l'architecture des fichiers Home Assistant qui est plutôt du type Fonction/element piloté/sous fonction afin de créer un script de création de mon fichier yaml.
Pour ma part je suis parti de l'onglet adresses de groupe:
exporter les adresses de groupes:
en CSV format 3/3 avec entête, séparateur: tabulation
et ca me donne:
Cuisine
3/0/-
Cuisine Plafond Commutation
3/0/0
Cuisine Plafond Variation
3/0/1
i Cuisine Plafond Valeur Luminosité
3/0/2
i Cuisine Plafond Retour Info Commut
3/0/3
i Cuisine Plafond Retour Val Lumière
3/0/4
Cuisine Plan de Travail Commutation
3/0/10
Cuisine Plan Travail Variation
3/0/11
i Cuisine Plan Travail Valeur Luminosité
3/0/12
i Cuisine Plan Travail Retour Info Commut
3/0/13
i Cuisine Plan Travail Retour Val Lumière
3/0/14
Lumière Îlot Cuisine
3/0/20
i Lumière Îlot Cuisine
3/0/21
Lumière Îlot Cuisine Valeur Luminosité
3/0/22
# Prise de Courant Gauche Chambre Parentale
- name: "Prise de Courant Gauche Chambre Parentale"
address: "2/0/30"
state_address: "2/0/31"
# Prise de Courant Droite Chambre Parentale
- name: "Prise de Courant Droite Chambre Parentale"
address: "2/0/40"
state_address: "2/0/41"
Puis je le colle dans VSC et avec de rechercher remplacer je formate correctement pour HA
Voir dans le message de Kerville, avec VBA, mais que je ne maitrise plus assez pour pouvoir aller plus loin avec, mais le fichier texte que Kerville a généré, est quasi parfait.
Enore merci à lui.