Aller au contenu

Rechercher dans la communauté

Affichage des résultats pour les étiquettes 'Tuto'.



Plus d’options de recherche

  • Rechercher par étiquettes

    Saisir les étiquettes en les séparant par une virgule.
  • Rechercher par auteur

Type du contenu


Forums

  • Bienvenue
    • Nouveau ? Présentez-vous
    • Le bistrot
    • Mon installation domotique
    • Annonces et suggestions
  • La Home Center et ses périphériques
    • La Home Center pour les nuls
    • HC 2 & Lite
    • HC 3
    • Modules Fibaro
    • Modules Z-wave
    • Périphériques et matériels autres
    • Plugins
    • Quick App
    • Multimédia (audio, vidéo ...)
    • Chauffage et Energie
    • Actionneurs & Ouvrants (Portail, volets, piscines, ...)
    • Eclairage
    • Applications Smartphones et Tablettes
  • Autres solutions domotiques
    • Box / Logiciel
    • Modules Nice (433 & 866 MHz)
    • Modules Zigbee
    • GCE Electronics
    • Modules Bluetooth Low Energy
  • Objets connectés
    • Les Assistants Vocaux
    • Netatmo
    • Philips Hue
    • DIY (Do It Yoursel)
  • Sécurité
    • Alarmes
    • Caméras
    • Portiers
    • Serrures
  • Informatique / Réseau
    • Tutoriels
    • Matériels Réseaux
    • Matériels Informatique
    • NAS
    • Virtualisation
  • Les bonnes affaires
    • Sites internet
    • Petites annonces

Rechercher les résultats dans…

Rechercher les résultats qui…


Date de création

  • Début

    Fin


Dernière mise à jour

  • Début

    Fin


Filtrer par nombre de…

Inscription

  • Début

    Fin


Groupe


Jabber


Skype


Ville :


Intéret :


Version

10 résultats trouvés

  1. Je vous propose un module virtuel pour les amplificateurs audio/video de la marque DENON, en attendant la v4 et des bons plugins. Comme j'ai eu du mal à le créer, à trouver la façon de communiquer par IP (DENON ne dit rien nulle part à propos de ça) et qu'ici on aime partager... Basé sur le sujet suivant, du forum officiel de Fibaro (merci à boerremk pour la création du sujet et à ROBBshop pour le code plus léger): http://forum.fibaro.com/viewtopic.php?t=1755&postdays=0&postorder=asc&start=0 Les fonctions peuvent être utilisées pour d'autres modèles d'ampli. Les commandes spécifiques par modèles au lien suivant: http://www.denon.fr/fr/pages/home.aspx Chercher l'ampli par son nom, puis onglet telechargement et notice, puis protocole RS232. Consignes: Avant tout il faut permettre à l'ampli d'être contrôlé par IP (voir vos paramètres) 1) Importer le module virtuel au format vfib 2) Le nommer, lui assigner une pièce, indiquer son adresse IP sur votre réseau (ex 192.168.1.10) et le port d'ouverture de votre routeur (ex 80 pour la freebox v6) 3) Changer l'icône principale 4) Le port d'ouverture par défaut de l'ampli est 23, si le votre est différent il faudra le changer ligne 3 de chaque bouton 5) Vous pouvez renommer les labels ZONE1, ZONE2, Source ZONE 1 et Source ZONE 2 mais ne modifiez pas les ID des labels 6) Vous pouvez modifier les noms des boutons ⎋ ZONE 1 et ⎋ ZONE 2 ainsi que dans les lignes 23 et 31 du code correspondant Ces boutons sont pour mettre ON ou OFF chaque ZONE en fonction de l'état en cours. Cependant il n'est pas nécessaire d'allumer l'ampli avant de choisir une source, la sélection de la source d'entrée met automatiquement l'ampli en marche 7) Vous pouvez modifier les noms des boutons des sources sous les labels Source ZONE 1 et Source ZONE 2, pour indiquer ce que vous avez branché sur les entrées correspondantes ainsi que dans les lignes 22 et 23 du code correspondant 8) Vous pouvez modifier les noms des boutons 1 à 3 sous le label des stations favorites pour indiquer le nom de vos stations enregistrées ainsi que dans les lignes 22 et 23 du code correspondant 9) Vous pouvez modifier dans le code suivant, le nom des sources pour indiquer ce que vous avez branché sur les entrées correspondantes, aux lignes 73,75,77,79,87,95 et 97. Vous pouvez évidemment ajouter ou retirer des boutons. Attention toutefois si vous en retirez à modifier le main loop en conséquence. Par exemple il peut être intéressant d'enregistrer les réglages en cours (source d'entrée, volume, mode son...) quand vous regardez/écoutez la source branchée sur l'entrée MEDIA PLAYER de votre ampli, via le bouton QUICKMEMORY1, puis de remplacer dans les codes du boutons de sélection de la source MEDIA PLAYER, la commande SIMPLAY ligne 20, par la commande MSQUICK1. Quand vous appuierez sur ce bouton plus tard, vous retrouverez les réglages que vous aviez lorsque vous avez enregistré. --Virtual Device --v0.1 du 02/11/2014 --v0.2 du 05/11/2014 Erreur modifiée dans les boutons quickmemory DENON_AVR-X3000.v0.2.vfib
  2. Dgille

    Heating Manager - PID and more

    Winter is coming ! Cela fait un moment que jalouse les thermostats connectés NetAtmo et Nest, mais le coté connecté me gène. Les beaux thermostats MCO ne gèrent la régulation que par hystérisis, bref, il fallait une solution pour nos box préférées. En y réfléchissant, l'excellent Heating Manager de @OJC fourni déjà presque tout le nécessaire, voici donc une version 3.2 qui intègre une gestion de la régulation par PID, en plus des autres modes déjà présents. Le fonctionnement de l'ensemble reste le même, donc si vous êtes nouveaux sur le sujet, commencez par : J'en ai profité pour intégrer quelques corrections remontées par les autres membres du forum et d'autres que j'ai découverte. Pour activer le mode PID, il suffit de remplacer les directives setHysteresisMode ou setProportionalMode par setPIDMode(default_Kp, default_Ki, default_Kpd, cycle, minCycle). La partie la plus difficile est de fixer les coefficients. Il y a pléthore d'articles sur le sujet, donc interrogez Google ! Je vous en propose par défaut, mais pour faire simple : - la partie proportionnelle peut être fixée autour de 50 à 60 % - la partie intégrale peut être fixée à 20 % de la partie proportionnelle - la partie dérivée aux 2/3 de la partie intégrale. Tout cela est à ajuster à votre installation et dépend des caractéristiques de celle-ci, de votre isolation, du type de chauffage et de son inertie, etc.... Ayez à l'esprit que le mode PID n'est pas adapté à de brusques variations de consigne, donc si vos règles font de votre thermostat un yoyo, oubliez le PID et utilisez les autres modes ! La régulation PID peut générer des temps d'activation très court quand le système est stable, j'ai donc introduit un nouveau paramètre global minP (fixé à 2%), pour ne pas activer chaudières et convecteurs sur de très courtes durées, ce qui est inutile voire néfaste pour l'installation. Amusez vous bien ! Voici le code de la scène : Heating-manager-scene with PID-3.2.lua Anticipation de chauffe : Un peu de théorie: En fouillant sur internet, je n'ai pas trouvé beaucoup de littérature sur l'anticipation de chauffe, je n'ai pas beaucoup cherché non plus... L'algo imaginé consiste à effectuer une approximation linéaire de la montée en température de la pièce à chauffer lors des cycles de chauffe de Heating Manager. Pour ce faire, une fonction d'apprentissage alimente une matrice creuse dont les couples {température de départ, température d'arrivée) donnent une durée pour y parvenir, généralement, la durée du cycle. Pour déterminer la durée d'anticipation, une fonction récursive va chercher un chemin dans cette matrice pour déterminer la durée nécessaire pour aller de la température actuelle à la température de la consigne. La courbe résultant de la régulation PID ou UBat de Heating manager est en fait découpée en petits morceaux de droite si on en faisant une représentation géométrique. On compare ensuite la durée nécessaire pour arriver à la consigne cible à l'heure H à l'heure actuelle. Passons à la pratique: Cette version de Heating Manager, réalise un apprentissage basé sur les cycles de chauffe, en permanence, même lorsque la fonctionnalité est désactivée (par défaut). Pour avoir une anticipation fiable, il est conseillé de laisser tourner ainsi quelques jours pour constituer la matrice, stockée dans une table Lua, sauvegardée dans la VG HeatingManagerAA. L'apprentissage moyenne les températures de fin de cycle, pour compenser les périodes de chauffe rapide en demi saison et les périodes de chauffe lente en hiver. En cas de brusque changement des conditions climatiques, l'anticipation pourra ne pas être optimale pendant quelques jours, le temps que la matrice s'adapte. Il faut prévoir dans ce cas une marge de sécurité sur vos panneaux, j'intègrerai peut être celle-ci dans une prochaine version. Pour activer la fonctionnalité, il suffit d'activer la ligne self:setAutoAdapt(true) dans la section configuration de la scène. Par contre, pour anticiper les cycles, il faut un planning, vous devez donc vous appuyer, soit sur le Heating Provider, soit sur les panneaux de chauffage de la HC2. Les horaires indiquée deviennent ceux ou la température doit être atteinte. Si vous utilisez les panneaux de chauffage et si une température de vacance ou une dérogation de consigne est en cours, la scène en tient compte et désactive l'anticipation de chauffe. La scène vérifie que le temps d'anticipation ne dépasse pas 3h par défaut. Si vous devez chauffer 6h à l'avance pour obtenir votre consigne, c'est que vous avez un problème de chauffage ou de porte ouverte.... J'ai ajouté également une version du VD Heating Provider intègrant la fonctionnalité AutoAdapt. Il aura besoin, en plus du planning, de connaitre la sonde de température de la zone et de l'ID déclaré dans la scène pour identifier le dispositif de chauffe. Deux fonctions pour cela : HeatingManager:addheater("lblZoneJour", "id du qubino ou du FGS" ) HeatingManager:addprobe("lblZoneJour", {id de la sonde,"value"} ) Je pense que l'algo peut encore être amélioré, mais je partage cette première version avant de passer à la HC3... Amusez vous bien.... Heating_Provider with AutoAdapt 3.4.vfib heating-manager-scene with PID and AutoAdapt.lua-3.5.lua Heating Manager V4.0 HC3 BETA with PID and AutoAdapt.lua
  3. Bonjour tous le monde, Chose promise chose due, voici le tant attendu "module" permettant de piloter un Xiaomi Vaccum, pour ceux qui ne le savent pas cet aspirateur robot v1 (la v2 est en pré-commande, elle dispose en plus de l'option lavage et quelques évolutions supplémentaires) concurrence les grands du marché tel que Neato ou encore iRobot. Et oui pour 230€ vous pouvez disposer de "Conchita" et celle-ci rivalise face aux aspirateurs de l'ordre de 600€ - 800€ des marques précédemment citées. Revenons à la domotique, tous démarra lorsque j'ai dis à madame que j'allais mettre 6€ (Plugin Jeedom) de plus au profit de "Conchita", et la scène de ménage , bon j'exagère mais j'ai quand même eu le droit à un : "Tu ne peux pas le faire avec ta Box Fibaro, 590€ et c'est pas capable de faire ça !" J'ai remballé mon porte monnaie et j'ai dis ok "challenge accepted" ! Et nous voici quelques semaines plus tard, après quelques claquage de tête sur les murs, avec quelque chose de fonctionnel, j'avoue c'est un peu l'usine à gaz mais j'ai pas trouvé plus simple avec les limitations que l'on a avec les Scènes et les VD... Pour Expliquer un peu le principe : Les produits Xiaomi dialogue via protocol UDP (port 54321 pour le Vaccum je ne sais pas ce qu'il en ai pour les autres objet de la marque), la construction de la trames UDP est expliquer ici ce dernier lien ma grandement servi et j'en remercie l'auteur sans lui je n'aurais jamais pu commencer. Sans entrée trop dans les détails, si l'on veut dialogué avec le robot on doit lui dire bonjour pour récupérer une séquence, ensuite on construite le paquet à lui transmettre en l'encryptant avec un Token propre à chaque aspirateur (AES128, MD5...) on lui transmet et on décrypte la réponse. Dans notre box voici comment le dialogue opère : Hello (VD ) ==> Encryptions du paquet (Scène) ==> Envoie de la trame au Robot (VD) ==> Description de la réponse (Scène) Fini le blabla, je vous invite à créer une nouvelle scène en lua en modifiant les propriétés User Params à savoir : Le token de votre robot. (Vous pouvez la récupérer à l'aide du Tuto de Cédric ici ou pour Iphone grâce a @ggpublic ici) On reviendra remettre l'id du VD plutard Scène : Xiaomi Vaccum Scene.lua Xiaomi Vacuum Scene v1.1.lua Xiaomi Vacuum Scene v1.3.lua Gestion des Zones : Depuis la version 3.3.9_003194 pour les Vaccum Version 1 et depuis toujours pour la V2 (S50) pour pouvait demandé à votre aspi de faire un nettoyage sur une partie de la map (la cuisine, ou une partie de celle-ci....) Les paramètres de zones ce trouve dans la partie Scène : -- Zone Config [x,y,x1,y1,count] local user_zone = { cuisine = "[25500,24000,26500,25000,1]", salon = "[26117,26005,27767,27205,1]", salle = "[26117,26005,27767,27205,1]", sdb = "[26117,26005,27767,27205,1]", } J'ai pour l'instant configuré 4 zones les plus communes que l'on retrouve chez soi, ces zones sont lié aux 4 boutons dans la section Zone du VD. Si vous souhaiter rajouté une zone il suffit d'ajouter un bouton et un tableau avec les coordonnées de la nouvelle zone. Les coordonnées représentent un rectangle sur la maps avec un axe X et un axe Y du coup avec deux points le robot lui va en faire un rectangle. Par exemple pour la cuisine ou le premier point ce situe en coordonnées 25 500, 24 000 (S sur la capture ci-dessous) et le second point 26500, 25000 ( E sur la capture ci-dessous) le la zone à nettoyé est donc représenté par un rectangle en trait noir sur la capture Il faut savoir que la base (le démarrage du robot) sur la maps est toujours situé à peu près au centre de la maps de 52000 mm x 52000 mm, au coordonnée x : 25 500 y : 25 500. (Si vous vous déplacé de 25 500 à 24 500 en théorie vous avez fait 1 mètre) Afin de pouvoir vous repérer sur la carte, j'ai produit un fichier excel qui représente les coordonnées. (C'est pas super User Frendly mais j'ai pas trouvé autre chose :s ). L'idée est de déplacer votre robot à 4 endroit sur la maps à des coordonnées précises à l'aide de la fonction Go To du VD (faire un ou 2 mètres pas plus), ainsi vous allez avoir une maps avec un trajet de quatre point. Il faut ensuite prendre une capture d'écran de votre maps sur l'application Mi Home, puis avec un logiciel tel que Paint.Net supprimer le font de la maps (avec l'outil de selection magique, qui selectionnera la couleur de fond de la map) et venir le coller sur le fichier excel ci-dessous. Vous dimensionner ensuite votre image pour qu'elle corresponde aux trajets que vous avez effectué précédemment avec le robot. Ainsi vous pourrait avoir les coordonnées des pièces que vous souhaité et les renseignées dans la Scène. Calcul Maps.xlsx Virtual Device: Le virtual device à importer et à configurer comme suis (je vous conseille d'éditer le vfib avec le numéro de votre icône une fois celle-ci importé) : Entre l'adresse ip du Robot ainsi que le numéro de la Scène créer précédemment Virtual Device : Xiaomi_Vacuum.vfib Xiaomi_Vacuum en.vfib - V 1.1 Xiaomi_Vacuum fr.vfib - V1.1 Xiaomi_Vacuum v1.3_FR.vfib - V1.3 N'oubliez pas de revenir sur votre scène pour y ajouter l'ID du VD. Attendez 30 secondes et en principe vous devriez avoir des informations dans le VD GEA : Voici dès exemple de gestion du Robot aspirateur dans GEA, (Notification de démarrage et d'arrêt, notification lors d'erreur. Démarrage du nettoyage quand personne n'est présent à la maison ) : --[[ %% autostart %% properties 65 ui.status.value -- permet d'avoir le modification au changement d'état du label Satus du VD %% globals --]] -- // Xiaomi Vacuum -- Notification GEA.add({"Label", id["XAIOMI_VACCUM"], "status", "Nettoyage"}, -1, "Je commence l'aspiration de la maison" ) GEA.add({{"Label", id["XAIOMI_VACCUM"], "status", "Chargement"},{"Label!", id["XAIOMI_VACCUM"], "cleantime", ""},{"Label!", id["XAIOMI_VACCUM"], "cleanarea", ""}}, -1, "J'ai fini pour aujourd'hui, Surface traité : #value[3]#, Temps passé : #value[2]#, je retourne à la base" ) GEA.add({"Label!", id["XAIOMI_VACCUM"], "error", ""}, 30, "J'ai besoin d'aide, #value[1]#" ) -- Start GEA.add(true, 0, "",{{"VariableCache", "CleanningToday", "false"}}) GEA.add({{"VariableCache", "CleanningToday", "true"},{"Time", "23:30", "23:31"}}, 30, "", {{"VariableCache", "CleanningToday", "false"}}) GEA.add({{"Label", id["XAIOMI_VACCUM"], "status", "Chargement"}, {"VariableCache", "CleanningToday", "false"}, {"Time", "10:15", "19:00"}, Absence, AlarmeEnable}, 60*15, "", {{"VirtualDevice", id["XAIOMI_VACCUM"],12},{"VariableCache", "CleanningToday", "true"}}) Icône : Merci à @Fredric pour ces icônes : NEW Version 1.3 : - Optimisation du code - Ajout des fonctions Zone et Go To - Ajout du statu des consommables - Ajout des commandes de contrôle du volume Version 1.1 : - Gestion des erreurs - Ajour du choix de la langue - Module virtuel en Français et anglais - Fermeture de la connexion après chaque envoie (disconnect et nil) Xiaomi Vacuum Scene v1.2b.lua
  4. Steven

    Pluviométrie Avec Netatmo

    PLUVIOMETRIE (ET ARROSAGE) AVEC NETATMO firmware 4.x seulement Partie 1 : récupérer l'historique Netatmo est une station météo sur laquelle vous pouvez brancher un "pluviomètre" de la même marque. Afin d'exploiter les données de ce pluviomètre et vous pouvez utiliser l'application Netatmo ou son site web. Vous pouvez aussi installer le plugin Netatmo fourni par Fibaro. Ce dernier vous affichera uniquement les données à l'instant précis ou vous être entrain de le regarder. Nous, nous voulons allez plus loin, nous voulons connaitre les quantités de pluie ayant eu lieu depuis : 1 jour, 1 semaine, 1 mois, cela dans l'optique de pouvoir gérer correctement notre arrosage. Pour ce faire, il existe un grand nombre de script PHP, Google Script qui permet de gérer cela .. mais ... depuis la v4.x, Fibaro nous fait bénéficier de la librairie net.httpClient dans une scène et cette librairie nous permet de récupérer des données via HTTPS, ce qui auparavant n'était pas possible depuis notre HC2. Alors vu que nous avons, aujourd'hui, tout le nécessaire pour attaquer notre Netatmo directement depuis notre HC2, pourquoi s'en priver Les données recueillies par votre Netatmo sont mis à diposition via des API que vous pouvez interroger quand bon vous semble à la seul condition d'avoir un compte Développeur Netatmo (ne vous inquiéter pas, vous n'aurez pas beson de développer, ni de répondre à des questions étranges). Pour vous inscrire, c'est donc ici : https://auth.netatmo.com/fr-FR/access/signup Suite à votre enregistrement, vous allez obtenir : un id (exemple : 45b1931d19665803515b571c) un code secret (exemple : lyRkJXZLIM8xShACtmQjsCQV4U3djL08Zq1hUStbUJ4) Ces informations + votre login et mot de passe vont permettre d'accéder à vos informations. Voici donc le script nécessaire, à vous de l'importer dans une nouvelle scène et de modifier les 4 premières lignes. local n_client_id = "45b1931d19665803515b571c" local n_client_secret = "lyRkJXZLIM8xShACtmQjsCQV4U3djL08Zq1hUStbUJ4" local n_username = "______________@_____.com" local n_password = "password" local hc2_module_virtuel = 139 -- le module virtuel "Pluie" local debug = true -- affiche ou non les message dans la console local long_lat_adjust = 0.1 -- ajustement de la distance pour trouvé un pluviomètre local version = 2.0 -- ------------------------------------------------------------------------ -- NE PAS TOUCHER -- ------------------------------------------------------------------------ local force_use_rain_public = false local loc = api.get("/settings/location") local lat_ne = loc.latitude + long_lat_adjust local lon_ne = loc.longitude + long_lat_adjust local lat_sw = loc.latitude - long_lat_adjust local lon_sw = loc.longitude - long_lat_adjust local token = "" local int_id = "" local ext_id = "" local ext_bat = 0 local rain_id = "" local rain_bat = 0 local temperature_interieure = -1000 local temperature_exterieure = -1000 local co2 = -1000 local humidite_interne = -1000 local humidite_externe = -1000 local pression = -1000 local bruit = -1000 local rains = {hour = -1000, day = -1000, week = -1000, month = -1000} -- ------------------------------------------------------------------------ -- Exécuté après chaque requète HTTP -- ------------------------------------------------------------------------ function afterHttpRequest() if (temperature_interieure > -1000) then end if (temperature_exterieure > -1000) then end if (co2 > -1000) then end if (humidite_interne > -1000) then end if (humidite_externe > -1000) then end if (pression > -1000) then end if (bruit > -1000) then end if (rains["hour"] > -1000) then if (rains["hour"] == -1) then fibaro:call(hc2_module_virtuel, "setProperty", "ui.lblHeure.value", "n/a") else fibaro:call(hc2_module_virtuel, "setProperty", "ui.lblHeure.value", " "..rains["hour"]) end end if (rains["day"] > -1000) then if (rains["day"] == -1) then fibaro:call(hc2_module_virtuel, "setProperty", "ui.lblJour.value", "n/a") else fibaro:call(hc2_module_virtuel, "setProperty", "ui.lblJour.value", " "..rains["day"]) end end if (rains["week"] > -1000) then if (rains["week"] == -1) then fibaro:call(hc2_module_virtuel, "setProperty", "ui.lblSemaine.value", "n/a") else fibaro:call(hc2_module_virtuel, "setProperty", "ui.lblSemaine.value", " "..rains["week"]) end end if (rains["month"] > -1000) then if (rains["month"] == -1) then fibaro:call(hc2_module_virtuel, "setProperty", "ui.lblMois.value", "n/a") else fibaro:call(hc2_module_virtuel, "setProperty", "ui.lblMois.value", " "..rains["month"]) end end end -- ------------------------------------------------------------------------ -- Affichage dans la console -- ------------------------------------------------------------------------ function log(message, force) force = force or false if (debug or force) then print(__convertToString(message)) end end -- ------------------------------------------------------------------------ -- Retourne le niveau de batterie en pourcent -- ------------------------------------------------------------------------ function calcBat(bat, ext) local max = 6000 local min = 4200 if (ext) then max = 6000 min = 3600 end if (bat > max) then bat = max end return math.floor(bat * 100 / max) end -- ------------------------------------------------------------------------ -- Arrondi -- ------------------------------------------------------------------------ local function roundToNthDecimal(num, n) local mult = 10^(n or 0) return math.floor(num * mult + 0.5) / mult end -- ------------------------------------------------------------------------ -- Interrogation de l'API -- ------------------------------------------------------------------------ function getResponseData(url, body, func) local http = net.HTTPClient() http:request(url, { options = { method = 'POST', headers = { ["Content-Type"] = "application/x-www-form-urlencoded;charset=UTF-8" }, data = body }, success = function(response) func(json.decode(response.data)) afterHttpRequest() end, error = function(response) log(" ERROR !!! " .. url, true) end, }) end -- ------------------------------------------------------------------------ -- Mesures de l'unité interne -- ------------------------------------------------------------------------ function getMesuresInt() getResponseData("https://api.netatmo.net/api/getmeasure","access_token="..token.."&device_id="..int_id.."&scale=max&type=Temperature,CO2,Humidity,Pressure,Noise&date_end=last", function(data) log("----------========== Module intérieur ==========----------") temperature_interieure = data.body[1].value[1][1] co2 = data.body[1].value[1][2] humidite_interne = data.body[1].value[1][3] pression = data.body[1].value[1][4] bruit = data.body[1].value[1][5] log("temperature_interieure = " .. temperature_interieure) log("co2 = " .. co2) log("humidite_interne = " .. humidite_interne) log("pression = " .. pression) log("bruit = " .. bruit) end ) end -- ------------------------------------------------------------------------ -- Mesure de l'unité externe -- ------------------------------------------------------------------------ function getMesuresExt() getResponseData("https://api.netatmo.net/api/getmeasure","access_token="..token.."&device_id="..int_id.."&module_id="..ext_id.."&scale=max&type=Temperature,Humidity&date_end=last", function(data) log("----------========== Module extérieur ==========----------") temperature_exterieure = data.body[1].value[1][1] humidite_externe = data.body[1].value[1][2] log("temperature_exterieure = " .. temperature_exterieure) log("humidite_externe = " .. humidite_externe) end ) end -- ------------------------------------------------------------------------ -- Obtention des informations sur un pluviomètre proche -- ------------------------------------------------------------------------ function getRainNear() getResponseData("https://api.netatmo.net/api/getpublicdata","access_token="..token .. "&lat_ne="..lat_ne.."&lon_ne="..lon_ne.."&lat_sw="..lat_sw.."&lon_sw="..lon_sw, function(data) --log(data) rains["week"] = -1 rains["month"] = -1 rains["hour"] = -1 rains["day"] = -1 log("----------========== D e v i c e s =========----------") for _, v in pairs(data.body) do for l, w in pairs(v.measures) do if (type(w.rain_24h) ~= "nil") then rains["day"] = w.rain_24h rains["hour"] = w.rain_60min end end end if (rains["day"] == -1000) then log("Impossible de trouver un pluviomètre à proximité, augmentez [long_lat_adjust]", true) else log("Pluie jour : " .. rains["day"]) log("Pluie heure : " .. rains["hour"]) end end ) end -- ------------------------------------------------------------------------ -- Mesure du détecteur de pluie historique -- ------------------------------------------------------------------------ function getMesuresRain(duree, variable) local now = os.time(); getResponseData("https://api.netatmo.net/api/getmeasure","access_token="..token.."&device_id="..int_id.."&module_id="..rain_id.."&scale=1hour&type=sum_rain&real_time=true&date_begin="..os.date("!%c", (now - duree)), function(data) log("----------========== Pluie histo ==========----------") local cumul = 0 for k, v in pairs(data.body) do for l, w in pairs(v.value) do cumul = cumul + w[1] end end cumul = roundToNthDecimal(cumul, 2) rains[variable] = cumul log("rain["..variable.."] = " .. rains[variable]) end ) end -- ------------------------------------------------------------------------ -- Obtention des informations sur les devices -- ------------------------------------------------------------------------ function getDevices() getResponseData("https://api.netatmo.net/api/devicelist","access_token="..token, function(data) log("----------========== D e v i c e s =========----------") for _, v in pairs(data.body.modules) do if (v.data_type[1] == "Rain") then rain_id = v._id rain_bat = calcBat(v.battery_vp, true) else ext_id = v._id ext_bat = calcBat(v.battery_vp, true) end end int_id = data.body.devices[1]._id getMesuresInt() getMesuresExt() if (rain_id ~= "" and not force_use_rain_public) then getMesuresRain(60 * 60, "hour") getMesuresRain(60 * 60 * 24, "day") getMesuresRain(60 * 60 * 24 * 7, "week") getMesuresRain(60 * 60 * 24 * 30, "month") else getRainNear() end end ) end -- ------------------------------------------------------------------------ -- Authentification -- ------------------------------------------------------------------------ function auth(nextFunction) local request_body = "grant_type=password&client_id=" .. n_client_id .. "&client_secret=" .. n_client_secret .. "&username=" .. n_username .. "&password=" .. n_password .. "&scope=read_station" getResponseData("https://api.netatmo.net/oauth2/token", request_body, function(data) token = data.access_token log(token) nextFunction() end ) end auth(getDevices) log("Last request : " .. os.date("%x - %X"), true) si vous avez l'âme d'un développeur ou d'un aventurier, la méthode à modifier est afterHttpRequest() sinon, rendez-vous au post suivant. P.S. Merci à @PITP2 pour son support. Edit : nouvelle version du script. Si ce dernier détecte que vous n'avez pas de pluviomètre, il va rechercher un pluviomètre à proximité de chez vous (uniquement les relevés de la dernière heure et jour). La distance de recherche peux être adaptée en ajustant la variable long_lat_adjust (0.1 par défaut). Il s'agit du cercle de recherche en latitude/longitude autour de chez vous.
  5. Bonjour, Vous connaissez certainement les relais Sonoff basic. Ceux-ci fonctionnent en wifi (oui je sais, c'est gadget) et sont vendus à un prix défiant toute concurrence. Lorsque vous le recevez, le module fonctionne à travers un cloud chinois (oui je sais, c'est nul). Il existe un firmware alternatif qui a été créé. Il s'agit de Tasmota. Cette version modifiée est très bien puisqu'elle permet d'agir en local directement sur son relai Sonoff et il y a bien d'autres fonctionnalités. Malheureusement, pour flasher le module, il faut s'armer d'un fer à souder et d'un circuit FTDI232RL pour pouvoir écrire dans la mémoire du module. Pour ceux qui sont équipés et motivés, je vous invite à suivre ce très bon tuto rédigé par Domo Blog Comment Flasher le firmware du Sonoff. Pour les moins bricoleurs d'entre nous, voici comment activer vos Sonoff depuis une Home Center Lite (donc sans utiliser de code Lua). Installez vos Sonoff avec l'application mobile dédiée et les ajouter à votre cloud eWeLink. Créez un compte IFTTT Liez les deux Activez le service eWeLink vous permettant d'agir sur vos Sonoff Activez le service Webhooks et conservez la clé précieusement Créez une nouvelle applet avec comme déclencheur le service Webhooks. Normalement vous n'aurez qu'une option mais si ce n'est pas le cas choisissez "Recive a web request" et ajoutez un "Event Name qui correspond à votre Sonoff. Par exemple "sonoff_bureau_on". Dans le that, choisissez eWeLink, puis le module correspondant. Dans le cas d'un Sonoff basic, il faut prendre "Turn 1 Channel switch on or off". Vous n'avez plus qu'à sélectionner le bon module Sonoff ainsi que la fonction on ou off. Dans notre cas la requête Webhooks était "sonoff_bureau_on" donc nous prenons la valeur on. Dès maintenant, si vous venez taper sur la requête url http://maker.ifttt.com/trigger/XXX_VOTRE_EVENT_NAME_XXX/with/key/XXX_VOTRE_KEY_WEBHOOKS_XXX le relai Sonoff s'activera. Vous l'aurez bien compris, il faut faire deux applets par module, soit une on et une off. Il ne reste plus qu'à créer les périphériques virtuels dans votre Home Center. Module - ajouter un périphérique virtuel Dans Général renseignez nom et pièce comme bon vous semble. Comme adresse IP inscrivez : maker.ifttt.com et comme port le 80 Dans Avancé ajouter une ligne de deux boutons. Pour le premier, je vous suggère de le nommer On et de mettre on comme ID également. Activez la case Principal et n'oubliez pas de cocher "En attente de la réponse du périphérique". Enfin, voici ce qu'il faut inscrire comme message : GET /trigger/XXX_VOTRE_EVENT_NAME_XXX/with/key/XXX_VOTRE_KEY_WEBHOOKS_XXX HTTP/1.1 Host: maker.ifttt.com Attention, il faut impérativement ajouter deux retours à la ligne après maker.ifttt.com sinon cela ne fonctionnera pas. Voilà, votre périphérique virtuel est créé et vous pouvez actionner votre Sonoff. Il y a un délai de quelques secondes car votre box Fibaro envoie la requête à IFTTT, qui l'envoie à son tour chez eWeLink, en Chine, qui envoie la requête d'allumage à votre Sonoff, chez vous... Ce n'est donc pas idéal mais ça fonctionne. En prime, je vous joins le fichier vfib. N'oubliez pas de renseigner l'adresse IP et le Port dans ce cas. N'hésitez pas si vous avez des questions / remarques. A+ Relai Sonoff.vfib
  6. Bonjour à tous, Je suis à la recherche d'un tutoriel qui décrirait comment installer HomeBridge sur un NAS Synology. J'ai trouvé beaucoup de résultats quant à l'installation sur un Rasberry Pi, mais aucun décrivant la démarche sur un NAS Synology. Je possède un DS916+ avec 4 Disques Durs de 3To et il serait dommage de devoir investir dans un Rasberry alors que l'installation semble pouvoir se faire sur un Syno. J'ai donc pu trouver le plugin pour Fibaro HC2 ici. Et un tuto pour une installation pour Vera ici. Cependant, je n'en suis encore qu'à me premières heures d'utilisation et de compréhension de la domotique et je ne suis pas capable de mixer moi-même ces deux informations en étant certain du résultat. Je requiers donc votre aide, une fois de plus, pour éventuellement me guider, voire même me trouver un tutoriel que je n'aurai qu'à suivre pour ne pas commettre de bourde... Je vous remercie par avance de vos réponses ! Tutoriel HomeBridge sur Synology Docker (testé sous HC2 v4.510)
  7. Salut à tous !!! Pour mon premier post, je partage avec vous quelques VD lié à l’univers Philips Hue et, cerise sur le gâteau, compatible avec les ampoules LED TRÅDFRI de Ikea. Ils sont inspirés de ce que j’ai pu glané ici et là sur le forum, notamment le VD de @Zorgonaute84 et le VD de @Moicphil. /!\ Avant de commencer : Créer un compte Développeur sur son bridge Connectez-vous au Bridge Hue depuis un navigateur internet via l'adresse suivante : http://<IPduBridgeHUE>/debug/clip.html Dans URL : vous tapez : /api Dans Message body : {"devicetype":"my_hue_app#newdevelopper"} Appuyez sur le bouton d'association de votre bridge HUE, puis vous cliquez sur POST Dans Command Response : recopier le username Récupérer la configuration de votre bridge Connectez-vous au Bridge Hue depuis un navigateur internet via l'adresse suivante : http://<IPduBridgeHUE>/debug/clip.html Dans URL : vous tapez : /api/VotreUsername/ Cliquez sur GET Dans Command Response : recopier et sauvegarder le texte afin de conserver sur le coude vos n° de lampe, n° de groupe, etc… Créer la variable globale VD_Hue_User Dans le panneau de Variables, ajouter, dans le tableau Variables prédéfinies, la variable VD_Hue_User. Donner lui la valeur de votre username récupéré sur le Bridge. Supprimer l’autre valeur, en lui donnant la même valeur. Du coup, pour la plupart des VD proposés, vous aurez plus qu’à renter l’adresse IP et le n° de l’ID (n° de la lampe, n° du groupe, etc…) dans le port TCP. Quelques liens utiles https://my.meethue.com/fr-fr/ https://developers.meethue.com/documentation/getting-started https://developers.meethue.com/philips-hue-api https://developers.meethue.com/documentation/supported-lights Logiciel WinHue 3 : https://hyrules.github.io/WinHue3/ Gamut - Espace Colorimétrique Philips utilise 3 Espaces de couleur : A, B et C. en fonction de la référence du produit. Les VD proposés sont optimiser pour un Gamut de type C. Pour le Gamut A, relativement proche, il ne devrait pas y avoir de soucis. Par contre pour le Gamut B, à cause de l'espace colorimétrique, les couleurs entre le jaune et le bleu (Lime, Vert, Jade, Cyan, Bleu ciel) devraient logiquement être presque blanche... Icônes : Pour chaque VD ou Scène, pour l'icône par défaut, j'utilise toujours une icône invalide (la rose avec ?). Cela me permet de savoir au premier coup d'œil si le VD ou la scène fonctionne correctement. --------------------------------------- VD Talwayseb - Bridge Philips Hue : - Renseigner l'adresse IP de votre bridge dans le champ "Adresse IP" du module - Renseigner le port 80 de votre bridge dans le champ "Port TCP" - Ajouter les 7 icônes pour le modèle de votre choix pour chaque état : Bridge V1 Bridge V2 - Dans la Boucle Principale (Main Loop), il faut également ajouter le numéro des icônes en fonction de chaque état. Téléchargement : Le ZIP : VD Talwayseb - Bridge Philips Hue V1.0.zip (Contient le .VFIB + les icônes) Mot de Passe : Talwayseb --------------------------------------- VD Talwayseb - Ampoule Philips et Ikea en fonction du type : - Renseigner l'adresse IP de votre bridge dans le champ "Adresse IP" du module - Renseigner le n° ID de la lampe Hue à contrôler dans le champ "Port TCP" - Ajouter les 26 icônes pour la catégorie de votre choix pour chaque couleur : Ampoule E27 Ampoule GU10 Bandeau LED Ampoule E14 Ampoule blanche dimmable - Dans la Boucle Principale (Main Loop), il faut également ajouter le numéro des icônes en fonction de chaque couleur. Téléchargement en fonction de votre type de lampe : Le ZIP pour les ampoules de couleurs - Color Light (e.g. Bloom, Iris, LightStrips) : VD Talwayseb - Ampoule Philips Hue Color V1.0.zip (Contient le .VFIB + les icônes) Le ZIP pour les ampoules de couleurs étendues - Extended Color Light (e.g. A19, BR30, GU10) : VD Talwayseb - Ampoule Philips Hue White & Color V1.1.zip (Contient le .VFIB + les icônes) Le ZIP pour les ampoules blanche d'ambiance - Color Temperature Light (e.g. ) : VD Talwayseb - Ampoule Philips Hue White Ambiance V1.0.zip (Contient le .VFIB + les icônes) | Compatible Ikea Le ZIP pour les ampoules blanche dimmable - Dimmable Light (e.g. Hue Lux A19) : VD Talwayseb - Ampoule Philips Hue White V1.1.zip (Contient le .VFIB + les icônes) | Compatible Ikea Mot de Passe : Talwayseb --------------------------------------- VD Talwayseb - Groupe Philips en fonction du type : - Renseigner l'adresse IP de votre bridge dans le champ "Adresse IP" du module - Renseigner le n° ID du groupe Hue à contrôler dans le champ "Port TCP" - Ajouter les 26 icônes pour chaque couleur - Ou ajouter les 18 icônes si que dimmable - Dans la Boucle Principale (Main Loop), il faut également ajouter le numéro des icônes en fonction de chaque couleur. Téléchargement en fonction de votre type de groupe : Le ZIP pour le groupe des ampoules de couleurs : VD Talwayseb - Groupe Philips Hue Color V1.0.zip (Contient le .VFIB + les icônes) Le ZIP pour le groupe des ampoules de couleurs étendues : VD Talwayseb - Groupe Philips Hue White & Color V1.1.zip (Contient le .VFIB + les icônes) Le ZIP pour le groupe des ampoules blanche d'ambiance : VD Talwayseb - Groupe Philips Hue White Ambiance V1.0.zip (Contient le .VFIB + les icônes) | Compatible Ikea Le ZIP pour le groupe des ampoules blanche dimmable : VD Talwayseb - Groupe Philips Hue White V1.0.zip (Contient le .VFIB + les icônes) | Compatible Ikea Mot de Passe : Talwayseb --------------------------------------- VD Talwayseb - Beyond Philips Hue : - Renseigner l'adresse IP de votre bridge dans le champ "Adresse IP" du module. - Renseigner le n° ID du groupe Hue par défaut à contrôler dans le champ "Port TCP". - Créer une variable globale unique pour chaque VD pour le mode. Dans mon VD, elle s'appelle VD_ModeHue_SAM. - Pour la plupart des Boutons et dans la Boucle Principale (Main Loop), il faut renseigner les groupes à gérer en fonction du mode choisi : NumGroupUp pour le N° du Groupe Beyond Up NumGroupDown pour le N° du Groupe Beyond Down - Ajouter les 96 icônes pour chaque couleur : Icônes communes Mode1 (gestion de l'Eclairage Bas en Blanc + Eclairage Haut en Couleur) Mode2 (gestion de l'Eclairage Bas en Couleur + Eclairage Haut en Blanc) Mode3 (Gestion des 2 sources lumineuses de façon identique) Mode4 (Gestion de la source lumineuse Haute) Mode5 (Gestion de la source lumineuse Basse) - Dans la Boucle Principale (Main Loop), il faut également ajouter le numéro des icônes en fonction de chaque couleur pour chaque mode. - Toujours dans la boucle, renseigner un n° ID d'une lampe comprise dans le groupe par défaut. Téléchargement : Le ZIP : VD Talwayseb - Beyond Philips Hue V1.2.zip (Contient le .VFIB + les icônes) Mot de Passe : Talwayseb --------------------------------------- VD Talwayseb - CMD Général Philips Hue White & Color (Groupe 0) : /!\ attention à la gestion des groupes, j'ai personnellement un groupe avec des informations différentes. j'ai fais en sorte de ne pas l'interroger. - Renseigner l'adresse IP de votre bridge dans le champ "Adresse IP" du module - Renseigner le n° ID du groupe Hue par défaut à contrôler dans le champ "Port TCP" - Ajouter les 26 icônes pour chaque couleur - Dans la Boucle Principale (Main Loop), il faut également ajouter le numéro des icônes en fonction de chaque couleur. - Sur certain Bouton et dans la Boucle Principale, il faut renseigner la variable CdeGroupMax avec le nombre de groupe que vous avez. Téléchargement : Le ZIP : VD Talwayseb - CMD Général Philips Hue White & Color (Groupe 0) V1.1.zip (Contient le .VFIB + les icônes) Mot de Passe : Talwayseb --------------------------------------- VD Talwayseb - Timer Philips Hue : Ce VD vous permet de piloter une Tempo créer et existante via l'application officielle Philips Hue . Via l'application Philips Hue : 1 - Dans l'onglet Routines, allez dans le Menu Minuteurs. 2 - Créez/gérez une Tempo, Affectez lui un Nom, Choisissez une durée (peut importe elle sera modifiable depuis la HC2), Choisissez votre groupe (la pièce) et vous sélectionnez le scenario extinction (vous êtes libre d'utiliser un autre scenario en fonction de vos besoin). 3 - La Tempo est prête sur le pont !!! Via l'API Debugger : Connectez-vous au Bridge Hue depuis un navigateur internet via l'adresse suivante : http://<IPduBridgeHUE>/debug/clip.html Dans URL : vous tapez : /api/VotreUsername/schedules/ Cliquez sur GET Dans Command Response : repérez le n° ID qui possède le nom de la Tempo que vous avez paramétré. Sur la HC2 : - Renseigner l'adresse IP de votre bridge dans le champ "Adresse IP" du module - Renseigner le n° ID du Timer par défaut à contrôler dans le champ "Port TCP". - Ajouter les 5 icônes pour chaque état : - Dans la Boucle Principale (Main Loop), il faut également ajouter le numéro des icônes en fonction de chaque état. Téléchargement : Le ZIP : VD Talwayseb - Timer Philips Hue V1.0.zip (Contient le .VFIB + les icônes) Mot de Passe : Talwayseb --------------------------------------- Intégration des Ampoules IKEA TRÅDFRI via le pont Philips Hue : Voici une procédure pour les intégrer : Ajouter des ampoules L.E.D ikea TRÅDFRI sur le pont Philips Hue --------------------------------------- Voiloùuuuuu !!! C'est avec plaisir que je prendrai les suggestions d'amélioration !!! --------------------------------------- Modifications à venir : - Support du Multi langues - Ajout d'un Bouton Flash dans les VD des Lampes et des Groupes - Ajout des Scènes dans les VD des Groupes - Gestion des Variables globales dans tous les VD --------------------------------------- Demandes des Membres : - VD Motion Sensors Hue - VD Télécommande Dimmer Hue
  8. Une petite mise en situation de ma future installation de sécurité du logement, en utilisant non pas de détecteurs de mouvement zwave mais en rendant zwave des détecteurs couramment utilisés dans les habitations pour allumer des lumières. Pour ma part il s'agit de détecteurs Legrand 3 fils. Ainsi ils rempliront 2 rôles: allumer les LED de la lumière indirecte du plafond de l'entrée et des couloirs (via le module RGBW de Fibaro), et surveiller le logement lorsque j'activerai l'alarme avec un clavier RFID. A. Pour l’intégration d’un clavier RFID Basé sur le tuto suivant : http://e-domotic.fr/blog/autres-devices/realisation-dun-lecteur-rfid-zwave/ S’inspirant lui-même de cette page : http://homeautomategorilla.blogspot.fr/2011/03/materiel-controle-dacces-rfid.html I) Matériel nécessaire : Un clavier RFID (acheté sur ebay en tapant « keypad rfid », le clavier benext RFID n'étant malheureusement pas (encore?) géré par le HC2... Des badges RFID 125kHz également achetés sur ebay Un transformateur AC 230V en DC 12V (ou 24V suivant le clavier RFID) Un module universel Fibaro FGBS-001 « Universal Sensor » chez votre revendeur préféré II) Branchements Le branchement à l'arrière du clavier RFID: 12V et GND pour alimenter la clavier, NC et COM vers l'universal sensor Fibaro Le branchement de l'universal sensor Fibaro: Alimentation électrique par le même transfo que le clavier ou un autre (le module Fibaro s'alimente de 9V à 30V DC). Une entrée (IN1 ou IN2) branché à la borne NC du clavier, et le fil GND branché à la borne COM du clavier. On voit également les fils bleu blanc et marron du module Fibaro reliés à des dominos pour l’intégration d’une sonde de température (je me demandais si on pouvait avoir en même temps une remontée de la température et l’utilisation du module en tant que capteur universel, car les schémas de la notice indique le montage pour l’une ou l’autre des situations mais n’indique nulle part si on peut combiner ces 2 utilisations, chose validée par ce test ) III) Réglages Un très bon tuto surtout pour la partie qui surveille les brouillages zwave :http://domotique-info.fr/2013/06/fibaro-mise-en-place-de-la-securite-du-logement/ Réglage du clavier RFID : s’agissant d’un clavier pour ouverture de porte, lorsque le bon code est rentré ou lorsque le badge est passé devant, une impulsion électrique est envoyée par le clavier pendant 5s par défaut pour que la gâche de la porte reste ouverte. Pensant cela j’ai acheté un relai bistable comme sur le premier tuto en haut de page (à souder soit même au passage…) mais en faisant mes tests je me suis aperçu que le relai collait une seconde fois, les 5s écoulée… Comme si une nouvelle impulsion était renvoyée pour la fermeture de la gâche. Je n’ai pas trop compris le principe de fonctionnement. Quoi qu’il en soit je n’avais pas besoin de ce relai bistable car j’avais la possibilité de mettre le temps d’ouverture de la gâche à 0 ! Une seule impulsion est donc envoyée par le clavier RFID au module Fibaro.Pour les réglages du module fibaro, l’entrée IN peut rester en Normalement Fermée (paramètre 3 ou 4) Chaque passage de badge ou entrée de mot de passe valide sur le clavier fera changer l’état du module Fibaro (Safe ou Breached) B. Pour l’intégration de capteur de mouvement Legrand (ou autre) I) Matériel nécessaire Des détecteurs de mouvements (3 fils pour mon cas, mais possible en 2 fils aussi, la différence est que sur le 2 fils il n’y a pas de neutre sur le détecteur). Le modèle Legrand 78451 est sensé ne pas faire de bruit au déclenchement, je dois encore l’acheter pour vérifier. Un module universel Fibaro FGBS-001 « Universal Sensor » Un transformateur pour alimenter le module Fibaro Un relai monostable 230V monté sur un support DIN pour l’installer dans le tableau électrique http://www.conrad.fr/ce/fr/product/503003/Relais-industriel-4-inverseurs-RT-7-A-Finder-553482300040?queryFromSuggest=true (celui ci permet de brancher jusque 4 circuit différents. Un circuit peut être composé de plusieurs détecteurs montés en parallèle) II) Branchements III) Réglages J’ai posté un message sur ce forum en bas de page pour poser une question à laquelle j’ai répondu peu après. http://www.touteladomotique.com/forum/viewtopic.php?f=18&t=11715 Avec un relai schneider (qui sera surement remplacé par un autre moins gros et moins bruyant) j'ai fait la liaison entre mon detecteur Legrand et le module universel Fibaro FGBS321. EDIT : le module finder reste un peu bruyant quand même. A voir si il existe des relai silencieux… Sur le relais SCHNEIDER: Neutre du réseau sur A1 Sortie 220V du détecteur de mouvement sur A2 IN1 du module fibaro sur 2 Fil bleu (commun) du module sur 1 Quand le détecteur capte un mouvement, le courant 220V est envoyé via le fil navette sur le relais, qui est relié de l'autre coté au neutre. Le courant passe alors dans le relais et sa bobine ferme le contact sec. Le circuit du module fibaro est alors fermé (aucun courant ne circule c'est un contact sec). Le module change alors d'état. Pensez à changer le paramètre 3 ou 4 (suivant si vous avez branché IN1 ou IN2) en normalement ouvert (normalement fermé par défaut) sinon vous aurez l'information à l'envers (safe quand vous déclenchez le capteur et breached quand il revient en pause)
  9. DYNHOST Voici un petit tuto pour ceux qui ont (ou vont) acheter un domaine chez OVH. Ceci propose un service pour mettre à jour un sous-domaine avec une ip dynamic via leur services dynhost. J'utilise un script fournit par OVH pour linux (debian pour moi) ou j'ai adapter les logs car je trouve que sa en foutait un peu partout. Configuration de la plate-forme OVH.Rendez-vous sur le manager ovh Allez dans l'onglet DynHost Ajoutez un DynHostSous-domaine: exemple.domotique-fibaro.com ip: Récupérez votre ip sur par exemple le site monip.org et valider Cliquez sur Gérer les accès et créez un identifiantssuffixe de l'identifiant: domotique-fibaro.com-ceciestmonexemple sous-domaine: exemple.domotique-fibaro.com Rentré un mot de passe alphanumériques: 12345678 et valider 2. Configuration de votre Debian Une fois sur votre debian, sur un terminal mkdir /opt/domotique-fibaro && cd /opt/domotique-fibaro && touch old.ip Mettez les fichiers de la pièce jointe dans le dossier créer et tappez Dans le fichier de configuration écrivez Sortez et faite Vous devriez voir que tous c'est bien passé. Maintenant on va faire tourner le script automatiquement toutes les 5 minutes et ajoutez avant la dernière ligne et quittez Maintenant vous avez votre sous domaine pour votre application fibaro. dynhost.zip
  10. Ce script consiste a envoyer un SMS via le plugin freesms de notre amis Krikroff que je remercie au passage pour son super boulot. A chaque ouverture ou fermeture d'une porte vous recevrez un Sms (Service Gratuit chez FREEMobile) Ce script peu bien sur être adapter pour d'autres modules 1 - Installation du plugin 2 - créé une instance et ajouter vos identifiant (il faut que le service soit activé sur votre compte freemobile c'est gratuit) 3 - faire un test pour voir si tout fonctionne parfaitement 4 - Crée un variable global FreeSmsID avec commme valeur l'ID de l'instance (J'utilise cette solution car a chaque mise a jour il faut ré installer le plugin puis re crée l'instance comme je suis pas trés courageur j' ai pas envie de modifier l'id dans toutes les scripts je modifie donc la variable global a chaque nouvelle installation du plugin, si vous avez plusieurs forfait il suffit d'utilisé un variable global par instance) 5 - Crée une nouvelle Scème LUA et ajouter ce code %% properties 35 value 39 value 152 value %% globals --]] local OrigineDeclenchement = fibaro:getSourceTrigger() -- on demande au système de récupérer (get) l'origine (Source) du déclenchement de la scène (Trigger) if OrigineDeclenchement['type'] == 'property' then -- si l'origine du déclenchement de la scène est la modification d'une propriété d'un module surveillée dans l'entête alors local id = OrigineDeclenchement['deviceID'] -- Récuperation de l'id du déclencheur local Name = fibaro:getName(id) -- Récuperation Nom du module déclencheur local MaPorte = fibaro:getValue(id, 'value' ) -- récuperation de la valeur de l'id déclencheur local IdSMS = fibaro:getGlobalValue("FreeSmsID") -- récuperation de la variable global instance freesms local MessageSms = ('La ' ..Name) fibaro:debug('id module = '..id) fibaro:debug('Nom du module = '..Name) fibaro:debug( 'ID Plugin SMS = ' .. IdSMS) fibaro:debug( 'value = ' .. MaPorte) if (MaPorte == '0') then fibaro:call(IdSMS, "send", MessageSms .." est Fermee") fibaro:debug( 'Fermer' ) else fibaro:call(IdSMS, "send", MessageSms .." est Ouverte") fibaro:debug( 'Ouverte' ) end elseif OrigineDeclenchement['type'] == 'other' then -- sinon si l'origine du déclenchement de la scène est autre alors fibaro:debug('La scène a été lancée manuellement') end - 6 Ajouter l id des modules pour lesquels vous voulez recevoir un SMS ex : pour un détecteur d'ouverture id 100 on peut en ajout comme bon vous semble . --[[ %% properties 100 value %% globals --]] C'est mon premier script que je post donc je demande a Mr Moicphil de bien vouloir être indulgent si j'ai mal posté mon post merci
×