Aller au contenu

crazymonster999

Membres confirmés
  • Compteur de contenus

    81
  • Inscription

  • Dernière visite

  • Jours gagnés

    2

Tout ce qui a été posté par crazymonster999

  1. Tiens, intéressant, je ne vois plus les modules àmon tour. Reboot de la box effectué, et test sur 3 navigateurs différents... Cool !
  2. @Benjy : Depuis la MAJ en v.4.03x, la box plantait de manière plutôt aléatoire, et me retournait un magnifique "Erreur 503" après quelques heures d'uptime. Après plusieurs essais de restauration des anciennes versions, toutes mes tentatives se sont conclues par le même résultat lors du passage en 4.03x. J'ai finalement procédé à une restauration + reset du réseau ZWave de la HC2, puis upgrade jusqu'à la dernière version disponible (4.036). Ensuite, j'ai du réintégrer tous mes modules un par un... Procédure de reset de chaque module. J'en ai eu pour une bonne soirée, j'ai une 20ène de modules + MVirtuels + les scènes à recréer. Attention toutefois, je n'ai pas réussi à reset certains modules (entre autre un FGD coriace). La solution fut de lancer une exclusion de module depuis la HC2 (même s'il n'était plus présent dans la liste des modules rattachés), puis de le ré-inclure. PS : Merci au support de Solution Domotique qui m'a bien aidé sur ce sujet !
  3. Hello, MAJ effectuée à distance aussi, A priori aucun problème. L'ajout d'un nouveau device depuis le téléphone, ça c'est une fonctionnalité pratique :-) Pour info, j'avais fait un reset complet de la box et réintégration de tous mes modules en version 4.036.
  4. Hello, Yep, dsl, j'ai pas eu le temps de push la version 1.1. En faite, je voulais juste faire un check, dans la cas ou la variable globale ne contiens pas les caractères "[" et "]", ça initialise le tableau à vide. Du coup, n'ayant pas encore une fonction qui marche, je n'ai pas publiée de version 1.1 Bref, si quelqu'un a la solution pour jouer avec les paterns, je prends
  5. Hello fdp2, En effet, c'est une bonne remarque. J'avais rajouté le check suivant dans le cas ou la sauvegarde des variables écrase les données générés par le json.encode par un "NaN". Mais je n'ai pas pris en compte l'initialisation de la valeur qui est par défaut 0. -- Check NaN Value... fibaro:debug("Content of ValueGetFromGlobalVar : "..ValueGetFromGlobalVar) if (ValueGetFromGlobalVar == "NaN") then fibaro:debug("NaN Value detected - Wrong value get from global VAR") TempTodayArray = {} nbReleveTemp = 0 else TempTodayArray = json.decode(ValueGetFromGlobalVar) --json data recorded to an array nbReleveTemp = table.getn(TempTodayArray) end Merci pour ce correctif, je vais mettre à jour en V1.1
  6. Hello, @fdp2 : Non, je n'ai pas retesté avec le json.encode. A l'origine, j'avais écris une fonction qui écrivait en dur les données séparées par un ";". Si c'est 8K caractères, je me suis peut être trompé dans le descriptif, et non pas 1600 caractères mais 1600 valeurs. A raison de 5 caractères écrits pour une valeur "-3.45;" ça fait 8000. Je referai quelques tests, pour vérifier. @Nico : L'idée est en effet de mesurer l'inertie d'une pièce, en comparant par exemple avec la température extérieure. De même, il est possible d'imaginer des scénarios qui déclenchent le chauffage en anticipé si on détecte une baisse importante de la température, ou repérer l'ouverture d'une fenêtre... à‡a sera une prochaine étape. Cela dit ça m'amuse bien de voir l'évolution des températures (sans graphiques pour le moment) et de pouvoir les utiliser dans les scénarios plus tard. Essayes, tu verras
  7. Bonjour à tous, -- Introduction -- Partant du constat que les courbes de températures ne sont dispo qu’à partir de la V4, et qu’on ne peut pas en tirer profit dans des scénarios, je me suis demandé comment mesurer les variations des relevés de température. Voici un partage d’un petit développement que j’ai réalisé pour afficher une « image » de l’évolution de la température. C’est sous la forme d’un Virtual Device en attendant de peut-être le transformer en plugin un jour… -- Installation -- Créer une variable globale (une pour chaque Virtual Device créé) >> exemple ici : Stats_Combles Connaitre l’ID de la sonde de température >> Exemple ici : 30 Importer le Virtual Device A télécharger ici : VD_StatsTemp_V1.0.vfib - Configurer l’@IP du VD avec le nom de la variable créée à l’étape 1 - Configurer le Port TCP avec l’ID de la sonde de température identifié à l’étape 2 Exemple : Ajout d’une icône sur le bouton PushTemp + Virtual Device >> Téléchargement de l’icone C’est parti ! -- Description fonctionnelle -- Par défaut la remontée de la température se fait toutes les 5 minutes La configuration est terminée, il ne reste plus qu’à attendre afin qu’il y ai assez de données pour retourner une valeur de la tendance. Pour forcer l’upload de la température courante, il suffit de cliquer sur le bouton « PushTemp ». Attention, cette action fausse les statistiques par rapport au temps. Le plugin affiche la différence de température entre l’instant T et les relevés précédents. Valeurs affichées : - T° Actuelle = Température actuelle - Min/AVG/Max = Température mini/moyenne/max des 24 dernières heures - Tendance H-10’ = Différence de température entre le dernier relevé et le relevé d’il y a 10 minutes - Tendance H-30’ = Différence de température entre le dernier relevé et le relevé d’il y a 30 minutes - Tendance H-1 = Différence de température entre le dernier relevé et le relevé d’il y a 1 heure - Tendance H-2 = Différence de température entre le dernier relevé et le relevé d’il y a 2 heures - Tendance J-1 = Différence de température entre le dernier relevé et le relevé d’il y a 1 jour - Nb Records = Debug >> Nombre de données de température stockées dans la variable globale. -- Description technique -- Le Main Loop déclenche un appui sur le bouton PushTemp toutes les 5 minutes. Changement du délai entre deux remontées de température Valeurs possibles entre 2 et 10 minutes (en dessous trop de valeurs à stocker dans la variable globale / En dessus la tendance h-10' ne fonctionnera pas). - Main Loop : local TimeToWait = 5 --en minutes - Minimum = 2 ; Max = 10 - Bouton PushTemp local TimeToWait = 5 --en minutes >> Minimum = 2 ; Max = 10 La sauvegarde et restauration de l’historique des données dans la variable globale est faite à l’aide de la fonction json.encode() et json.decode(). Certaines versions V4 Beta avaient un pb avec cette fonction, corrigée depuis les dernières versions (V4.020B). Le stockage d’une chaine de caractère dans une variable globale est limité en taille. D’après mes tests, il semblerait que ça soit aux alentours de 1600 caractères. Attention, les valeurs > ou = à 0 sont précédés du caractère « + ». --Bug connus-- Lors de la modification d’une variable globale par l’interface web, la sauvegarde écrase les données contenues dans la variable globale qui stock l’historique des relevés de température. Une variable globale est limitée en nombre de caractères qui peuvent y être stockés. Il semblerait que cette valeur soit d’environ 1600 caractères. Le VD est configuré pour -- Roadmap -- Affichage des données statistiques des 7 derniers jours (min/avg/max) Transformation en plugin Des idées ?
  8. Salut Nico, J'ai pas encore testé d'up jusqu'en 4.018, justement pour avoir une chance de réutiliser mes backups qui avaient été fait en 3.907 à‡a doit marcher cela dit, je ferai l'up si pas de resto possible.
  9. Bonjour à tous, J'ai voulu tester la V4.018, mais ça ne s'est pas passé exactement comme je l'attendais. Voici mon chemin d'upgrade : 3.548->3.590->3.591->3.907->4.017>4.018 J'ai réussi à me connecter une fois, puis plus moyen de me connecter à l'interface web, malgrès de nombreuses tentatives et reboot. Du coup >> Restauration from scratch. Le HC2 me remet en 3.548, et me propose un upgrade en 3.590. Cependant, suite à cet upgrade, il ne me propose pas d'upgrader en 3.907 par exemple, version ou j'avais des backups complet avec tous les capteurs... Il me propose uniquement l'upgrade en 4.018 beta. Y a-t-il une méthode pour forcer la box à être upgradé à une version choisie ? Sinon, je suppose que la restauration d'un backup fait en version 3.907 ne fonctionnera pas en 4.018... Si ? Merci pour votre aide.
  10. Pour info, j'avais eu le même genre de symptômes. Du coup j'avais supprimé tous les anciens virtual sensors créés précédemment, rebooté la box, et réinstallé le nouveau plugin. Ensuite, j'ai pu créer de nouveaux virtual sensors "nouvelle version" Parcontre, j'ai du faire un power reboot après la 1ère configuration, le polling de toute la box était figé.
  11. Il y a un chemin pour le S3, mais je me suis rendu compte que les valeurs négatives n'étaient pas prisent en compte (valeurs positive = + 0.34 et valeurs négatives = -0.34). Du coup il faut que je corrige ça sur la source, à moins que tu n'ai une pirouette pour contourner l'absence d'espace pour les valeur négatives. J'utilise toujours la pattern que tu avais donné : /properties/ui.Tendance10.value {[%+]([%+%-]?%s+%d+%.?%d*)} Désolé, quand je disais en remote, c'était par l'interface Web, par le portail de Fibaro. En effet, il n'y a plus aucun module visible dans le portail Oui, c'était bien au 1er enregistrement. En général, si ça tourne toujours au bout de 2 minutes, je recharge la page, pas avant. Mais ici, pas de problème avec la disquette. On va mettre ça sur le compte de stabilité relative de la box en beta...
  12. Version 0.5.2 installée. Petit soucis que j'ai remarqué : Pourtant j'ai bien sélectionné les unités en "metric". J'attends d'être rentré pour faire un power reboot, il ne veut pas redémarrer en remote. J'ai souvent la blague, dès l'installation du plugin, si je ne fais pas un power reboot, la box se fige. Plus de polling ni de possibilité de faire des changements sur les modules (la petite disquette ne sauvegarde pas les modifs).
  13. Magique ! Je vais pouvoir m'amuser un peu avec l'arduino...
  14. Est-ce qu'il serait possible àpartir d'un Virtual Sensor d'avoir plusieurs capteurs de température?
  15. Roh zut, c'est plus propre ton truc Steven Bien vu le coup du json...
  16. Hello, D'après mes recherches, impossible de stocker un array en variable globale. Du coup, j'ai bricolé une fonction pour stocker le contenu d'un array sous forme d'une ligne de caractères, séparés par un caractère au choix. C'est à déclarer avant ton main. --Generate an string from an array, where each value is separated by a "Separator" function recordTableToString(Table,Separator) --fibaro:debug("Separator :"..Separator) local OutputString = Table[1] --init with the first value for i=2,table.getn(Table) do OutputString = OutputString..Separator..Table[i] end fibaro:debug(OutputString) return OutputString end Evidemment, j'ai aussi une fonction pour extraire l'info de la variable globale. -- Split a string depending of a character, and return an array function string:split( inSplitPattern, outResults ) if not outResults then outResults = { } end local theStart = 1 local theSplitStart, theSplitEnd = string.find( self, inSplitPattern, theStart ) while theSplitStart do table.insert( outResults, string.sub( self, theStart, theSplitStart-1 ) ) theStart = theSplitEnd + 1 theSplitStart, theSplitEnd = string.find( self, inSplitPattern, theStart ) end table.insert( outResults, string.sub( self, theStart ) ) return outResults end Utilisation pour enregistrer dans une variable globale : -- Record to Global Var for backup fibaro:setGlobal(GlobalVariableForRecord, recordTableToString(TempTodayArray,";")) Et pour en extraire les données : --Get temp values from Global Var local GlobalVariableForRecord = "Stats_TempCombles" local TempTodayArray --Array of temp values ValueGetFromGlobalVar = fibaro:getGlobalValue(GlobalVariableForRecord) TempTodayArray = ValueGetFromGlobalVar:split(";") --Split data in an array nbReleveTemp = table.getn(TempTodayArray) --Count number of data in the array fibaro:debug(">> ".. nbReleveTemp .." données restorées") Attention cependant, la capacité d'une variable globale est limitée. Je suis allé jusqu'à ~1600 relevés de température enregistrés. Après ça plante...
  17. Okay, pas de soucis, j'ai encore quelques petits points à corriger, mais je vais publier ça (bien que le code ne soit pas des plus propre... ).
  18. Wow, que d'activité sur ce sujet !! Après la lecture de tous les échanges, nickel, la récupération de la valeur présente dans un label fonctionne au poil ! Merci Krikroff. Pour répondre @BenjyNet, mon Vitual Device : - Récupère la valeur de la température toutes les x minutes - La stock dans une liste (que j'archive dans une variable globale du genre temp1;temp2;temp3 - Affiche la température min/avg/max de la liste + la variation de température entre le moment présent et -10min, -30min, -1h et -2h - RAZ des valeurs tous les jours à minuit à‡a me permet d'avoir une idée de la courbe de température (une espèce de dérivée grossière) comme on en avait pas encore sur la HC2. A terme, je voudrais l'utiliser pour la gestion de mon chauffage. Exemple, si la température descend dans les combles depuis 1h, je vais pouvoir anticiper l'inertie de la maison, et affiner le temps de chauffe.
  19. Pour l'instant, Advanced REST Client app pour chrome me retourne ceci quand je fais : { id: 48 name: "StatsTemp_Combles" roomID: 16 type: "virtual_device" visible: true enabled: true properties: { deviceIcon: 1005 ip: "Stats_TempCombles" port: 30 currentIcon: "0" log: "" logTemp: "" mainLoop: "--[[mon code LUA un peu long à afficher ici]] saveLogs: "1" ui.DEBUG.value: "213" ui.LastReset.value: "" ui.MinMaxAVG.value: " > ⇣12.43⇣ ~15.59~ ⇡24.18⇡" ui.TNow.value: "24.18 °C" ui.Tendance10.value: "+ 0.68" ui.Tendance1H.value: "+ 3.62" ui.Tendance2H.value: "+ 7.5" ui.Tendance30.value: "+ 1.56" ... } Je n'ai pas encore réussi à récupérer juste la valeur ui.Tendance10.value et la mettre dans le pooling. Il ne me remonte rien pour le moment. Comment fais-tu pour afficher les logs spécifique au Virtual Device ?
  20. Hello, Bonne nouvelle, l'utilisation des plugins et tout particulièrement celui de Krikroff pour les Virtual Sensors va très probablement solutionner mon problème ! Tout particulièrement avec une librairie d'API REST pour arduino proposée par Adafruit. Je vais faire quelques tests sur la beta en attendant la version 4 officielle... Bien vu l'idée des capteurs intégrée dans une boite murale.
  21. MERCI Krikroff !! Je vais l'essayer de suite ! EDIT : Question : Est-il possible de récupérer la valeur contenue dans un label d'un autre Virtual Device? Avec l'API REST (http://[iPHC2]/api/virtualDevices) j'ai bien la visibilité sur la valeur qui m'intéresse, mais je ne sais pas comment l'extraire.
  22. Bonjour Lazer, Merci pour ta réponse. Concernant la création d'un évènement dans le panneau d’événements, il n'existe pas de commande en LUA pour en générer un ? Je vais étudier la question du module FB Universel. Quelle est la limite de distance entre le module Fibaro et une sonde (sachant que je veux utiliser le câblage réseau en CAT5E awg24) ?
  23. Bonjour à tous, Etant un acquéreur d'un HC2 depuis peu, et aimant jouer avec un peu d'électronique, j'aimerai faire cohabiter un arduino avec la box de Fibaro. L'idée étant d'avoir un réseau de capteurs de température (1 par pèce de la maison) le tout sur un bus one-Wire avec des sondes DS18B20 connectées à un arduino + Ethernet shield. L'ardui serai interrogé en http (GET), ou ferait du push vers la HC2, peu importe, tant que la box récupère la valeur des capteurs. Ma question est la suivante : - Est-il possible de faire un module virtuel (voir un par pièce), qui serait traité comme un capteur de température par le Home Center, afin par exemple de l'afficher dans l'interface web ou sur téléphone à l'esprit de la remontée de température d'un module de porte FGK-101 ? - J'ai remarqué qu'il était possible de sélectionner pour chaque pièce "The main temperature sensor". Ainsi, est-il possible de sélectionner le capteur connecté à l'arduino comme référence de la pièce. - Est-il possible d'afficher les remontées de température dans le panneau d’événements, comme c'est le cas avec les capteurs connectés sur le FGK-101 ? Merci à tous pour votre aide
  24. Bonjour, Récemment acquéreur de la HC2 ainsi qu'une bonne liste de petits modules Fibaro, je découvre ce forum avec beaucoup d'attention. J'espère pouvoir à mon tour apporter une pierre à l'édifice Amicalement, Emmanuel
×
×
  • Créer...