Aller au contenu

Rechercher dans la communauté

Affichage des résultats pour les étiquettes 'scã¨ne'.



Plus d’options de recherche

  • Rechercher par étiquettes

    Saisir les étiquettes en les séparant par une virgule.
  • Rechercher par auteur

Type du contenu


Forums

  • Bienvenue
    • Nouveau ? Présentez-vous
    • Le bistrot
    • Mon installation domotique
    • Annonces et suggestions
  • La Home Center et ses périphériques
    • La Home Center pour les nuls
    • HC 2 & Lite
    • HC 3
    • Modules Fibaro
    • Modules Z-wave
    • Périphériques et matériels autres
    • Plugins
    • Quick App
    • Multimédia (audio, vidéo ...)
    • Chauffage et Energie
    • Actionneurs & Ouvrants (Portail, volets, piscines, ...)
    • Eclairage
    • Applications Smartphones et Tablettes
  • Autres solutions domotiques
    • Box / Logiciel
    • Modules Nice (433 & 866 MHz)
    • Modules Zigbee
    • GCE Electronics
    • Modules Bluetooth Low Energy
  • Objets connectés
    • Les Assistants Vocaux
    • Netatmo
    • Philips Hue
    • DIY (Do It Yoursel)
  • Sécurité
    • Sécurité (Alarmes, Caméras, Portiers)
    • Alarmes
    • Caméras
    • Portiers
    • Serrures
  • Informatique / Réseau
    • Tutoriels
    • Matériels Réseaux
    • Matériels Informatique
    • NAS
    • Virtualisation
  • Les bonnes affaires
    • Sites internet
    • Petites annonces

Calendriers

Aucun résultat à afficher.


Rechercher les résultats dans…

Rechercher les résultats qui…


Date de création

  • Début

    Fin


Dernière mise à jour

  • Début

    Fin


Filtrer par nombre de…

Inscription

  • Début

    Fin


Groupe


Jabber


Skype


Ville :


Intéret :


Version

11 résultats trouvés

  1. Watchdog Version 1.3 Voici une scène permettant de surveiller le fonctionnement des Scènes et Main Loop de Modules Virtuels sur Home Center 2 en version 4.x. Pour ce faire, les messages de la fenêtre de Debug sont analysés. De plus, pour les scènes uniquement, le nombre d'instances est compté. En cas de problème détecté, la scène ou le virtual device considéré est automatiquement redémarré, et une notification peut être envoyée. Copier/coller le script LUA suivant dans une nouvelle scène : --[[ %% autostart %% properties %% globals --]] -------------------------------------------------- -- Scene : Watchdog -- Author : Lazer -- Version : 1.3 -- Date : June 2017 -------------------------------------------------- -- User variables local intervalle = 60 local delay = 15*60 local watchdog = { } local userID = {} -- Email local smartphoneID = {} -- Push local sms = { ["VD_ID"] = 0, -- Virtual Device ID ["VD_Button"] = "1", -- Virtual Device Button ["VG_Name"] = "SMS" -- Global Variable Name } local debug = false -- -- Message function -- function Message(color, message) if color and color ~= "" then fibaro:debug('<span style="color:'..color..';">'..(message or '<nil>')..'</span>') else fibaro:debug(message or '<nil>') end end -- -- Notification function -- function Notification(message, param) local message = message or "<vide>" Message("yellow", "Notification : "..message) if param then for _, notif in ipairs(param) do if debug then Message("grey", notif) end -- Envoi Push if notif == "push" and smartphoneID then for _, id in ipairs(smartphoneID) do if debug then Message("grey", "Send Push smartphone ID : "..id) end fibaro:call(id, "sendPush", message) end -- Envoi Email elseif notif == "email" and userID then for _, id in ipairs(userID) do if debug then Message("grey", "Send Email user ID : "..id) end fibaro:call(id, "sendEmail", "HC2 Watchdog", message) end -- Envoi SMS elseif notif == "sms" and sms then if debug then Message("grey", "Send SMS : VD_ID="..(sms["VD_ID"] or 0).." VD_Button="..(sms["VD_Button"] or "0").." VG_Name="..(sms["VG_Name"] or "")) end fibaro:setGlobal(sms["VG_Name"], message) if sms["VD_ID"] and tonumber(sms["VD_ID"])>0 and sms["VD_Button"] and tonumber(sms["VD_Button"])>0 then fibaro:call(sms["VD_ID"], "pressButton", sms["VD_Button"]) end end end else Message("orange", "Warning : no notification options given") end end -- -- Restart function -- function Restart(type, id, restart, notification, reason) Message("blue", 'Restart '..type..'('..id..')') -- Prepare API URL local getURL = "" local putURL = "" if type:lower() == "scene" then getURL = 'http://127.0.0.1:11111/api/scenes/'..id putURL = 'http://127.0.0.1:11111/api/scenes/'..id elseif type:lower() == "vd" then getURL = 'http://127.0.0.1:11111/api/virtualDevices/'..id putURL = 'http://127.0.0.1:11111/api/virtualDevices/'..id end -- Load VD/Scene local httpClient = net.HTTPClient() httpClient:request(getURL, { success = function(response) if response.status == 200 then local jsonTable = json.decode(response.data) local name = jsonTable.name or "" if restart and restart == true then -- Add new line at end of scene lua code if type:lower() == "scene" and jsonTable.lua then jsonTable.lua = jsonTable.lua .. "\n" response.data = json.encode(jsonTable) end -- Save VD/Scene httpClient:request(putURL, { success = function(response) if response.status == 200 then Message("green", type.."("..id..") successfully restarted") Notification('Watchdog : '..type..' « '..(name or "")..' » ('..id..") a été redémarré : "..(reason or "???"), notification) else Message("red", type.."("..id..") Error : status="..tostring(response.status)) Notification('Watchdog : '..type..' « '..(name or "")..' » ('..id..") n'a pas pu être redémarré : "..(reason or "???"), notification) end end, error = function(err) Message("red", type.."("..id..") Error : "..err) Notification('Watchdog : '..type..' « '..(name or "")..' » ('..id..") n'a pas pu être redémarré : "..(reason or "???"), notification) end, options = { method = 'PUT', -- headers = { -- ["content-type"] = 'application/x-www-form-urlencoded;' -- }, data = response.data } }) else Notification('Watchdog : '..type..' « '..(name or "")..' » ('..id..") doit être redémarré manuellement : "..(reason or "???"), notification) end else Message("red", type.."("..id..") Error : status="..tostring(response.status)) Notification('Watchdog : '..type..' ('..id..") n'a pas pu être redémarré : "..(reason or "???"), notification) end end, error = function(err) Message("red", type.."("..id..") Error : "..err) Notification('Watchdog : '..type..' ('..id..") n'a pas pu être redémarré : "..(reason or "???"), notification) end, options = { method = 'GET' } }) end -- function -- -- Check function -- function Check(interval) Message(nil, "Check") -- Browse VD/Scene list local httpClient = net.HTTPClient() local elements = #watchdog for i = 1, elements do -- Initialization local countscene_found = false if debug then Message(nil, "Check : type="..watchdog[i].type.." id="..watchdog[i].id) end -- Check number of running scene instances if watchdog[i].type:lower() == "scene" and watchdog[i].count and watchdog[i].count > 0 then local countScenes = fibaro:countScenes(watchdog[i].id) if countScenes < watchdog[i].count then Message("orange", watchdog[i].type..'('..watchdog[i].id..') '..countScenes..' running instance') countscene_found = true Restart(watchdog[i].type, watchdog[i].id, watchdog[i].restart, watchdog[i].notification, countScenes..' instance') elseif debug then Message("green", watchdog[i].type..'('..watchdog[i].id..') '..countScenes.." running instance") end end if countscene_found == false then -- Do not enter this loop if scene has already been restarted -- Prepare API URL local getURL = "" if watchdog[i].type:lower() == "scene" then getURL = "http://127.0.0.1:11111/api/scenes/"..watchdog[i].id.."/debugMessages" elseif watchdog[i].type:lower() == "vd" then getURL = "http://127.0.0.1:11111/api/virtualDevices/"..watchdog[i].id.."/debugMessages/0" else Message("red", "Error : unknown type value") end if getURL ~= "" then if debug then Message("grey", getURL) end -- Load VD/Scene debug messages httpClient:request(getURL, { success = function(response) if response.status == 200 then if response.data and response.data ~= "" then local jsonTable = json.decode(response.data) local current_timestamp = os.time() local oldest_timestamp = current_timestamp local match_found = false local no_match_found = false local reason = "" -- Reverse browsing of debug messages for j = #jsonTable, 1, -1 do oldest_timestamp = jsonTable[j].timestamp -- Check if debug message match lookup string within allowed interval if watchdog[i].match.text and watchdog[i].match.text ~= "" and watchdog[i].match.interval > 0 and jsonTable[j].txt:match(watchdog[i].match.text) then if jsonTable[j].timestamp > current_timestamp - watchdog[i].match.interval then if debug then Message("green", watchdog[i].type..'('..watchdog[i].id..') Found string "'..watchdog[i].match.text..'"') end match_found = true end end -- Check if debug message match forbidden string if watchdog[i].no_match.text and watchdog[i].no_match.text ~= "" and jsonTable[j].txt:match(watchdog[i].no_match.text) then Message("orange", watchdog[i].type..'('..watchdog[i].id..') Found string "'..watchdog[i].no_match.text..'"') no_match_found = true reason = os.date('%H:%M:%S', (jsonTable[j].timestamp or 0)) .. " " .. jsonTable[j].type .. " : " .. jsonTable[j].txt break end if watchdog[i].no_match.type and watchdog[i].no_match.type ~= "" and jsonTable[j].type == watchdog[i].no_match.type then Message("orange", watchdog[i].type..'('..watchdog[i].id..') Found type "'..watchdog[i].no_match.type..'"') no_match_found = true reason = os.date('%H:%M:%S', (jsonTable[j].timestamp or 0)) .. " " .. jsonTable[j].type .. " : " .. jsonTable[j].txt break end end -- for if debug and oldest_timestamp > current_timestamp - watchdog[i].match.interval then Message("grey", watchdog[i].type..'('..watchdog[i].id..') oldest debug timestamp more recent than interval') end -- Restart VD/Scene if watchdog[i].match.text and watchdog[i].match.text ~= "" and watchdog[i].match.interval > 0 and match_found == false and oldest_timestamp < current_timestamp - watchdog[i].match.interval then Message("orange", watchdog[i].type..'('..watchdog[i].id..') String "'..watchdog[i].match.text..'" not found') reason = 'Chaine « ' .. watchdog[i].match.text .. ' » non trouvée' if #jsonTable > 0 then reason = reason .. ', dernier message : ' .. os.date('%H:%M:%S', (jsonTable[#jsonTable].timestamp or 0)) .. ' « ' .. (jsonTable[#jsonTable].txt or "<nil>") .. ' »' end Restart(watchdog[i].type, watchdog[i].id, watchdog[i].restart, watchdog[i].notification, reason) --if watchdog[i].no_match.text and watchdog[i].no_match.text ~= "" and no_match_found == true then elseif no_match_found == true then Restart(watchdog[i].type, watchdog[i].id, watchdog[i].restart, watchdog[i].notification, reason) end else Message("red", "Error : empty response") end else Message("red", "Error : status=" .. tostring(response.status)) end end, error = function(err) Message("red", 'Error : ' .. err) end, options = { method = 'GET' } }) end end end -- for -- Wait if interval and interval > 0 then setTimeout(function() Check(interval) end, interval*1000) end end -- function -- -- Main loop -- local trigger = fibaro:getSourceTrigger() if trigger["type"] == "autostart" then Message(nil, "Watchdog instance autostart") -- Check function call delayed to prevent killing all other scenes not already started right after HC2 boot setTimeout(function() Check(intervalle) end, delay*1000) else Message(nil, "Watchdog instance manual launch") -- Call Check function Check(nil) end . Le paramétrage du script s'effectue dans les quelques lignes situées sous le commentaire "User variables" : intervalle : durée entre 2 vérifications delay : délai avant la première vérification. En effet, cette scène ayant la propriété autostart afin de démarrer automatiquement au boot de la box, le risque est de démarrer avant les autres Scène/VD, et de forcer un redémarrage de ceux-ci alors qu'ils n'ont pas encore effectivement démarré. Ce délai laisse donc aux autres Scène/VD le temps de démarrer et de s'initialiser proprement. watchdog : tableau dont chaque ligne représente une Scène ou un Virtual Device à monitorer : type : "Scene" ou "VD" id : valeur numérique représentant l'ID de la Scène ou VD à monitorer match : texte qui doit être trouvé pendant un certain laps de temps afin de confirmer le bon fonctionnement du VD/Scène. Cela correspond typiquement à un message affiché cycliquement à intervalle régulier. Les 2 champs suivants doivent être renseignés pour que la condition soit prise en compte (condition ET) : text : chaine de caractères à trouver interval : durée en secondes no_match : texte qui ne doit pas être trouvé, sous peine de considérer le VD/Scène comme planté. Cela correspond typiquement à un message d'erreur LUA qui entraine le plantage du script. A noter que la condition no_match à priorité sur la condition match, c'est à dire que si le texte recherché par no_match est détecté, le VD/Scène sera redémarrer même si le texte recherché par match a été détecté. L'un ou l'autre des 2 champs suivants peuvent être renseignés pour que la condition soit prise en compte (condition OU) : text : chaine de caractères à trouver type : "ERROR" correspond aux messages affichés en rouge dans la fenêtre de Debug de l'interface HC2. A noter que jusqu'en v4.056, dans une scène une erreur LUA affichait le message en rouge avec le type "ERROR", tandis que depuis les Beta v4.057 et v4.058, cette même erreur s'affiche en blanc sans le type ERROR, par conséquent ce test ne fonctionne plus. En revanche, aucun changement de mode de fonctionnement concernant les Virtual Devices. count : valeur valable pour les scènes uniquement, et indiquant le nombre minimal d'instances qui doivent fonctionner pour confirmer le bon fonctionnement de la scène. Cela correspond typiquement à l'instance de type boucle infinie lancée en autostart. restart : true ou false afin de redémarrer le VD/Scène concerné, ou seulement envoyer une notification signalant qu'il faut le redémarrer manuellement. notification : liste séparée par des virgules des moyens de notifications à employer. userID : liste séparée par des virgules des ID des utilisateurs qui doivent recevoir des notifications par email (le mail est celui configuré pour chaque utilisateur dans le panneau de contrôle d'accès) smartphoneID : liste séparée par des virgules des ID des smartphones qui doivent recevoir des notifications push (à récupérer dans le toolkit de Krikroff ou via l'API : /api/iosDevices) sms : si vous avez une passerelle SMS sous Android avec SMS Gateway (ou équivalent) pilotée par un module virtuel, il faut renseigner ici les informations nécessaires : VD_ID : ID du module virtuel VD_Button : ID du bouton du module virtuel VG_Name : nom de la variable globale debug : true ou false afin d'activer l'affichage étendu dans la fenêtre de débugage de la scène. Exemple de paramètres : -- User variables local intervalle = 60 local delay = 15*60 local watchdog = { {type = "Scene", id = 1, match = {text="", interval=0}, no_match = {text=""}, count=1, restart=true, notification = {"push", "email", "sms"}}, -- Présence Lazer {type = "Scene", id = 2, match = {text="Last run", interval=2*60}, no_match = {text=""}, count=1, restart=true, notification = {"push", "email", "sms"}}, -- DomoCharts {type = "Scene", id = 3, match = {text="Durée des traitements", interval=11*60}, no_match = {text=""}, count=1, restart=true, notification = {"push", "email", "sms"}}, -- GEA {type = "VD", id = 1, match = {text="", interval=0}, no_match = {text="", type="ERROR"}, restart=true, notification = {"push", "email", "sms"}}, -- Surveillance Station {type = "VD", id = 2, match = {text="", interval=0}, no_match = {text="", type="ERROR"}, restart=true, notification = {"push", "email", "sms"}}, -- Clock Sync {type = "VD", id = 3, match = {text="", interval=0}, no_match = {text="", type="ERROR"}, restart=true, notification = {"push", "email", "sms"}}, -- My Batteries {type = "VD", id = 4, match = {text="", interval=0}, no_match = {text="", type="ERROR"}, restart=true, notification = {"push", "email", "sms"}}, -- Evénements {type = "VD", id = 5, match = {text="", interval=0}, no_match = {text="", type="ERROR"}, restart=true, notification = {"push", "email", "sms"}}, -- Network Monitor {type = "VD", id = 6, match = {text="", interval=0}, no_match = {text="", type="ERROR"}, restart=true, notification = {"push", "email", "sms"}}, -- GEA Alarm {type = "VD", id = 7, match = {text=" ", interval=30}, no_match = {text="", type="ERROR"}, restart=true, notification = {"push", "email", "sms"}}, -- Sonos Player (Tk.isTraceEnabled = true) {type = "VD", id = 8, match = {text="Start main process", interval=31*60}, no_match = {text="", type="ERROR"}, restart=true, notification = {"push", "email", "sms"}} -- Freebox Serveur } local userID = {1} -- Email local smartphoneID = {1, 2} -- Push local sms = { ["VD_ID"] = 99, -- Virtual Device ID ["VD_Button"] = "1", -- Virtual Device Button ["VG_Name"] = "SMS" -- Global Variable Name } local debug = false
  2. Steven

    Pushbullet

    --------------------------------- PUSHBULLET API --------------------------------- Bonjour, Si comme moi, vous appréciez le service de notification "Pushbullet" et que vous souhaitez l'utiliser depuis votre HC2, voici un script qui vous permettre 2 ou 3 petites choses : Consulter la liste de vos appareils connectés au service Pushbullet Envoyer un message sur tous vos appareils connectés Envoyer un message sur un appareil précis. Avantage de ce script : Pas besoin de service intermédiaire comme pushingbox Plus besoin d'utiliser les notifications aléatoires et capricieuses de Fibaro Pré-requis : Un compte chez Pushbullet L'application Pushbullet installée sur vos appareils (https://www.pushbullet.com/apps) Obtenir un "Token" ... Connectez-vous sur le site Pushbullet -> My Account (en cliquant sur votre avatar) -> Create Access Token Voici le script local pushbullet = { token = "o.Ax6xXFI5Qa8YZX1BFoWzozmVL5plEwGd", titreDesMessage = "Fibaro", debug = false, -- ============================================== -- Affichage dans la console -- Paramètres : -- message : le message a afficher -- force : affiche le message même si debug est à false -- ============================================== log = function(self, message, force) force = force or false if (self.debug or force) then print(__convertToString(message)) end end, -- ============================================== -- Affichage les devices reconnus et actifs -- Paramètres : -- data : tableau des devices -- ============================================== displayDevices = function(self, data) self:log("----------========== D e v i c e s =========----------", true) for k,v in ipairs(data.devices) do if (v.model) then self:log(v.model .. " --- " .. v.iden, true) end end end, -- ============================================== -- Interrogation des devices -- Paramètres : -- func : une fonction a rappeler après traitement ou nil -- ============================================== getDevices = function(self, func) local http = net.HTTPClient() http:request("https://api.pushbullet.com/v2/devices", { options = { method = 'GET', headers = { ["Access-Token"] = self.token, ["Content-Type"] = "application/json" }, data = "" }, success = function(response) if (func) then func(json.decode(response.data)) else self:displayDevices(json.decode(response.data)) end end, error = function(response) self:log(" ERROR !!! " .. url, true) end, }) end, -- ============================================== -- Envoi un message -- Paramètres : -- message : le message à envoyer -- id : l'identifiant du device OU nil -- ============================================== sendPush = function(self, message, id) local http = net.HTTPClient() http:request("https://api.pushbullet.com/v2/pushes", { options = { method = 'POST', headers = { ["Access-Token"] = self.token, ["Content-Type"] = "application/json" }, data = json.encode({ ["body"]=message, ["title"]= self.titreDesMessage, ["type"]="note" }), device_iden = id, }, success = function(response) local data = json.decode(response.data) self:log("----------========== P u s h e s =========----------") self:log("Identifiant du message : " .. data.iden) end, error = function(response) self:log(" ERROR !!! " .. url, true) end, }) end, -- ============================================== -- Envoi d'un message push -- Paramètres : -- message : le message à envoyer -- device : le nom du device concerné ou nil -- ============================================== send = function(self, message, device) if (device) then self:getDevices(function(data) local found for k,v in ipairs(data.devices) do if (v.model == device or v.iden == device) then found = true self:sendPush(message, v.iden) end end if (not found) then self:log(device .. " non trouvé", true) end end) else self:sendPush(message, nil) end end } Quand je lance directement la scène, elle va m'afficher la liste des appareils connectés. Par contre quand je met à jour la variable globale "Pushbullet", elle va m'envoyé un push contenant le message de la variable globale directement sur mon téléphone "HTC One_M8 dual sim". Voici donc une manière simple de recevoir des pushs fonctionnel depuis sa HC2. Pushbullet permet aussi l'envoi de lien http, d'image, ... ce script est donc modifiable à votre convenance.
  3. Rem's

    Scene En Boucle

    Bonsoir à tous, J'ai fait une scène qui me permet d'éteindre les lumiere de la chambre de ma fille au bout de 45 mm. Depuis mes soucis avec des notif (out of memories), j'essaye de rationaliser les instances. Mais voila, ce bout de scène semble interrogé, toute les 300 sec, durée du polling. Evidement, je recois une notif me disant que ma scènes a trop d'instance en cours. --[[ %% properties 50 value 70 value %% events %% globals --]] local lapin = 50 local loupion = 70 local startSource = fibaro:getSourceTrigger(); local heure = string.format(os.date("%H"), "%2d")..string.format(os.date("%M"), "%2d") local heureValable = heure >= "2000" or heure < "2345" local timmer = (tonumber(fibaro:getValue(lapin, "value")) > 0) local timmer2 = (tonumber(fibaro:getValue(loupion, "value")) > 0) if fibaro:countScenes() > 2 then -- si la scène est lancée plus d'une fois alors fibaro:abort() -- arrêt de cette lecture du script end -- fin de la condition if timmer and heureValable then fibaro:debug("Compte à rebours Lapin") setTimeout(function() fibaro:call(lapin, "turnOff"); fibaro:debug("Extinction Lapin") end, 45*60*1000) else fibaro:debug("Lapin déjà éteint") end if timmer2 and heureValable then fibaro:debug("Compte à rebours Loupion") setTimeout(function() fibaro:call(loupion, "turnOff"); fibaro:debug("Extinction Loupion") end, 45*60*1000) else fibaro:debug("Loupion déjà éteint") end fibaro:sleep(60*1000); Comment je peux faire ...? D'avance merci pour votre aide
  4. Suite a une idée de Steven : http://www.domotique-fibaro.fr/index.php/topic/4218-sunrisehour-sunsethour-osdate-et-variable-jour-nuit/page-3 Encore une question est ce que quelq'un a essayé ? --[[ %% propeties 1 sunsetHour --]] Perso, je n'ai jamais fait le test mais la question me semble intéressante Voici un début de réponse : On ne peut pas utilisé sunsetHour ou sunriseHour comme déclencheur pour savoir si on est le jour ou la nuit La scène ce déclenche toute les 30 mn après sa sauvegarde A priori la box met a jour sunsetHour et sunriseHour toute les 30 mn (mais pourquoi après la sauvegarde de la scène ?) voici la scène que j'ai essayé j'ai fais très simple --[[ %% properties 1 sunsetHour 1 sunriseHour %% globals --]] print (os.date("%H:%M")) local IdTel = 181 local heure = os.date("%R"); local date = os.date("%d/%m/%Y"); local Message = "Mise a jour de sunrise et sunset " ..date .." à " ..heure fibaro:call(IdTel, "sendPush", Message) Grâce au push mon tel me surveille la scène. Voici le debug
  5. J'ai décidé de domotiser mon chauffage et d'améliorer ses fonctionnalités avec une gestion pièce par pièce. Ma maison est une BBC de 2012. Actuellement, j'ai une pompe à chaleur Daikin air/eau sur plancher chauffant qui fonctionne avec un thermostat d'ambiance qui est placé dans le séjour. L'étude thermique du chauffagiste a été plutôt bonne car en laissant les vannes de chaque pièce ouverte j'ai la bonne température dans le séjour (heureusement !) et environ 2 degré de moins dans la partie nuit. Typiquement, je mets 21.5° dans le séjour et je me retrouve avec environ 20° dans les chambres. Mon but est gérer le chauffage pièce par pièce afin justement augmenter la différence entre le séjour et les chambres (pour mieux dormir) mais surtout de pouvoir tenir compte de l'apport calorifique de chaque pièce. Par exemple, j'ai mon PC dans la chambre donc il y fait toujours plus chaud. Ou un jour d'hiver ensoleillé, mon chauffage se coupe car la baie vitrée me chauffe le séjour et du coup il fait trop froid dans les chambres. J'ai déjà lu sur le forum ou ailleurs des personnes qui ont le même souci. Je compte donc mettre en place la solution suivante : - Un thermostat Secure SRT321 dans chaque pièce. 5 au total. - Un moteur thermique sur chaque vanne. Les tètes thermique seront "normalement ouverte". 6 au total (2 zones dans le séjour). - Un module Fibaro FGS-221 relié à chaque moteur. 3 au total. - Un récepteur Secure SSR303 branché à la place de mon thermostat actuel a niveau de l'unité intérieur de la pompe. Je veux utiliser la HCL et des scènes en bloc pour gérer tout ça. - Une scène pour chaque thermostat SRT321 pour mémoriser dans une variable globale le nombre de demande de chauffage. - Une scène pour le récepteur SSR303 qui allume le chauffage lorsque la variable globale de chauffage est supérieure à zéro. - Une scène pour chaque vanne qui se ferme si le thermostat qui demande la chauffe n'est pas dans la même zone. - Utilisation du panneau de chauffage pour la gestion des horaires et des températures à remonter dans les thermostats. A tout cela, il faudra que j'ajoute un peu de siouxerie car d'après les tests que j'ai pu réaliser, je dois avoir au moins deux circuit d'ouvert pour ne pas que mon circulateur coupe. On en arrive (enfin!) à mes interrogations : 1- Mon souhait est d'avoir une régulation PID réputée meilleure. Est-ce que je suis obligé d'utiliser le thermostat Secure ou la box avec des sondes de température Dallas sur Fibaro FGK101 sont suffisants ? 2- J'ai vu que l'on pouvait créer des variables et les utiliser dans les scènes blocks. Est-ce que je pourrais faire ce que je vous ai décrit précédemment avec ? 3- Est-ce que je peux utiliser le panneau de chauffage de la box pour gérer les horaires et température sachant que ne n'aurait pas de module actionneur associé avec (vu que je gère la chauffe via des scènes) ? Merci d'avance pour vos éclaircissements.
  6. Bonjour Est-il possible de créer une fonction externe à une scène et appelable par celle-ci. L'objectif est de mutualiser des fonctions entre plusieurs scènes ?
  7. Salut à tous, J'ai un petit soucis. Peut être bête mais bon je pose ma question. Lorsque que j'ajoute une scene, les notifications ainsi que les Virtual Device sont vides alors que j'ai bien configuré mes notification et j'ai aussi plein de Virtual Device. Est ce une limitation de la HCL ou j'ai oublié de faire un truc ? Merci pour vos retour. John
  8. Bonjour, Il est temps de commencer à se chauffer .... Avec le Heating Panel je peux programmer la température désirée pour chaque jour de la semaine . Je suis maintenant en congés à la maison et j'aimerais bien que la période de chauffe corresponde plus au WE qu'à celle de la semaine. Mon idée était : je crée une variable globale : CONGE : oui / non ensuite scène : si CONGE = oui, alors activer le heating panel "heat_conge" si CONGE = non, alors activer le heating panel "heat_travail" Pour activer le heating panel, je pensais à lui associer la pièce correspondante. On pourrait faire la même chose avec les vacances : j'ai déjà toutes des scènes pour la gestion de mon éclairage en fonction de la variable VACANCES (oui / non), on pourrait ainsi également activer / désactiver automatiquement (c'est le principe de la domotique) le chauffage. Dans le même ordre d'idée on pourrait également imaginer qu'on ne chauffe pas une pièce si la fenêtre est ouverte. Evidemment, pour faire compliqué, je n'ai qu'une HCL (=> pas de lua), et j'aimerais éviter de devoir faire des scènes complexes pour gérer mon chauffage en me passant des heating panels. J'espère que vous avez de bonnes idées. Merci Vincent
  9. maximelecerf

    Programmation Bloc Sans Déclencheur

    Bonjour, Je possède une HC lite Je souhaite créer une scène de type "départ de la maison" qui permettrait d'éteindre les lumières, certains wall plugs et d'armer les détecteurs d'ouverture et de mouvement, dont certains avec un délai qui permette de quitter la maison sans déclencher l'alarme. Mon problème est que le mode bloc me demande de commencer ma programmation avec un "triggering device" alors que je veux lancer cette scène manuellement depuis l'application iOS juste avant de partir de la maison. Avez-vous un exemple de programmation de ce style ? Merci d'avance Maxime
  10. Rem's

    Suppression Scène

    Bonjour à tous, Je profite des vacances pour faire un peu de ménage et je viens de m'apercevoir que j'ai des scènes que je ne peut supprimer. La désactiver, non plus. je clique sur la disquette (enregistrer), je rafraichi (ou je change et reviens sur l'onglet scène), elle s'est activé. Je ne peux pas non plus effacer le script, devinez quoi, il se remet tout seul ... Comment je peux faire ? Merci de votre aide
  11. Bouliboule

    Scène Armement Alarme

    Bonjour à tous, Voilà mon problème: Après avoir installé deux keyfob pour piloter mes volets (ca marche), je souhaite utiliser cette télécommande pour activer/désactiver l'alarme fibaro (panneau alarme). Cependant je ne connais pas la commande lua pour armer/désarmer le panneau alarme. Quelqu'un a une idée ? Merci d'avance pour votre aide.
×