
Cisco
Membres confirmés-
Compteur de contenus
64 -
Inscription
-
Dernière visite
Tout ce qui a été posté par Cisco
-
Topic unique Un Vd Smart Thermostat
Cisco a répondu à un(e) sujet de Cisco dans Chauffage et Energie
Bonjour, J'ai pas vraiment progresser sur ce sujet par manque de temps mais tu trouveras sur un autre fil un thermostat pid pour notre HC2 : -
Topic unique Thermostat Netatmo
Cisco a répondu à un(e) sujet de Domodial dans Périphériques et matériels autres
merci messieurs @sebcbien : Je vais jeter un oeil sur ton vd -
Topic unique Thermostat Netatmo
Cisco a répondu à un(e) sujet de Domodial dans Périphériques et matériels autres
Bonsoir à tous, Je viens de m'acheter un thermostat Netatmo et je suis tombé sur ce fil. Je trouve que ce VD à l'air top. Avez-vous pu résoudre vos problèmes de requete ? Pouvez-vous partager ce VD avec moi ? Merci d'avance -
Merci Lazer pour le coup du debug, Sauf que maintenant j'ai un peu honte de vous dire d'où venait mon pb .... j'avais oublié une virgule local variables = { { ["type"] = "power", ["id"] = 5001, ["name"] = "Power_RadEntree", ["room"] = 4 -- Entrée }, { ["type"] = "power", ["id"] = 5002, ["name"] = "Power_RadSalon", ["room"] = 7 -- Salon },
- 1 285 réponses
-
- tuto multimã©dia
- graphiques
-
(et 2 en plus)
Étiqueté avec :
-
@Lazer : J'ai bien cliqué sur le bouton Devices Mes devices 5001 à5006 n'apparraissent pas dans les tables domotique_device et domotique_device_type
- 1 285 réponses
-
- tuto multimã©dia
- graphiques
-
(et 2 en plus)
Étiqueté avec :
-
bonjour à tous Et tout d'abord merci pour ce super plugin. Toutefois, j'ai un petit pb. En effet, j'ai voulus utiliser les variables globales afin de grapher des devices qui n'était pas gérer par la HC2 en suivant les instructions mentionnées sur la 1ere page : Mon pb c'est que malgrès la présence des datas dans la table mysql, celles-ci n'apparraissent pas dans les graphs : (les valeurs concernées sont les id de 5001 à 5006) Avez-vous une idée ??
- 1 285 réponses
-
- tuto multimã©dia
- graphiques
-
(et 2 en plus)
Étiqueté avec :
-
La solution de Steven marche nickel Merci encore pour votre aide
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Bonsoir à tous Désolé d'avance si la question a déjà été posé dans ce forum mais j'ai fouillé et n'ai pas trouvé. Je souhaiterai que GEA appuis sur le bouton refresh (bouton n°14) de mon VD 174 à chaque fois que la variable globale prédéfinie associée est modifiée peut importe sa valeur J'ai donc écris ces lignes : --[[ %% autostart %% properties %% globals ZoneJour --]] ...... Thermostat_ZoneJour = 174 ...... GEA.add (true, -1, "Mise à jour du Thermostat Zone Jour",{{"VirtualDevice",id["Thermostat_ZoneJour"],"14"}}) J'ai modifié la variable globale à plusieurs reprises mais GEA n'appuie jamais sur mon bouton refresh Voyez-vous d'où peut venir mon pb ?
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Bonjour, Moi aussi je serai interessé car j'utilise actuellement les plugin de KriKroff Virtual Switch pour controler ma sirene et Virtual Sensor pour récupérer les infos de mes sondes Oregon
- 17 réponses
-
- Zibase plugin
- zibase
-
(et 1 en plus)
Étiqueté avec :
-
Topic unique Un Vd Smart Thermostat
Cisco a répondu à un(e) sujet de Cisco dans Chauffage et Energie
Bon j'ai un peu avancé pas autant que j'aurais voulus car j'ai pas mal galéré sur plusieurs trucs mais bon passons Je me suis basé sur le thermostat de l'eedomus (http://www.domo-blog.fr/maj-gestion-dun-chauffage-centrale-via-leedomus/) qui n'ait pas un vrai PID (car ils ont simplifiés la dérivé) mais qui en est très proche. Le module attaché fonctionne en v4 mais il est encore en phase beta. Il permet d'utiliser les infos du panneau de chauffage ainsi que la temperature vacances qui est ici associé à hors gel. Il prend en parametre une sonde, un radiateur, un panneau de chauffage et une variable Globale "ThermostatMode". J'utilise les labels pour les modifications du mode Forcé Pour l'utiliser il faut : Il faut créer un panneau de chauffage puis récupérer son id afin de le renseinger dans la main loop Il faut créer une variable Globale "ThermostatMode" qui peut prendre 4 valeurs : Auto, HorsGel, Forced, OFF Il faut renseigner dans la boucle principale les champs suivants : IntTempSensorID, RadDeviceID, HeatingPanelID Les pb connus : Pb d'affichage des températures Dut à l'utilisation de la boucle principale, il n'y a pas détection lors du changement de la varaible globale du mode du chauffage et il faut attendre la fin du cycle en cours pour que la modif soit prise en compte Voici le code de la boucle principale : --[[ %% autostart %% properties ThermostatMode %% globals ThermostatMode --]] local DureeCycle = 60 -- Durée d'un cycle de chauffe en minutes local DureeCycleMini = 6 -- Durée minimum de chauffe durant un cycle en minutes local DureeForcedDefault = 60 -- Durée par défaut d'un cylé forcé en minutes local TempForcedDefault = 22 -- Température par défaut en mode forcé local ExtTempSensorID = 0 -- Renseigner les ids de vos sondes exterieures, Si vous laissez à 0 alor son utilise la température récupéré par le HC2 local IntTempSensorID = 41 -- Renseigner les ids de vos sondes interieures local RadDeviceID = 177 -- Renseigner les ids de vos radiateurs local HeatingPanelID = 163 -- Renseigner l'id de votre panneau de chauffage local CoeffProp = 0.6 -- Coefficient propositionnel local CoeffDepThermique = 0.01 -- Coefficient de déperdition thermique local InfluenceExt = 0.3 -- Coefficient d'influence de la température exterieure local RadOn = "turnOff" -- Commande de mise sous tension du radiateur local RadOff = "turnOn" -- Commande de mise hors tension du radiateur ------------------------------------- -- Ne rien modifier ci-dessous -- ------------------------------------- local TempHorsGel = 0 -- Température par défaut de temp Hors-Gel local TempConsigne = 0 -- Température par défaut de temp Consigne local MobileId = fibaro:getGlobalValue("MobileIdCortex"); -- Renseigner l'id du portable local InfluenceInt = 1 - InfluenceExt local RadMode = fibaro:getGlobalValue("ThermostatMode"); function getHC2TempExt() HC2 = Net.FHttp("127.0.0.1",11111); local response, status, errorCode = HC2:GET("/api/weather"); if (tonumber(errorCode) == 0) then jsonTable = json.decode(response); end local HC2TempExt = (jsonTable.Temperature); return HC2TempExt end function getHC2TempPanel() local currentDay = string.lower(os.date("%A")); local currentTime = tonumber(os.date("%H%M")); local HC2 = Net.FHttp("127.0.0.1",11111) response, status, errorCode = HC2:GET("/api/panels/heating?id="..HeatingPanelID) if tonumber(status) == 200 then local jsonTable = json.decode(response) -- On parse le tableau -- On définit nos variables en fonction du jour de la semaine if (currentDay == 'monday') then jourMorningTime = tonumber(string.format("%02d%02d",jsonTable.properties.monday.morning.hour,jsonTable.properties.monday.morning.minute)) jourMorningTemperature = tonumber(jsonTable.properties.monday.morning.temperature) jourDayTime = tonumber(string.format("%02d%02d",jsonTable.properties.monday.day.hour,jsonTable.properties.monday.morning.minute)) jourDayTemperature = tonumber(jsonTable.properties.monday.day.temperature) jourEveningTime = tonumber(string.format("%02d%02d",jsonTable.properties.monday.evening.hour,jsonTable.properties.monday.evening.minute)) jourEveningTemperature = tonumber(jsonTable.properties.monday.evening.temperature) jourNightTime = tonumber(string.format("%02d%02d",jsonTable.properties.monday.night.hour,jsonTable.properties.monday.night.minute)) jourNightTemperature = tonumber(jsonTable.properties.monday.night.temperature) elseif (currentDay == 'tuesday') then jourMorningTime = tonumber(string.format("%02d%02d",jsonTable.properties.tuesday.morning.hour,jsonTable.properties.tuesday.morning.minute)) jourMorningTemperature = tonumber(jsonTable.properties.tuesday.morning.temperature) jourDayTime = tonumber(string.format("%02d%02d",jsonTable.properties.tuesday.day.hour,jsonTable.properties.tuesday.morning.minute)) jourDayTemperature = tonumber(jsonTable.properties.tuesday.day.temperature) jourEveningTime = tonumber(string.format("%02d%02d",jsonTable.properties.tuesday.evening.hour,jsonTable.properties.tuesday.evening.minute)) jourEveningTemperature = tonumber(jsonTable.properties.tuesday.evening.temperature) jourNightTime = tonumber(string.format("%02d%02d",jsonTable.properties.tuesday.night.hour,jsonTable.properties.tuesday.night.minute)) jourNightTemperature = tonumber(jsonTable.properties.tuesday.night.temperature) elseif (currentDay == 'wednesday') then jourMorningTime = tonumber(string.format("%02d%02d",jsonTable.properties.wednesday.morning.hour,jsonTable.properties.wednesday.morning.minute)) jourMorningTemperature = tonumber(jsonTable.properties.wednesday.morning.temperature) jourDayTime = tonumber(string.format("%02d%02d",jsonTable.properties.wednesday.day.hour,jsonTable.properties.wednesday.morning.minute)) jourDayTemperature = tonumber(jsonTable.properties.wednesday.day.temperature) jourEveningTime = tonumber(string.format("%02d%02d",jsonTable.properties.wednesday.evening.hour,jsonTable.properties.wednesday.evening.minute)) jourEveningTemperature = tonumber(jsonTable.properties.wednesday.evening.temperature) jourNightTime = tonumber(string.format("%02d%02d",jsonTable.properties.wednesday.night.hour,jsonTable.properties.wednesday.night.minute)) jourNightTemperature = tonumber(jsonTable.properties.wednesday.night.temperature) elseif (currentDay == 'thursday') then jourMorningTime = tonumber(string.format("%02d%02d",jsonTable.properties.thursday.morning.hour,jsonTable.properties.thursday.morning.minute)) jourMorningTemperature = tonumber(jsonTable.properties.thursday.morning.temperature) jourDayTime = tonumber(string.format("%02d%02d",jsonTable.properties.thursday.day.hour,jsonTable.properties.thursday.morning.minute)) jourDayTemperature = tonumber(jsonTable.properties.thursday.day.temperature) jourEveningTime = tonumber(string.format("%02d%02d",jsonTable.properties.thursday.evening.hour,jsonTable.properties.thursday.evening.minute)) jourEveningTemperature = tonumber(jsonTable.properties.thursday.evening.temperature) jourNightTime = tonumber(string.format("%02d%02d",jsonTable.properties.thursday.night.hour,jsonTable.properties.thursday.night.minute)) jourNightTemperature = tonumber(jsonTable.properties.thursday.night.temperature) elseif (currentDay == 'friday') then jourMorningTime = tonumber(string.format("%02d%02d",jsonTable.properties.friday.morning.hour,jsonTable.properties.friday.morning.minute)) jourMorningTemperature = tonumber(jsonTable.properties.friday.morning.temperature) jourDayTime = tonumber(string.format("%02d%02d",jsonTable.properties.friday.day.hour,jsonTable.properties.friday.morning.minute)) jourDayTemperature = tonumber(jsonTable.properties.friday.day.temperature) jourEveningTime = tonumber(string.format("%02d%02d",jsonTable.properties.friday.evening.hour,jsonTable.properties.friday.evening.minute)) jourEveningTemperature = tonumber(jsonTable.properties.friday.evening.temperature) jourNightTime = tonumber(string.format("%02d%02d",jsonTable.properties.friday.night.hour,jsonTable.properties.friday.night.minute)) jourNightTemperature = tonumber(jsonTable.properties.friday.night.temperature) elseif (currentDay == 'saturday') then jourMorningTime = tonumber(string.format("%02d%02d",jsonTable.properties.saturday.morning.hour,jsonTable.properties.saturday.morning.minute)) jourMorningTemperature = tonumber(jsonTable.properties.saturday.morning.temperature) jourDayTime = tonumber(string.format("%02d%02d",jsonTable.properties.saturday.day.hour,jsonTable.properties.saturday.morning.minute)) jourDayTemperature = tonumber(jsonTable.properties.saturday.day.temperature) jourEveningTime = tonumber(string.format("%02d%02d",jsonTable.properties.saturday.evening.hour,jsonTable.properties.saturday.evening.minute)) jourEveningTemperature = tonumber(jsonTable.properties.saturday.evening.temperature) jourNightTime = tonumber(string.format("%02d%02d",jsonTable.properties.saturday.night.hour,jsonTable.properties.saturday.night.minute)) jourNightTemperature = tonumber(jsonTable.properties.saturday.night.temperature) elseif (currentDay == 'sunday') then jourMorningTime = tonumber(string.format("%02d%02d",jsonTable.properties.sunday.morning.hour,jsonTable.properties.sunday.morning.minute)) jourMorningTemperature = tonumber(jsonTable.properties.sunday.morning.temperature) jourDayTime = tonumber(string.format("%02d%02d",jsonTable.properties.sunday.day.hour,jsonTable.properties.sunday.morning.minute)) jourDayTemperature = tonumber(jsonTable.properties.sunday.day.temperature) jourEveningTime = tonumber(string.format("%02d%02d",jsonTable.properties.sunday.evening.hour,jsonTable.properties.sunday.evening.minute)) jourEveningTemperature = tonumber(jsonTable.properties.sunday.evening.temperature) jourNightTime = tonumber(string.format("%02d%02d",jsonTable.properties.sunday.night.hour,jsonTable.properties.sunday.night.minute)) jourNightTemperature = tonumber(jsonTable.properties.sunday.night.temperature) end if (currentTime >= jourMorningTime and currentTime < jourDayTime) then jourPeriode = "Morning" jourPeriodeTime = jourMorningTime jourPeriodeTemperature = jourMorningTemperature elseif (currentTime >= jourDayTime and currentTime < jourEveningTime) then jourPeriode = "Day" jourPeriodeTime = jourDayTime jourPeriodeTemperature = jourDayTemperature elseif (currentTime >= jourEveningTime and currentTime < jourNightTime) then jourPeriode = "Evening" jourPeriodeTime = jourEveningTime jourPeriodeTemperature = jourEveningTemperature elseif (currentTime >= jourNightTime and currentTime < jourMorningTime) then jourPeriode = "Night" jourPeriodeTime = jourNightTime jourPeriodeTemperature = jourNightTemperature end fibaro:debug("Day = "..currentDay.." | Période = "..jourPeriode.." | Temp Consigne = "..jourPeriodeTemperature) return jourPeriode, jourPeriodeTemperature else fibaro:log("--- ERROR ---") fibaro:debug('status='..status..', errorCode='..errorCode..', response='..response) end end function getHC2TempVacation() local currentDay = string.lower(os.date("%A")); local currentTime = tonumber(os.date("%H%M")); local HC2 = Net.FHttp("127.0.0.1",11111) response, status, errorCode = HC2:GET("/api/panels/heating?id="..HeatingPanelID) if tonumber(status) == 200 then local jsonTable = json.decode(response) -- On parse le tableau TempVacation = tonumber(jsonTable.properties.vacationTemperature) return TempVacation else fibaro:log("--- ERROR ---") fibaro:debug('status='..status..', errorCode='..errorCode..', response='..response) end end while true do RadMode = fibaro:getGlobalValue("ThermostatMode"); IntLastTemp = fibaro:getValue(IntTempSensorID,"value"); fibaro:debug("La Température intérieure relevé est de : " .. IntLastTemp); -- affichage de la Température Intérieure relevé par la sonde if (ExtTempSensorID == 0) then ExtLastTemp = getHC2TempExt() fibaro:debug("La Température Exterieure relevé est de : " .. ExtLastTemp); -- affichage de la Température Extérieure récupéré par la HC2 else ExtLastTemp = fibaro:getValue(ExtTempSensorID,"value") fibaro:debug("La Température Exterieure relevé est de : " .. ExtLastTemp); -- affichage de la Température Exterieure relevé par la sonde end if (RadMode == "Auto") then PeriodeTempConsigne, TempConsigne = getHC2TempPanel() local IntImpact = (CoeffProp * (TempConsigne - IntLastTemp)) local ExtImpact = (CoeffDepThermique * (TempConsigne - ExtLastTemp)) RadHotPercent = (100 * ((InfluenceExt * ExtImpact) + (InfluenceInt * IntImpact))) RadHotTime = math.ceil(DureeCycle * ((InfluenceExt * ExtImpact) + (InfluenceInt * IntImpact))) if (math.abs(RadHotTime)) >= DureeCycle then RadHotTime = DureeCycle elseif (math.abs(RadHotTime)) <= DureeCycleMini then RadHotTime = DureeCycleMini else RadHotTime = math.abs(RadHotTime) end fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblModeChauffage.value", RadMode ); -- On mets à jour l'étiquette Mode du chauffage fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblTmpInterieure.value", IntLastTemp ); -- On mets à jour l'étiquette Temp Interieure fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblTmpExterieure.value", ExtLastTemp ); -- On mets à jour l'étiquette Temp Exterieure fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblTempConsigne.value", TempConsigne ); -- On mets à jour l'étiquette Temp de la consigne fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblTempHorsGel.value", "Not Used" ); -- On mets à jour l'étiquette Temp Hors-gel fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblDureeForce.value", "Not Used" ); -- On mets à jour l'étiquette Duree du mode Force fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblTempForce.value", "Not Used" ); -- On mets à jour l'étiquette Temp du mode Force fibaro:debug("La Température de consigne est de : " .. TempConsigne); -- affichage de la Temp Consigne fibaro:debug("Le radiateur chauffera pendant : " .. RadHotPercent .. " % de la durée du cycle ("..DureeCycle..") soit environ : ".. RadHotTime .. " minutes"); elseif (RadMode == "HorsGel") then TempHorsGel = getHC2TempVacation() local IntImpact = (CoeffProp * (TempHorsGel - IntLastTemp)) local ExtImpact = (CoeffDepThermique * (TempHorsGel - ExtLastTemp)) RadHotPercent = (100 * ((InfluenceExt * ExtImpact) + (InfluenceInt * IntImpact))) RadHotTime = math.ceil(DureeCycle * ((InfluenceExt * ExtImpact) + (InfluenceInt * IntImpact))) if (TempHorsGel > tonumber(IntLastTemp)) then if (math.abs(RadHotTime)) >= DureeCycle then RadHotTime = DureeCycle elseif (math.abs(RadHotTime)) <= DureeCycleMini then RadHotTime = 0 else RadHotTime = math.abs(RadHotTime) end else RadHotTime = 0 end fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblModeChauffage.value", RadMode ); -- On mets à jour l'étiquette Mode du chauffage fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblTmpInterieure.value", IntLastTemp ); -- On mets à jour l'étiquette Temp Interieure fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblTmpExterieure.value", ExtLastTemp ); -- On mets à jour l'étiquette Temp Exterieure fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblTempConsigne.value", "Not Used" ); -- On mets à jour l'étiquette Temp de la consigne fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblTempHorsGel.value", TempHorsGel ); -- On mets à jour l'étiquette Temp Hors-gel fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblDureeForce.value", "Not Used" ); -- On mets à jour l'étiquette Duree du mode Force fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblTempForce.value", "Not Used" ); -- On mets à jour l'étiquette Temp du mode Force fibaro:debug("La Température Hors-Gel est de : " .. TempHorsGel); -- affichage de la Temp Hors-Gel fibaro:debug("Le radiateur chauffera pendant : " .. RadHotPercent .. " % de la durée du cycle ("..DureeCycle..") soit environ : ".. RadHotTime .. " minutes"); elseif (RadMode == "Forced") then TempForced = fibaro:getValue(fibaro:getSelfId(), "ui.lblTempForce.value") DureeForced = fibaro:getValue(fibaro:getSelfId(), "ui.lblDureeForce.value") if (TempForced == "Not Used") then TempForced = TempForcedDefault else TempForced = TempForced end if (DureeForced == "Not Used") then DureeForced = DureeForcedDefault else DureeForced = tonumber(DureeForced) end if (TempForced >= IntLastTemp) then RadHotTime = DureeForced else RadHotTime = 0 end fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblModeChauffage.value", RadMode ); -- On mets à jour l'étiquette Mode du chauffage fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblTmpInterieure.value", IntLastTemp ); -- On mets à jour l'étiquette Temp Interieure fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblTmpExterieure.value", ExtLastTemp ); -- On mets à jour l'étiquette Temp Exterieure fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblTempConsigne.value", "Not Used" ); -- On mets à jour l'étiquette Temp de la consigne fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblTempHorsGel.value", "Not Used" ); -- On mets à jour l'étiquette Temp Hors-gel fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblDureeForce.value", DureeForced ); -- On mets à jour l'étiquette Duree du mode Force fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblTempForce.value", TempForced ); -- On mets à jour l'étiquette Temp du mode Force fibaro:debug("La Température Forcé est de : " .. TempForced .." et la durée du cycle Forcé est de : " ..DureeForced.." minutes"); -- affichage de la Temp Forcé et de sa durée elseif (RadMode == "OFF") then RadHotTime = 0 fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblModeChauffage.value", RadMode ); -- On mets à jour l'étiquette Mode du chauffage fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblTmpInterieure.value", IntLastTemp ); -- On mets à jour l'étiquette Temp Interieure fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblTmpExterieure.value", ExtLastTemp ); -- On mets à jour l'étiquette Temp Exterieure fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblTempConsigne.value", "Not Used" ); -- On mets à jour l'étiquette Temp de la consigne fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblTempHorsGel.value", "Not Used" ); -- On mets à jour l'étiquette Temp Hors-gel fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblDureeForce.value", "Not Used" ); -- On mets à jour l'étiquette Duree du mode Force fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblTempForce.value", "Not Used" ); -- On mets à jour l'étiquette Temp du mode Force end if (RadHotTime > 0) then fibaro:call(RadDeviceID, RadOn); -- Mise sous tension du radiateur fibaro:debug("Le radiateur "..RadDeviceID.." de la chambre01 a été allumé en mode "..RadMode); fibaro:call(MobileId, "sendPush", "Le radiateur "..RadDeviceID.." de la chambre01 a été allumé en mode "..RadMode) -- On envoie une notif sur le portable id MobileIdCortex fibaro:sleep(RadHotTime*60*1000); -- durée de chauffe durant un cycle fibaro:debug("Le radiateur "..RadDeviceID.." de la chambre01 a finis son temps de chauffe de "..RadHotTime.. " minutes en mode "..RadMode); fibaro:call(MobileId, "sendPush", "Le radiateur "..RadDeviceID.." de la chambre01 a finis son temps de chauffe de "..RadHotTime.. " minutes en mode "..RadMode) -- On envoie une notif sur le portable id MobileIdCortex fibaro:call(RadDeviceID, RadOff); -- Mise hors tension du radiateur fibaro:debug("Le radiateur "..RadDeviceID.." de la chambre01 a été éteint en mode "..RadMode); fibaro:call(MobileId, "sendPush", "Le radiateur "..RadDeviceID.." de la chambre01 a été éteint en mode "..RadMode) -- On envoie une notif sur le portable id MobileIdCortex else fibaro:call(RadDeviceID, RadOff); -- Mise hors tension du radiateur fibaro:call(MobileIdCortex, "sendPush", "Le radiateur "..RadDeviceID.." de la chambre01 a été éteint en mode "..RadMode) -- On envoie une notif sur le portable id MobileIdCortex end fibaro:sleep((DureeCycle-RadHotTime)*60*1000); -- durée restante avant le prochain cycle de chauffe end Voici le module : ThermostatRoom01_v0.01.vfib Bon weekend à tous -
Bonjour, Suite à un recovery j'ai du réinclure mon qubino dimmer mais depuis lors j'ai un pb avec le retour d'état dans la HC2. Ainsi, si je clic sur l'icone lampe pour allumer la lumière, l'icone reste éteint et le slider reste à zéro. Pour avoir un retour d'état je suis obligé de slider à 100% pour allumer et slider à 0% pour éteindre. Avez-vous des idées sur la source de mon pb ? sachant que avant mon recovery tout fonctionnait très bien
-
Topic unique Un Vd Smart Thermostat
Cisco a répondu à un(e) sujet de Cisco dans Chauffage et Energie
Bon c'est décidé ça sera mon fil rouge pour les semaines à venir Mais bon avant de commencer, je pars en vacances demain pour 1 semaine histoire de prendre un maximum d'énergie Dès mon retour je vous posterai mes premères lignes -
Bonjour a tous, L'hvier approche et je vais redémarrer mes radiateurs. Je souhaiterai essayer d'améliorer mon système qui est basé seulement sur les panneaux de chauffage et un hystérésis. J'ai vu que pour d'autre box, des gars avaient été plus loin et avaient codé un thermostat plus ou moins PID. Avant de me lancer dans la démarche de coder un tel VD en LUA pour la HC2, je voulais être sur que personne ne l'avait fait avant. J'ai vu que le sujet revenait souvent sur le tapis dans différent topic mais je ne penses pas que quelqu'un l'ai déja fait. Savez-vous si ce merveilleux VD existe déja ?
-
@did : j'ai fait le branchement et ça marche nickel @maxredphenix : j'ai mis des boutons poussoirs avec le qubino et normalement c'est le fait de rester appuyer sur le bouton qui te permet de monter ou descendre l'intensité de la lumière
-
bonsoir, Je suis passé en version 4.056 et j'ai une erreur avec le TTS Et quand je vais dans l appli Sonos, ça me mets impossible de lire et ça fait défilé la commande
-
merci beaucoup did pour tes conseils je fais ça ce weekend et je te dirais si tout s'est bien passé
-
vraiment désolé de faire le lourdeau, mais j'ai du mal avec ces qubino et leur gestion par le neutre l'objectif est de mettre des poussoirs justement, et comme ma copine change d'avis tout le temps j'ai ramené tous mes fils dans une boite de distrib, car j'ai plusieurs lampes et une prise commandée qui sont raccordés sur ce va et vient, et ainsi je peux assez facilement "remixé" le cablage et changer la config le seul bémol c'est que je souhaiterai mettre le fibaro dans le pot de 60mm (celui avec le cable rouge), ou au pire si c'est trop galère je le mettrai dans la boite de distrib (dans le grenier) voici un état exact de mon cablage : comment je dois cabler le qubino :-)
-
merci did pour ton schéma je vais voir ce qui est le plus simple pour moi au niveau des cables
-
Did, ça voudrait dire que j'ai besoin de 5 fils dans le boitier ou je met sle Qubino ? pour avoir un truc comme ci dessous :
-
bonjour did, merci de ta réponse super rapide mais t'étais pas obligé de te réveiller juste pour moi :-) sinon au niveau du neutre, voila ce que j'ai fait pour l'instant : Le truc c'est que sur le schema de cablage du qubino, je ne vois que 2 fils au niveau des inter
-
je suis dégouté j'ai acheté 2 nouvelles uap LR il y a à peine 2 semaines mais bon en même temps avant qu'elle soit dispo en France, j'aurais du attendre encore quelques semaines j'imagine
-
bonsoir did, J'ai une petite question pour toi car j'arrive pas bien à saisir le cablage d'un va et vient avec le qubino dimmer: Moi j'ai ça : Ce qui donnait ça avec un dimmer fibaro Pour cabler le qubino j'ai tiré un neutre vers l'interrupteur ou je souhaite mettre le qubino J arrive pas à voir comment je dois cabler le qubino Peux tu m'aider en me precisant quel fil va ou ? Merci d'avance
-
Plugin Developer Plugin - Freebox Player Remote
Cisco a répondu à un(e) sujet de Krikroff dans Plugins Developpeur
Bonjour Krikroff, j'ai lu que tu avais trouvé une méthode pour faire un "power on" ou "power off" du Free player, pourrais-tu nous en dire plus ? J'ai lu ailleurs qu'en essayant d'envoyer la commande "stop lecture" on obtenait une réponse qui permettait dedéterminer l'état du free player "allumé ou éteint" pourrais-tu nous en dire plus ? -
en ligne avec lazer, avec les ubiquiti t'auras de la qualité et des services pro (vrai roaming) à la maison Le logiciel de config est super simple et ne sert qu'à la config ou si tu utilises des services avancés tel que du wifi guest pour la couverture les uap normales sont bien mais si t'as le budget pars sur des uap-lr (laisse tombé les uap-pro car comme l'as dit Lazer peu de plus-value pour des particuliers) moi j'ai installé 2 uap normales mais je suis un peu juste quand je suis dans mon jardin alors je me suis repris une uap-lr ce qui n'est pas pas genant car tu peux rajouter autant de bornes que tu veux et tu auras toujours le roaming honnetement si tu passer du cable réseau pars sur cette solution à base de brone WIFI uap que sur tes histoires de répéteurs (la borne uap normale est aux environs des 90€-100€ qui est plus ou moins le budget de ton répéteur)
-
J'ai pas testé les répéteurs que tu mentionnes mais le netgear (win3100rp) et j'ai pas trouvé ça terrible. il n'ya pas de vrai roaming, tu peux configurer les mêmes credentials mais il y a une coupure de session lors du changement d'access point