Aller au contenu

mprinfo

Membres confirmés
  • Compteur de contenus

    14 328
  • Inscription

  • Dernière visite

  • Jours gagnés

    239

Tout ce qui a été posté par mprinfo

  1. mprinfo

    Positionnement Du Soleil

    Si c'est fesable en basic c'est très simple a faire en lua comme quoi les vieux d'aujourd'hui avait déjàbien bosser pour les jeunes d'aujourd'hui lol
  2. mprinfo

    Positionnement Du Soleil

    Vouha un organigramme en plus lol
  3. Tu as oublié qu'il y aura aussi l'integration du zwave- si je te jure lazer ma donné ça boule de cristal donc je vois tout ce qui ce passe chez fibaro
  4. mprinfo

    Hc2 Et Dlna

    3 ans ? Pour la version alpha lol
  5. Objectif : Crée des déclencheurs (trigger) toutes les 30mn sans avoir besoin de faire une boucle "while true do" afin de mettre a jours 2 variables globale qui nous servirons a déclencher des scènes. Méthode : Utiliser la variable Globale que l'on mets a jour pour lancer la scèneVariable Globale a créée : Heure DemiHeure Ce script va mettre a jour : La variable DemiHeure sera mis a jour à chaque fois que les minutes seront égales a 0 ou 30 La variable Heure sera mis a jour si les minutes sont égale à 0 Nous aurons donc 1 déclenchement par heure pour la VG: Heure et 2 déclenchements par heure pour la VG DemiHeure Voici le script (a copier dans une scène) : --[[ %% autostart %% globals DemiHeure --]] local Minutes = tonumber(os.date("%M", os.time())) local trigger = fibaro:getSourceTrigger() if (trigger['type'] == 'autostart') then fibaro:setGlobal("DemiHeure", "0"..Minutes) fibaro:debug("Demarrage via autostart") fibaro:abort() end fibaro:debug("Demarrage en cours...") local NbreScene = fibaro:countScenes() fibaro:debug("Nombres de Scéne en cours : "..NbreScene) fibaro:sleep(60*1000) local Pause = 0 if Minutes > 30 then Pause = 60 - Minutes else Pause = 30 - Minutes end fibaro:debug("Mise a jour Variable : "..Pause.."mn") fibaro:sleep(Pause*60*1000) Minutes = tonumber(os.date("%M", os.time())) fibaro:debug("mise a jour VG DemiHeure"..Minutes) fibaro:setGlobal("DemiHeure", Minutes) if Minutes == 0 then local Heure = tonumber(os.date("%H", os.time())) fibaro:setGlobal("Heure", Heure) fibaro:debug("mise a jour VG Heure"..Minutes) end Exemple d'utilisation : Je veux que ma scène se lance à 17h --[[ %% globals Heure --]] local heure = fibaro:getGlobalValue("Heure") if heure ~= 17 then; fibaro:abort(); end fibaro:debug("le script peut être exécuté ") Un peut plus compliquer --[[ %% globals DemiHeure --]] local trigger = fibaro:getSourceTrigger() if (trigger['type'] == 'global') then nomTrigger = trigger['name'] valeurTrigger = tonumber(fibaro:getGlobalValue(nomTrigger)) print("Nom du déclencheur = ", nomTrigger, " - Minutes : ", valeurTrigger) if valeurTrigger ~= 17 then; fibaro:abort(); end else fibaro:debug("La scéne ne peut être lancer que par une Variable Globale") fibaro:abort(); end if nomTrigger="Heure" and valeurTrigger ~= 17 then fibaro:abort() end
  6. mprinfo

    Positionnement Du Soleil

    Voila le code pour la météo c'est pour un VD il faut adapté pour une Scéne La position latitude et longitude sont celle de ta box Tu peux si tu veux mettre la valeur (d'ouverture) des volets en fonction des conditions ou/et le temps de décalage en minutes ou heures HC2 = Net.FHttp("127.0.0.1",11111); local response, status, errorCode = HC2:GET("/api/settings/location"); if (tonumber(errorCode) == 0) then jsonTable = json.decode(response); else fibaro:debug("error "..errorCode ) end -- recuperation des données de la HC2 local Ville = (jsonTable.city) local lat = (jsonTable.latitude); local lng = (jsonTable.longitude); fibaro:debug("Latitude : "..lat .." - Longitude : " .. lng) --------- HC2 = Net.FHttp("www.prevision-meteo.ch",80); -- documentation : http://www.prevision-meteo.ch/uploads/pdf/recuperation-donnees-meteo.pdf local response, status, errorCode = HC2:GET("/services/json/lat=" .. lat .. "lng=" .. lng); if (tonumber(errorCode) == 0) then jsonMeteo = json.decode(response); else fibaro:debug("error "..errorCode ) end local Condition = { ["Ensoleillé"] = 0001, ["Nuit claire"] = 0002, ["Ciel voilé"] = 0003, ["Nuit légèrement voilée"] = 0004, ["Faibles passages nuageux"] = 0005, ["Nuit bien dégagée"] = 0006, ["Brouillard"] = 0007, ["Stratus"] = 0008, ["Stratus se dissipant"] = 0009, ["Nuit claire et stratus"] = 0010, ["Eclaircies"] = 0011, ["Nuit nuageuse"] = 0012, ["Faiblement nuageux"] = 0013, ["Fortement nuageux"] = 0014, ["Averses de pluie faible"] = 0015, ["Nuit avec averses"] = 0016, ["Averses de pluie modérée"] = 0017, ["Averses de pluie forte"] = 0018, ["Couvert avec averses"] = 0019, ["Pluie faible"] = 0020, ["Pluie forte"] = 0021, ["Pluie modéree"] = 0022, ["Développement nuageux"] = 0023, ["Nuit avec développement nuageux"] = 0024, ["Faiblement orageux"] = 0025, ["Nuit faiblement orageuse"] = 0026, ["Orage modéré"] = 0027, ["Fortement orageux"] = 0028, ["Averses de neige faible"] = 0029, ["Nuit avec averses de neige faible"] = 0030, ["Neige faible"] = 0031, ["Neige modérée"] = 0032, ["Neige forte"] = 0033, ["Pluie et neige mêlée faible"] = 0034, ["Pluie et neige mêlée modérée"] = 0035, ["Pluie et neige mêlée forte"] = 0036 } local Condition_J = (jsonMeteo.current_condition.condition); local Valeur = Condition[Condition_J] fibaro:debug("Valeur Condition = "..Valeur.." - "..Condition_J)
  7. Il faudrait que tu regardes ton réseau La solution 3.60 c'est pour les petits joueurs
  8. tu ne mets pas a jour sunrise et sunset local osHeure = os.date("%H:%M", os.time()) leverSoleil = fibaro:getValue(1, "sunriseHour") coucherSoleil = fibaro:getValue(1, "sunsetHour") LeverCoucher(VGLeverSoleil, TLever, leverSoleil, "Jour") LeverCoucher(VGCoucherSoleil, TCoucher, coucherSoleil, "Nuit")
  9. mprinfo

    Positionnement Du Soleil

    salut Nico Je pense qu'il y a plus simple que cela le soleil ce lève en Alsace donc a l'Est, ce couche en Bretagne donc a l'Ouest Avec sunrise et sunset tu as ces 2 point cardinaux Ensuite en Heure solaire 12H = Sud soit -1h en été et -2h hiver après tu as le module météo de ou tu habites (latitude, longitude) de pépite avec comme valeur ceci local Temp = { ["Ensoleillé"] = 0000, ["Nuit claire"] = 0000, ["Ciel voilé"] = 0000, ["Nuit légèrement voilée"] = 0000, ["Faibles passages nuageux"] = 0000, ["Nuit bien dégagée"] = 0000, ["Brouillard"] = 0000, ["Stratus"] = 0000, ["Stratus se dissipant"] = 0000, ["Nuit claire et stratus"] = 0000, ["Eclaircies"] = 0000, ["Nuit nuageuse"] = 0000, ["Faiblement nuageux"] = 0000, ["Fortement nuageux"] = 0000, ["Averses de pluie faible"] = 0000, ["Nuit avec averses"] = 0000, ["Averses de pluie modérée"] = 0000, ["Averses de pluie forte"] = 0000, ["Couvert avec averses"] = 0000, ["Pluie faible"] = 0000, ["Pluie forte"] = 0000, ["Pluie modéree"] = 0000, ["Développement nuageux"] = 0000, ["Nuit avec développement nuageux"] = 0000, ["Faiblement orageux"] = 0000, ["Nuit faiblement orageuse"] = 0000, ["Orage modéré"] = 0000, ["Fortement orageux"] = 0000, ["Averses de neige faible"] = 0000, ["Nuit avec averses de neige faible"] = 0000, ["Neige faible"] = 0000, ["Neige modérée"] = 0000, ["Neige forte"] = 0000, ["Pluie et neige mêlée faible"] = 0000, ["Pluie et neige mêlée modérée"] = 0000, ["Pluie et neige mêlée forte"] = 0000 } Tu remplaces les 0000 par les valeurs que tu veux Ensuite j'ai fais cette scéne pour le décalage par rapport au le lever et coucher du soleil =http://www.domotique-fibaro.fr/index.php/topic/4642-scene-lua-jour-nuit-avec-d%C3%A9calge-possible-et-optimisation-du-sleep/ Avec tout cela tu peux y arrivé en prouver a Steven que tu ne codes pas comme un pied
  10. Tu peux remplacer 3600 par une variable Mais je vois pas exactement ce que tu veux faire
  11. @q.philippe je préfère resté discret Voici un exemple de script qui utilise lever et coucher du soleil c'est une version teste qui fonctionne Je donne ce script a titre d'exemple il n'y aura aucun support --[[ %% globals SoleilLever SoleilCoucher --]] local mesvolets ={ ["Bureau"] = 5, ["Ch_Enfants1"] = 7, ["Chaufferie"] = 9, ["Ch_Enfants2"] = 17, ["Ch_Parents"] = 19, ["Cuisine"] = 23, ["SAM"] = 25, ["SdB"] = 27, ["Salon"] = 29, } -- Table Zone (Groupes de modules) local RDC = {"Bureau", "Ch_Enfants2", "Chaufferie"} local Nord = {"Bureau", "Ch_Parents", "Cuisine", "SAM"} local Jardin = {"Chaufferie", "Ch_Amis", "SdB"} local chambre = {"Ch_Parents", "Ch_Enfants1"} -------------------------------------------------------------------------- local nomLever = "SoleilLever" --> Nom de la Variable Globale lever soleil local nomCoucher = "SoleilCoucher" --> Nom de la Variable Globale coucher soleil local JourChome = fibaro:getGlobalValue("JourChome") --> Nom de la variable Module Virtuel Hansloo local Conges = fibaro:getGlobalValue("Conges") local IdTel = fibaro:getGlobalValue("IdI9305") -- Recuperation de id du tel pour le push local Pause = 0 -- Temp de pause entre chaque commande de modules en seconde ----------------------------------------------------------------------- -- Test si la valeur a enoyer est différente de la valeur du module ----------------------------------------------------------------------- function testvaleur(id, valeurs) local GetValeur = tonumber(fibaro:getValue(id, "value")) if valeurs ~= GetValeur then fibaro:call(id, "setValue", valeurs) fibaro:debug(id.." - action en cours... - Valeur "..valeurs) end end ---------------------------------------------------------------------------- -- Recupération de l'id par rapport au nom de la tables mesvolets ---------------------------------------------------------------------------- function volets(zone, valeurs) if zone == nil then fibaro:debug("Erreur dans la table ou table inéxitante") fibaro:abort() end if (type(zone) == "table") then for i,v in ipairs(zone) do local id = mesvolets[v] if id == nil then fibaro:debug("ERREUR NOM DU VOLET - "..v.." - dans une table") else testvaleur(id, valeurs) end end elseif (type(zone) == "string") then local id = mesvolets[zone] if id == nil then fibaro:debug("ERREUR DANS LE NOM DU VOLET : "..zone) else testvaleur(id, valeurs) end else fibaro:debug("Erreur......") end end -------------------------------------------------------------------- -- test si le déclencheur est lever du soleil -------------------------------------------------------------------- function lever(zone, valeurs, minutes) if nomTrigger == nomLever and valeurTrigger == minutes then if minutes == nil then; minutes = 0 end volets(zone, valeurs, minutes) end end -------------------------------------------------------------------- -- test si le déclencheur est coucher du soleil -------------------------------------------------------------------- function coucher(zone, valeurs, minutes) if nomTrigger == nomCoucher and valeurTrigger == minutes then if minutes == nil then; minutes = 0 end volets(zone, valeurs, minutes) end end -------------------------------------------------------------------------- -- Demarrage du programme -------------------------------------------------------------------------- local trigger = fibaro:getSourceTrigger() if (trigger['type'] == 'global') then nomTrigger = trigger['name'] valeurTrigger = tonumber(fibaro:getGlobalValue(nomTrigger)) print("Nom du déclencheur = ", nomTrigger, " - Minutes : ", valeurTrigger) else fibaro:debug("La scéne ne peut être lancer que par une Variable Globale") fibaro:abort(); end ------------------------------------------------------------------------- -- Ne rien modifier au dessus de cette ligne ------------------------------------------------------------------------- -- Commandes a écrit pour lever du soleil -- lever (Funtion qui traite le lever du soleil -- coucher(zone, valeur, minutes) -- exemple pour actionné les volets de la table Rue a 80% 10 minutes avant le lever -- lever(Rue, 80, -10) -- exemple pour actionné le volet "Bureau" au lever du jour -- lever("Bureau", 99, 0) -- Pour actionner un volet au coucher du soleil -- Il faut remplacer lever par coucher -- ex : coucher(Rue, 0, 20) ------------------------------------------------------------------------ lever(Nord, 99, 10) lever(Chambre, 99, 0) lever(Jardin, 99, -15) lever("Salon", 99, 0) coucher(Nord, 0, -15) coucher(Chambre, 0, 10) coucher(Jardin, 0, 30) coucher("Salon", 85, 30)
  12. salut le mode nuit est jour sont l'heure de coucher ou du lever du soleil ces information sont mise a jour tout les jours si tu veux un décalage de 30 mm tu mets dans la table 30 mn et dans ta scéne bloc tu mets 30 mn c'est tout simple j'ai mis un exemple sur le post 1
  13. je viens de regarder ce que tu veux la scéne jour_nuit n'est pas vraiment adapter pour ce que tu veux faire pour exécuter une scéne avec des triggers voici un tuto : http://www.domotique-fibaro.fr/index.php/topic/4153-tout-sur-le-d%C3%A9clenchement-dune-sc%C3%A9ne-en-lua-by-steven/ Il faudrait crée un scène qui démarre au démarrage de la box avec une boucle while true do qui s'exécute en permanence on n'y mets un sleep de 60s comme cela la boucle s'exécutera toutes le minutes exemple : while true do local osHeure = os.date("%H:%M", os.time()) fibaro:debug("il est : "..osHeure) fibaro:sleep(60*1000); -- Pause en fonction de 1mn end toutes les minutes tu auras dans le debug il est : ....... while true do if ( ( (tonumber(os.date("%H%M")) >= tonumber(string.format("%02d%02d", "21", "45")) or tonumber(os.date("%H%M")) <= tonumber(string.format("%02d%02d", "07", "30"))) and (math.floor(os.time()/60)-math.floor(1430599500/60))%6 == 0 ) ) then fibaro:setGlobal("Jour_Nuit", "Nuit"); end fibaro:sleep(60*1000); -- Pause en fonction de 1mn end La tu as une scène qui prend en compte tes conditions et qui mets a jour la variable Jour_Nuit sur nuit dans ma scène si tu ajoutes VerifVG(VGJourNuit, "Jour", {"Jour", "Nuit"}) que tu remplaces par VerifVG(VGJourNuit, "Jour", {"Jour", "Nuit", "Soir"}) et que tu remplaces function UpdateJourNuit(NomVG, heure) local valeurs = "Nuit" par function UpdateJourNuit(NomVG, heure) local valeurs = "Soir" tu auras soir au lieu de nuit au coucher du soleil.
  14. ce code ne fonctionnera pas car il ne sera exécuté qu'une seule fois au démarrage et après il ne sera plus lu
  15. mprinfo

    Besoin D'aide Svp

    Autrement il y a amazon.de qui propose de très bon prix les modules sont souvent a moins de 50euros et la hc2 tourne par moment à500euros le SAV est bon par contre les conseils il n'y en a pas Envoyé avec mon SmartPhone
  16. On dirai la reponse d'un homme politique ☺ je pense que l idée de teste et très bonne enfin c'est juste mon avis aussi lol Envoyé avec mon SmartPhone
  17. @Moicphil il faut que l'on ce dépêche avant le 21 juin pour la restructuration. Tu en pense quoi de ma proposition ? Envoyé avec mon SmartPhone
  18. @phil pour le moment chez fibaro il n'y a que du zwave en modules et vu le temp de réaction de fibaro entre une annonce et l'arrivé du produits on a encore des jours tranquilles lol
  19. Fredo àdes idées lumineuse je m'attends au pire lol serait il entrain de trouver une solution pour que lazer passe en v4 mdr Envoyé avec mon SmartPhone
  20. voici comment on fait avec un scéne bloc il faut mettre la variable comme déclencheur
  21. En Belgique on garde l eau pour le pastis. @pitp2 il faut combien de mm d'eau pour un pastis mdr Bon je sors lol Envoyé avec mon SmartPhone
  22. Oui tu peux le faire. Si tu t'y commais un peu en lua c'est assez simple. Je suis sur mon tel mais demain je peux te donner le code qu'il faut ajouter Envoyé avec mon SmartPhone
  23. @pitp2 de belgique Envoyé avec mon SmartPhone
  24. mprinfo

    Jour Chômé

    Chez moi tout fonctionne bien mais j'ai une version qui date un peu j'ai pas fais les dernières mise a jour @Hansolo dans ton post1 pourrais tu mettre en upload le VD cela éviterai les erreurs lors des copier coller Merci pour le suivi que tu fais sur ce module
×
×
  • Créer...