Aller au contenu

Dragoniacs

Membres confirmés
  • Compteur de contenus

    635
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Dragoniacs

  1. Dragoniacs

    Surveillance Station Manager

    Dites, j'ai mon Syno depuis peu de temps, et j'ai voulu commencer à y raccorder mes caméras.... mais on est limités à 2 ? Cela veut dire que vous avez tous acheté des licenses additionnelles ? Ca coute un bras ce système au final....
  2. Dragoniacs

    Xiaomi Vaccum

    Cool, merci Envoyé de mon SM-A530F en utilisant Tapatalk
  3. Dragoniacs

    Xiaomi Vaccum

    Une nouvelle mise à jour ! Qui se lance ? Envoyé de mon SM-A530F en utilisant Tapatalk
  4. Dragoniacs

    Infos Météo avec Weatherbit

    Oui, j'ai eu le même bug mais c'était conjoint avec les pannes de réseau Sfr. .. Envoyé de mon SM-A530F en utilisant Tapatalk
  5. Dragoniacs

    Infos Météo avec Weatherbit

    Bonjour à tous, Suite à la disparition de l'API Wunderground, je me suis permise de reprendre en partie le YAMS de @sebcbien, en utilisant également le travail de @Dgille, afin de nous concocter un nouveau VD de gestion météo. Cela surtout pour me permettre de faire de nouveau parler mon lapin Codes sources : https://www.domotique-fibaro.fr/topic/6446-yams-wu-yet-another-meteo-station-wunderground-version/ https://www.domotique-fibaro.fr/topic/13120-météo-avec-weatherbitio/ Prérequis Ouvrir un compte sur le site https://www.weatherbit.io/ Dans vos paramètres de compte, vous devrez récupérer votre clé pour pourvoir utiliser les API Installation Importez le VD. WeatherBit_Dragoniacs_V2-4.vfib Créez une nouvelle scène, et collez le code suivant : --[[ %% autostart %% properties %% globals --]] ------------------------------------------------------------------------------- -- SCENE REALISEE PAR DRAGONIACS POUR www.domotique-fibaro.fr -- UTILISATION LIBRE DE DROITS -- MERCI A Dgille & Sebcbien POUR LES CODES DONT JE ME SUIS FORTEMENT INSPIREE -- VERSION 2.4 ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- -- PARAMETRES DE L UTILISATEUR ------------------------------------------------------------------------------- WBApikey = "xxxxxxxxxxxxxxxxxxxxxxx" -- API Key WeatherBit WBCityid = "" -- Code ville, sinon vide pour latitude longitude de la HC2 WBlang = "fr" WDelai = 30 -- Période d'actualisation en minute (minimum 2, max 45) WD_VD = 876 -- Préciser l'ID du VD WeatherBit WPushMatin = "07:00" -- Heure d'envoi des infos le matin, laisser vide si pas de push WPushSoir = "17:00" -- Heure d'envoie des infos le soir, laisser vide si pas de push WPushDemain = "21:00" -- Heure d'envoi des infos du lendemain, laisser vide si pas de push WPush_type = {"SMS","Push","eMail"} -- Préciser le type de notification souhaitée WPush_Email = 2 -- Préciser le numéro de user qui doit recevoir les email WPush_Phone = 592 -- Préciser le numéro du téléphone qui doit recevoir les push WPush_VG = "Pushover" -- Préciser nom de la variable globale utilisée dans le VD de SMS WPush_VD = "" --Préciser l'ID du VD de SMS, ou laisser vide si pas besoin WPush_VD_button = "" --Préciser le numéro du bouton d'action du VD de SMS, ou laisser vide si pas besoin WPush_Prio = "0" --Si vous utiliser le VD Pushover avec gestion des priorités, préciser le niveau de priorité choisi ------------------------------------------------------------------------------- -- FIN DES PARAMETRES UTILISATEUR ------------------------------------------------------------------------------- -- On évite la surcharge if fibaro:countScenes() > 1 then fibaro:abort() end -- Déclaration des variables globales function Declaration_VG(variable) if fibaro:getGlobalValue(variable) == nil then local created = false local data = {name = variable, value = tostring("{}")} response, status = api.post("/globalVariables", data) -- If creation successful, then return created=true if (status == 201) then fibaro:debug("Global variable " .. variable .. " created") created = true else fibaro:debug("Failed to create global variable " .. variable .. "!"); end end end -- Traductions des jours function Jours(J) if J > 6 then J = 0 end local Nom_jour = {"Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"} return Nom_jour[J+1] end -- Gestion des arrondis pour l'afichage & le speak function round(num, numDecimalPlaces) local mult = 10^(numDecimalPlaces or 0) if tonumber(num) ~= nil then num = tonumber(num) else num = 0 end return math.floor(num * mult + 0.5) / mult end -- Mise à jour des tableaux API function getResponseData(Vglobal, url, method, body, func) local http = net.HTTPClient() http:request(url, { options = { method = method, headers = { ["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/64.0", ["Content-Type"] = "application/json", }, data = body }, success = function(response) fibaro:debug(" Analyse de la réponse du site..") fibaro:sleep(10*1000) if (response.status==200) then fibaro:setGlobal(Vglobal,response.data) fibaro:debug("Mise à jour réussie")-- : .. "..fibaro:getGlobalValue(Vglobal)) VD_Update() else fibaro:debug ("Erreur de récupération des données :"..response.status) fibaro:abort() end end, error = function(err) fibaro:debug("Erreur.."..response.status) fibaro:abort() end, }) end -- Boucle principale function Update() -- Construction de l'URL local url_today, url_tomorrow if (WBCityid=="" )then fibaro:debug ("Pas de code ville - Utilisation de la localisation de la HC2") local loc=api.get("/settings/location") url_today = "https://api.weatherbit.io/v2.0/current?lat="..loc.latitude.."&lon="..loc.longitude.."&lang="..WBlang.."&key="..WBApikey url_tomorrow = "https://api.weatherbit.io/v2.0/forecast/daily?lat="..loc.latitude.."&lon="..loc.longitude.."&lang="..WBlang.."&key="..WBApikey else fibaro:debug ("Utilisation du code ville fourni.") url_today = "https://api.weatherbit.io/v2.0/current?city_id="..WBCityid.."&lang="..WBlang.."&key="..WBApikey url_tomorrow = "https://api.weatherbit.io/v2.0/forecast/daily?city_id="..WBCityid.."&lang="..WBlang.."&key="..WBApikey end fibaro:debug ("Envoie de la requête URL vers WeatherBit") fibaro:debug ("Appel de l'URL du jour...") getResponseData("weatherbit_today",url_today, "GET", nil) fibaro:debug ("Appel de l'URL des prévisions...") getResponseData("weatherbit_tomorrow",url_tomorrow, "GET", nil) fibaro:sleep(10*1000) setTimeout(function() Update() end,WDelai*60*1000 -13*1000) end function VD_Update() -- Récupération des données et actualisation des labels fibaro:debug ("Actualisation des labels") local today_datas = fibaro:getGlobal("weatherbit_today") local tomorrow_datas = fibaro:getGlobal("weatherbit_tomorrow") if today_datas~="{}" and tomorrow_datas~="{}" then jsonTable0 = json.decode(today_datas) jsonTable1 = json.decode(tomorrow_datas) --Muse à jour des labels du VD fibaro:call(WD_VD,"setProperty","ui.lblMAJ.value","Observation: ".. jsonTable0.data[1].city_name .." | ".. jsonTable0.data[1].ob_time) fibaro:call(WD_VD,"setProperty","ui.lblTemp.value","T° Ressentie: ".. jsonTable0.data[1].app_temp .."°C | "..jsonTable0.data[1].rh .."% Humidité") fibaro:call(WD_VD,"setProperty","ui.lblVent.value","Vent: ".. math.floor(jsonTable0.data[1].wind_spd*3.600) .." km/h | Pluie : ".. round(jsonTable0.data[1].precip,0) .." mm/h") fibaro:call(WD_VD,"setProperty","ui.lblCiel.value",Jours(tonumber(os.date("%w"))) .." : ".. jsonTable0.data[1].weather.description) fibaro:call(WD_VD,"setProperty","ui.lblPrevi.value",round(jsonTable1.data[1].min_temp,0) .."°C/".. round(jsonTable1.data[1].max_temp,0) .."°C | ".. round(jsonTable1.data[1].precip,0) .."mm | ".. math.floor(jsonTable1.data[1].wind_spd*3.600) .."Km/h (".. jsonTable1.data[1].wind_cdir ..")") fibaro:call(WD_VD,"setProperty","ui.lblCiel2.value",Jours(tonumber(os.date("%w")+1)) .." : ".. jsonTable1.data[2].weather.description) fibaro:call(WD_VD,"setProperty","ui.lblPrevi2.value",round(jsonTable1.data[2].min_temp,0) .."°C/".. round(jsonTable1.data[2].max_temp,0) .."°C | ".. round(jsonTable1.data[2].precip,0) .."mm | ".. math.floor(jsonTable1.data[2].wind_spd*3.600) .."Km/h (".. jsonTable1.data[2].wind_cdir ..")") fibaro:call(WD_VD,"setProperty","ui.lblCiel3.value",Jours(tonumber(os.date("%w")+2)) .." : ".. jsonTable1.data[3].weather.description) fibaro:call(WD_VD,"setProperty","ui.lblPrevi3.value",round(jsonTable1.data[3].min_temp,0) .."°C/".. round(jsonTable1.data[3].max_temp,0) .."°C | ".. round(jsonTable1.data[3].precip,0) .."mm | ".. math.floor(jsonTable1.data[3].wind_spd*3.600) .."Km/h (".. jsonTable1.data[3].wind_cdir ..")") fibaro:call(WD_VD,"setProperty","ui.lblMAJVD.value","Mise à jour: "..os.date("%d/%m").." "..os.date("%H:%M")) -- Définition des textes audio today_speach = Jours(tonumber(os.date("%w"))) .." : " .. jsonTable1.data[1].weather.description .. ". " .." Température entre ".. round(jsonTable1.data[1].min_temp,0) .." et ".. round(jsonTable1.data[1].max_temp,0) .." degrès. " .." Vent de ".. math.floor(jsonTable1.data[1].wind_spd*3.600) .." kilomètres par heure, en provenance ".. jsonTable1.data[1].wind_cdir_full ..". " .." Précipitations de ".. round(jsonTable1.data[1].precip,0) .. " milimètres. " tomorrow_speach = Jours(tonumber(os.date("%w"))+1) .." : " .. jsonTable1.data[2].weather.description .. ". " .." Température entre ".. round(jsonTable1.data[2].min_temp,0) .." et ".. round(jsonTable1.data[2].max_temp,0) .." degrès. " .." Vent de ".. math.floor(jsonTable1.data[2].wind_spd*3.600) .." kilomètres par heure, en provenance ".. jsonTable1.data[2].wind_cdir_full ..". " .." Précipitations de ".. round(jsonTable1.data[2].precip,0) .. " milimètres. " fibaro:setGlobal("wbit_today_sp",today_speach) fibaro:setGlobal("wbit_tomorrow_sp",tomorrow_speach) else fibaro:debug("Variable vide, on relance la scène") end end -- Gestion des notifications function Notification(message,param) local message = message or "<vide>" for _, notif in ipairs(param) do -- Envoi Push if notif == "Push" and WPush_Phone ~="" then fibaro:debug("Envoi du push") fibaro:call(WPush_Phone,"sendPush",message) -- Envoi Email elseif notif == "eMail" and WPush_Email~="" then fibaro:debug("Envoi du mail") fibaro:call(WPush_Email,"sendEmail","Infos WeatherBit",message) -- Envoi SMS elseif notif == "SMS" and WPush_VG~="" then if WPush_Prio ~="" then message = "&"..WPush_Prio.."&"..message end fibaro:debug("Envoi du SMS") fibaro:setGlobal(WPush_VG, message) if WPush_VD ~="" then fibaro:call(WPush_VD,"pressButton",WPush_VD_button) end end end end -- Boucle des notifications selon l'heure & la demande function envoi_Push() -- Récupération des données et actualisation des labels local today_speach = fibaro:getGlobal("wbit_today_sp") local tomorrow_speach = fibaro:getGlobal("wbit_tomorrow_sp") if WPushMatin ~="" and os.date("%H:%M") == WPushMatin then fibaro:debug("Envoie du push matin") Notification(today_speach,WPush_type) end if WPushSoir ~="" and os.date("%H:%M") == WPushSoir then fibaro:debug("Envoie du push soir") Notification(today_speach,WPush_type) end if WPushDemain ~="" and os.date("%H:%M") == WPushDemain then fibaro:debug("Envoie du push demain") Notification(tomorrow_speach,WPush_type) end setTimeout(function() envoi_Push() end,60*1000) end fibaro:debug("Scene activée") Update() envoi_Push() N'oubliez pas d'inscrire votre clé. Vous pouvez mettre le code de votre ville (à trouver sur le site de WeatherBit), ou laisser le champ vide pour utiliser la postition de la HC2. Les variables globales son créées par la scène. Dans le mainloop du VD, il faut préciser le numéro de la scène et la fréquence de mise à jour. Et sourtout, n'oubliez pas d'utiliser les icônes, gentillement mises à dispo par @Did Nota : pour ceux qui utilisent le VD SONOS, il faut remplacer la ligne qui était utilisée avec le YAMS Wunderground local meteo_day = fibaro:getGlobalValue("Meteo_Day_Speech") par local meteo_day = fibaro:getGlobalValue("wbit_today_sp") Publication de la V2.0 : - Possibilité d'utiliser des notifications - Other minor fixes Publication de la V2.1 - Résolution de divers bugs sur la gestion des variables globales & API - Allègement du code Publication de la V2.2 - Amélioration des textes audio - Optimisation de la scène - Résolution des bugs des précipitations & round Publication de la V2.3 - Correction d'un bug sur les jours (merci Barelle) - Optimisation du code (tout se fait dans la scène) Publication de la V2.4 - Correction des bugs de mise à jour des labels & pushs Si vous avez déjà installé le VD en version V2.0, remplacez simplement le code du main loop par celui ci , ou laissez vide. Ce code n'est pas obligatoire pour assurer le fonctionnement du VD, il ne fait que créer les variables globales et assurer que la scène tourne bien (peut être remplacé par le WATCHDOG en surveillant le message "Mise à jour réussie" toutes les 35 min) ------------------------------------------------------------------------------- -- VD REALISE PAR DRAGONIACS POUR www.domotique-fibaro.fr -- UTILISATION LIBRE DE DROITS -- MERCI A Dgille & Sebcbien POUR LES CODES DONT JE ME SUIS FORTEMENT INSPIREE -- VERSION 2.4 ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- -- PARAMETRAGE UTILISATEUR ------------------------------------------------------------------------------- WSceneId = 629 -- Id de la scéne pour actualisation de la météo ------------------------------------------------------------------------------- -- FIN DU PARAMETRAGE UTILISATEUR ------------------------------------------------------------------------------- VD = fibaro:getSelfId() -- Déclaration des variables globales function Declaration_VG(variable,valeur) if fibaro:getGlobalValue(variable) == nil then local created = false local data = {name = variable, value = tostring(valeur)} response, status = api.post("/globalVariables", data) -- If creation successful, then return created=true if (status == 201) then fibaro:debug("Global variable " .. variable .. " created") created = true else fibaro:debug("Failed to create global variable " .. variable .. "!"); end end end Declaration_VG("weatherbit_today","{}") Declaration_VG("weatherbit_tomorrow","{}") Declaration_VG("wbit_today_sp","") Declaration_VG("wbit_tomorrow_sp","") -- Lance la scene d'actualisation if fibaro:countScenes(WSceneId) < 1 then fibaro:debug("Lancement de la scène WeatherBit") fibaro:startScene(WSceneId) end
  6. Dragoniacs

    Qubino - Zmnhjd1 - Fil Pilote 6 Ordres Z-Wave+

    Moi aussi j'en suis très contente de ces petits modules. Ils fonctionnent très bien (même en non configuré et sans template) et il n'y a aucune autre marque qui en propose... Envoyé de mon SM-A530F en utilisant Tapatalk
  7. Dragoniacs

    Google Calendar Vers Hc2/hcl

    Y a d'autres belges sur le forum [emoji16] Envoyé de mon SM-A530F en utilisant Tapatalk
  8. Dragoniacs

    Nodon - Télécommande Murale Z-Wave+

    actions[action]() Envoyé de mon SM-A530F en utilisant Tapatalk
  9. Dragoniacs

    Nodon - Télécommande Murale Z-Wave+

    2 questions pour les propriétaires de cette commande : - je n'arrive plus à faire fonctionner les sceneActivation [DEBUG] 11:56:35: 2019-06-13 11:56:35.219967 [ fatal] Unknown exception: /opt/fibaro/scenes/620.lua:30: attempt to call field '?' (a nil value) - savez vous comment changer l'icone de base "télécommande" ?
  10. Dragoniacs

    Google Calendar Vers Hc2/hcl

    Voici un peu de lecture :
  11. Dragoniacs

    Google Calendar Vers Hc2/hcl

    Oui, car Google doit accéder à ta box depuis internet. C'est assez simple à mettre en œuvre. Envoyé de mon SM-A530F en utilisant Tapatalk
  12. Dragoniacs

    Google Calendar Vers Hc2/hcl

    Oui, c'est bien l'IP de la HC2, mais en mode externe : 82.123.xxx.xxx ou Mabox.dyndns.org Envoyé de mon SM-A530F en utilisant Tapatalk
  13. Dragoniacs

    Banque Icones Hc2 Et Hcl

    Merci@fredokl, c'est parfait Envoyé de mon SM-A530F en utilisant Tapatalk
  14. Dragoniacs

    Banque Icones Hc2 Et Hcl

    @Did je suis pas super fan de la lumière bleue au milieu, mais ça ira merci Envoyé de mon SM-A530F en utilisant Tapatalk
  15. Dragoniacs

    Banque Icones Hc2 Et Hcl

    Et vous croyez que ce serait possible d'avoir des icones pour celui là, en dimmable ? https://www.leroymerlin.fr/v3/p/produits/rampe-2-spots-industriel-metal-noir-seynave-nomade-e1500293133
  16. Dragoniacs

    Banque Icones Hc2 Et Hcl

    Est-il possible d'avoir une belle icone pour ma commande NODON ? Juste de la bonne taille, rien à ajouter Merki
  17. Bonjour à tous j'ai un soucis avec un volet qui ne s'arrête plus en position haute. J'ai donc décidé de remplacer mon FGR-221 par un 223 tout neuf. Mais impossible de le paramétrer correctement: - paramètre 155 : je n'arrive pas à lui mettre une valeur de courant qui ke fasse s'arrêter quand le volet touche le haut... - paramètre 156 : il ne tiens pas compte du temps que je lui indique.... Une idée ? J'ai raté quoi ?
  18. Dragoniacs

    Banque Icones Hc2 Et Hcl

    T'es trop fort @Did, c'est parfait ! Merci
  19. Dragoniacs

    Everspring - Ad147-6 - Prise Commandée Variateur

    Petite question sur cette prise, pour ceux qui l'ont. Elle est un peu pénible à envoyer des notifications de coupure de courant à la box FIBARO. Je me retrouve chaque jours avec des dizaines de notifications... Savez vous quel paramètre permet de supprimer ces alertes ?
  20. Dragoniacs

    Banque Icones Hc2 Et Hcl

    Coucou les pro du crayon ! Qui pourrait me faire un ON/OFF pour ma caméra XIAOMI 1080p ?
  21. Dragoniacs

    Openkarotz - Module Virtuel

    Tu nous tiendra au courant, par ce que moi je le kiffe toujours autant mon lapinou [emoji16] Envoyé de mon SM-A530F en utilisant Tapatalk
  22. Dragoniacs

    Openkarotz - Module Virtuel

    Ca signerait la mort de Openkarotz ? [emoji24] Moi qui attendait la V3.0 du lapinou by Massalia [emoji16] Envoyé de mon SM-A530F en utilisant Tapatalk
  23. Dragoniacs

    Openkarotz - Module Virtuel

    Ok, mais je crois comprendre que tu changes toute la carte... du coup on s'en moque de ce qui est dedans. Non ? Envoyé de mon SM-A530F en utilisant Tapatalk
  24. Dragoniacs

    Openkarotz - Module Virtuel

    Ils sont si différents que ça ? C'est la forme du lapin qui n'est pas la même et qui empêcherait cette compatibilité ?
  25. Dragoniacs

    HC2 & HCL - 4.543 - BETA - 31/05/2019

    Installée. Pas de soucis pour le moment... Envoyé de mon SM-A530F en utilisant Tapatalk
×