-
Compteur de contenus
106 -
Inscription
-
Dernière visite
-
Jours gagnés
1
Tout ce qui a été posté par bencol
-
=> publication d'une version 2.0 plus efficace, plus simple et avec un meilleur debug + commentaires en français
- 89 réponses
-
- simulateur
- présence
-
(et 1 en plus)
Étiqueté avec :
-
Pour ceux qui n'ont rien dans le debug, vous n'auriez pas oublié d'activer le module en pressant sur le bouton ON ?
- 89 réponses
-
- simulateur
- présence
-
(et 1 en plus)
Étiqueté avec :
-
@971jmd tu dois avoir au moins la ligne "START REPLICATOR" Ensuite si tu n'as aucune ligne comme DOMADIAL ci-dessus, c'est que tu n'as aucun device identifié comme Lampe. Dans ce cas reprends mon premier post, j'indique comment les configurer.
- 89 réponses
-
- simulateur
- présence
-
(et 1 en plus)
Étiqueté avec :
-
@Domodial : pb1 : il ne faut pas mettre cette ligne dans le mainloop mais dans le script des boutons. pb2 : le module doit forcément exister car ta fibaro le voit comme un module de type lampe. Vérifie avec HC2Toolkit si il existe (peut d'ailleurs caché). Sinon même méthode qu'avec Yannick. vos box ont un comportement bizarre ou alors il faudrait faire le ménage dans les modules fantômes.
- 89 réponses
-
- simulateur
- présence
-
(et 1 en plus)
Étiqueté avec :
-
Il n'y a pas d'impact, je teste simplement si le device est allumé avant de l'éteindre. Dans tous les cas, il va l'éteindre. Pas contre, il n'y a pas de raison pour mettre le moteur zwave en type lampe. Il suffit de le faire sur le device uniquement.
- 89 réponses
-
- simulateur
- présence
-
(et 1 en plus)
Étiqueté avec :
-
Bonjour @Yannick Il y a un pb sur ton device n°258. A quoi correspond t'il ? Je pense qu'il ne supporte pas la fonction fibaro:getValue(device, "value"). Peux tu essayer en supprimant la condition après le "and" ?
- 89 réponses
-
- simulateur
- présence
-
(et 1 en plus)
Étiqueté avec :
-
@kionoranga : pas de modif du code àpart des debugs @Allan2b : si le module ne sait pas remonter de conso, il ne sera pas pris en compte. Mais Fibaro propose de saisir une conso fixe et il la prend en compte dans ce cas.
- 89 réponses
-
- simulateur
- présence
-
(et 1 en plus)
Étiqueté avec :
-
Version publiée avec un mode debug plus poussé si besoin.
- 89 réponses
-
- simulateur
- présence
-
(et 1 en plus)
Étiqueté avec :
-
N'hésitez pas àme faire des retours pour savoir si cela marche correctement chez vous.
- 89 réponses
-
- simulateur
- présence
-
(et 1 en plus)
Étiqueté avec :
-
@971jmd : peux tu me préciser àquoi correspond la ligne 83 chez toi. Si elle correspond àla condition State==1, cela signifie que State est null. Je n'ai pas réussi àreproduire ce cas de mon coté. Remonte le code en mettant un debug sur les variables State1, State2 et State3 pour voir.
- 89 réponses
-
- simulateur
- présence
-
(et 1 en plus)
Étiqueté avec :
-
=> publication d'une version 2.0 plus efficace, plus simple et avec un meilleur debug + commentaires en français Le principe de ce bout de code est le suivant : simuler une présence dans votre logement en s'appuyant sur votre mode de vie des mêmes journées les précédentes semaines. Le programme analyse le comportement des lumières des 2 dernières semaines (à partir de l'historique de consommation) et simule par réplication une vraie vie (la vôtre !) dans votre logement. 3 prérequis : - il est nécessaire de vérifier que les modules de type lampe sont bien déclarés comme lampe. Pour cela il faut aller dans la configuration avancée des modules concernées et sélectionner dans appareil commandé : Eclairage ou Lampe de chevet ou Lampe de jardin,.... - ajouter pour les modules qui le permettent le suivi de la consommation électrique (attention, il faudra attendre au moins 2-3 semaines que cela soit efficace) - créer une variable globale "Simu_presence" avec comme possibilité ON ou OFF Le code ci-dessous peut être placé dans la boucle principale dans un module virtuel. En pièce jointe le module à importer. ----------------------- -- fonction d'arrondi -- ------------------------ function math.round(num, idp) return tonumber(string.format("%."..idp.."f", num )); end -------------------- -- Debug function -- -------------------- function Debug(message, color) if (color == nil) then color = "white";end; fibaro:debug(string.format("<font color=" .. color .. ">" .. message .. "</font>")); return; end ------------------------------------------------------------------------------------------------------------------ -- Fonction de récupération de l'historique de l'allumage d'une lampe -- ------------------------------------------------------------------------------------------------------------------ local function CollecteStatus(DureeHistorique, Device) local TimeStart = DureeHistorique + 300; -- à la date de l'historique plus 5 min local TimeEnd = DureeHistorique - 300; -- à la date de l'historique moins 5 min -- init tableaux et variables local TabMeasure = {}; -- tableau de mesures timestamp/activité local HC2 = Net.FHttp("127.0.0.1",11111); if (Device ~= nil) then Response, status, errorCode = HC2:GET("/api/energy/now-" .. TimeStart .. "/now-" .. TimeEnd .. "/summary-graph/devices/power/" .. Device); end; if (tonumber(errorCode)==0 and tonumber(status)==200) then TabMeasure = json.decode(Response); -- chargement des données dans une table Debug("Nb mesures : " .. table.getn(TabMeasure) .. " (historique il y a " .. DureeHistorique/86400 .. " jours)","yellow"); local State = 0; -- scan la période concernée les semaines précédente for i = 1, table.getn(TabMeasure) do local Heure = tonumber(TabMeasure[i][1])/1000; -- collecte de l'heure et conversion des millisecondes en secondes if (tonumber(TabMeasure[i][2]) > 0) -- il y a une activité then State = 1; end Debug("Mesure " .. i .. " : " .. os.date("%A %d/%m/%y %H:%M",Heure) .. " => " .. State); end return State; -- retour de la fonction else Debug("fail : ".. status .. " - error : ".. errorCode); end end -- Scan de tous les devices si alarme active if (fibaro:getGlobalValue("Simu_presence") == "ON") then Debug("START REPLICATOR...."); fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 1062); fibaro:log('Simulation active'); Debug("Alarme active => Scan...."); for device=1, 1000, 1 do if (fibaro:getValue(device, "isLight") == '1') -- si type lampe then -- lancement de la fonction de collecte des informations d'allumage ou d'extinction Debug("***** Collecte de la consommation électrique pour la lampe " .. device .. " " .. " *****", "yellow"); local StateSem1 = CollecteStatus(7 * 86400, device); -- appel de la fonction => 1 semaine avant local StateSem2 = CollecteStatus(14 * 86400, device); -- appel de la fonction => 2 semaines avant -- si lampe active les dernières semaines et lampe actuellement éteinte => allumage if (StateSem1 == 1 or StateSem2 == 1) then if (tonumber(fibaro:getValue(device, "value")) == 0) -- la lampe est éteinte then fibaro:call(device, "turnOn"); -- allumage fibaro:call(device, "setValue", "50"); Debug("Allumage Lampe : " .. device, "green"); else Debug("Pas d'action, lampe : " .. device .. " déjà allumée", "green"); end end -- si lampe inactive les dernières semaines et lampe actuellement allumée => extinction if (StateSem1 == 0 and StateSem2 == 0) then if (tonumber(fibaro:getValue(device, "value")) > 0) -- si le device est allumé then fibaro:call(device, "turnOff"); -- extinction Debug("Extinction Lampe : " .. device, "red"); else Debug("Pas d'action, lampe : " .. device .. " déjà éteinte","red"); end end end end else fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 1061); fibaro:log('Simulation inactive'); Debug('Simulation inactive'); end fibaro:sleep(120000); -- temporise 2 minutes Presence_Replicator v1.vfib Presence_Replicator v2.vfib
- 89 réponses
-
- 10
-
-
- simulateur
- présence
-
(et 1 en plus)
Étiqueté avec :
-
Avec un microcontroleur Wifi ESP8266 (4 €) + une sonde DHT11 (1 €). Vous trouverez plein de tutos sur internet sur ce sujet. Cela permet de faire une sonde qui communique en Wifi (autonomie sur pile d'environ 2 ans en mode deep sleep). Je me suis monté qqs sondes qui émettent toutes les 2 minutes températures et humidité à un serveur HTTP doté d'une base MySQL puis s'endort 2 minutes quasi totalement pour économiser les piles. De son coté, la HC2 interroge régulièrement la base MySQL pour exploiter les mesures dans des scènes Et franchement c'est bluffant de voir à quel point ces composants aussi petits peuvent faire ! Cela fonctionne aussi pour des détecteurs de porte, il suffit d'acheter des capteurs d'entrée de gamme à qqs euros pour récupérer le capteur magnétique, le connecter à un ESP8266 et le tour est joué. Cerise sur le gateau, on peut le programmer en LUA. C'est pas beau ça !
- 1 réponse
-
- module
- temperature
-
(et 2 en plus)
Étiqueté avec :
-
Hello Maj faite. Gain de 20% sur la RAM également. Pas d'anomalie àce stade
-
Pour les scenes qui ne fonctionnent pas, il faut supprimer les espaces et commentaires placés devant la déclaration des properties et variables globales. -- commentaires scènes xxxx -- .... --[[ %% properties %% globals --]] doit devenir --[[ %% properties %% globals --]] De mon coté, les scènes avec trigger refonctionnent avec cette modif. @Chlorure @banzai861
-
essaye ma recommandation un peu plus haut en supprimant les espaces.
-
en ce qui me concerne, après avoir corrigé toutes les scènes avec trigger, plus de pb sur cette version. Mais ca me gonfle qu'ils n'aient pas encore intégré les templates pour les Dimmer BeNext et les capteurs Philio.
-
non pas pour moi. Reboot et réessaye.
-
Pour les dysfonctionnements des scènes avec trigger je crois que j'ai trouvé le bug. Supprimer tout espace et tout commentaire avant la séquence : --[[ %% properties %% globals --]]
-
c'était des 3"1/2...
-
Bon c'est quand même dingue, je passe 2 jours à essayer de trouver et c'est au moment où j'appelle à l'aide que la solution me passe brutalement par la tête. La solution c'est : TabJson = "[[1427560251000,18.70],[1427560560000,18.60],[1427561467000,18.70],[1427562051000,18.70]]" fibaro:debug(TabJson ); TabMesure = json.decode(TabJson ); fibaro:debug(TabMesure[4][1]); -- 4ème groupe 1ère valeur fibaro:debug(TabMesure[4][2]); -- 4ème groupe 2ème valeur fibaro:debug(table.getn(TabMesure)); -- lg du tableau
- 1 285 réponses
-
- tuto multimã©dia
- graphiques
-
(et 2 en plus)
Étiqueté avec :
-
Bonjour à tous j'ai du JSON multidimensionnel sous la forme [[1427560251000,18.70],[1427560560000,18.60],[1427561467000,18.70],[1427562051000,18.70]] Savez vous comment le parcourir ou bien comment le charger directement dans un tableau 2D (ou matrice) j'ai essayé avec json.decode mais cela ne fonctionne pas?
- 1 285 réponses
-
- tuto multimã©dia
- graphiques
-
(et 2 en plus)
Étiqueté avec :
-
MIgration faite de mon coté. Pas de pb.
-
Tuto VidéoSurveillance Configuration Caméra Heden Wifi Sous Hc2
bencol a répondu à un(e) sujet de Domotique-Home dans Caméras
oui avec la commande fibaro:call(idheden, "sendPhotoToEmail", "1") 1 correspond à un utilisateur mais c'est également possible en mode bloc.- 36 réponses
-
- configuration
- heden
-
(et 1 en plus)
Étiqueté avec :