Je sais pas si je vais être bien clair, mais pour moi le problème avec les automatisations HA c’est pas tellement la logique / mécanique des automatisations.
Effectivement chaque système a ses façons de faire, ses possibilités et ses limites.
Sans me considérer comme développeur, ça fait 25 ans que je bidouille du logiciel.
J’ai programmé des microcontrôleurs en assembleur (le RISC des PIC) en Basic, en C/C++, fais des petites application PC en VB6; VBA, des applications web en ASP et un peu de PHP, programmé des automates programmables industriels en Ladder, Logigramme et même un peu de C. Et même bidouillé le programme de robots industriels en V+ (ça doit pas causer à grand monde)
A chaque changement il faut s’adapter, apprendre la syntaxe, prendre de nouvelles habitudes, en perdre d’autres, changer un peu de logique.
Mais derrière, au fond, c’est toujours un peu la même chose : traduire en langage « machine » les instructions que l’on aimerait qu’elle fasse.
Et HA n’est pas foncièrement différent des autres, y a rien de révolutionnaire ou novateur dans leurs automatisations : Tu attends / surveille un événement, teste des conditions, et demandes des actions. Tous les langages de programmations que j’ai testé répondent à la même logique.
C’est que que la façon de HA de représenter ça n’est pas ergonomique (pour rester poli)
Pour reprendre mon exemple des combinaisons logiques, ça reste quand même un bordel sans nom.
Et oui, comme je l’ai aussi dis, tu peux faire ça dans un template pour retrouver une écriture plus « language de programmation » et dans ce cas tu as une chance que ça reste lisible et maintenable. Mais l’écriture de ces templates reste compliqué : il n’y a aucune assistance pour aller chercher les entités que tu veux tester.
Dans Jeedom tu as le bouton « Recherche une commande » qui porte bien son nom et que tu permets d’aller chercher toutes les commandes que tu as besoin pour écrire ta condition logique au fur à mesure que tu as besoin.
Dans la majorité des IDE moderne tu as de l’auto-completion qui t’aide à retrouve le nom de tes variables. Ça ne fait pas tout, mais ça enlève déjà une grosse sources d’erreurs.
Dans HA, t’a que dalle !
Prend ton notepad, et galère…
Franchement, je ne crois pas que qq1 qui n’a jamais touché à de la programmation de sa vie, et qui n’a dont pas d’habitude particulière, y trouves ses marques plus vite que qq1 qui a l’expérience de Jeedom.
Pour me le coup de « faut perdre les « mauvaise » habitudes de Jeedom » c’est un faux débat.
Oui il y a des différences de langage (genre bloc « DANS / A » dans Jeedom et Timers dans HA par exemple) et ça entraine des façons de faire un peu différentes avec des avantages et des inconvénients pour chacune des méthodes (c’est du même ordre que en VB tu dois déclarer tes variables à l’avance mais elles ne sont pas typées, et en C tu peux déclarer une variable en même temps que de l’utiliser, mais elle est typée), mais au final le but est le même et donc la mécanique pas spécialement différente pour celui qui veut la mettre en place.
Le problème pour moi il est plus au niveau de l’éditeur. C’est bancale, fouillis, y a trop de sous-sous menus; les fonctions que tu n’utilises pas souvent, tu passes des fois un temps fou à les retrouver…(quand tu les trouves*) sans parler du fais que des fois, pour la même chose, entre les déclencheurs et les conditions, pour la même entité, ça va pas se retrouver au même endroit / s’appeler pareil (par exemple a chaque fois je galère avec le soleil pour les lever/coucher).
* ça m’arrive encore souvent d’écrire des trucs en yaml, juste pour retrouver ensuite dans quel sous sous menu de l’éditeur visuel se trouve une fonction…