Aller au contenu

Lazer

Administrateur
  • Compteur de contenus

    26 078
  • Inscription

  • Dernière visite

  • Jours gagnés

    1 299

Tout ce qui a été posté par Lazer

  1. Bienvenue sur le forum... mais je vois que tu es indiqué comme invité, je pense qu'il faut que tu recommences l'inscription
  2. Et voilà, nouveau QuickApp terminé, le fameux DomoCharts
  3. Plus tard on verra comment créer des graphs personnalisés avec Grafana.
  4. DomoCharts Version 7.11 Sommaire : 1. Présentation 2. Pré-requis 3. Installation 3.1 Synology 3.2 Pages Web 3.3 Plages horaires d'énergie électrique 3.4 Base de données MySQL/MariaDB 3.5 QuickApp 4. Mise à jour  5. Utilisation 6. Changelog 7. Téléchargement 1. Présentation Voici DomoCharts pour HC3, qui succède à DomoCharts sur HC2 introduit ici : Les fonctionnalités sont plus ou moins les mêmes, c'est à dire l'affichage de graphiques en plein écran sur une page Web hébergée sur un NAS, serveur Web en ligne, bref n'importe quel serveur Web faisant tourner le langage PHP et stockant les mesures dans une base de données MySQL/MariaDB. Le module virtuel récoltant les mesures sur la HC2 a été entièrement réécrit en QuickApp pour la HC3. Liste des capteurs supportés : Température (en °C) Humidité (en %HR) Luminosité (en lux) Pluie (en mm) Vent (en km/h) Eau (en litre) Gaz (en ppm) Son (en dB) Pression (en millibar) Particules (en μg/m3) Tension (en Volt) Courant (en Ampère) Puissance (en Watt) Energie (en kWh) Remarque : les modules cachés (hidden), morts (dead), ou désactivés (disabled) sont ignorés. DomoCharts se compose des éléments suivants : Un QuickApp à installer sur la box domotique HC3 qui collecte les données Un package ZIP (contenant des fichiers HTML, PHP, JavaScript, ...) à déployer sur un serveur Web Une base de données MySQL/MariaDB permettant de stocker les données, installé avec le serveur Web A noter que cette version de DomoCharts crée de nouvelles tables dans la base de données SQL, donc les données éventuellement existantes ne sont ni reprises ni supprimées. Je proposerai plus tard des requêtes SQL permettant de récupérer manuellement les données. Je n'ai pas voulu automatiser le processus car c'est un peu complexe, avec les ID qui changent, etc... je pense qu'il sera préférable de le faire à la main au cas par cas. 2. Pré-requis Un serveur Web supportant PHP (NAS Synology, hébergement mutualisé, ...) Un serveur hébergeant une base de données MySQL/MariaDB (Idem) Une Fibaro Home Center 3 / Home Center 3 Lite 3. Installation  3.1 Synology Etapes facultatives pour les utilisateurs débutants d'un NAS Synology avec DSM. Ces étapes doivent être effectuées à l'aide du compte admin via l'interface Web (accessible par défaut sur le port 5000). 3.1.1 Installation de WebStation Dans le Centre de paquets, rechercher et installer WebStation si ce n'est pas déjà fait : 3.1.2 Installation de PHP Dans le Centre de paquets, rechercher et installer la dernière version de PHP disponible (7.3 dans mon exemple) : 3.1.3 Installation de MariaDB (MySQL) Dans le Centre de paquets, rechercher et installer MariaDB : Dès que l'installation est terminée, cliquer sur l’icône de MariaDB afin d'accéder à l'écran de configuration, puis cliquer sur le bouton Changer le mot de passe : Noter également le numéro du port, DSM semble forcer le numéro 3307 depuis MariaDB 10. De plus, cocher la case "Activer la connexion TCP/IP". Par défaut, le mot de passe MariaDB est vide, cliquer alors sur le bouton Réinitialiser le mot de passe MariaDB : Confirmer en cliquant sur le bouton Oui : Le seul compte existant est root, il faut donc créer un mot de passe (note : ce compte root est différent du compte root du Syno, il est donc tout à fait possible d'avoir des mots de passes différents) : 3.1.4 Configuration de WebStation Dans le menu principal de DSM, ouvrir WebStation, la dernière version de PHP doit apparait installée en bas de la liste : Aller dans Paramètres généraux, et s'assurer que le profil PHP correspondant à la dernière version est sélectionné dans la liste déroulante : Aller dans les Paramètres PHP, sélectionner le profil correspondant à votre version de PHP, et cliquer sur le bouton Modifier : Il faut au minimum que l'extension pdo_mysql soit cochée : Le Syno est prêt. 3.2 Pages Web  Transférer toute l'arborescence contenue dans le fichier ZIP vers le répertoire /domocharts sur le serveur Web via FTP ou montage réseau. Ensuite, éditer le fichier config.inc.php afin d'y modifier les paramètres de connexion à la base de données MySQL : // MySQL Server hostname or IP address $server = 'server'; // MySQL User account $login = 'login'; // MySQL User password $password = 'password'; // MySQL Database name $database = 'database'; Note : si vous utilisez le mini-tuto Synology ci-dessus, les paramètres devraient ressemble à quelques chose comme cela (seul le mot de passe doit être personnalisé) : // MySQL Server hostname or IP address $server = '127.0.0.1:3307'; // MySQL User account $login = 'root'; // MySQL User password $password = 'MonSuperPassword'; // MySQL Database name $database = 'domotique'; Note : Pour des raisons de sécurité, si vous maitrisez MySQL et phpMyAdmin, vous devez créer un utilisateur dédié (différent de root). Je ne détaille pas cette procédure qui est hors du cadre de ce tutoriel. 3.3 Plages horaires d'énergie électrique  Dans le fichier config.inc.php, une rubrique concerne la configuration des horaires de l'abonnement au fournisseur d'électricité (imposés par le distributeur Enedis). La variable $TimeSource doit avoir la valeur 'STATIC' : //*** Teleinfo time for energy // // Variable = 'Value' // Comment : Allowed values // -------- ------- // ------------------------------------------ : --------------- $TimeSource = 'STATIC'; // Source of information for date and time : TELEINFO|STATIC // ---------------------------- // Valid only if TELEINFO TimeSource is used : --------------- $teleinfoTable = 'teleinfo'; // MySQL table name : xxxxxxxx $teleinfoDelay = 60; // Teleinfo Delay in Seconds : ss // ---------------------------- // Valid only if STATIC TimeSource is used : --------------- $TimeHCHP = array( // HC/HP start times for each EDF rate : 'hh:mm' => '<BASE|HC|HP>' '00:00' => 'HC', '06:30' => 'HP', '22:30' => 'HC' ); Sont actuellement supportés les abonnements de type Normal ('BASE'), et Heures Pleines/Heures Creuses ('HP' et 'HC'). Dans l'exemple du dessus, j'ai configuré les horaires HP de 6:30 à 22:30, et des horaires HC de 22:30 à 6:30. Notez que la variable $TimeHCHP doit obligatoirement commencer à 00:00. Vous pouvez ensuite ajouter autant de tranches horaires que nécessaires, car certains abonnements proposent 2 tranches HC réparties dans la journée. Si vous avez un abonnement Normal, c'est plus simple, puisqu'il suffit d'indiquer 'BASE' à partir de 00:00 : $TimeHCHP = array( '00:00' => 'BASE' ); Avec ces informations, le bouton Energy du module virtuel sera ensuite capable d'interroger l'API de la HC3 afin de récupérer les consommations des différentes équipements pour chaque tranche horaire de chaque journée. A l'heure actuelle, le graphique d'énergie électrique affiche la somme des kWh pour chaque journée, mais les informations nécessaires sont stockées dès aujourd'hui dans la base de données afin d'effectuer les calculs de coà»ts financiers ultérieurement. 3.4 Base de données SQL Afin de créer ou migrer les tables dans la base de données MySQL/MariaDB, il faut appeler la page /domocharts/install.php sur le serveur Web. Si tout se passe bien, la page affiche une longue liste de création de tables avec le statut OK, puis le message "Finished with success" : Sinon, vous pouvez demander du support sur le forum, en copiant/collant le texte des messages d'erreurs. 3.3 QuickApp pour HC3 Ce QuickApp est responsable de l'envoi des données vers la base de données SQL au travers de pages Web dédiées à l'insertion des données. Dans la HC3, aller dans Paramètres, puis Dispositifs, puis cliquer sur le bouton "+", choisir "Autre appareil", et enfin "Téléverser un fichier". Sélectionner aller le fichier DomoCharts_v7.0.fqa. Dans les Variables du QuickApp, il est possible de configurer les options suivantes : NAS_Protocol : protocole à utiliser, normalement : http NAS_Address : adresse IP du NAS, par exemple : 192.168.1.1 NAS_Port : port de communication, normalement : 80 (ne rien mettre) NAS_User : utilisateur optionnel, sinon ne rien mettre NAS_Password : mot de passe optionnel, sinon ne rien mettre NAS_Path : si vous avez suivi le tuto, c'est "/domocharts", mais vous pouvez changer le chemin Refresh : intervalle de rafraichissement des informations, par défaut 60 secondes Memory : nombre de mesures à conserver en mémoire en cas d'indisponibilité temporaire du NAS. J'ai testé jusqu'à 10000 sans aucun souci sur HC3. Si le QuickApp releve 100 mesures chaque minutes, dans ce cas cela fait une mémoire de 100 minutes, soit 1h40. Battery_Hour : heure à laquelle sont relevées les niveaux de batteries des modules, par exemple chaque soir à 23h debug : affiche plein d'informations dans la zone de debug du QuickApp, utile seulement pour demander de l'aide, valeur par défaut false. L'icône du QuickApp DomoCharts apparait dans l'interface, on peut la cacher si elle gêne : La zone de logs doit ressembler à ceci si la collecte des mesures et l'insertion en base de données se passent bien : 4. Mise à jour Rien pour le moment. 5. Utilisation Pour visualiser les graphes, il suffit d'aller chercher avec son navigateur l'adresse du serveur Web avec le chemin "/domocharts", par exemple : http://192.168.1.1/domocharts/ Pour l'administration, aller sur la page admin.php : http://192.168.1.1/domocharts/admin.php Cette page permet d'ordonner les modules, de donner une couleur à chaque courbe, et d'en cacher certains : Si une valeur aberrante apparait sur un graph, il zoomer suffisamment dans la zone temporelle, puis cliquer sur le point. Dans le popup qui apparait, un bouton Delete permet de supprimer la valeur, afin de conserver une courbe homogène :  6. Changelog : v7.00 : Février 2021 Version initiale  v7.01 : Mars 2021 Correction des consommations d'énergies électriques quotidiennes qui ne sont pas générées dans certain cas v7.11 : Janvier 2022 Correctifs et améliorations diverses 7. Téléchargement Package pour le NAS : domocharts_v7.0.zip QuickApp : DomoCharts_v7.11.fqa Icône : Mise à jour du QuickApp existant (contenu à copier/coller par dessus le fichier original ) : Fichier main : DomoCharts v7.11.lua Fichier DomoCharts : Library - DomoCharts v7.10.lua Fichier tools : Library - tools v2.20.lua Correctif du fichier config.js pour l'affichage des graphiques de courant en page 5 : https://www.domotique-fibaro.fr/topic/14935-quick-app-domocharts-graphiques-sur-nas-pour-hc3/page/5/#findComment-244864
  5. C'est embêtant, j'ai l'impression qu'avec DSM7, Synology en a profité pour retirer la compatibilité avec les vieilles versions de l'API. Il faudra que je creuse ce sujet à l'occasion.... désolé mais pas tout de suite, je n'ai pas le temps, d'autres sujets à traiter en priorité. J'espère qu'ils ont mis à jour les documentations, ça sera ma première piste de recherche.
  6. Tu as déjà testé ? Sur Jeedom ou autre ? Les retours que j'ai vu, c'est que la portée est ultra réduite, et tu es obligé de mettre des antennes déportées dans toute la maison pour couvrir potentiellement n'importe quel lieu où tu pourrais laisser ton porte clé... ou surtout ton smartphone s'il est dans la poche. Du coup avec une seule box domotique, la HC3, et pas forcément installée à un endroit idéal, ça risque d'être compliqué de faire une détection de présence fiable.
  7. Ah non tiens, il a été complètement oublié par tout le monde le Bluetooth on dirait Bon faut quand même préciser que le support du Bluetooth n'a jamais été annoncé, mais uniquement du Bluetooth Low Energy, ce qui n'est pas la même chose. En gros, à part des beacons attachés au porte clé pour la détection de présence, je ne sais pas si on peut faire autre chose avec BLE ?
  8. Clairement connaissant les faiblesses en développement de Fibaro, il est absolument certain qu'il vaut mieux qu'ils améliorent la HC3 avant de s'aventurer sur Zigbee, un protocole aussi..... brouillon (pour rester gentil) Perso j'ai donné mon avis, le Zigbee ne m'intéresse pas du tout, le Z-Wave est meilleur à tous les points de vue (son seul défaut, c'est son coût évidemment, mais c'est le prix à payer pour la qualité élevée) Tiens une discussion récente au sujet du Zigbee à partir de ce post et les suivants : Et l'annonce de Fibaro du report de l'implémentation de Zigbee :
  9. Lazer

    Scene basé sur Geofencing

    C'est compliqué ta demande.... je n'ai pas suivi honnêtement Des lignes types, tu en as dans la config de base (4 pour être précis) Et des milliers dans les différents sujets, il faut vraiment que tu commences par prendre le temps de lire le sujet officiel de @Steven, qui contient également la doc de syntaxe de @pepite Tu as aussi des "showroom GEA" sur le forum avec tous les exemples des forumeurs. C'est tout simple. Tu commences par des lignes basique (tu type "si... alors", exemple si la lumière est allumée depuis 30s, alors éteindre), puis tu augmente la complexité en fonction de tes besoins
  10. @Bloug non Zigbee on en parlait sur un autre topic récemment, c'est repoussé à la saint glinglin (annulé ???) Ils attendent de voir CHIP sortir pour voir ce qui en sort, et si ça vaut pas plus le coup. En attendant ils vont améliorer Z-Wave, le support du protocole Nice, le mode passerelle entre HC3/HC3L, et les différents panneaux de climat/arrosage/énergie.
  11. Juste du nouveau moteur Z-Wave tant attendu, qui arrivera sur HC3 prochainement.
  12. J'ai cru comprendre qu'il y aurait assez peu de chance pour que ça arrive... en tout cas c'est relégué au dernier rang de leurs priorités
  13. OK, bien, alors c'est super tout ça
  14. Est-ce que ça veut dire que le Qubino Fil Pilote Z-Wave+ s'intègrera sans évoquer les esprits ? Par contre je ne suis pas sûr de bien comprendre.... la fiche technique que tu nous partages, c'est bien celle de la HC3 sortie il y a 1 an ? Ce n'est pas un nouveau modèle sorti en douce sous la même référence commerciale j'espère ? J'ai peur quand je vois la date du 29 janvier 2021.... au moins j'espère qu'on pourra faire la mise à jour du firmware ce qui nous amèneras les HC3 existantes à la même version que les nouvelles box commercialisée !!!
  15. Lazer

    QA remote

    C'est vrai que la documentation de Fibaro est succincte.... Mon sujet favori sur le forum officiel, de loin la meilleure source d'info pour comprendre le maximum sur les QuickApps, justement tenu par @jang : HC3 QuickApps coding - tips and tricks Il faut perdre l'habitude d'appeler des boutons. C'est une mauvaise habitude prise sur HC2 car on n'avait pas le choix sur HC2. Mais sur HC3, les boutons ne servent que pour l'IHM (interface avec l'utilisateur, via le Web ou l'application mobile) La bonne pratique c'est d'appeler directement la fonction qui va bien dans le QuickApp (cela peut très bien être la fonction de callback du bouton, mais il est plus propre de nommer différemment la fonction avec un nom parlant.... que le bouton appellera également) Et c'est documenté par Fibaro dans le chapitre "Mapping actions to methods" de la doc sur les Quckapps, il faut appeler la méthode "call" : fibaro.call(44, "myCustomAction", 10, "test") Ou bien via l'API HTTP ce qui revient au même : /api/callAction?deviceID=44&name=myCustomAction&arg1=10&arg2=test On peut ainsi passer autant d'argument que nécessaire à la fonction ainsi implémentée dans le QuickApp : function QuickApp:myCustomAction(arg1, arg2) self:debug("myCustomAction", arg1, arg2) end Et si je prend la suite de mon screenshot précédent, avec le bouton "Get devices" qui appelle la fonction buttonGetDevices_onReleased(), alors celle-ci se contente d'appeler à son tour la fonction myCustomAction() : function QuickApp:buttonGetDevices_onReleased(event) self:myCustomAction() end Et surtout, on n'est pas dépendant d'un numéro de bouton qui changeait constamment sur la HC2, le truc infernal pour maintenir son code !! La seule dépendance reste l'ID du QuickApp, mais celui-ci ne changera jamais tant qu'on ne le supprime pas, donc ça ne devrait pas trop poser de souci. En alternative, on pourrait au choix : - définir le callback du bouton directement sur myCustomAction() sans passer par buttonGetDevices_onReleased() - appeler buttonGetDevices_onReleased() directement via l'API HTTP ou fibaro.call => d'où l'importance de bien nommer ses fonctions, car toute fonction définie dans QuickApp (qui est une table au sens LUA du terme) est automatiquement partagée avec le monde entier (elle est publique quoi), donc accessible depuis un autre QuickApp, une Scène, ou depuis l'extérieur via l'API HTTP. Et cela s'applique aussi bien aux fonctions qu'on définie nous même, ou bien aux fonctions prédéfinies (et oui, par exemple pour le fun on peut injecter un message dans la zone de debug d'un QuickApp en appelant sa fonction debug() depuis n'importe où). Mais on peut aller plus loin encore, par exemple redéfinir les fonctions prédéfinies (attention aux bêtises)... comme l'explique très bien @jang dans son super topic. Bref, les QuickApp, je trouve ça vraiment génial pour développer, quand tu as connu les modules virtuels de la HC2, c'est le jour et la nuit.
  16. C'est possible qu'ils aient encore travaillé sur ce point. De mon coté je suis encore sur la dernière stable 5.050 (octobre 2020), et déjà il y a eu des améliorations par rapport aux versions de mai 2020, justement en ce qui concerne le CPU. En effet, il se trouve que cet après-midi j'ai fait un test de charge (un QuickApp qui consomme pas mal de mémoire avec manipulation d'un gros tableau pendant 3 heures). Au mois de mai, cela faisait s'envoler la consommation de CPU. Et bien là, presque rien
  17. Ah oui OK c'est clair, merci
  18. Lazer

    QA remote

    Mais tu n'as pas besoin de passer par CentralSceneEvent ?!? Ce que tu veux, c'est juste exécuter du code LUA après appui sur un bouton du QuickApp non ? Dans ce cas il suffit d'associer une fonction dans le callback de chaque bouton
  19. Alors surement que Gmail vérifie que l'email de l'émetteur du mail correspond à un compte chez eux (vu que dans le script on peut personnaliser cette adresse, il faut faire attention)
  20. Je me faisais la même remarque Sinon je n'ai pas compris ce que c'était que cette histoire de notification ?
  21. Lazer

    QA remote

    Euh... je voudrais bien t'aider, mais je ne comprends rien à ce que tu as fait J'ai l'impression que tu as mélangé le code de la scène et du Quickapp.... Tu veux faire quoi en fait ? Expliqué simplement. On verra ensuite comment traduire ça en "langage Fibaro", c'est à dire s'il faut utiliser une scène, un QA, ou les deux (et le code LUA qui va avec)
  22. Lazer

    Scene basé sur Geofencing

    Euh... je suis pas sûr de comprendre là (ton code est illisible, il faut utiliser les balises d'insertion de code dans l'éditeur du forum). Mais si tu as modifié le code de GEA, ça ne va pas du tout, il ne faut modifier que le fichier config comme indiqué dans le tuto
  23. Oui le script utilise le mécanisme interne de Synology pour l'envoi des emails, donc il faut configurer le serveur SMTP de ton provider dans le panneau de configuration Exemple pour Free c'est très simple, mais selon l'opérateur il faudra peut être activer le chiffrement et/ou l'authentification : Il faut utiliser le bouton "Envoyer un courrier de test" en bas de la page pour tester le bon fonctionnement (et tu pourras aussi configurer les notifications du NAS si tu ne l'as pas déjà fait... pratique pour avertir en cas de problème divers)
  24. J'ai ajouté le changelog à ton post
  25. Ah ben la HCL, avec son processeur anémique et son manque de RAM, c'est pas pour rien que de nombreux utilisateurs se plaignent de plantage et doivent la rebooter plus ou moins régulièrement. Elle n'est justement pas faite pour des scénarios complexes, mais plutôt pour quelques scénarios ultra simples, voire même aucun, avec uniquement un pilotage manuel depuis le smartphone. Je vois que la nouvelle HC3 Lite devrait être bridée à ce niveau là (en nombre de Modules, QuickApps, et Scènes), ça devrait éviter les mauvaises surprises. Précision : la prochaine version de DomoCharts, ça sera sur HC3 (et HC3 Lite) uniquement, je n'ai pas prévu de faire évoluer la version pour HC2. Désolé mais la HC2 est en fin de vie, il n'y aura plus d'évolution de la part de Fibaro, et perso je prépare activement ma migration pour l'abandonner.
×
×
  • Créer...