-
Compteur de contenus
4 434 -
Inscription
-
Dernière visite
-
Jours gagnés
201
Tout ce qui a été posté par Steven
-
@fred vu que tu as Imperihome sur ta tablette. Si tu as la version pro, tu peux faire du TTS directement depuis la tablette. Il faut activé le serveur HTTP dans les options d'Imperihome puis depuis un module virtuel de ta HC2 tu fais local message = "Tu+vois+quand+tu+veux" HC2 = Net.FHttp("192.168.X.XX", 8080) -- IP de ta tablette status, response = HC2:GET("/api/rest/speech/tts?text="..message)
-
Ton code tourne en rond sans pause et voici ce qu'il va faire Imaginons qu'il est 01:30. Ligne 10: Si 130 >= 130 alors on allume --- Ca c'est bon Ligne 14: Si 130 <= 700 alors on éteint --- Hummmm bennn ca coince Voilà ton code. On vérifie uniquement toutes les minutes et on vérifie si 07:30 == 07:30 c'est plus facile à comprendre et maintenir. Pour éviter les décalage d'heure entre EDF et toi, on laisse 5mn de marge, on allume dans pas à 01:30 mais à 01:35 et on éteint 5 minutes avant. --[[ %% autostart %% properties %% globals --]] if (sourceTrigger["type"] == "autostart") then while true do local currentDate = os.date("%H:%M"); --On laisse une marge de 5mn. -- Heures creuses if ( currentDate == "01:35" or currentDate == "12:35" ) then fibaro:call(15, "turnOn"); fibaro:debug(currentDate .. " on allume") -- Heures pleines elseif ( currentDate == "07:25" or currentDate == "14:25" ) then fibaro:call(15, "turnOff"); fibaro:debug(currentDate .. " on éteint") end -- On attend 1 minutes (60 secondes) fibaro:sleep(60*1000) end end
-
Voici voilà Si on pars du principe que tu as un module virtuel qui contient les données utiles pour l'arrosage ... soit la quantité de pluie de la semaine, ou des X derniers jours. Je me base sur 2 choses : Les prévisions de pluie La quantité de pluie reçue la semaine dernière Pour obtenir la quantité de pluie, voici mon code ... j'utilise Weather Underground il faut une clé API que tu peux créer sur leur site et il faut aussi trouvé le PWS le plus proche de chez toi Code du bouton Prévision. Le résultat est stocké dans le label 3 Jours -> qui a comme ID "lblPrevu" local max_day = 3 local api_key = "XXXXXXXXXXXX" local pws = "IGENVEVE2" local WGROUND = Net.FHttp("api.wunderground.com",80) local response ,status, err = WGROUND:GET("/api/"..api_key.."/forecast/lang:FR/q/pws:"..pws..".json") local rain = -1 if (response ~= nil) then rain = 0 local jsonTable = json.decode(response) max_day = max_day + 1 if (#jsonTable.forecast.simpleforecast.forecastday < max_day) then max_day = #jsonTable.forecast.simpleforecast.forecastday end for i = 1, max_day do fibaro:debug(jsonTable.forecast.simpleforecast.forecastday[i].conditions) fibaro:debug(jsonTable.forecast.simpleforecast.forecastday[i].qpf_allday.mm) rain = rain + jsonTable.forecast.simpleforecast.forecastday[i].qpf_allday.mm end fibaro:debug("Prévision pour les " .. (max_day-1) .. " prochains jours : " .. rain .. " mm") end fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblPrevu.value", rain) Derrière le code du bouton calculer arrosage, j'ai mis le code suivant -- Déterminer si un arrosage est nécessaire -- en ce basant sur les 7 derniers jours -- et les 3 prochains local quantie_jour_mm = 4 -- mon gazon nécessite 4mm / jour local quantite_mm_en_une_heure = 0.3*4 -- mon arrosage fourni 1.2mm / heure local nb_jour_prevision = 3 -- le prévisions sont basé sur 3 jours local semaine = tonumber(fibaro:getValue(fibaro:getSelfId(), "ui.lblSemaine.value")) local prevision = tonumber(fibaro:getValue(fibaro:getSelfId(), "ui.lblPrevu.value")) local pluiencours = tonumber(fibaro:getValue(fibaro:getSelfId(), "ui.lblHeure.value")) > 0.2 local msg = "" if (prevision > (quantie_jour_mm*nb_jour_prevision)*1.5 ) then -- Il est prévu de pluvoir plus que souhaité msg = "Il est prévu de beaucoup pleuvoir" fibaro:setGlobal("Arrosage", "NON") elseif (semaine > (quantie_jour_mm*nb_jour_prevision)*1.5) then -- Il a trop plu msg = "Il a déjà trop plu" fibaro:setGlobal("Arrosage", "NON") elseif (semaine == 0 and (prevision < (quantie_jour_mm*nb_jour_prevision)*1.5) and (prevision >= (quantie_jour_mm*nb_jour_prevision))) then -- Sol sec, préparation utile if (pluiencours) then msg = "Il pleux" fibaro:setGlobal("Arrosage", "NON") else msg = "Sol sec, préparation souhaitée" fibaro:setGlobal("Arrosage", "PREPARATION") end else if (pluiencours) then msg = "Il pleux" fibaro:setGlobal("Arrosage", "NON") else local besoin = nb_jour_prevision * quantie_jour_mm besoin = besoin - prevision msg = "Besoin de " .. besoin .. " mm soit " .. math.floor((besoin/quantite_mm_en_une_heure) ).. " heures" fibaro:setGlobal("Arrosage", "OUI") end end -- Je m'envoi un push après chaque calculme laissant le temps d'intervenir. fibaro:call(122, "sendPush", msg) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label7.value", msg) fibaro:debug(msg) Ce code joue avec la variable globale "Arrosage" qui peut être à "OUI", "NON", "PREPARATION" ensuite j'utilise GEA pour appuyer sur mon bouton "Prévision" tout les jours (Préparation = on attend un peu de pluie mais la terre est trop sèche. On arrose donc un tout petit peu pour préparer le terrain). Je calcule le besoin d'arrosage tout les mardi et vendredi matin et enclenche si nécessaire (mardi pour un arrosage complet (3h), mardi et vendredi pour un petit arrosage 30mn) -- === Arrosage === -- -- On rafraichi les prévisions de pluie toutes les heures GEA.add({"Global", "", ""}, 60*60, "", {{"VirtualDevice", id["VD_PLUIE"], "7"}}) -- On calcul le besoin d'arrosage GEA.add({"Global", "", ""}, 30, "", {{"VirtualDevice", id["VD_PLUIE"], "9"},{"Days", "Tuesday, Friday"}, {"Time", "07:55", "07:56"}}) -- Allumage de l'arrosage automatique GEA.add({"Global", "Arrosage", "OUI"}, 30, "", {{"turnOn", id["ARROSAGE"]}, {"Days", "Tuesday"}, {"Time","08:00","11:00"}}) GEA.add({"Global", "Arrosage", "PREPARATION"}, 30, "", {{"turnOn", id["ARROSAGE"]}, {"Days", "Tuesday, Friday"}, {"Time","08:00","08:30"}}) -- On éteint local longarrosage = {"If", {{"Global", "Arrosage", "OUI"}}} local courtarrosage = {"If", {{"Global", "Arrosage", "PREPARATION"}}} GEA.add(id["ARROSAGE"], 3*60*60, "", {{"turnOff"}, longarrosage, {"Global", "Arrosage", "NON"}}) GEA.add(id["ARROSAGE"], 30*60, "", {{"turnOff"}, courtarrosage, {"Global", "Arrosage", "NON"}}) Voilà ,en gros, c'est tout. Si tu as besoin de quoi que ce soit (virtuel device ou autre) hurle.
-
Logiciel Gratuit Pour Réaliser Vos Schéma D'installation
Steven a répondu à un sujet dans Le bistrot
En août 2013, Windows détenait encore plus de 90% de part de marché ... je veux bien avoir l'esprit aussi tordu qu'eux si on m'offre les actions qui vont avec -
Il reste peut-être une possibilité. Le problème est que depuis le générateur de scénario on ne peux pas faire de stop. Alors que cette option existe. On va donc essayer de déclencher un stop depuis les API de la HCL Ouch Il faudrait créer un module virtuel avec un bouton, derrière le bouton, il faudrait mettre le code suivant GET /api/callAction?deviceID=XX&name=stop HTTP/1.1 Host: 192.168.x.xxx Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxx 0x0D0x0A0x0D0x0A En regardant le post de moicphil ci dessous : Je sais que cela n'est pas très simple mais si cela fonctionne, tu pourras créer un scénario qui : 1) Ouvrir tes volets 2) Appuyer sur le bouton du module virtuel après XX secondes ce qui devrait stopper l'ouverture.
-
Logiciel Gratuit Pour Réaliser Vos Schéma D'installation
Steven a répondu à un sujet dans Le bistrot
Et encore, quand je code,le cheminement de mon code dans ma tête est très ressemblant àmon schéma -
Logiciel Gratuit Pour Réaliser Vos Schéma D'installation
Steven a répondu à un sujet dans Le bistrot
Bien d'accord mais l'avantage du fil est que dès que tu sélectionne un élément, tu vois ses voisins directs. Donc si je remplace un module, je sais exactement quoi modifier. Par exemple, en cliquant sur Chacon, je connais de suite lesquels modules mettre àla poubelle C'est moins beau mais permet ainsi d'avoir un vrai outil. Envoyé de mon GT-I9192 en utilisant Tapatalk -
C'est la même chose pour moi ... sauf que c'est le rouge
-
Aucune idée j'ai pas de volets commandés par ma HC2
-
Logiciel Gratuit Pour Réaliser Vos Schéma D'installation
Steven a répondu à un sujet dans Le bistrot
C'est bon, c'est fait .. c'est chiant à faire Merci à celui qui se reconnaîtra -
Je me permet de revenir vite sur ce sujet. On est d'accord Le polling est un manière d'interroger, à intervalle régulier, un périphérique pour connaitre son état. Le polling est par la HC2 qui à chaque interrogation va stocker les valeurs du périphérique dans sa base. Il s'agit du fameux paramètre : Délai entre chaque interrogation qui dans 99% des cas est à 0 (pas de polling). On est pas d'accord GEA ne modifie pas ce polling ... GEA interroge à intervalle régulier la base de données de la HC2. Lorsque nous interrogeons la valeur d'un périphérique en LUA (fibaro:getValue(...)) nous interrogeons la HC2 pour qu'elle nous donne la dernière valeur qu'elle a dans sa base. Nous ne provoquons (normalement) aucun appel z-wave. Donc la mise en garde contre le polling est judicieuse, mais elle n'a rien à voir avec les scénarios est les scripts. A moins que l'implémentation du getValue sur la HC2 soit de très très mauvaise facture, ce que je doute vu les performances de cette dernière. De plus, quand nous regardons le code généré par un scénario en mode bloc, Condition : Si la lampe est allumé et que nous sommes lundi 9:54 alors... on voit que le code généré vérifie l'état de la lampe toutes les minutes tous les jours .. soit 10079 interrogations inutiles GEA ne vérifie la lampe que si nous sommes lundi à 9:54. Krikroff ... Il est important que tu me confirmes cela sinon je modifie mon code pour ne plus faire de getValue().
- 905 réponses
-
- SCRIPT LUA
- Contrôle
-
(et 1 en plus)
Étiqueté avec :
-
Par rapport à ma réponse précédente. Mon père était électricien et il m'a toujours dit que cela consommait autant. Par contre, cela fait maintenant 40 ans qu'il m'a dit cela ... alors je devrais peut-être me remettre au courant (trop facile le jeu de mot). Donc... je confirme, il y a 40 ans, j'avais raison, et maintenant .. j'ai complètement tord Un site (anglais) pour calculer le gain : http://www.gelighting.com/LightingWeb/na/resources/tools/lighting-assistant-toolkit/dimming-system-watts-estimator.jsp
-
Normalement quand tu diminue l'intensité, c'est le variateur qui absorbe l'énergie. Tu consomme donc toujours autant.
-
J'ai plus qu'àte répondre lolomail mais ce soir faut que je dorme. Envoyé de mon GT-I9192 en utilisant Tapatalk
-
Logiciel Gratuit Pour Réaliser Vos Schéma D'installation
Steven a répondu à un sujet dans Le bistrot
J'avais oublié à quel point tu peux être désagréable ... sont vraiment pas cool dans la banlieue 93 -
Sacré joli offre -70% ... bravo.
-
Logiciel Gratuit Pour Réaliser Vos Schéma D'installation
Steven a répondu à un sujet dans Le bistrot
Tes plans sont bien plus pratique, dans le mien tu vois que la pièce mais pas l’interaction qu'il y a entre les pièces comme sur le tien. D'ailleurs je ferrais bien de même avec yEd mais uniquement si tu me fournis ta bibliothèque d'image -
Logiciel Gratuit Pour Réaliser Vos Schéma D'installation
Steven a répondu à un sujet dans Le bistrot
J'avais déjà modelisé ma maison sur : http://www.kozikaza.com/wanaplan/ et j'avais commencé il y a longtemps de faire des captures et mettre la domotique. Puis, le temps passe et on oublie, j'ai donc juste finalisé cela mais c'est pas vraiment un plan technique. C'est plus pour m'amuser. -
Tu peux mettre un chiffre dans la case rouge. Ce chiffre signifie "exécution dans X secondes" De tout façon GEA c'est pour les poires
-
Logiciel Gratuit Pour Réaliser Vos Schéma D'installation
Steven a répondu à un sujet dans Le bistrot
Juste le R-C pour vous embêter Plan RC Entrée Cuisine Salle à manger Salon Local Technique Garage -
Dans un bureau c'est normal et voulu. Soumis àune petite quantité de co2 le cerveau est plus réactif. Donc quelques plantes vertes mais pas trop. Par contre àla maison, le repos est de mise. Donc on essaie de pas franchir les 1000 dans la mesure du possible et pour un confort optimal. Au delà, le confort diminue mais sans que cela soit critique. Au delàde 3000 àla maison, c'est qu'il y a un problème.
-
Merci pour ton retour Oui, une fois les conditions remplies, on interroge le périphérique concerné pour connaître sont état. Ceci en moyenne toute les 30 secondes. A cette fréquence, on est loin d'un Polling Pour éviter de trop faire appel au Z-Wave, les conditions calculable sont traitées en priorité (heure, jours, variable globale,...) Ta mise en garde est plus que judicieuse, comme d'habitude, mais je pense sérieusement qu'on est volontairement très loin d'un Polling qui pourrait chatouiller le réseau Z-Wave. Je reste toujours disponible àla critique surtout si cela vient de toi Envoyé de mon GT-I9192 en utilisant Tapatalk
- 905 réponses
-
- SCRIPT LUA
- Contrôle
-
(et 1 en plus)
Étiqueté avec :
-
Exact Envoyé de mon GT-I9192 en utilisant Tapatalk
-
Logiciel Gratuit Pour Réaliser Vos Schéma D'installation
Steven a répondu à un sujet dans Le bistrot
Plus sérieusement, j'aime bien mais ça c'est un schéma trop filaire pour un informaticien comme moi -
Logiciel Gratuit Pour Réaliser Vos Schéma D'installation
Steven a répondu à un sujet dans Le bistrot
Les images sont àla taille de ses lumières ... ouf ouf ouf, elle est facile celle-ci.