Aller au contenu

MAM78

Membres confirmés
  • Compteur de contenus

    2 515
  • Inscription

  • Dernière visite

  • Jours gagnés

    28

Tout ce qui a été posté par MAM78

  1. Comme l'indique @pepite tu ne peux pas modifier l'adresse. Mais si tu veux quelque chose de plus parlant : Tu ajoutes cette adresse à un nouveau contact et tu le nommes comme tu veux. Du coup, c'est ce nom qui s'affichera sur ton gestionnaire de messagerie (smartphone ou PC) Ce n'est probablement pas ce que tu imaginais, mais bon comme ça tu pourras lui donner un petit nom à ta HC2
  2. Au sujet de ce VD. Avez-vous eu également le mail ci-dessous signifiant l'arrêt de du service Weather Underground The WU API has been around since 2010 to help you develop apps and websites as well as manage your Personal Weather Station data. During that time, we’ve watched you build amazing products and visualize weather data with creativity and purpose. Over the years, our infrastructure has been unable to keep up with the growing numbers of users coming to us for API data. This has led to higher costs as we worked to keep the service stable and dependable. Eventually, we realized we’d need to make drastic changes or risk serious problems for our API. As a result, we’ve made the difficult decision to retire the Weather Underground API. The Weather Company, which acquired WU back in 2012, offers a powerful suite of enterprise-grade APIs that might be better suited to meet your scale and performance needs while offering a broader range of weather data. You can see these products here . Here’s what you need to know going forward: Your subscriptions, and therefore access, will continue to work through 12/31/2018 . If you are a paying WU API customer , you will receive a call from a representative from The Weather Company, and IBM business, to discuss transition options to other API services. If you’d like to have these conversations sooner, contact us . If you are a Personal Weather Station owner , you will receive more information about our plan to offer free access to the data you provide to Weather Underground. We’ll reach out once that plan has been finalized. For developers who use WU API data for non-commercial purposes , you will have access to a new plan for a personal use, low call volume API. Stay tuned for more details as we build this out. The WU Forum will continue to be the best place to connect, keep you informed, share your feedback and get your questions answered as we go through this process. We are grateful for your commitment to Weather Underground and appreciate your understanding and support as we work through this process. These changes will allow us to continually improve our services and develop new features to keep WU a thriving place for you for many years to come. Thanks for being part of the community! Sincerely, The WU Team
  3. MAM78

    Heating Manager

    Après quelques tests. c'était le bonne correction à apporter pour l'histérésie. Cf. la LOG de la scène. [DEBUG] 19:50:10: HEATING MANAGER v. 3.1.2 - Copyright 2017 Olivier Meyer [DEBUG] 19:50:10: [REGULATION] Mode Hysteresis sélectionné [DEBUG] 20:42:32: [ACTION] Salle de Bain Parent : Début de chauffe (Radiateur Electrique) Temp. à 18.7 °C et consigne à 19 °C, Hysteresis à 0.2 [DEBUG] 21:07:57: [ACTION] Salle de Bain Parent : Arrêt de chauffe (Radiateur Electrique) Temp. à 19.3 °C et consigne à 19 °C, Hysteresis à 0.2 Mais attention par rapport au code original, il faut juste replace la ligne "else" par la ligne ci-dessus. Dans ma scène modifié j'ai intégrer d'autres modification pour ajouter des infos dans la LOG. Ou sinon reprendre ma version de la scène présente dans mon précédent post. elseif (room.refinedSetpoint - current <= -tonumber(self.HMCF.hysteresis)) then
  4. V 4.512 en place. A suivre je croise les doigts
  5. MAM78

    Heating Manager

    Hello, après avoir modifié le code de la scène pour obtenir dans la LOG les infos température courante, temp. de consigne, et paramètre hysteresis lors des démarrages et arrêts, je constate que le fonctionnement de l'hystérésis n'est pas le bon. Voir trace ci-dessous. [DEBUG] 01:29:03: [ACTION] Salle de Bain Parent : Début de chauffe (Radiateur Electrique) Temp. à 18.5 °C et consigne à 19 °C, Hysteresis à 0.5 [DEBUG] 01:59:25: [ACTION] Salle de Bain Parent : Arrêt de chauffe (Radiateur Electrique) Temp. à 18.6 °C et consigne à 19 °C, Hysteresis à 0.5 [DEBUG] 02:30:32: [ACTION] Salle de Bain Parent : Début de chauffe (Radiateur Electrique) Temp. à 18.5 °C et consigne à 19 °C, Hysteresis à 0.5 [DEBUG] 02:59:38: [ACTION] Salle de Bain Parent : Arrêt de chauffe (Radiateur Electrique) Temp. à 18.6 °C et consigne à 19 °C, Hysteresis à 0.5 [DEBUG] 03:19:43: [ACTION] Salle de Bain Parent : Début de chauffe (Radiateur Electrique) Temp. à 18.5 °C et consigne à 19 °C, Hysteresis à 0.5 [DEBUG] 03:49:49: [ACTION] Salle de Bain Parent : Arrêt de chauffe (Radiateur Electrique) Temp. à 18.6 °C et consigne à 19 °C, Hysteresis à 0.5 Sauf à ce que je me trompe totalement le fonctionnement de l'hystérésis devrait être le suivant : Lors la temp. actuelle est inférieur à la température de consigne (dans l'ex: 19°) moins la valeur de l'hystérésis (0,5°), soit 18,5°, le chauffage doit s'allumer Lors la temp. actuelle est supérieurs de la température de consigne (dans l'ex: 19°) plus la valeur de l'hystérésis (0,5°), soit 19,5°, le chauffage doit s'éteindre Cela permet d'éviter de faire le chauffage se met en route à la moindre variation du chauffage, soit 0,1 °. Ce qui est pourtant le cas actuellement. Cf. ma LOG ci-dessus. L'arrêt du chauffage ne respecte pas le principe de l'hystérésis. Je pense avoir trouvé la correction à apporter, je fais le test et je vous dis ce qu'il en est. Il s'agit des lignes ci-dessous : if (room.refinedSetpoint - current >= tonumber(self.HMCF.hysteresis)) then self:startHeater(item, room.nameRoom, room.refinedSetpoint, self.HMCF.hysteresis) else self:stopHeater(item, room.nameRoom, self:getTemperatures(item, room.nameRoom), room.refinedSetpoint, self.HMCF.hysteresis) end Qui je pense devrait être corrigé comme ça : if (room.refinedSetpoint - current >= tonumber(self.HMCF.hysteresis)) then self:startHeater(item, room.nameRoom, room.refinedSetpoint, self.HMCF.hysteresis) elseif (room.refinedSetpoint - current <= -tonumber(self.HMCF.hysteresis)) then self:stopHeater(item, room.nameRoom, self:getTemperatures(item, room.nameRoom), room.refinedSetpoint, self.HMCF.hysteresis) end Vous trouverez ci-dessous ma dernière version du code de la scène : Heating Manager - Scene.lua
  6. MAM78

    Heating Manager

    Pourrais-tu STP préciser ce que tu entends par là ? Tu veux dire qu'il ne doit pas être utilisé en mode Hysteresis ?
  7. MAM78

    Heating Manager

    Toujours dans un souci de lisibilité du contenu de la LOG j'ai ajuster la fonction suivante pour afficher dans message de la ligne d'ACTION la température courant de la pièce (utile lorsque l'on désactive les LOG détaillés). function HM:startHeater(item, nameRoom, hC) --if (isnotnil(hC)) then hC = self:getReadableTime(hC) end local current = self:getTemperatures(item, nameRoom) if (item.VD) then self:notify(self:log(iif(isnotnil(hC), "startHeatingTime", "startHeating"), nameRoom, item.nameHeater, iif(isnotnil(hC), current, hC)), self.colors.action) item.startTime = os.time() _f:call(item.heater, "pressButton", item.actions[1]) else if (tostring(_f:getValue(item.idHeater, "value")) == tostring(item.offValue)) then self:notify(self:log(iif(isnotnil(hC), "startHeatingTime", "startHeating"), nameRoom, item.nameHeater, iif(isnotnil(hC), current, hC)), self.colors.action) if (type(item.actions[1]) == "string") then item.startTime = os.time() _f:call(item.idHeater, item.actions[1]) elseif (type(item.actions[1]) == "number") then item.startTime = os.time() _f:call(item.idHeater, "setValue", item.actions[1]) else self:notify(self:log("badHeaterAction", nameRoom, item.nameHeater, item.actions[1]), self.colors.error) end end end end Pour pouvoir ajouter cette température courante j'ai également modifié les lignes ci-dessous : startHeatingTime = "[ACTION] %s : Start heating (%s) Temp. is %s °C and setpoint is %s °C", startHeatingTime = "[ACTION] %s : Début de chauffe (%s) Temp. à %s °C et consigne à %s °C", J'ai également remarqué que la fonction "getReadableTime" retourne la valeur de la température du panneau de chauffage mais avec les caractères " s", soit pour une température de 21° cela done "21 s". Ce qui n'est pas terrible ;). Après analyse du code je l'impression que la ligne ci-dessous n'a rien faire ici. Je l'ai donc mise en en remarque. A confirmer par le créateur Heating Manager. if (isnotnil(hC)) then hC = self:getReadableTime(hC) end
  8. MAM78

    Heating Manager

    Suite à mon message précédent, j'ai également modifié la fonction ci-dessous pour ne recevoir la trace dans la LOG uniquement lorsque l'actionneur est en état "Off" et qu'il doit basculé à "On". Histoire de ne pas saturer la LOG d'informations inutiles. Nota : Cette restriction de volume de messages dans la LOG ne marchera pas si l'actionneur correspond à VD avec un appui sur un bouton de celui-ci. function HM:startHeater(item, nameRoom, hC) if (isnotnil(hC)) then hC = self:getReadableTime(hC) end if (item.VD) then self:notify(self:log(iif(isnotnil(hC), "startHeatingTime", "startHeating"), nameRoom, item.nameHeater, hC), self.colors.action) item.startTime = os.time() _f:call(item.heater, "pressButton", item.actions[1]) else if (tostring(_f:getValue(item.idHeater, "value")) == tostring(item.offValue)) then self:notify(self:log(iif(isnotnil(hC), "startHeatingTime", "startHeating"), nameRoom, item.nameHeater, hC), self.colors.action) if (type(item.actions[1]) == "string") then item.startTime = os.time() _f:call(item.idHeater, item.actions[1]) elseif (type(item.actions[1]) == "number") then item.startTime = os.time() _f:call(item.idHeater, "setValue", item.actions[1]) else self:notify(self:log("badHeaterAction", nameRoom, item.nameHeater, item.actions[1]), self.colors.error) end end end end
  9. MAM78

    Heating Manager

    Est-il normal d'avoir dans la LOG des messages tous les 15 secondes blog que le paramètre logInfo est à false ?. Voir ci-dessous. [DEBUG] 00:39:39: [ACTION] Salle de Bain Parent : Début de chauffe (Radiateur Electrique)[DEBUG] 00:39:54: [ACTION] Salle de Bain Parent : Début de chauffe (Radiateur Electrique)[DEBUG] 00:40:09: [ACTION] Salle de Bain Parent : Début de chauffe (Radiateur Electrique)[DEBUG] 00:40:24: [ACTION] Salle de Bain Parent : Début de chauffe (Radiateur Electrique)
  10. MAM78

    Heating Manager

    Bonsoir, Hello @pepite, oui ça fonctionne bien maintenant (marche et arrêt), mais j'utilise pour le moment la méthode "setHysteresisMode" qui est suffisante pour le moment. Vous trouverez ci-dessous l'extrait de ma configuration : Pour rappel, mon contexte est le suivant : Dans une salle de bain (ID=7) Utilisation d'un radiateur électrique d'appoint brancher sur une prise électrique pilotée par un Fibaro Sigle Switch 2 - FGS 213 (Id=411) Les consignes de chauffage sont données par un panneau de chauffage de la HC2 (Id=192) associé à la salle de bain (ID=7) Utilisation d'une sonde de température NetAtmo (Id=295 via son plugin NetAtmo) présent dans la salle de bain (ID=7) Une sonde de température extérieur NetAtmo (Id=274 via son plugin NetAtmo) présent dans la salle de bain (ID=7) Notifications éventuelles sur mon téléphone (Id={289}) --GENERAL CONFIGURATION--------------------------------------------------------------------- self:setConfiguration(true, 180, true, false, {289}, false, true) --self:setProportionalMode(60, true, 1, 15, 1, comfort) self:setHysteresisMode(0.5, 15, comfort) --HEATERS CONFIGURATION--------------------------------------------------------------------- self:addHeater(7, {411, "turnOn", "turnOff", "0"}, {295, "value"}) --SETPOINT SOURCES CONFIGURATION------------------------------------------------------------ self:setSetpoint(7, 192) --GLOBAL EVENTS CONFIGURATION--------------------------------------------------------------- --ROOM EVENTS CONFIGURATION----------------------------------------------------------------- --INDOOR TEMPERATURE SONDES DECLARATIONS---------------------------------------------------- self:setIndoorSonde(7, {295, "value"}) --OUTDOOR TEMPERATURE SONDE DECLARATION----------------------------------------------------- --self:setOutdoorSonde({274, "value"}) Par ailleurs je confirme qu'il est nécessaire de modifier le code de la scène pour pouvoir le faire fonctionner avec ma configuration puisque sinon j'obtiens l'erreur suivante : [DEBUG] 23:42:35: [1;31m2018-11-15 23:42:35.839251 [ fatal] Unknown exception: /opt/fibaro/scenes/99.lua:350: attempt to compare number with nil Cette erreur survient dès lors que l'on renseigne une sonde de température Indoor ou Outdoor en utilisant les syntaxes suivantes : --INDOOR TEMPERATURE SONDES DECLARATIONS---------------------------------------------------- self:setIndoorSonde(7, {295, "value"}) --OUTDOOR TEMPERATURE SONDE DECLARATION----------------------------------------------------- self:setOutdoorSonde({274, "value"}) Pour corriger ce problème, j'ai modifier le code suivant : if (origin == "addHeater") then err = checkRoom(id1); if isnotnil(err) then return false, err end err = checkDevice(id2, 4, false); if isnotnil(err) then return false, err end if (isnotnil(id3)) then err = checkDevice(id3, 2, true); if isnotnil(err) then return false, err end end elseif (origin == "setIndoorSonde") then err = checkRoom(id1); if isnotnil(err) then return false, err end if (type(id2) == "string") then err = checkVariable(id2); if isnotnil(err) then return false, err end elseif (type(id2) == "table") then err = checkDevice(id2); if isnotnil(err) then return false, err end else error(self:log("isNotValidType", type(id2), origin, id2)) end elseif (origin == "setOutdoorSonde") then err = checkDevice(id1); if isnotnil(err) then return false, err end par celui-ci : if (origin == "addHeater") then err = checkRoom(id1); if isnotnil(err) then return false, err end err = checkDevice(id2, 4, false); if isnotnil(err) then return false, err end if (type(tonumber(id3)) == "number") then err = checkDevice(id3); if isnotnil(err) then return false, err end elseif (type(id1) == "string") then err = checkVariable(id3); if isnotnil(err) then return false, err end elseif (type(id2) == "table") then err = checkDevice(id3, 2, true); if isnotnil(err) then return false, err end else error(self:log("isNotValidType", type(id3), origin, id3)) end elseif (origin == "setIndoorSonde") then err = checkRoom(id1); if isnotnil(err) then return false, err end if (type(id2) == "string") then err = checkVariable(id2); if isnotnil(err) then return false, err end elseif (type(id2) == "table") then err = checkDevice(id2, 2, true); if isnotnil(err) then return false, err end else error(self:log("isNotValidType", type(id2), origin, id2)) end elseif (origin == "setOutdoorSonde") then if (type(tonumber(id1)) == "number") then err = checkDevice(id1); if isnotnil(err) then return false, err end elseif (type(id1) == "string") then err = checkVariable(id1); if isnotnil(err) then return false, err end elseif (type(id1) == "table") then err = checkDevice(id1, 2, true); if isnotnil(err) then return false, err end else error(self:log("isNotValidType", type(id1), origin, id1)) end Du coup, j'ai également modifié la partie traitant de la fonction "addHeater" pour la mettre en cohérence avec les autres fonctions. @OJC Peut-être que cela mériterait une petite mise à jour du code de la scène sur la première page si vous testez et validez ma suggestion.
  11. MAM78

    Heating Manager

    C'est bon. Ca fonctionne. Merci pour ton aide. Je ne vois pas dans le VD thermostat de la pièce la température mesurée actuellement dans celle-ci. Est-ce un manque ou non ?
  12. Lorsque l'on est connecté via le cloud (Fibaro ID), Est-il possible de lister (explorer) les propriétés d'un plugin dans le navigateur internet sous la forme de données REST. En local, c'est ça : avec l'URL suivante "<IP>/api/devices/" (suivi du # du device) Mais via le cloud c'est quoi ? Je cherche à trouver rapidement (sans passer par du code LUA) le nom (ID) des labels d'un plugin NetAtmo pour pouvoir récupérer la valeur correspondante selon le nom du label.
  13. MAM78

    Heating Manager

    Maintenant j'ai ça : [DEBUG] 13:07:40: [1;31m2018-11-14 13:07:40.190061 [ error] API: Not found [DEBUG] 13:07:40: [1;31m2018-11-14 13:07:40.316535 [ fatal] Unknown exception: /opt/fibaro/scenes/99.lua:484: attempt to index field 'data' (a nil value)
  14. MAM78

    Heating Manager

    En tout cas si je ne les mets pas ça plante
  15. MAM78

    Heating Manager

    Idem. Toujours la même erreur : [DEBUG] 09:04:06: [1;31m2018-11-14 09:04:06.609847 [ fatal] Unknown exception: /opt/fibaro/scenes/99.lua:484: attempt to index field 'data' (a nil value)
  16. MAM78

    Heating Manager

    Ca avance. mais j'ai maintenant l'erreur suivante : [DEBUG] 09:04:06: [1;31m2018-11-14 09:04:06.609847 [ fatal] Unknown exception: /opt/fibaro/scenes/99.lua:484: attempt to index field 'data' (a nil value) sur la ligne : if (self.HMCF.kP.start) then self.HMCF.kP.data[tostring(idHeater[1])] = {self.HMCF.default_kP, 0, 0} end dans la fonction suivante : function HM:addHeater(idRoom, idHeater, idSonde, localkP, localkT)
  17. MAM78

    Heating Manager

    Ok, je vais essayer. Mais il me semble qu'une partie de ton code ne prévoit pas ce que tu indiques dans la designation des sondes de températures. J'ai modifié une partie de ton code pour que cela fonctionne. Est-ce que cela te semble correct ? if (origin == "addHeater") then err = checkRoom(id1); if isnotnil(err) then return false, err end err = checkDevice(id2, 4, false); if isnotnil(err) then return false, err end if (type(tonumber(id3)) == "number") then err = checkDevice(id3); if isnotnil(err) then return false, err end elseif (type(id1) == "string") then err = checkVariable(id3); if isnotnil(err) then return false, err end elseif (type(id2) == "table") then err = checkDevice(id3, 2, true); if isnotnil(err) then return false, err end else error(self:log("isNotValidType", type(id3), origin, id3)) end elseif (origin == "setIndoorSonde") then err = checkRoom(id1); if isnotnil(err) then return false, err end if (type(id2) == "string") then err = checkVariable(id2); if isnotnil(err) then return false, err end elseif (type(id2) == "table") then err = checkDevice(id2, 2, true); if isnotnil(err) then return false, err end else error(self:log("isNotValidType", type(id2), origin, id2)) end elseif (origin == "setOutdoorSonde") then if (type(tonumber(id1)) == "number") then err = checkDevice(id1); if isnotnil(err) then return false, err end elseif (type(id1) == "string") then err = checkVariable(id1); if isnotnil(err) then return false, err end elseif (type(id1) == "table") then err = checkDevice(id1, 2, true); if isnotnil(err) then return false, err end else error(self:log("isNotValidType", type(id1), origin, id1)) end
  18. MAM78

    Heating Manager

    Hello, Je viens de me lancer dans l'intégration du Heating Manager et j'ai quelques soucis. Pour démarrer je me lance dans quelque chose de simple. Mon contexte est le suivant : Dans une salle de bain (ID=7) Utilisation d'un radiateur électrique d'appoint brancher sur une prise électrique pilotée par un Fibaro Sigle Switch 2 - FGS 213 (Id=411) Les consignes de chauffage sont données par un panneau de chauffage de la HC2 (Id=192) associé à la salle de bain (ID=7) Utilisation d'une sonde de température NetAtmo (via un VD Id=359 avec un label="lblTemp" qui contient la température issue du plugin NetAtmo) présent dans la salle de bain (ID=7) Une sonde de température extérieur NetAtmo (via un VD Id=355 avec un label="lblTemp" qui contient la température issue du plugin NetAtmo) présent dans la salle de bain (ID=7) Notification éventuelle sur mon téléphone (Id={289}) Voici, l'extrait de ma configuration : --GENERAL CONFIGURATION--------------------------------------------------------------------- self:setConfiguration(checkConfig, oldLastTempUpdate, logInfo, pushWarnErrLog, {289}, popupWarnErrLog, logMemory) --self:setProportionalMode(default_kP, auto_kP, default_kT, cycle, minCycle, defaultSetpoint) --self:setHysteresisMode(hysteresis, cycle, defaultSetpoint) --self:setEventDefaults(eCumulative, eSetpoint, eDuration, eStep, ePersistence) --HEATERS CONFIGURATION--------------------------------------------------------------------- self:addHeater(7, {411, "turnOn", "turnOff", "0"}, {359, "lblTemp"}, localkP, localkT) --with idHeater = {ID, On command or button, Off command or button, Off value} --SETPOINT SOURCES CONFIGURATION------------------------------------------------------------ self:setSetpoint(7, 192) --GLOBAL EVENTS CONFIGURATION--------------------------------------------------------------- --self:addEvent(idEvent, conditions, cumulative, setpoint, duration, persistence) --with conditions = {{ID, property, operator, value, extension}} or {{name, operator, value, extension}} --ROOM EVENTS CONFIGURATION----------------------------------------------------------------- --self:addEvent(idRoom, idEvent, conditions, cumulative, setpoint, duration, persistence) --with conditions = {{ID, property, operator, value, extension}} or {{name, operator, value, extension}} --INDOOR TEMPERATURE SONDES DECLARATIONS---------------------------------------------------- self:setIndoorSonde(7, {359, "lblTemp"}) --OUTDOOR TEMPERATURE SONDE DECLARATION----------------------------------------------------- self:setOutdoorSonde({355, "lblTemp"}) --USER CONFIGURATION ZONE END----------------------------------------------------------------- J'obtiens le message d'erreur suivant : [DEBUG] 00:42:19: [1;31m2018-11-14 00:42:19.937154 [ error] API: Not found [DEBUG] 00:42:20: [ERREUR] L’ID dans addHeater n’est pas le nom d’une propriété du module ID 359 (lblTemp) ! [DEBUG] 00:42:20: [1;31m2018-11-14 00:42:19.945577 [ fatal] Unknown exception: /opt/fibaro/scenes/99.lua:324: attempt to compare number with nil Auriez-vous une idée de ce qui cloche dans ma config ? J'ai essayé plusieurs syntaxes : {359, "lblTemp"} {359, "ui.lblTemp.value"} {359, "ui.lblTemp"} {359, "lblTemp.value"} Mais rien n'a faire ça passe pas !
  19. MAM78

    Support Gea

    Merci @pepite. J’ai vu hier soir que c’e bien géré par GEA. Désolé pour le dérangement
  20. Question intéressante. La réponse m'intéresse notamment dans la cas de GEA.
  21. Bonsoir, J'envisage d'acheter un sèche serviette ACOVA Karena SPA : https://acova.fr/radiateur-seche-serviettes-mixte/karena-spa-116051 Il fonctionne en chauffage électrique et en chauffage central. Il est fournit avec une télécommande en radio fréquence/. Vous trouvez ici le documentation du radiateur : https://acova.fr/sites/default/files/PIM/documents/Notutil_RF_eco.pdf A la lecture de la documentation pourriez-vous m'indiquer s'il est possible de substituer le pilotage par la télécommande fournie pas un pilotage via ma HC2 ?
  22. MAM78

    Support Gea

    Hello les experts de GEA, J'ai une petite question sur les affichage dans les LOG de GEA. lorsque j'utilise les commandes suivantes, lors d'une detection de mouvements les 4 messages qui s'inscrivent dans la LOG. Pourriez-vous m'indiquer s'il est possible de n'avoir que le message correspondant aux lignes qui correspondent à l'ensemble des critères et non seulement le premier ? -- Si la détecteur Couloire Entrée est activé on allume la lumière du couloir GEA.add({{id["LAMPE_COULOIR"]}, {id["MOUVEMENT_COULOIR"]}, {"Time", "00:00", "05:00"}, {"Time", "Sunset-15", "Sunrise+5"}}, -1 , "", {{"Inverse"}, {"Value", id["LAMPE_COULOIR"], 30}}, "Mise en marche automatique de la lumière du couloir de nuit") GEA.add({{id["LAMPE_COULOIR"]}, {id["MOUVEMENT_COULOIR"]}, {"Time", "23:00", "23:59"}}, -1 , "", {{"Inverse"}, {"Value", id["LAMPE_COULOIR"], 30}}, "Mise en marche automatique de la lumière du couloir de nuit") GEA.add({{id["LAMPE_COULOIR"]}, {id["MOUVEMENT_COULOIR"]}, {"Time", "05:01", "Sunrise+5"}}, -1 , "", {{"Inverse"}, {"Value", id["LAMPE_COULOIR"], 100}}, "Mise en marche automatique de la lumière du couloir") GEA.add({{id["LAMPE_COULOIR"]}, {id["MOUVEMENT_COULOIR"]}, {"Time", "Sunset-15", "22:59"}}, -1 , "", {{"Inverse"}, {"Value", id["LAMPE_COULOIR"], 100}}, "Mise en marche automatique de la lumière du couloir") -- Si la détecteur Couloire Entrée est activé on allume la lumière du couloir GEA.add({{id["LAMPE_COULOIR"]}, {id["MOUVEMENT_COULOIR"]}, {"Time", "00:00", "05:00"}, {"Time", "Sunset-15", "Sunrise+5"}}, -1 , "", {{"Inverse"}, {"Value", id["LAMPE_COULOIR"], 30}}, "Mise en marche automatique de la lumière du couloir de nuit") GEA.add({{id["LAMPE_COULOIR"]}, {id["MOUVEMENT_COULOIR"]}, {"Time", "23:00", "23:59"}}, -1 , "", {{"Inverse"}, {"Value", id["LAMPE_COULOIR"], 30}}, "Mise en marche automatique de la lumière du couloir de nuit") GEA.add({{id["LAMPE_COULOIR"]}, {id["MOUVEMENT_COULOIR"]}, {"Time", "05:01", "Sunrise+5"}}, -1 , "", {{"Inverse"}, {"Value", id["LAMPE_COULOIR"], 100}}, "Mise en marche automatique de la lumière du couloir") GEA.add({{id["LAMPE_COULOIR"]}, {id["MOUVEMENT_COULOIR"]}, {"Time", "Sunset-15", "22:59"}}, -1 , "", {{"Inverse"}, {"Value", id["LAMPE_COULOIR"], 100}}, "Mise en marche automatique de la lumière du couloir") J'ai systématiquement les messages suivants : [DEBUG] 18:47:36: @0s [Validation] #30 Mise en marche automatique de la lumière du couloir de nuit [DEBUG] 18:47:36: @0s [Validation] #31 Mise en marche automatique de la lumière du couloir de nuit [DEBUG] 18:47:36: @0s [Validation] #32 Mise en marche automatique de la lumière du couloir [DEBUG] 18:47:36: @0s [Validation] #33 Mise en marche automatique de la lumière du couloir Est-ce un fonctionnement normal ? Ou alors, il s'agit d'un problème dans la façon que j'ai rédigé le code ?
  23. fait
  24. Ce qui serait top, ce serait d'avoir l'équivalent dans un conteneur Docker sur Synology
  25. Et vous conseillez quoi comme piles rechargeables ? pour les détecteurs de mouvements et de fumées pour les détecteurs d'ouvertures de fenêtres
×
×
  • Créer...