Aller au contenu

OJC

Membres confirmés
  • Compteur de contenus

    390
  • Inscription

  • Dernière visite

  • Jours gagnés

    8

Tout ce qui a été posté par OJC

  1. OJC

    Senario arriver maison

    @florient476 Peux pas t'aider sur le mode bloc, j'y ai rien compris... Mais si je peux me permettre un conseil, les outils de base en matière de codage sont un crayon et une feuille de papier Comment par construire ton scénario en langage naturel : quand je rentre : ouvrir le garage allumer la TV si le soleil est couché alors allumer lumière 1 allumer lumière 2 allumer lumière 3 allumer lumière 4 allumer lumière 5 allumer lumière 6 allumer lumière 7 fin de si Et ensuite tu traduis ça en code : --on suppose que la scène est lancée manuellement, vu ton matos je vois pas comment faire autrement --Ouvrir la porte du garage fibaro:call(id de ton module FGS, "turnOn") --Allumer la TV fibaro:call(id de ton VD FreeTV, "pressButton", n° du bouton d'allumage) --si il fait nuit alors --D'abord il nous faut l'heure du coucher du soleil, ce que la box fournit local sunsetHour = fibaro:getValue(1,"sunsetHour") --ensuite, l'heure actuelle local now = os.date("%H:%M", os.time()) --ensuite, on compare if (now >= sunsetHour) then --le soleil est couché, on allume fibaro:call(id de la lampe 1, "turnOn") fibaro:call(id de la lampe 2, "turnOn") fibaro:call(id de la lampe 3, "turnOn") fibaro:call(id de la lampe 4, "turnOn") fibaro:call(id de la lampe 5, "turnOn") fibaro:call(id de la lampe 6, "turnOn") fibaro:call(id de la lampe 7, "turnOn") end Logiquement, pour les commandes fibaro:call, il suffit que tu ailles dans la barre verticale à droite de l'écran quand tu édites une scène en mode Lua : à chaque module, tu as un menu qui se déroules dans lequel tu peux choisir la commande et cela l'insère dans ton code à l'endroit où se trouve ton curseur.
  2. OJC

    Senario arriver maison

    @florient476 Pour ça, il faut mettre l'instruction d'allumage de tes lampes dans une boucle conditionnelles if ... then. Pour la condition proprement dite, comme dit @jojo, il faudrait plus d'infos sur ton matériel. Il y a une propriété sunset intégrée dans la box, qui correspond au coucher du soleil (même si, en pratique, il fait encore pas mal jour dehors à mon goût). Sinon, avec un détecteur de luminosité, c'est dans doute l'idéal (par exemple celui d'un FGMS-001 si tu en as un).
  3. OJC

    Heating Manager

    Bon, voilà... Roadmap remplie J'ai donc ajouté le paramètre persistent qui permet de faire en sorte que le programme continue de considérer qu'un événement est réalisé alors que ses conditions ne sont plus remplies, et de faire comme s'il n'avait jamais cessé d'être réalisé si les conditions sont de nouveau remplies dans le délai défini. Concrètement, j'ai configuré mon chauffage pour que la température passe à 18 °C quand la variable SleepState est à true (variable qui se met toute seule à cette valeur en fonction de diverses conditions) et qu'aucun mouvement n'est détecté depuis 30 minutes. Comme la température baisse graduellement pendant une heure, pour éviter que la chauffe ne redémarre alors que le mouvement était juste mon fils qui va aux toilettes (plié en trois minutes), j'ai défini un délai de persistance à 5 minutes : comme ça, sauf à ce que le mouvement dure plus longtemps, le chauffage ne redémarre pas et reste à 18 °C. J'ai aussi ajouté la possibilité de viser plusieurs pièces dans la fonction self:addEvent, et ajouté la fonction self:addGlobalEvent qui, comme son intitulé le suggère, permet de définir un événement s'appliquant à toutes les pièces. Enfin, les conditions de réalisation des événements ne se limitent plus à vérifier si telle variable ou propriété est égale à telle valeur, mais accepte désormais tous les opérateurs de comparaison disponibles (==, ~=, >=, <=, > et <). Je crois que je suis bon pour le chauffage maintenant, je vais m'attaquer à mes éclairages ^^
  4. @J3R3M Pour enregistrer une table complète dans une variable globale : fibaro:setGlobal("MaVariable", json.encode(MaTable)) Et pour la récupérer : MaTable = json.decode(fibaro:getGlobalValue("MaVariable"))
  5. OJC

    Heating Manager

    @pepite Au départ, je n'avais mis que le popup ne sachant qu'il était possible de faire un push. Puis j'ai vu comment faire, donc je l'ai ajouté, sans supprimer l'autre partie puisqu'elle existait. Sachant qu'en pratique, vu que le programme contrôle de manière très approfondie la configuration au démarrage, ce n'est que pendant la phase de configuration que ça présente un intérêt. En pratique, en régime de croisière, il n'est pas censé y avoir d'erreurs ou de warning (sauf si on s'amuse à supprimer des pièces ou des modules avec la scène en train de tourner). Pour le SMS, cela implique d'avoir une passerelle que je n'ai pas, je ne peux donc pas tester. J'avais hésité à intégrer le support pour le Notification Center de Krikroff, mais il n'a plus l'air maintenu ? Pour l'arrêt, ça m'embête qd même un peu de laisser la scène se "suicider" puisque, dans ce cas, si les conditions d'arrêt de la chauffe ne sont pas réunies, elle ne pourra pas redémarrer toute seule. Du coup, je vois pas bien comment faire pour que ce soit pertinent. Pour ta signature, c'est par rapport à l'équipement domotique qui a l'air inversement proportionnel à l'intérêt que tu portes à la question
  6. OJC

    Heating Manager

    @iman Merci
  7. OJC

    Heating Manager

    @pepite Merci Pour l'arrêt total du chauffage ou dans une pièce seulement, c'est un événement à paramétrer (via une variable globale alimentée par GEA par exemple, ou un VD par exemple) en mettant une consigne à 0 °C ou 8 °C (hors-gel). Un arrêt total hors période de chauffe, qui revient à arrêter la scène, n'est pas géré en interne, il faut le faire manuellement ou via GEA par exemple. Perso je n'ai jamais coupé totalement mon script de chauffage (époque openHAB), l'évolution de la température à l'intérieur de la maison se suffisant à elle-même pour ne pas déclencher la chauffe. Au fait, elle est à jour ta signature ??
  8. OJC

    Heating Manager

    Publication de la v. 3.0 avec de grosses modifications sur le fonctionnement et la configuration. Heating Manager peut toujours fonctionner sur un mode classique de planification, mais il est désormais pensé pour fonctionner sur un mode événementiel, sans aucune planification mais uniquement en fonction de l'état de la maison, avec un nouveau VD Thermostat pour contrôler manuellement le chauffage dans chaque pièce. Désolé pour le code que je n'ai pas mis en spoiler puisqu'il n'y a manifestement plus de spoiler, et que ce serait trop long directement dans le post.
  9. @J3R3M En revoyant un peu mieux l'image, il y a un pb. Tu devrais avoir ça : En fait, il ne faut pas décocher la case Utiliser le modèle pour les paramètres. Si tu n'as pas cette liste qui s'affiche, c'est que tu as peut-être un souci d'inclusion. Ces petites boules sont trèèèèèèèèèèèèèèèèèèèèèèèèèèèès capricieuses Tente une reconfiguration si le problème persiste.
  10. @J3R3M Une fois que tu as enregistré tes modifs avec la disquette, tu réveilles le module. Ensuite tu rafraîchi ta page avec F5, et normalement c'est ok.
  11. OJC

    Causes possibles d'une saturation mémoire ?

    Bonsoir, Visiblement, j'ai un autre problème puisque la mémoire de mon HC2 a recommencé par partir en fly. Je crois que j'ai compris d'où vient le problème, mais elle part en fly si vite que j'ai une erreur 503 immédiatement après un reboot. Est-il possible de rebooter le HC2 en mode 'sans échec', c'est-à-dire sans démarrer les scènes en %%autostart ? A défaut, un mp pour rooter le bouzin serait bienvenu histoire d'éviter un nouveau recovery...
  12. @@Lazer @Cardane L'utilité et l'opportunité du truc, c'est un autre débat. Je ne fais qu'une suggestion pour atteindre l'objectif. Après, le mieux pour savoir si on chauffe ou pas, c'est surtout de savoir s'il fait froid ou pas /dehors & dedans / depuis combien de temps. Après, sur le délai, une scène en %%autostart permet de faire face aux reboot, et Watchdog pour le plantage.
  13. @J3R3M Sinon, si tu te bases sur la date fixe des saison, tu peux faire une scène qui ne se réveille qu'à ces dates-là via un setTimeout. Je ne sais pas, en revanche, si on peut utiliser un intervalle de plusieurs semaines avec cette fonction ?
  14. Pour la luminosité : > Paramètre 40 pour déterminer l'écart de luminosité entraînant une remontée ponctuelle > Paramètre 42 pour déterminer l'intervalle en deux remontées régulières (même si la luminosité reste inchangée) Même chose pour la température avec les paramètres 60 et 64. Attention dans ce cas à bien ajuster le paramètre 62 qui détermine l'intervalle entre deux mesures de températures, pour qu'il soit inférieur à l'intervalle entre deux remontées régulières (sinon ça sert un peu à rien...)
  15. EXCLU !! Je viens de tomber sur le changelog du firmware 4.145 : Resolved issues: - None En même temps, il ne peut pas leur être reproché de fournir des betas buggées... s'il y a des bugs, ça vient du firmware précédent...
  16. @J3R3M Sankotronic parle de son 'écosystème' sur ce fil. Elle est en beta test depuis peu, tu peux peut-être le choper. En revanche, tu verras en lisant le fil qu'il faut installer pas mal de trucs pour faire fonctionner uniquement Very Smart Lights (un VD de localisation, un VD Sunrise-Sunset, etc.) Bon, en même temps, ça a pas l'air mal du tout, ce qu'il fait... En revanche, je suis surpris de ce que tu dis sur github : le fichier contenant le code lua est téléchargeable sur le premier post du fil ??
  17. @J3R3M Si j'ai bien compris le truc de Sankotronic, c'est gratuit. Je ne suis pas sûr, cependant, que la version actuelle puisse gérer les Philips HWC ? La future version, il me semble que oui, mais elle n'est pas encore publiée et j'ai l'impression que c'est un truc assez lourd, qui t'impose d'installer tout un écosystème de scènes et modules virtuels pour fonctionner correctement...
  18. @Sakkhho tu le fais sur une date DD/MM/AA
  19. OJC

    Causes possibles d'une saturation mémoire ?

    En même temps, 2 MB de RAM, c'est pas la mort non plus...
  20. Sinon t'as regardé ce script ?
  21. Ok... En résumé, le truc fonctionne en envoyant une requête Http vers le pont Philips Hue si je comprends bien. En l'état, Smart Lights fait quoi comme support Philips Hue ? C'est aussi en envoyant une requête Http via le pont ?
  22. @J3R3M A mon avis, ça doit pas être trop compliqué de rajouter la prise en charge de HWC... enfin, tout dépend de la manière dont sont commandées ces ampoules depuis la HC2... Avec un VD ou un plugin ?
  23. @Krikroff J'ai réinstaller Win10 dans une Vbox, ça marche nickel
  24. @Sakkhho La fonction te renvoie true si la date est un jeudi d'une semaine impaire. Le (%W) est effectivement encore plus simple... Pas documenté sur le site Lua (qui parle de la v. 5.0, ça doit être postérieur...)
  25. Tiens, teste avec ça : function isOddWeekThursday(date) local day, month, year = string.match(date, "(%d+)/(%d+)/(%d+)") myDate = os.date("*t", os.time{year = year, month = month, day = day}) dayOne = os.date("*t", os.time{year = year, month = 1, day = 1}) week = math.ceil((myDate.yday - dayOne.wday) / 7) return (myDate.wday == 5 and math.fmod(week, 2) == 1) end
×
×
  • Créer...