Aller au contenu

pepite

Membres confirmés
  • Compteur de contenus

    9 579
  • Inscription

  • Dernière visite

  • Jours gagnés

    59

Tout ce qui a été posté par pepite

  1. On parle de Barbec ?
  2. pepite

    Walabot

    Plutôt perplexe aussi, mais si vraiment perenne, ca faciliterait la vie des bricoleurs ;-) avec 2 mains gauche comme moi lol
  3. pepite

    Support Gea

    @fredokl, tu parles de cette ligne là ? Si c'est le cas, c'est normal qu'elle n'allume pas la lampe, elle est la pour relancer la ligne num 1 lors d'un passage devant ton detecteur. GEA.add({id["DETECTEUR_MOUVEMENT_COULOIR"],{"Global","Jour_Nuit","Nuit"}},-1,"", {{"Time", "20:00", "22:00"}, {"RestartTask", lampe_var_couloir_off}})
  4. Merci @MAM78, à suivre ;-) Plutot sympa le design ;-)
  5. Oui je plussoie @PITP2, c'est rare que l'on est ce type de retour ;-) Ca ressemble effectivement à ce qu'on lisait sur la HC2 il y a peu ;-). Pour le RPI, tu aurais pu installer Jeedom sur un NUC, cela aurait ete solide ;-). Pour du robuste en box, tu aurais aussi pu aller du côté de LD, mais ce n'est plus le même tarif, avec tout de mêm un peu de temps aussi à passer avant de maitriser, comme toutes les box. avec les Mysensor, tu etais tout de même parti sur du GEEK aussi ;-) Concernant la clé, c'est aussi le point faible de la HC2 malheureusementn et les MAJ se passent parfois mal aussi. Je le repète, pas forcement une mieux que l'autre ;-). La seule chose que je puisse dire, c'est que depuis certains firmware, la HC2 est très stable. tu trouveras toujours du support ici, et là où je te rejoins, rien a faire pour avoir une interface WAF ;-) Les interfaces des Lds sont magnifiques aussi..mais faut mettre un peu les mains dans le cambouis ;-)
  6. pepite

    Support Gea

    Ah oui je comprends, en passant par une variable ca doit etre bon non ? du genre Arrosé : oui ;-) C'est sur que l'arrosage tous les jours c'est pas terrible lol
  7. pepite

    portail somfy

    @did, tu maitrises le polonais ?
  8. pepite

    portail somfy

    Bonjour, Partage la documentation électronique de la carte de ton portail, ce sera plus simple. Je suis une bille en éléctricité mais beaucoup d'experts sur ce forum pourront t'aider à ce sujet comme @Did
  9. Bonjour, Bienvenue, Tu es un cas rare qui va dans ce sens là (jeedom --> HC2). Il n'y a pas de box parfaite, tu auras certainement des soucis avec la HC2 aussi. Par curiosité, que t'est-il arrivé sur Jeedom au point de changer de box ?
  10. pepite

    Virtual device ou Plugin ?

    Bonjour, Avec tout le recul que je peux avoir, en espérant que d'autres experts passent par là ;-) Pour moi, impossible de typer un VD autre qu'en VD. Pour les plugins, seuls les plugins officiels sont acceptés pour le moment, aucun plugin tiers malheureusement..
  11. Je viens de tester ça fonctionne ;-)
  12. Salut @trainkill666, Dans le sens Jeedom --> HC2 pour appuyer sur un bouton tu peux le faire en utilisant l'api http de la HC2 en passant par le plugin script de jeedom, et après dans le scénario tu dois pouvoir passer par le plugin script non ?
  13. @Nico ou le spécialiste de la clé Recovery et du dossier backups ;-)
  14. Bienvenue tu vas voir c'est top :-) et nous trouvons plutôt beaucoup de réponses à nos questions :-)
  15. pepite

    Support Gea

    @samhuin, donc en fonction de ce que tu as parametre dans le VD, la VG se met à OUI ou non ? Donc pour moi, tu testes la variable comme tu as fait et ce sera bon non ? Je n'ai aps installé le VD, je n'en sais pas plus la-dessus. Dans les lignes que tu as partagées dans ton post précédent on voit bien que la VG passe à oui, si le rapport besoin/quantite est OK
  16. pepite

    Tesla

    On est 2 ;-)
  17. pepite

    Support Gea

    Salut @fredokl, Tu peux essayer cela, relance de la tache d'extinction si detection de mouvement. On peut peut-etre optimisé, mais je suis parti sur tes conditions. local lampe_var_couloir_off = GEA.add({id["DETECTEUR_MOUVEMENT_COULOIR"],{"Global","Jour_Nuit","Nuit"}, {"value+", id["LAMPE_VAR_COULOIR"],0}},1,"", {{"Inverse"}, {"turnOff", id["LAMPE_VAR_COULOIR"]}, {"NotStarted"}}) GEA.add({id["DETECTEUR_MOUVEMENT_COULOIR"],{"Global","Jour_Nuit","Nuit"}},-1,"", {{"Time", "20:00", "22:00"}, {"value", id["LAMPE_VAR_COULOIR"],20}, {"RestartTask", lampe_var_couloir_off}}) GEA.add({id["DETECTEUR_MOUVEMENT_COULOIR"],{"Global","Jour_Nuit","Nuit"}},-1,"", {{"Time", "20:00", "22:00"}, {"RestartTask", lampe_var_couloir_off}})
  18. Oui ok pour la défaillance du module, et pour la defaillance de la box ? Pareil ? Il a du bien chauffer ce we non ? ;-)
  19. pepite

    Support Gea

    Bonjour, Tu utilises quel VD Arrosage ? Ce n'est pas prévu ? Pour moi GEA ne va pas relancer l'arrosage si la variable globale est à non ? Dans te slignes précédentes, tu testais la variable Arrosage ?
  20. pepite

    Jeedom Smart

    Certainement, de bonne augure ou non, on le saura avec le temps. Je trouve dommage les ruptures de stock de nouveaux produits.
  21. pepite

    Support Gea

    Bonjour, La durée est MAX de 30 minutes ? Elle varie beaucoup ? GEA est une scene "normal" en lua tu dois donc pouvoir récupérer la valeur de ta VG ;-) Pour plus d lisibilité je ferais comme ceci local duree_arrosage = tonumber(fibaro:getGlobalValue("duree_arrosage")) GEA.add(id["JARELECTRO1"], 60*duree_arrosage, "", {{"turnOff",id["JARELECTRO1"]}})
  22. Super merci :-) Au fait, tu as prévu la panne de la domotique ?
  23. pepite

    Cubit - metre connecté

    Patientons, si ca peut nous aider, et surtout la douloureuse tarifaire n'est pas annoncée ;-)
  24. Bonjour, Voici le code qui fonctionne chez moi. N'oublie pas de créer les variables globales --------------------------------- -- Script de collecte de quelques indicateurs solaire -- Auteur : Sébastien Joly -- Date : 29 août 2015 -- Eléments de calculs : -- http://www.plevenon-meteo.info/technique/theorie/enso/ensoleillement.html -- http://herve.silve.pagesperso-orange.fr/solaire.htm --------------------------------- -- Fonction déterminant si année bissextile function AnneeBissextile(annee) return annee%4==0 and (annee%100~=0 or annee%400==0) end --------------------------------- -- Fonction de chargement de label function setDevicePropertyValue(id, label, value) fibaro:call(id, "setProperty", "ui."..label..".value", value) end --------------------------------- -- Fonction spliter function split(s, delimiter) result = {}; for match in (s..delimiter):gmatch("(.-)"..delimiter) do table.insert(result, match); end return result; end --------------------------------- -- Fonction de calcul de la distance entre deux points géographique en D°.DD function geo_distance (lat1, lon1, lat2, lon2) if lat1 == nil or lon1 == nil or lat2 == nil or lon2 == nil then return nil end local dlat = math.rad(lat2-lat1) local dlon = math.rad(lon2-lon1) local sin_dlat = math.sin(dlat/2) local sin_dlon = math.sin(dlon/2) local a = sin_dlat * sin_dlat + math.cos(math.rad(lat1)) * math.cos(math.rad(lat2)) * sin_dlon * sin_dlon local c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a)) -- 6378 km est le rayon terrestre au niveau de l'équateur local d = 6378 * c return d end --------------------------------- -- Fonction Arrondir function arrondir(num, dec) if num == 0 then return 0 else local mult = 10^(dec or 0) return math.floor(num * mult + 0.5) / mult end end --------------------------------- -- Procedure principale --------------------------------- -- Initilise la variable local de l'ID du VD local VDid = fibaro:getSelfId() --------------------------------- -- Requête API loopback pour récupérer Latitude & Longitude des paramètres HC loopback = Net.FHttp("127.0.0.1",11111) local response = loopback:GET("/api/settings/location") jsonTable = json.decode(response) local Ville = (jsonTable.city) local Latitude = (jsonTable.latitude) local Longitude = (jsonTable.longitude) --------------------------------- -- Elevation Google API (Free) GoogleElevation = Net.FHttp("maps.googleapis.com") local response = GoogleElevation:GET("/maps/api/elevation/json?locations=".. Latitude .. "," .. Longitude .. "&sensor=false") --local jsonTable = json.decode(response["results"][1]) --local Altitude = jsonTable.elevation jsonTable = json.decode(response) Altitude = jsonTable.results[1].elevation --------------------------------- -- Meteo API OpenWeatherMap OpenWeatherMap = Net.FHttp("api.openweathermap.org") local response = OpenWeatherMap:GET("/data/2.5/weather?lat=".. Latitude .. "&lon=" .. Longitude .. "&units=metric&APPID=45364c39c24cc5802fb99ade1f4677a4") local jsonTable = json.decode(response) local Temperature = jsonTable.main.temp local PressionRelative = jsonTable.main.pressure local Humidite = jsonTable.main.humidity local Nebulosite = jsonTable.clouds.all --------------------------------- DateHeure = os.date("%d-%m-%Y %H:%M:%S", os.time()) -- Début debug fibaro:debug("=====================================") fibaro:debug(os.date("%d-%m-%Y %H:%M:%S", os.time())) fibaro:debug(Ville .. ", " .. Latitude .. ", " .. Longitude) fibaro:debug("Altitude = " .. tostring(Altitude) .. " m") local An = os.date("%Y") local NiemeJourDeLAnnee = os.date("%j") fibaro:debug("NiemeJourDeLAnnee = " .. NiemeJourDeLAnnee) if AnneeBissextile(An) == true then fibaro:debug( An .. " est bissextile.") JourDansLAnnee = 366 else fibaro:debug( An .. " n'est pas bissextile.") JourDansLAnnee = 365 end --------------------------------- -- Vitesse angulaire = Combien de degrés par jour VitesseAngulaire = 360/365.25 ----JourDansLAnnee -- ou approximativement 365.25 fibaro:debug("Vitesse angulaire = " .. VitesseAngulaire .. " par jour") --------------------------------- -- Formule Declinaison = ArcSin(0,3978 x Sin(Va x (j - (81 - 2 x Sin(Va� x (j - 2)))))) local Declinaison = math.deg(math.asin(0.3978 * math.sin(math.rad(VitesseAngulaire) *(NiemeJourDeLAnnee - (81 - 2 * math.sin((math.rad(VitesseAngulaire) * (NiemeJourDeLAnnee - 2)))))))) fibaro:debug("La déclinaison = " .. Declinaison .. "°") --------------------------------- -- Temps universel décimal (UTC) TempsDecimal = (os.date("!%H") + os.date("!%M") / 60) fibaro:debug("Temps universel decimal (UTC)".. TempsDecimal .." H.dd") --------------------------------- -- Temps solaire HeureSolaire = TempsDecimal + (4 * Longitude / 60 ) fibaro:debug("Temps solaire ".. HeureSolaire .." H.dd") --------------------------------- -- Angle horaire du soleil AngleHoraire = 15 * ( 12 - HeureSolaire ) fibaro:debug("Angle Horaire = ".. AngleHoraire .. "°") --------------------------------- -- La hauteur du soleil (Elévation ou altitude) HauteurSoleil = math.deg(math.asin(math.sin(math.rad(Latitude))* math.sin(math.rad(Declinaison)) + math.cos(math.rad(Latitude)) * math.cos(math.rad(Declinaison)) * math.cos(math.rad(AngleHoraire)))) fibaro:debug("Hauteur du soleil = " .. HauteurSoleil .. "°") local Azimut = math.acos((math.sin(math.rad(Declinaison)) - math.sin(math.rad(Latitude)) * math.sin(math.rad(HauteurSoleil))) / (math.cos(math.rad(Latitude)) * math.cos(math.rad(HauteurSoleil) ))) * 180 / math.pi local SinAzimut = (math.cos(math.rad(Declinaison)) * math.sin(math.rad(AngleHoraire))) / math.cos(math.rad(HauteurSoleil)) if(SinAzimut<0) then Azimut=360-Azimut end fibaro:debug("Azimut du soleil = " .. Azimut .. "°") --------------------------------- -- La durée d'insolation journalière - non stockée en VG DureeInsolation = math.deg(2/15 * math.acos(- math.tan(math.rad(Latitude)) * math.tan(math.rad(Declinaison)))) DureeInsolation = arrondir(DureeInsolation,2) fibaro:debug("La durée d'insolation journalière = " .. DureeInsolation .." H.dd") --------------------------------- -- Constantes Solaire ConstanteRatiationSolaire = 1361 -- W/m² ConstanteRadiationLux = 200000 -- Lux --------------------------------- -- Rayonnement solaire (en W/m²) présent à l'entrée de l'atmosphère. RadiationAtm = ConstanteRatiationSolaire * (1 +0.034 * math.cos( math.rad( 360 * NiemeJourDeLAnnee / JourDansLAnnee ))) fibaro:debug("Radiation max en atmosphère = " .. arrondir(RadiationAtm,2) .. " W/m²") --------------------------------- -- Coefficient d'attenuation M PressionAbsolue = PressionRelative - arrondir((Altitude/ 8.3),1) -- hPa fibaro:debug("Pression relative locale = " .. PressionRelative .. " hPa") fibaro:debug("Pression absolue atmosphère = " .. PressionAbsolue .. " hPa") SinusHauteurSoleil = math.sin(math.rad(HauteurSoleil)) M0 = math.sqrt(1229 + math.pow(614 * SinusHauteurSoleil,2)) - 614 * SinusHauteurSoleil M = M0 * PressionRelative/PressionAbsolue fibaro:debug("Coefficient d'attenuation = " .. M ) --------------------------------- -- Récupérer message SYNOP avec un Get HTTP sur le site Ogimet heureUTCmoins1 = os.date("!%H")-1 if string.len(heureUTCmoins1) == 1 then heureUTCmoins1 = "0" .. heureUTCmoins1 end UTC = os.date("%Y%m%d").. heureUTCmoins1.."00" -- os.date("!%M") fibaro:debug("Horodatage UTC = " .. UTC) -- WMOID = "07643" local WMOID = fibaro:get(fibaro:getSelfId(), "IPAddress") fibaro:debug("Station SYNOP = " .. WMOID) ogimet = Net.FHttp("www.ogimet.com") local synop = ogimet:GET("/cgi-bin/getsynop?block=".. WMOID.."&begin=" .. UTC) --fibaro:debug(synop) ---temporaire rslt = split(synop,",") CodeStation = rslt[1] Coupure = " ".. CodeStation .. " " --fibaro:debug(rslt[1]) rslt = split(synop, " "..CodeStation.. " ") -- fibaro:debug(rslt[2]) Trame = string.gsub(rslt[2], "=", "") Trame = CodeStation .." ".. Trame --fibaro:debug(Trame) rslt = split(Trame, " ") --------------------------------- -- Récupérer le premier caractere du 3eme mot = Nebulosité en Octa Octa = string.sub(rslt[3], 1, 1) fibaro:debug( Octa .. " Octa") -- 0 Pas de couverture nuageuse -- 1-8 Huitième -- 9 Brouillard -- / Couverture indiscernable -- cas particulier si valeur indéterminé un slash est renvoyé. Afin d'être le plus pénalisant 8 sera retenu. if Octa == "/" then Octa = 8 elseif Octa == "9" then Octa = 8 end --------------------------------- -- Facteur d'atténuation des couches nuageuses Kc -- Kc=1-(0.75*((OCTA)**(3.4)) Kc=1-0.75*(math.pow(Octa/8,3.4)) fibaro:debug("Kc = " .. Kc) --------------------------------- -- Au lever/coucher du soleil, on atteind les limites de précisions de ces calculs. -- J'interrompts donc le calcul de radiation dès 1°. if HauteurSoleil > 1 then -- Radiation directe RadiationDirecte = RadiationAtm * math.pow(0.6,M) * SinusHauteurSoleil fibaro:debug("RadiationDirecte = ".. arrondir(RadiationDirecte,2) .." W/m²") -- Radiation Diffuse RadiationDiffuse = RadiationAtm * (0.271 - 0.294 * math.pow(0.6,M)) * SinusHauteurSoleil fibaro:debug("Radiation Diffuse = ".. arrondir(RadiationDiffuse,2) .." W/m²") -- Radiation totale RadiationTotale = RadiationDiffuse + RadiationDirecte fibaro:debug("Radiation totale = " .. arrondir(RadiationTotale,2) .." W/m²") -- Radiation en Lux : -- 1 Lux = 0,0079 W/m² Lux = RadiationTotale / 0.0079 --Lux = ConstanteRadiationLux / ConstanteRatiationSolaire * RadiationTotale fibaro:debug("Radiation totale en lux = ".. arrondir(Lux,2).." Lux") -- Le rayonnement solaire avec ciel nuageux RTOTC = RadiationTotale * Kc fibaro:debug("Le rayonnement solaire avec pondération = " .. arrondir(RTOTC,2)) -- Radiation en Lux pondéré -- LuxPondere = ConstanteRadiationLux / ConstanteRatiationSolaire * RTOTC LuxPondere = RTOTC / 0.0079 fibaro:debug("Radiation totale en lux pondéré = ".. arrondir(LuxPondere,2).." Lux") else RadiationDirecte = 0 RadiationDiffuse = 0 RadiationTotale = 0 Lux = 0 RTOTC = 0 LuxPondere = 0 end --------------------------------- -- Stocker les variables globales -- Créer les variables globales suivantes : -- VDSoleilAzimut -- VDSoleilHauteur -- VDSoleilRadiDir -- VDSoleilRadiDif -- VDSoleilRadiTot -- VDSoleilLuxTot -- VDSoleilOcta -- VDSoleilRadiPon -- VDSoleilLuxPon fibaro:setGlobal("VDSoleilAzimut", arrondir(Azimut,2)) fibaro:setGlobal("VDSoleilHauteur", arrondir(HauteurSoleil,2)) fibaro:setGlobal("VDSoleilRadiDir", arrondir(RadiationDirecte,2)) fibaro:setGlobal("VDSoleilRadiDif", arrondir(RadiationDiffuse,2)) fibaro:setGlobal("VDSoleilRadiTot", arrondir(RadiationTotale,2)) fibaro:setGlobal("VDSoleilLuxTot", arrondir(Lux,2)) fibaro:setGlobal("VDSoleilOcta", Octa) fibaro:setGlobal("VDSoleilRadiPon", arrondir(RTOTC,2)) fibaro:setGlobal("VDSoleilLuxPon", arrondir(LuxPondere,2)) --------------------------------- -- Mise à jour des labels setDevicePropertyValue(VDid, "LabelAzimut", arrondir(Azimut,0).."°" ) setDevicePropertyValue(VDid, "LabelHauteur", arrondir(HauteurSoleil,0) .. "°" ) setDevicePropertyValue(VDid, "LabelNebulosite", Octa .. "/8") setDevicePropertyValue(VDid, "LabelNebPourCent", Nebulosite .. "%") setDevicePropertyValue(VDid, "LabelMaj",DateHeure) setDevicePropertyValue(VDid, "LabelRadiationDirecte", arrondir(RadiationDirecte,0) .. " W/m²") setDevicePropertyValue(VDid, "LabelRadiationDiffuse", arrondir(RadiationDiffuse,0) .. " W/m²") setDevicePropertyValue(VDid, "LabelRadiationTotale", arrondir(RadiationTotale,0) .. " W/m²") setDevicePropertyValue(VDid, "LabelLux",arrondir(Lux,0) .. " Lx") setDevicePropertyValue(VDid, "LabelRTOTC", arrondir(RTOTC,0) .. " W/m²") setDevicePropertyValue(VDid, "LabelLuxPondere", arrondir(LuxPondere,0) .. " Lx") --------------------------------- -- Tag widget fibaro:log(DateHeure)
×
×
  • Créer...