Aller au contenu

Rechercher dans la communauté

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



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
    • Annonces et suggestions
    • Nouveau ? Présentez-vous
    • Le bistrot
    • Mon installation domotique
    • Autres Solutions Domotiques
  • La HC2 et ses périphériques
    • La Home Center pour les nuls
    • Home Center 2 & Lite
    • Modules Fibaro
    • Modules Z-wave
    • Périphériques et matériels autres
    • Plugins
    • Alarme & Vidéo-surveillance
    • Multimédia
    • Chauffage et Energie
    • Actionneurs & Ouvrants (Portail, volets...)
    • Eclairage
    • Applications Smartphones et Tablettes
    • English Section
  • Les objets connectés
    • Les Assistants Vocaux
  • Fibaro's Awards
    • Membre du mois
    • Jeux concours & Cadeaux
  • 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

65 résultats trouvés

  1. "" Recovery en image depuis la version 4.503 en 6 minutes et 10 minutes avec la récupération de la sauvegarde On peut restaurer un fichier de sauvegarde sans avoir a faire un recovery pour le recovery cliquer sur recover Cliquer sur YES On clic sur le drapeau francais Login : admin Password : admin Il ne vous reste plus qu'a restaurer votre sauvergarde
  2. Gestionnaire d'Evénements Automatique (GEA) – version 6.07 Version précédente (BROUILLON en cours de rédaction) Remerciements (commençons par le plus important) : @pepite et @tibahut pour leurs contributions, motivation, idées, ... Nos pauvres bêta testeurs : @ADN182, @Puni, @basklj, @sonnyboy, @Gandalf, @drboss (et tout ceux que j'oublie ... désolé) @fredokl pour son don qui me permettra d’offrir de la bonne bière à pepite (je le promet) But : Ce script a pour but de contrôler, à intervalle régulier, l'état de votre environnement pendant une durée déterminée afin de vous avertir d'éventuel soucis et si nécessaire d'effectuer automatiquement certaines actions. Exemple : Etre informé si la porte du garage est restée ouverte plus de 10 minutes Recevoir une notification et allumer le radiateur s'il fait trop froid depuis 30 minutes Eteindre automatiquement la lumière des WC si cette dernière est allumée plus de 5 minutes Eteindre le frigo et recevoir une notification si ce dernier consomme trop d'électricité ou pas assez Installation : Première installation Créer un scénario en mode LUA Insérer le script ci-joint (gea_6_00.lua)) Adapter les dernières lignes à vos besoins (en dessous de la ligne "CONFIGURATION GENERAL") Passage de GEA 5.x à GEA 6.x Copier le nouveau script dans un nouveau scénario LUA Copier vos anciennes lignes de paramétrage dans la fonction "config()" Copier vos lignes GEA.add(…) dans la fonction "setEvents()" Désactiver votre ancien GEA Mise à jour de GEA 6.x à GEA 6.x Ouvrir la nouvelle version et copié de la ligne "if (not GEA) then " jusqu'à la fin Ouvrir votre version et remplacer de la même ligne "if (not GEA) then" jusqu'à la fin. Configuration : Définir l'intervalle de contrôle en secondes GEA.checkEvery = <nb secondes> (30 par défaut) Exemple : GEA.checkEvery = 30 Indique la liste des portables par défaut devant recevoir une notification {70, 71} GEA.portables = {<id portable> [, <id portable>][, ...] Exemple : GEA.portables = {70, 71} Bascule en mode de débogage pour obtenir plus de traces GEA.debug = true | false (false par défaut) Exemple : GEA.debug = true Permet un débogage fort de GEA, chaque erreur provoque l'arrêt de GEA si cette option est à false (anciennement GEA.catchError) GEA.secureAction = true | false (true par défaut) Exemple : GEA.secureAction = false -- va afficher les erreurs et stopper GEA GEA utilise 3 variables globales. Il est conseillé de laisser leurs noms par défaut mais si vous souhaiter les modifier, voici les paramètres à adapter GEA se charge de leur création, ne les créer par manuellement svp. GEA.globalvariables = "GEA_Tasks" GEA.pluginsvariables = "GEA_Plugins" GEA.historyvariable = "GEA_History" Nouveautés : Détection automatique de la langue Création automatique des variables globales nécessaires au fonctionnement de GEA Plus de contrôle (vérification des ID, des actions, …) Plus de 30 nouvelles conditions/actions * Durée à 0 autorisée et exploitée : GEA.add(true, 0, "Démarrage de GEA à #time# le #date#") permet de lancer l'action au démarrage de GEA Dans les actions, l'id peut être multiple GEA.add(true, 30, "", {"TurnOn", {100, 101, 102}}) Allumera donc les 3 modules Dans les actions, les variables globales peuvent être multiple GEA.add(true, 30, "", {"Global", {"VG1", "VG2"}, "Texte"}) VG1 et VG2 prendront donc "Texte" comme valeur Sous-commande acceptée : GEA.add( {"Global", "Test1", {"Global", "Test2"}}, 30, "Variable identique si Test1 = Test2" ) GEA.add( true, 30, "On copie la valeur dans une variable globale la valeur du module 101", {"Global", "Test", {"Value", 101}} ) Pour les développeurs, simplicité d'ajout de nouvelle condition/action Paramètre supplémentaire pour afficher votre message dans la console au lieu du message par défaut GEA.add(condition, durée, message, actions, "<A afficher dans la console>") Scénario Plugin. Moyennant quelques petites lignes de code, vos scénarios peuvent devenir compatibles avec GEA. Structure : Pour reprendre la structure du code de Tibahut, nous avons décidé de modifier légèrement la structure de GEA. Une fonction "config()" doit / contient vos paramètres de GEA Une fonction "setEvents()" contient vos lignes GEA.add Cette modification vous demande donc de modifier votre ancienne version de GEA afin de s'adapter à cette structure. Modifications Réécriture complète du code (diminution de plus de 30% du nombre de ligne) GEA.add(…, 30, """", {{""Time"", ""12:00"", ""12:00""}}) devient GEA.add({..., {""Time"", ""12:00"", ""12:00""}}, 30 , """") les conditions Time, Days, Dates, DST, NODST passe au début dans les conditions et non plus dans les actions comme auparavant. Cette modification est automatique vous n'avez pas besoin de modifier votre code. La gestion des regex a été modifiée, si vous souhaité utilisé un regex, il vous faudra le préfixé par "#r#" Exemple, si la météo est rain ou cloudy GEA.add({"Weather", "#r#rain|cloudy"}, 30, "Pas beau") Lors de déclenchements immédiat, GEA va maintenant vérifier l'ID de TOUTES les conditions pour savoir s'il doit traiter ou non la donnée (anciennement seule la 1ère condition était contrôlée) Détection automatique de la version V4+ ou V3 Le nom des modules n’apparaît plus dans la console pour éviter les soucis de performance de la v4, utilisé #name# dans le message pour l'obtenir si besoin GEA.add(73, -1, "Le module #name# dans la pièce #room# vient de s'allumer") #value[1]# ..#value[9]# n'ont plus de limite (9 maximum sur l'ancienne version) Utilisation du setTimeout au lieu d'un sleep pour le fonctionnement de GEA La fonction userCode() a été modifiée pour correspondre au code de Tibahut soit scindée en config() et setEvents() Possibilité d'utilisé {"Dates", …} avec un format de date par langue Exemple : {"Dates", "10/31/2017"} Voir GEA.traduction[<lang>].input_date_format ou de préciser directement son propre format dans setEvents() en mettant GEA.trad.input_date_format = "mm/dd/yyy" {"Days",…} Prend dorénavant les autres langues que l'anglais et le français. Voir GEA.trad.week_short, GEA.trad.weekend et GEA.trad.weekdays Modifications des options Modifié {"TurnOn"[, <id>][, <durée>]} Allume un module puis l'éteint automatiquement après la durée, il peut aussi etre une condition Modifié {"TurnOff"[, <id>][, <durée>]} Eteint un module puis l'allume automatiquement après la durée, il peut aussi estre une condition Modifié {"Time", <debut>[, <fin>]} Si l'heure de fin n'est pas renseignée, on prend la même heure que celle de début Modifié {"Dates", <debut>[, <fin>]} Si la date de fin n'est pas renseignée, on prend la même date que celle de début Modifé {"Weather"[, <propriété>], <value>} Possibilité de préciser une autre propriété (Wind, Temperature, Pressure, Humidity, …) Modifié {"Inverse"[, <no condition>]} Permet de spécifier le numéro de la condition a inverser (1ère par défaut) Ajouté {"Switch"[, <id>]} Allume ou éteint un module selon son état Ajouté {"Value2"[, <id>], <valeur>} Idem à {"Value", …} mais pour la valeur2 (stores vénitiens) Ajouté {"setArmed"[, <id>]} Arme un module Ajouté {"setDisarmed"[, <id>]} Désarme un module Ajouté {"Killscenario", <id>} Tue un scénario selon son identifiant Ajouté {"PictureToEmail", <id cam>, <email>} Envoi l'image de la caméra à une adresse e-mail Ajouté {"ApiPut", <url>, <properties>} Effectue un put Ajouté {"ApiPost", <url>, <properties>} Effectue un post Ajouté {"ApiGet", <url>} Effectue un get de l'url Ajouté {"Sleep", <secondes>, <action>} Effectue une action dans X secondes {"Sleep", 2, {"TurnOn", 73}} utilise setTimeout Ajouté {"EnableScenario", <id>} Active le scénario ou savoir si le scénario est activé Ajouté {"DisableScenario", <id>} Désactive le scénario ou savoir si le scénario est désactivé Ajouté {"SetRunConfigScenario, <id>, <runconfig>} Permet de connaitre/changer le mode d'exécution d'un scénario Ajouté {"CountScenes", <id>} Retourne le nombre de scènes en cours d'exécution Ajouté {"DebugMessage", <id>, <elementid>, <message>, <type>} Ecrit dans la console de l'objet précisé Ajouté {"Popup", <titre>, <message>} Ajoute une popup dans le gestionnaire de notification Ajouté {"Filters", <"lights"|"blind">, <action>} Effectue l'action sur tout les modules de type light ou blind (turnon, turnoff, close, open, …) Ajouté {"CentralSceneEvent", <id>, <key>, <attribute>} Retourne vrai si le CentralSceneEvent déclencheur correspond à ces critères Ajouté {"Frequency", <jour>, <frequence>} Exemple, tous les dimanches ou un dimanche sur 2 {"Frequency", "Sunday", 2} Ajouté {"RebootHC2"} Redémarre la box Ajouté {"ShutDownHC2"} Eteint la box Ajouté {"Depend", <taksid>} Dépend d'une autre tâche, ne sera exécuté que si la "taskid" a préalablement été exécutée Ajouté {"VariableCache", <nom variable>, <valeur>} Permet de stocker une valeur et de la récupérer plus tard (uniquement dans la scène principale) Ajouté {"Info", <propriété>} Retourne la propriété contenu dans /settings/info Ajouté {"Hue", <propriété>, <valeur>} Permet de piloter une ampoule Philips Hue Ajouté {"ThermostatLevel", <id>, <valeur>} Modifie la valeur de votre thermostat Ajouté {"ThermostatTime", <id>, <valeur>} Modifie la durée de votre thermostat Ajouté {"Ask", <portable>, <message>, <scenario>} Affiche une notification demandant l'exécution d'un scénario Ajouté {"Doorlock", <id>, <valeur>} Permet de sécurisé ou non une serrure électronique Ajouté {"Or", <condition1>, <condition2>[,…] Permet de faire un OU sur plusieurs conditions Ajouté Ajouté Ajouté Ajouté Ajouté Ajouté Ajouté Ajouté Ajouté {"Xor", <condition1>, <condition2>[,…] {"RoomLights", <nom pièce>, "turnOn"|"turnOff"} {"SectionLights", <nom sect>, "turnOn"|"turnOff"} {"OnOff", <id>, "ON|OFF"} {"SonosMP3", id_vd, id_button, filepath [, volume]} {"SonosTTS", id_vd, id_button, message [, volume]} {"JSONDecodeFromGlobal", <VG>, <propriété>} {"JSONDecodeFromLabel", <id>, <label>, <propriété>} {"Monthly", <propriété>} {"Polling", <id parent>} Permet de faire un OU exclusif sur plusieurs conditions Allume ou éteint une pièce entière selon son nom Allume ou éteint une section entière selon son nom Identique à "turnOn" mais retourne "ON" ou "OFF" Voir le VD de Krikroff Voir le VD de Krikroff Décode un Variable globale et retourne la valeur de la propriété Décode un Label et retourne la valeur de la propriété Une fois par mois Poll un device Supprimé {"Groupe", <id groupe>} Supprimé Supprimé {"IF", …} Supprimé Attention {"Global", "", ""} Devient définitivement "true" (sans les guillemets) Vous trouverez ci-joint un fichier syntaxe_GEAV6.lua (écrit par @pepite) qui regroupe toutes les commandes et leurs utilisations. Télécharger le et garder le sous la main, c'est votre bible GEA. Le wiki est en cours de modification ce qui va prendre beaucoup de temps GEA Wiki Historique : v.6.01 - 15 décembre 2017 fix : vd GEA Alarm fix : Dead - remplacement de wakeUpDeadDevce par wakeUpAllDevices fix : {"Time": "Sunset+10>08:00"} fix : Option "Portable" is missing fix : multiple dates provoquant un table missing fix : correction du Or et XOr en mode instantané fix : fichier syntaxe_GEAV6.lua (ci-joint) add : {"Deads"} pour réveillé tous les noeux morts v.6.02 20 décembre 2017 fix : vd GEA Alarm -- double push fix : "Sleep" en conjonction avec un Plugin mod : getMessage pour les plugins et arguments de scénario (traitement des variables #time#, #value#, ...) v.6.03 29 décembre 2017 add : #datefull# dans les messages pour obtenir "dimanche 23 décembre 2017" fix : Correction du code pour {"Weather"} add : {"WeatherLocal"} ... identique à {"Weather"} mais retourne les conditions météos selon votre langue v.6.04 7 janvier 2018 add : Roomlights ... {"RoomLights", <nom de la pièce>, "turnOn"|"turnOff"} add : Sectionlights ... {"SectionLights", <nom de la séction>, "turnOn"|"turnOff"} mod : correct Weather, erreur ajoutée en V6.03 mod : #datefull# erreur sur le dimanche mod : correction déclenchement instantané qui stop la mauvaise tache mod : correction déclenchement instantané avec plusieurs conditions add : Slider mod : Close 100 = tout fermé, 0 tout ouvert mod : Open et Close peuvent recevoir plusieurs ids {"Open", {id1, id2}, valeur} mod : optimisation des déclenchements immédiats (1ère passe) v.6.05 29 janvier 2018 add : #trigger# in message add : {"OnOff", <id>, "ON|OFF"} identique à turnOn mais retourne ON ou OFF add : {"SonosMP3", id_vd, id_button, filepath [, volume]} -->voir VD de Krikroff --> Merci @MAM78 add : {"SonosTTS", id_vd, id_button, message [, volume]} --> voir VD de Krikroff --> Merci @MAM78 add : {"JSONDecodeFromGlobal", <nom VG>, <propriété à vérifier>} add : {"JSONDecodeFromLabel", <id VD>, <label>, <propriété à vérifier>} add : {"TempExt"} -- température exterieure selon les conditions métérologique add : {"TempExtTTS"} -- température exterieure selon les conditions métérologique au format (X degrer X) mod : amélioration du translate mod : clarifier le message des actions dans le debug mod : optimisation #2 diminution accès aux variables globales mod : optimisation consommation mémoire mod : suppression bavardage intempestif au mode immédiat mod : correction décalage durée d'execution mod : correction du "Time" qui pouvait ne pas se comporter correctement mod : fonctionnement de l'optimisation mod : bug fix v.6.06 ajouté le 7 février 2018 mod : Correction bug introduit un 6.05 avec "Function" add : Possibilité d'ignoré le déclenchement d'une option en mode immédiat en mettant son nom entre parenthèse exemple : {"Global+", "Test", 100} --> {"(Global+)", "Test", 100} add : {"Monthly", <propriété>} --> Une fois par mois. Propiétés possibles : <nombre> 1-31 : Tous les X du mois "begin" : Tous les 1er du mois "end" : Tous les derniers jours du mois <day> "Monday", "Tuesday", ... : Tous les 1er lundi, mardi, ... du mois Voir le fichier de syntaxe pour plus d'info. v.6.07 ajouté le 22 mars 2018 mod : correction slider {"Slider", <id_mv>, <Label>, <valeur>} mod : ajout de GEA.getMessageDecorator(msg) pour permettre à l'utilisateur d'ajouter facilement ces propres gsub() mod : ajout GEA.trad.locale mod : correction usage de la variable globale mod : correction lors de multiple {"Portable", <id portable>} mod : ajout Popup with scenario ID add : {"Polling", <id module>} gea_6_07.lua syntaxe_GEAV6_07.lua
  3. SONOS Remote V1.0.1 RC pour Fibaro HC2 Télécommande avec retour d’informations pour diffuseur SONOS, prise en charge du TTS (Text-to-Speech) et lecture de stream depuis vos scènes et périphériques virtuels. - Les fonctions : Play, Pause, Stop, Prev, Next, Seek, Volume, Mute, Loudness, Accès direct aux 5 premières radios de “Mes radiosâ€. - Les informations : Zone, Etat du diffuseur, Position, Titre ou Nom de la radio, Artiste, Album, Volume, Loudness, dernière commande émise. Installation : A partir de la version 1.0.0 beta: 1. Télécharger puis importer le vd. 2. Renseigner l’adresse IP du diffuseur SONOS (le coordinateur) dans le vd ainsi que le port 1400 3. Pour utiliser la fonction TTS VoiceRSS il faut une API Key, pour l'enregistrement (gratuit) c'est ici http://www.voicerss.org/registration.aspx 4. Renseigner la variable voiceRssApiKey avec la clé, choisir un niveau de qualité sonore pour la generation avec voiceRssSoundQuality: low, medium, high UserParams = { -- Voice RSS API Key (Free Registration: http://www.voicerss.org/registration.aspx) voiceRssApiKey = "000000000000000000000000000", -- Sound quality: low, medium, high voiceRssSoundQuality = "medium" } 5. Enregistrer les modifications, c'est bon... Utilisation : TTS : Pour utiliser le TTS depuis une scène ou un périphérique virtuel il faut juste exécuter le code LUA suivant avec les bons paramètres. -- 408 is the Virtual Device ID -- 28 is the Process button ID local sid, bid = 408, 28 -- Create TTS params object local params = { -- TTS Message message = "La température extérieure actuelle est de 21,2°C", duration = 'auto', -- Duration: "auto", xx seconds language = "fr-FR", -- Language: fr-FR volume = 10 -- Volume } local _f = fibaro local _x ={root="x_sonos_object",load=function(b)local c=_f:getGlobalValue(b.root)if string.len(c)>0 then local d=json.decode(c)if d and type(d)=="table"then return d else _f:debug("Unable to process data, check variable")end else _f:debug("No data found!")end end,set=function(b,e,d)local f=b:load()if f[e]then for g,h in pairs(d)do f[e][g]=h end else f[e]=d end;_f:setGlobal(b.root,json.encode(f))end,get=function(b,e)local f=b:load()if f and type(f)=="table"then for g,h in pairs(f)do if tostring(g)==tostring(e or"")then return h end end end;return nil end} -- Make a request to the remote to process params object instantly _x:set(tostring(sid), { tts = params }) _f:call(sid, "pressButton", bid) Les options de l'objet params: - message: le message tts - language: la source du flux (http ou local, local est attribué par défaut) - duration: durée du tts. (en secondes ou "auto") - volume: le volume utilisé pour la lecture du tts si différent du volume en cours d'utilisation Le programme en cours de diffusion au moment de la demande reprendra après la diffusion complète du TTS. Reprise de la radio, de la piste à l’endroit précis avant arrêt, reprise de l’état du diffuseur : Volume, Mute, Play, Stop. STREAM: Pour utiliser la lecture de Stream depuis une scène ou un périphérique virtuel il faut exécuter le code LUA suivant avec les bons paramètres. -- 408 is the Virtual Device ID -- 28 is the Process button ID local sid, bid = 408, 28 -- Create STREAM params object local params = { -- stream: the file / uri stream = "//s3.amazonaws.com/smartapp-media/sonos/bell1.mp3", -- source: "local" or "http", "local" is setted by default source = "http", -- duration: play duration in seconds (option) or "auto" duration = 8, -- volume: the volume for playing the stream volume = 10 } local _f = fibaro local _x ={root="x_sonos_object",load=function(b)local c=_f:getGlobalValue(b.root)if string.len(c)>0 then local d=json.decode(c)if d and type(d)=="table"then return d else _f:debug("Unable to process data, check variable")end else _f:debug("No data found!")end end,set=function(b,e,d)local f=b:load()if f[e]then for g,h in pairs(d)do f[e][g]=h end else f[e]=d end;_f:setGlobal(b.root,json.encode(f))end,get=function(b,e)local f=b:load()if f and type(f)=="table"then for g,h in pairs(f)do if tostring(g)==tostring(e or"")then return h end end end;return nil end} -- Make a request to the remote to process params object instantly _x:set(tostring(sid), { stream = params }) _f:call(sid, "pressButton", bid) Les options de l'objet params: - stream: le chemin du flux - source: la source du flux (http ou local, local est attribué par défaut) - duration: durée du stream. (en secondes ou "auto") - volume: le volume utilisé pour la lecture du flux si différent du volume en cours d'utilisation Quelques exemples: Annoncer la température dans une scène : --[[ %% properties %% globals --]] -- 408 is the Virtual Device ID -- 28 is the Process button ID local sid, bid = 811, 28 -- Create TTS params object local ValeurTemp = fibaro:getValue(61, "value") local degre = string.gsub(ValeurTemp, '[,]' , ' degret ') local degre = string.gsub(degre, '[.]' , ' degret ') local degre = string.gsub(degre, '[-]' , ' moins ') local notification = "Il fait " .. degre .. " dans le salon " fibaro:debug(notification) local params = { -- TTS Message message = notification, duration = 'auto', -- Duration: "auto", xx seconds language = "fr-FR", -- Language: fr-FR volume = 23 -- Volume } local _f = fibaro local _x ={root="x_sonos_object",load=function(b)local c=_f:getGlobalValue(b.root)if string.len(c)>0 then local d=json.decode(c)if d and type(d)=="table"then return d else _f:debug("Unable to process data, check variable")end else _f:debug("No data found!")end end,set=function(b,e,d)local f=b:load()if f[e]then for g,h in pairs(d)do f[e][g]=h end else f[e]=d end;_f:setGlobal(b.root,json.encode(f))end,get=function(b,e)local f=b:load()if f and type(f)=="table"then for g,h in pairs(f)do if tostring(g)==tostring(e or"")then return h end end end;return nil end} -- Make a request to the remote to process params object instantly _x:set(tostring(sid), { tts = params }) _f:call(sid, "pressButton", bid) Annoncer la valeur d'une variable : --[[ %% properties %% globals --]] local sid, bid = 813, 28 -- Create TTS params object local couleur = fibaro:getGlobalValue("le nom de ta variable") local notification = ("La couleur de demain sera "..couleur.." Bonne journée") fibaro:debug(notification) local params = { -- TTS Message message = notification, duration = 'auto', -- Duration: "auto", xx seconds language = "fr-FR", -- Language: fr-FR volume = 23 -- Volume } local _f = fibaro local _x ={root="x_sonos_object",load=function(b)local c=_f:getGlobalValue(b.root)if string.len(c)>0 then local d=json.decode(c)if d and type(d)=="table"then return d else _f:debug("Unable to process data, check variable")end else _f:debug("No data found!")end end,set=function(b,e,d)local f=b:load()if f[e]then for g,h in pairs(d)do f[e][g]=h end else f[e]=d end;_f:setGlobal(b.root,json.encode(f))end,get=function(b,e)local f=b:load()if f and type(f)=="table"then for g,h in pairs(f)do if tostring(g)==tostring(e or"")then return h end end end;return nil end} -- Make a request to the remote to process params object instantly _x:set(tostring(sid), { tts = params }) _f:call(sid, "pressButton", bid) Annoncer la date du jour, la température extérieure et la météo : -- 239 is the Virtual Device ID -- 28 is the Process button ID local sid, bid = 239, 28 local cond = fibaro:getValue(3, "WeatherConditionConverted"); local tempext = fibaro:getValue(33, "value"); -- température extérieure fibaro:debug ("Température extérieure : "..tempext) local degre = string.gsub(tempext, '[,]' , ' degré ') local degre = string.gsub(degre, '[.]' , ' degré ') local degre = string.gsub(degre, '[-]' , ' moins ') local currentDate = os.date("*t") local jourL = {"Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"} local jour = jourL[currentDate.wday] fibaro:debug ("Jour : "..jour) local moisL = {"janvier", "février", "mars", "avril", "mai", "juin", "juillet", "aout", "septembre", "octobre", "novembre", "décembre"} local mois = moisL[currentDate.month] fibaro:debug ("Mois : "..mois) local condfr =""; if( cond == "clear" ) then condfr = "clair"; end if( cond == "cloudy" ) then condfr = "nuageux"; end if( cond == "rain" ) then condfr = "pluvieux"; end if( cond == "snow" ) then condfr = "neigeux"; end if( cond == "storm" ) then condfr = "tempete"; end if( cond == "fog" ) then condfr = "brouillard"; end fibaro:debug ("Conditions météorologiques : "..condfr) fibaro:debug ("Création du TTS") -- Create TTS params object local params = { -- TTS Message message = "Bonjour a vous. Nous sommes le "..jour .." "..currentDate.day .." "..mois .. ". Il est ".. currentDate.hour .." heure et ".. currentDate.min .." minutes. ".. "Le thermomètre extérieur est a "..degre .. ", et le temps est "..condfr ..". ", duration = 'auto', -- Duration: "auto", xx seconds language = "fr-FR", -- Language: fr-FR volume = 40 -- Volume } local _f = fibaro local _x ={root="x_sonos_object",load=function(b)local c=_f:getGlobalValue(b.root)if string.len(c)>0 then local d=json.decode(c)if d and type(d)=="table"then return d else _f:debug("Unable to process data, check variable")end else _f:debug("No data found!")end end,set=function(b,e,d)local f=b:load()if f[e]then for g,h in pairs(d)do f[e][g]=h end else f[e]=d end;_f:setGlobal(b.root,json.encode(f))end,get=function(b,e)local f=b:load()if f and type(f)=="table"then for g,h in pairs(f)do if tostring(g)==tostring(e or"")then return h end end end;return nil end} -- Make a request to the remote to process params object instantly _x:set(tostring(sid), { tts = params }) _f:call(sid, "pressButton", bid) Notes de versions: Version 1.0.1 Rc - Correction: régression introduite avec la V4.080 impactant la création automatique de la variable globale Version 1.0.0 beta ATTENTION: Le passage d'une version antérieure à la v1.0.0 pour la v1.0.0 ou supérieure nécessite la réécriture des commandes TTS pour fonctionner avec le nouveau module. L'ancien module reste cependant fonctionnel et peut cohabiter logiquement avec la nouvelle version. En cas de passage définitif en V1.0.0 ou supérieure toutes les variables globales déclarées précédemment en V0.0.7 ou V0.0.8 peuvent être supprimées. - Amélioration : Configuration automatique, pas de déclaration de variables globales - Amélioration : Support natif de multiples instances du périphérique virtuel - Amélioration : Faible latence lors du déclenchement des commandes - Amélioration : Révision et amélioration du code / Refactoring - Ajout: Le TTS utilise le service Voice RSS (avec une API Key (enregistrement gratuit)) ou ResponsiveVoice API. Options: durée, volume, auto resume - Ajout: Lancement de Stream (http / local) depuis scéne / vd. Options: durée, volume, auto resume Version 0.0.8 - Amélioration : La lecture d'un TTS en mode Auto Stop est maintenant stable - Amélioration : La lecture d'un TTS avec une durée définie est maintenant stable - L'image principale du vd réapparaît maintenant automatiquement après l'appui sur un bouton (Labomatik & JM13, merci ) - Correction d'un bug avec l'analyse xml de BrowseDirectChildren - Attention: Pour utiliser les raccourcis "boutons radios favorites" vous devez ajouter au moins deux radios depuis l'application SONOS "Desktop/IOS etc..." Version 0.0.7 - Amélioration notable de la stabilité, le vd est plus réactif. - Patch line 892: attempt to index local 'value' (a function value) - Patch line 1256: attempt to concatenate a nil value - Préparation au support de nouvelles fonctionnalités Fichier Zip : SONOS_Remote_v1.0.1.vfib SONOS_Remote_v1.0.0.vfib
  4. Hello les gars, Les beaux jours sont de retour. C'est le moment de remettre la piscine en marche. Evidement, maintenant il me faut m'attaquer à la domotisation de mon tableau électrique de ma piscine. Mon tableau gère les composants suivants : Pompe de filtration Pentair Sta Rite 5P2RE (1,00 CV / 0,75 kW, Monophasée) Pompe à chaleur Europac+ PSA (1.8 kW, Monophasée) Projecteur halogene (12v, 100W) Pompe de filtration Pentair Sta Rite 5P2RF-1B-W (1,00 CV / 1,43 kW, Monophasée) - Récupération pour faire office de pompe de Nage à contre courant. La pompe à chaleur est asservie à la pompe de filtration (la filtration doit tournée pour que la pompe à chaleur se mette en marche) Je souhaite pouvoir : piloter l'ensemble de mes composants via la HC2 au travers d'un VD à définir récupérer les infos sur la température de l'eau de la piscine récupérer les infos sur le niveau de clore (pour info., je dispose d'un IPX800 V4) récupérer les infos sur le niveau de PH (pour info., je dispose d'un IPX800 V4) Mais dans un premier temps, il me faut acheter les composants pour piloter tout ça. Pourriez-vous me faire vos suggestions de composants : Micromodule pour la Pompe de filtration Micromodule pour la Pompe à chaleur Micromodule pour la Projecteur halogene Micromodule pour la Pompe de Nage à contre courant Sonde de température Sonde pour le niveau de clore Sonde pour le niveau de PH Merci d'avance Vous trouverez ci-dessous des photos de mon tableau électrique et du boitier gérant le projecteur.
  5. Ce topic a pour objectif d'inventorier les numéros de série et date d'achat des box Home Center 2 et Home Center Lite de Fibaro, afin de situer l'âge de nos box, notamment pour ceux qui l'ont acheté d'occasion. De plus, si nous obtenons suffisamment d'information, cela pourrait permettre d'établir une courbe de tendance des ventes. Règle du jeu : - donner le type de box (HC2 / HCL / HC3 (quoi on peut rêver )) - donner le numéro de série arrondi à la centaine la plus proche (afin de conserver l'anonymat) - donner la date d'achat de la box neuve (le mois et l'année suffisent) Je commence : HC2 : 15100 : 11/2013
  6. Un dernier tuto pour cette année 2013 (pour ce qui me concerne)... et puis j'entends des voix me disant que j'aurais passé pas mal de temps sur ce forum Je possède depuis plusieurs années une radio Internet... pas celle de l'image ci-dessus, une plus ancienne : la "SqueezeBox Boom" Je l'utilisais uniquement en accédant au serveur mysqueezebox.com Et depuis peu, j'ai acquis une box Fibaro HC2 et un serveur de stockage NAS Synology NAS Synology et LMS J'ai installé le logiciel du Logitech Media Server (LMS) sur mon NAS de façon très simple Il suffit de chercher dans le Centre de Paquets du Synology ce qui correspond à LMS et de cliquer sur installer Une fois installé, on clique sur LMS pour obtenir l'interface de gestion On note que l'adresse IP est (bien sà»r) la même que celle du NAS, mais le port est le : 9002 >> Un petit retour sur la "SqueezeBox Boom" pour configurer la connexion sur ce serveur local (je ne détaille pas, les possesseurs de ce type de radio savent que c'est facile) << On revient sur LMS... En bas de l'interface de LMS, on trouve le paramétrage On obtient une série d'onglets, dont 2 nous intéressent plus particulièrement. L'onglet "Plugins", parmi lesquels on trouve l'interface de ligne de commande (CLI) Attention ! Suite à modification de LMS, on ne trouve plus cet interface CLI dans les plugins Il faut aller sur : - "aide" - "informations techniques" - LMS Command Line Interface Et l'onglet "informations" Ce qui nous intéresse ici, c'est l'adresse MAC de la platine (SqueezeBox Boom) On s'arrête 2 secondes, pour que vous ne passiez pas un temps fou en recherche : méfiez-vous de la "casse" ! Dans mon script LUA, j'avais transformé en majuscule un caractère en minuscule de l'adresse MAC Dernier test avant de passer à notre box favorite : Un petit coup de telnet puis : open 192.xxx.xxx.xxx 9090 Remarques : - la commande doit être saisie telle que stipulée (avec un espace entre l'adresse IP et le port) - C'est bien le port 9090 - une fois la connexion effectuée, c'est un peu surprenant on n'obtient pas de "prompt" Saisir une commande du CLI comme par exemple : player count ? Cette commande me retourne le nombre de player (Squeezebox) : "player count 1" Quelques infos ici : http://wiki.slimdevices.com/index.php/Logitech_Media_Server_CLI .... au fait, vous aviez autorisé telnet sur votre NAS Fibaro HC2... enfin ! Création du périphérique virtuel... que tout le monde sait faire Le code LUA ci-après provient de @robmac qui intervient sur le forum Fibaro --[[ %% properties %% globals --]] -- the LMS server local ipadd = "192.xxx.xxx.xxx" -- the cli plugin port local portno = 9090 -- the MAC of the player local player = "00:00:00:00:00:00 " local playername = "Squeezebox Boom " -- the cmnd string -- change to any cli player command to create buttons local cmnd = "mixer volume " .. _sliderValue_ -- construct the sting to send local stringtosend = player .. cmnd .. string.char(10) --open the socket tcpSocket = Net.FTcpSocket(ipadd, portno) --set the read timeout tcpSocket:setReadTimeout(2*1000) --send the command bytes, errorCode = tcpSocket:write(stringtosend) - Attention à bien respecter les espaces pour que les commandes fonctionnent - compléter l'adresse IP du serveur LMS (ipadd) et l'adresse MAC du player (SqueezeBox Boom) Quelques commandes (cli player command) -- Volume : local cmnd = "mixer volume " .. _sliderValue_ --- ON : local cmnd = "power 1 " -- OFF : local cmnd = "power 0 " -- Lecture : local cmnd = "play " -- Arrêt : local cmnd = "stop " -- Choix d'une radio par l'un des boutons de présélection : local cmnd = "button preset_1.single " Et pour terminer, une ligne de commande générique qui va récupérer le contenu d'une variable globale local cmnd = fibaro:getGlobalValue("squeezebox") Cette variable sera renseignée par une scène. Exemple : -- squeezebox ON fibaro:call(49, "pressButton", "3"); fibaro:sleep(25*1000); -- volume squeezebox à 25 fibaro:setGlobal("squeezebox", "mixer volume 25 "); fibaro:call(49, "pressButton", "14"); fibaro:sleep(5*1000); -- message alerte fibaro:setGlobal("squeezebox", "playlist play /volume1/Fibaro/MP3/30secondes.mp3 "); fibaro:call(49, "pressButton", "14"); fibaro:sleep(15*1000); -- volume squeezebox à 15 fibaro:setGlobal("squeezebox", "mixer volume 15 "); fibaro:call(49, "pressButton", "14"); fibaro:sleep(1*1000); -- squeezebox OFF fibaro:call(49, "pressButton", "4"); On peut donc lire un fichier MP3 stocké sur le NAS pour restituer sur la radio un message sonore ... mais la radio ne bougera pas non plus les oreilles Bonnes fêtes de fin d'année @i-magin ****** 04/01/2015 *********************************************************************************************************************************************************************************************************************** A la demande d'un participant au forum, j'ajoute en fichier joint le module virtuel qu'il faudra compléter : adresse IP du serveur LMS (ipadd) et adresse MAC du player (SqueezeBox Boom) Ce VD datant de décembre 2013 est "rustique" : répétition des informations adresses IP et MAC pour chaque bouton et l'icône est à copier pour chaque bouton.... N'utilisant plus Squeezebox et LM je n'apporterai pas d'amélioration ****** 02/12/2015 *********************************************************************************************************************************************************************************************************************** J'ai ressorti ma Squeezebox pour l'utiliser comme radio réveil et j'ai ajouté la gestion de l'alarme dans un VD "réveil" qui gère (avec une scène) le démarrage d'une radio sur SONOS, la cafetière et l'éclairage.... Pour obtenir les commandes de gestion de l'alarme Squeezebox, j'ai lancé le LMS (Logitech Media Server) hébergé sur mon NAS, puis j'ai cliqué successivement sur : - "aide" - "informations techniques" - LMS Command Line Interface On trouve la commande "Alarm" Dans les exemples donnés, on découvre comment créer, supprimer ou modifier une alarme ... et, surprise, un curieux identifiant pour l'alarme ! La solution la plus simple que j'ai trouvée est la suivante : - sous LMS, sélectionner "Réveil" - supprimer tous les réveils programmés - créer un réveil - paramétrer le volume maxi, durée répétition et réveil - valider tous les jours de la semaine Pour obtenir l'Id du réveil sous Google Chrome : clic droit sur le bouton "supprimer le réveil" et choisir "inspecter l'élément" On obtient : "alarm_remove_xxxxxxx" C'est la valeur après remove (que j'ai remplacée dans ce tuto par des x) qu'il faut retenir Ainsi, la commande pour activer l'alarme : alarm update id:xxxxxxxx enabled:1 Désactiver l'alarme : alarm update id:xxxxxxxx enabled:0 Modifier l'heure de l'alarme (7H30) : alarm update id:xxxxxxxx time:27000 Et dans la continuité de mon tuto d'origine, nous aurons le code lua suivant pour modifier l'heure et l'activer : local cmnd = "alarm update id:xxxxxxxx time:27000 enabled:1 " J'espère que ce complément d'info (presque deux ans après la rédaction du 1er post sur la Squeezebox) pourra servir à d'autres membres du forum Squeezebox.vfib
  7. DoR.Technique

    HC2 Synology Photo

    Bonsoir, Bon! je trouve tout pour enregistrer en vidéo depuis ma HC2 et mon Syno, mais ...... je voudrais faire des photos Je voudrais prendre une photo de bonne qualité, a chaque fois que ma porte s'ouvre (détecté par la HC2), et que cette photo soit stockée sur le NAS. Pour info, j'ai installé le VD "Synology Surveillance Station v4.4" qui fonctionne a merveille pour prendre des vidéos. Bravo. Comment modifier le VD pour qu'il prenne des photos, stockées sur le Nas ? Merci
  8. Bonsoir à tous Je suis venu sur le forum pour finaliser mon projet et notamment le choix de la box (j’hésitais entre une HC2 et une eedomus) et finalement à force de lire plein de choses sur le forum, je suis encore plus hésitant voire perdu qu’avant... j’explique ma problématique achat il y a un an d’une maison datant des années 2000 et rénovée (il y a 7 ans) Quelques menus travaux quasiment terminés J’aimerais domotiser avec les limitations suivantes : - pas de saignées obligeant à tout refaire - WAF compatible (pas de câbles de partout) - des équipements existants à intégrer • alarme Paradox mg5050 • climatisation réversible gainable gérée par delta dore 620 (2 th et un master) • portail commandé en 433MHtz • qq volets roulants en io-homecontrol - au niveau électrique : • peu voire pas de neutre au niveau des interrupteurs pour l’eclairage ou les volets roulants • boîtes de dérivation cachées dans les faux plafonds et les cloisons et donc non accessibles (promis, C pas moi qui ai fait cette con...ie mais les proprios précédents) - mon niveau programmation : faible mais j’apprends vite, tout comme l’électricité Du coup, avec tout ça, ça excluait la HC2, surtout qu’elle était pas compatible avec le rfplayer Je m’étais dit, C bon, je pars sur une eedomus, mais: - j’aime pas trop la cloudisation à outrance - il faut prendre un abonnement premium pour avoir un historique des valeurs des capteurs et surtout pour les notifications Push - la remontées des consommations énergétiques avec différents modules est incomplète (souvent que la puissance, même pas la puissance cumulée, l’amperage) alors que d’autres box dont la HC2 remontent plus de données - pas de connexion à l’alarme. Je m’en passerai mais ça faisait partie de mon cahier des charges - logiciel moyen. Je serai bien parti sur imperihome, mais là aussi, abonnement quasi obligatoire ! Et puis j’ai lu et encore lu et je tombe sur les interventions de @jojo et @PITP2 sur la Lifedomus qui semble combler bien des trous laissés par l’eedomus Et du coup, je me pose d'autres questions: - est-elle vraiment capable de faire tout ce que je souhaite - apres installation, est-ce faisable de la faire évoluer et d’integrer d’autres modules tout seul - et surtout, où trouver des gens compétents pour l’acheter / installer et à quels tarifs Merci déjà d’etre arrivé jusque ici et merci d’ avance si vous avez des éléments de réponses à m’apporter steph
  9. kioneoranga

    HC2 - 4.180 - Stable - 26/04/2018

    Je crois qu'on bat les records dans le contenu dans cette maj... Bientôt, on ne changera plus que le numéro de version sans autre correction... ================================================== Version 4.180 Resolved issues: - Possibility of losing connection via the Remote Access.
  10. Version 1.3.2.0 (03-05-2017) - Multi (Fr/En) Compatible : Windows Vista, Win7 32/64 bits, Windows 8.xx Mac OSX 10.8.x avec Virtual machine "Parallels Desktop" et Windows 7 64 bits. Mac OSX 10.9.x avec XP virtual machine / VirtualBox. Compatible HC2 V3.x / HC2 V4.x / HCLite V4.x Cette application a été réalisée dans le but d’aider la communauté gravitant autour du système Home Center 2 Fibaro, de l’installateur à l’utilisateur final en passant par le développeur souhaitant faire évoluer l’écosystème du HC2. Le HC2 Toolkit est basé pour une grande partie sur le SDK .Net qui est mon premier projet en rapport avec l’écosystème Fibaro. Dès l’origine l’application a été prévue pour être multilingue et se limite pour l’instant à l’anglais qui est la langue première du projet afin d’être accessible au plus grand nombre, au français c’est un minimum et je l’espère bientôt au Polonais. Grâce au Toolkit, il est possible de mieux comprendre comment fonctionne l’API du HC2 et d’obtenir rapidement des informations difficilement accessibles depuis l’interface web sur les périphériques enregistrés, les scènes, les périphériques virtuels, les utilisateurs etc. Des possibilités de sauvegardes avancées sont aussi disponibles et seront complétées au fil des mises à jour. Il est déjà possible d’exporter l’intégralité des scènes d’un seul click même les scènes « BLOC », d’exporter tous les codes LUA à la demande : scènes, périphériques virtuels. L’import et l’export des périphériques virtuels sont aussi supportés. Une exportation spécialement développée à des fins d’analyse et de comparaison des périphériques est disponible. La plupart des données brutes de l’API peuvent être chargées et enregistrées soit au format JSON soit au format XML pour l’étude et le développement. Certaines actions sont implantées comme lancer une scène, activer ou désactiver un « binary switch », le « ping » à distance ou en local du HC2, la vérification de l’accessibilité du serveur du HC2, la découverte automatique sur le réseau. Le Toolkit possède un éditeur LUA intégré ou tous les espaces de nom Fibaro sont documentés et les méthodes accessibles en écrivant le code (proposition de code automatique). Un système de « snippets » est aussi disponible et propose des extraits de code (aide à la programmation), de simples instructions conditionnelles, boucles à des fonctions avancées. La liste des fonctionnalités est non exhaustive et en constante évolution, la road map est déjà bien remplie ! Je compléterais cette note lorsque j’aurais un peu plus de temps devant moi. Version 1.3.2.0 - HCToolkit_1.3.2.0.zip - Ajout du support du Polonais (Un grand Merci à REMS du blog Domotique-Home.fr) - Ajout de l'accès aux manuels et guides par clic droit sur un périphérique (Motion Sensor, Door/Window Sensor, Smoke Sensor, Wall Plug, d'autres modules à venir...) - Correction de bugs et améliorations - Correction : Types manquants - Correction : Traductions - Amélioration : Mise à jour des dépendances Version 1.3.1.6 beta - Nouveau: Le code LUA (scènes) peut-être édité puis poussé vers le contrôleur (Publish/Reload) - Nouveau: Création de pièces en lot (plusieurs en 1 X avec un même nom prédéfini), Edition (nom, section), Suppression, Exportation, Importation - Nouveau: Création de scènes en lot, Edition (nom, pièce, section, etc.), Suppression, Exportation, Importation - Nouveau: Création de section en lot, Edition (nom), Suppression, Exportation, Importation - Amélioration : Périphérique: Edition du nom, de la section, de la pièce, Suppression - Amélioration : Périphériques virtuels: Edition (nom, pièce), Exportation, Importation - Amélioration : Amélioration significative du traitement des données - Correction : Bogue mineur de l'installeur - Correction : Traductions - Correction : Types manquants - Correction : Bogues mineurs Version 1.2.0.3 - Correctif: Téléchargement des icônes des appareils (devices) : l'option "all" ne permet pas le téléchargement et il faut sélectionner à la main - Correctif: Au lancement on obtient l'interface en anglais bien que "French" soit présélectionné - On re-sélectionne French et c'est bon... jusqu'au redémarrage suivant - Correctif: Problème cosmétique dans la fenêtre "Paramètres de l'application" au niveau du "temps en secondes" Version 1.2.0.1 Ajout : Il est maintenant possible de « filtrer » l’enregistrement des icônes par type et / ou basetype depuis le « Menu Données » / « Appareils » / « Télécharger Toutes les Icônes » Amélioration : Nouvelle convention de nommage pour l’enregistrement des icônes. Exemple : 18-IconID[1012]-DeviceID[31]-Pioneer VSX-2021.png Amélioration : Affiche des noms de pièces dans la vue « Appareils » Correction : Mauvais chemin utilisé par l’application pour la commande «Périphériques virtuels » / « Sauvegarder tous les périphériques » Correction : Problème avec l’aperçu d’impression dans l’éditeur LUA Correction : Affichage du modèle de paramètres (régression HC2 V4.05X et >) Correction : Affichage des icônes « Appareils » et « Pièces » (régression HC2 V4.063 et >) Amélioration : Mise à jour des dépendances (librairies utilisées par le projet) Attention : Le Frameworks .NET 4.5.2 de Microsoft doit être installé (https://www.microsoft.com/fr-FR/download/details.aspx?id=42642). Notez que .NET Framework 4.5 n'est pas pris en charge sur Windows XP. Version 1.1.0.6 - Ajout: Nouvelle boîte de dialogue pour afficher les associations d'un périphérique. - Ajout: Nouvelle boîte de dialogue pour afficher les paramètres d'un périphérique. - Ajout: Onglet "Plugins" - Ajout: Affichage de la propriété "Configured" dans le tableau des périphériques. - Amélioration: Info-bulles pour le type et le basetype interne pour les périphériques et les plugins. - Amélioration: Affichage d'informations sur les interfaces utilisées dans les propriétés et les actions. - Amélioration: La boîte de dialogue "Template (Modèle de périphériques)" à été retravaillé. - Correction: Les descriptions dans la boîte de dialogue "Template (Modèle de périphériques)" n'utilisait la langue sélectionnée dans l'interface - Correction: Interfaces manquantes. - Correction: Propriété "Configured" toujours vide dans le rapport de configuration. - Correction: Propriétés manquantes (batteryLevel, configured, parentID, nodeID) suite à la version V1.1.0.0 - Correction: Traductions - Correction: Bogues mineurs Version 1.1.0.0 Beta - Support de la V4 du HC2 (reste compatible avec l'ancienne V3) - Amélioration: Détection automatique de la version de l'API. - Amélioration: Performance de la communication réseau. - Amélioration: Nouveau mécanisme d'exportation de données, plus rapide et plus lisible. - Amélioration: Sauvegardez du "crashdump" dans le dossier "documents utilisateur" pour éviter l' exception "UnauthorizedAccess". - Nouveau: Exportation des variables globales au format XML, une par une ou toutes à la fois dans le menu "Variables globales". - Nouveau: Enregistrer toutes les icônes, menu "Pièces", "Scènes", "périphériques". - Nouveau: Ajout de la commande 'UpdateMeshNetwork' dans le menu périphérique. Peut aider les utilisateurs du HClite - Nouveau: Affichage du nombre de plugins / NÅ“ud de plugins - Nouveau: indentation automatique du code dans l'Éditeur LUA. - Nouveau: option Afficher / Masquer les numéros de lignes dans l'éditeur LUA. - Nouveau: Possibilité de changer la taille de la police dans l'éditeur LUA. - Nouveau: Possibilité de changer la famille de police dans l'éditeur LUA. - Correction: Traductions manquantes. - Correction: Bogues mineurs. Un fil sur le Toolkit est consultable aussi sur le forum officiel ici http://goo.gl/pKA35K
  11. Cmoi20

    HomePod

    Bonjour, je n'étais pas parfaitement convaincu par alexa et les 2 echo que j'ai acheté a leurs sortie nationale : ne fonctionne pas avec mes volets, pas compatible avec mon abonnement applemusic (même si ce n'est pas la faute d'amazon), qualité sonore correcte mais pas exceptionnelle. ce WE, j'ai craqué pour le homepod. ayant déjà le pilotage de ma domotique via homebridge avec mes appareils apple, tout a fonctionné tout de suite sans rien avoir a faire de plus. le son est simplement sans comparaisons avec ce que l'on a avec alexa (que je trouvais déjà très correcte) le pilotage des volets fonctionne correctement (contrairement a alexa) et je ne sais pas comment ils font exactement mais siri m'entends l'appeler même quand le son du homepod couvre totalement ma voix (alexa ne m'entends plus avec un niveau sonore au dessus de 4) par contre, le disque en plastique sur le dessus a résister a la famille environ 30 minutes avant de se retrouver fissuré au bord sur 1cm environ. peut être une faiblesse du homepod. si je vais un peu plus loins, alexa comprends mieux les langages naturels. ses playlistes musicales me conviennent mieux que ce que fait siri. mais je n'ai pas envie de prendre un 2nd abonnement musicale. je vais peut être en profiter pour revendre mes echo au prix d'achat (50%de réduction sur le prix publique actuel) et prendre un 2eme homepod.
  12. Bonjour à tous, Je suis dans le regret de constater que ma HC2 plante de manière assez régulière et sans raison, ni même signes avant-coureurs. Alors que mes scripts sont automatiquement désactivés lorsqu'ils ne sont pas utiles, je constate avec stupéfaction que ma HC2 était beaucoup plus stable lorsque j'avais un script qui tournait chaque seconde 24/24h (qui renvoyait les commandes d'extinction d'éclairage). Très souvent en déplacement, j'aimerais pouvoir redémarrer la HC2 à distance. Voire même, idéalement, qu'elle puisse se redémarrer automatiquement (Elle-même ? Ou via un Syno ?). En effet, encore il y a quelques minutes, j'ai dû appeler quelqu’un pour lui demander d'arrêter/redémarrer la HC2 qui était plantée (sans erreur particulière). Ce n'est pas des plus pratiques... Seulement voilà, toutes les solutions exploitées semblent désormais périmées ! Ma box était plantée et aucun lien n'a été capable de lui forcer un redémarrage, pourtant le lien suivant était bien prometteur ! Comment gérez-vous cela de votre côté ? J'ai bien vu que de nombreux utilisateurs avaient une scène qui vérifiait régulièrement la consommation de la RAM et prévoyaient un reboot lorsque la RAM utilisée était trop importante. Mais n'avez-vous pas également une solution de reboot en cas de plantage complet à partager ? Merci par avance :-)
  13. Bonjour à tous, J'utilise la fonction net.HTTPClient() dans mes scènes de pièces afin de m'envoyer des SMS via une passerelle. Cependant, depuis quelques jours, j'ai remarqué que cette requête, bien que placée en début de script, n'est pas exécutée avant la fin du script de ma scène. En effet, j'ai remarqué que si je mettais un fibaro:sleep(10000) bien après cette commande net.HTTPClient(), je recevais le SMS 10 secondes plus tard. Le problème étant que, dans mes scènes de pièce, je suis amené à les annuler en cours si elle ne sont plus nécessaires avec fibaro:abort(). Ce qui fait que je ne reçois jamais les SMS... Dans ces conditions, comment forcer l'exécution de cette commande en début de scène ? Pour moi, le LUA était un langage qui s’éxécutait au fur et à mesure. Merci d'avance de vos réponses !
  14. Bonjour J'ai 2 Box Une HCL dans un lieu et une HC2 dans un autre lieu distant. Pour commuter de l'une à l'autre sur Android, je vais dans paramètre "Choose HC" qui me liste les HC disponibles. Jusqu'ici pas de problème fonctionnel. J'ai bien accès à l'une ou à l'autre en local ou en distant. Ma question. Sauriez vous comment faire pour remplacer le "Bienvenu à la maison" par l'identification du lieu qui est connecté. Car je ce n'est pas évident de savoir sur qu'elle maison je suis connecté, la configuration des pièces et le look des icônes étant très proche.
  15. mathieukiefer

    Augmentation du prix de la HC2

    Bonjour à tous. Depuis quelques jours, le prix de la HC2 a drastiquement augmenté. Par exemple, chez digitec.ch elle est mntn indiquée à 615 chf alors qu’elle était dans les environ 440 chf il y a une semaine. Un ami ayant accès aux tarifs grossistes via son entreprise de radio-tv a également vu la box passer de 398 chf à 580 chf prix d’achat pour lui, avec un prix de vente consseillé de 719 chf Est ce que qqn sait à quoi est due cette augmentation subite et non négligeable du prix.
  16. Accès Sécurisé aux HCL et HC2 par Reverse Proxy Préambule : Dés qu’on commence à avoir plusieurs appareils connectés chez soi et que l’on désire pouvoir y accéder de l’extérieur, cela peut vite devenir un casse tête. Notamment dans le cadre de la domotique où les objets connectés peuvent vite envahir la maison et bien évidemment pour les objets non Clouds l’accès depuis l’extérieur est compliqué et risqué. Il est fréquent de constater que les membre du forum se poser la question : Comment sécuriser mes accès à ma boxe Fibaro et autres composants de son réseau. Pour ce faire, il y a de nombreuses solutions possibles : Utiliser le services mis à disposition par Fibaro, l'accès par Fibaro ID (accessible ici : https://dom.fibaro.com/cmh/login) La mise en oeuvre d'un accès au travers d'un tunnel VPN L'ouverture de port sur son routeur opérateur (Freebox, LiveBox, BBox, SFR Box, ...) et l'utilisation de NATage transférer les flux réseau jusqu'à votre boxe Fibaro (pas très sécurisé) L'utilisation du principe précédent, mais en le sécurisant par la mise en oeuvre d'un proxy inverse (Reverse Proxy). ... Objectif : L'idée est de permettre un accès direct à nos boxes Fibaro depuis l'extérieur de notre réseau (via internet) tant en limitant les risques liés à la sécurité des accès. Mise en garde : N'étant aucunement un expert en la matière, il est évident que je décline toute responsabilité sur la mise en oeuvre de ce tuto. Dans mon contexte, j'expose des choix personnels de matériels/logiciels qui me sont propre. Il ne s'agit donc pas d'une préconisation. Il vous appartient de vous faire votre propre avis et de déterminer la solution qui s'adapte au mieux à votre environnement et vos usages. Le Projet : Après de multiples recherches et la demandes de certain membres du Forum, je me suis dit que ce serait sympathique de partager mon expérience et vous expliquer la mise en oeuvre de la dernière solution évoquée ci-dessus (avec un Reverse Proxy). L'intérêt principale que je vois dans de la mise en oeuvre d'un Reverse Proxy est de rendre transparent (invisible vue de l'extérieur) l'organisation de votre réseau (adressage IP, port réseau, ...). et de sécuriser les accès depuis l'extérieur de votre réseau. Pour plus de détails sur la fonction Reverse Proxy, voir ci-dessous le chapitre sur les sources d'informations. Cette solution présente notamment, les avantages suivants : de ne pas à avoir à ouvrir un nombre très important de ports sur votre routeur et/ou votre box internet. d'ouvrir qu'un seul port réseau (voir 2 : http = 80, https = 443, ou autre) et de limiter les transferts de adresse IP et Ports entre vos équipements. de simplifier la gestion des règles de votre par-feu (firewall) d'utiliser un nom de domaine qui vous est propre et auquel il va être possible d'associer des noms (sous-domaine) aux l'équipements / Applications auxquels vous souhaitez accéder. comme pars exemples : votre boxe Fibaro votre NAS Synology votre routeur qui gère votre réseau (pas celui de votre opérateur internet) tous vos composants accessibles sous une adresse IP (Caméra IP, IPX800, Ecodevice, Raspery PI, PC de votre réseau, ...) votre serveur WEB (Web Station, ...) votre console de gestion de vos caméras (Surveillance Station, ...) ... le chiffrement des échanges par protocole SSL (par échange de certificats) en HTTPS Il y a de nombreuses manière pour mettre en place un Reverse Proxy, notamment avec un Raspberry Pi et les logiciels qui vont biens, mais dans mon cas je dispose d'un Nas Synology qui permet de le faire. J'ai donc décidé de vous expliquer comment faire. Pour les autres solutions vous pourrez vous inspirer de celle présentée ici, mais je vous laisse faire les recherches nécessaire et adapter la mise en oeuvre. Schéma : Histoire de visualiser la chose, voici un petit schéma (sans prétentions) qui présent le positionnement logique d'un Reverse Proxy dans une architecture réseau domestique. Je sens que je vais me faire cartonner par le puristes (système/réseau/sécurité) Principe de fonctionnement : La solution fonctionne de la façon suivante : Mon opérateur OVH me fournit un nom de domaine, dans l'exemple : mondomaine.com Ce nom de domaine est associé à mon adresse IP publique fournit par mon opérateur Orange, dans l'exemple 253.18.123.012 (inutile de tester, elle est fictive ) OVH permet de définir des sous-domaines associés à mon domaine et qui pointe sur la même adresse IP publique que celle du domaine. Soit par exemple (cf. schéma) les sous-domaines suivant, pour la boxe Fibaro HC2 : hc2, soit hc2.mondomaine.com, soit l'adresse IP 192.168.0.100, soit URL : https://hc2.mondomaine.com:12345 la caméra 1 : cam1, soit cam1.mondomaine.com, soit l'adresse IP 192.168.0.200, soit l'URL : https://cam1.mondomaine.com:12345 l'application surveillance station présente sur mon NAS Synology : survs, soit survs.mondomaine.com, soit l'adresse IP 192.168.0.10 accessible sur le port 5000. Attention dans le cas il conviendra de compléter l'URL de la façon suivante : https://survs.mondomaine.com:12345/webman/3rdparty/SurveillanceStation/ Si l'on prend l'exemple de la boxe Fibaro, l'accès à celle-ci depuis un PC portable se fait en saisissant dans le navigateur l'URL suivante : https://hc2.mondomaine.com:12345 Qu'est-ce ce qui va se passer : Le navigateur va interroger le serveur DNS (celui qui est configurer sur les paramètre réseau de mon pc portable) pour obtenir l'adresse IP qui est associé au domaine mondomaine.com, soit 253.181.123.012 Le navigateur va se connecter au routeur Livebox selon l'adresse ip 253.181.123.012 sur le port 443. Le routeur Livebox va faire une translation d'adresse (NAT) ip 253.18.123.012, port 443 vers l'ip 192.168.1.2 sur le port 443 (de mon routeur Synology) et transfère dessus la connexion. Le routeur Synology va faire une translation d'adresse (NAT) ip 192.168.0.1, port 443 vers l'ip 192.168.1.10 sur le port 443 (du NAS Synology) et transfère dessus la connexion. Le NAS Synology va envoyer un certificat SSL (lors de la première connexion) au navigateur internet du PC portable. Certificat qu'il convient d'accepter pour qu'il soit enregistré. Le NAS Synology en fonction l'URL (soit hc2.mondomaine.com) va déterminer l'adresse ip et le port (soit la HC2 = 192.168.0.100, port 443) et transfère dessus la connexion. C'est ici que se produit la fonction Reverse Proxy Le navigateur sur le PC portable et la HC2 vont établir ensemble une connexion sécurisée en HTTPS Le navigateur sur le PC portable va afficher la fenêtre de connexion (login/psw) comme si vous étiez directement sur le LAN de la maison. CQFD Sources : Lors de mes recherches, j'ai trouvé quelques articles intéressants qui m'ont aider à mettre en place cet solution, voici les liens (respect des sources ) : https://fr.wikipedia.org/wiki/Proxy_inverse. Wikipedia présentant les principes de fonctionnement d'un reverse proxy http://sarakha63-domotique.fr/reverse-proxy-sur-nas-synology-ssl/ (article de Ludovic Sarakha, merci à lui). dont j'ai repris ici une partie de sa rédaction (dans un souci de faire au plus simple et plus rapide) Pré-requis : Les éléments que je présente dans le présent TUTO reposent sur les pré-requis suivants : Disposer d'un NAS Synology (dans le cas présenté en DSM version 6.1xxx) Disposer d'un Routeur Synology (dans le cas présenté cas en RSM version 1.1xxx). Elément totalement optionnel. J'ai fais le choix d'avoir un routeur personnel qui me donne une indépendance vis-à-vis de la boxe opérateur et m'évite de tout changer en cas de remplacement de cette dernière. Disposer d'un Routeur Opérateur (dans le cas présenté, il s'agit d'une LiveBox V3 d'Orange) Disposer d'un nom de domaine (dans le cas présenté, il s'agit d'un nom de domaine souscrit chez OVH (14 euros par an) Souscrire à la fourniture d'un certificat SSL (gratuit) auprès de Let's Encrypt. Liens utiles : Vous trouverez ci-dessous quelques liens utiles en relation avec le sujet : https://www.whatsmydns.net. Pour tester les propagations des DNS sur le Web https://www.synology.com/fr-fr/knowledgebase/DSM/help/DSM/AdminCenter/application_appportalias. Fonctionnement d'un Reverse Proxy. Source Synology. https://www.synology.com/fr-fr/knowledgebase/DSM/help/DSM/AdminCenter/connection_ddns. Fonctionnement des DDNS. Source Synology https://www.synology.com/fr-fr/knowledgebase/DSM/help/DSM/AdminCenter/connection_certificate. Fonctionnement des Certificats. Source Synology http://www.nas-forum.com/forum/topic/54453-tuto-sécuriser-les-accès-à-son-nas/. Sécurisation de nos NAS Synology. Source Forum dédié aux équipements Synology. Mise en oeuvre de la solution : Passons maintenant à la partie mise en oeuvre de la solution qui reprend les éléments et l'ordre logique d'une connexion comme exposés au chapitre Principe de fonctionnement. Un petit rappel de quelques notion de base et quelques définitions. Définitions : Adresse IP Sur Internet, les ordinateurs communiquent entre eux grâce au protocole TCP/IP qui identifie chaque machine réseau et chaque ordinateur sous la forme d’une adresse : xxx.xxx.xxx.xxx. DNS Les utilisateurs communiquent avec des adresses IP, mais pour plus de facilité, ces adresses IP sont définies en noms de domaine plus faciles à retenir. Le DNS (ou Domain Name System) permet entre autres de traduire un nom de domaine en adresse IP afin que vos requêtes puissent arriver jusqu’au serveur cible. Différences serveurs/zone DNS Les serveurs DNS sont les serveurs étant déclarés pour un nom de domaine. C’est donc ces serveurs qui répondront en premier avant de passer la main à la zone DNS y étant reliée. La zone DNS est un fichier contenant différents enregistrements indiquant entre autres les adresses des serveurs hébergeant votre site (A), ou vos mails (MX). Ces adresses peuvent être sous la forme d’adresse IP ou de noms d’hôtes. DynoHost Si vous disposez d’une connexion internet, votre IP de connexion peut être amenée à changer à chaque reconnexion. DynHOST vous permet de faire pointer votre domaine ou un sous-domaine vers une IP de connexion, et si elle change, de la mettre à jour en temps réel à l’aide d’un identifiant et d’un mot de passe. Ainsi, vous pouvez faire de l’hébergement sur votre propre connexion internet. Comme indiqué dans la partie pré-requis, il convient de disposer d'un nom de domaine. Dans le cas présent, celui-ci est souscrit auprès d'OVH et il se nomme : mondomaine.com Pour pouvoir accéder aux applications de votre réseau, il convient d'associer à ce nom de domaine des sous-domaine qui vont correspondre à ces applications. Commençons donc par construire une Configuration du DynHost et ses identifiants et des sous-domaine. 1 - Configuration de votre domaine chez OVH : A) Ajout de votre nom de domaine au DynHost Connectez-vous à l’espace client OVH et identifiez-vous et accédez à la partie gestion des Domaines. Voir ci-dessous. 1) Dans le menu de gauche, sélectionnez ” Domaines “, puis choisissez votre nom de domaine et cliquez sur l'onglet DynHost. 2) Vérifier : votre domaine apparait bien dans la liste des DynHost (précédé d'un point) que la Cible correspond bien à votre adresse IP publique (celle fournit pas votre opérateur internet) 3) Si votre domaine apparait bien dans la liste passez au chapitre Création d'un identifiant de gestion du DynHost n'apparait pas dans la liste, Cliquer sur Ajouter un DynHost et continuer la suite de ce chapitre Vous arriverez sur la fenêtre suivante : 1) Vérifier que votre nom de domaine apparait bien ici 2) Laissez cette zone vide 3) Saisissez l'adresse IP publique (celle fournit pas votre opérateur internet) 4) Cliquez sur Valider Vous arriverez automatiquement sur la fenêtre suivante, qui confirme que votre domaine a bien été ajoutée au DynHost 1) Message de confirmation de l'ajout de votre nom de domaine au DynHost (précédé d'un point) 2) Vous devriez voir ici votre nom de domaine 3) Cliquez sur le bouton Gérer les accès afin de créer un identifiant de gestion du DynHost Si vous possédez une adresse publique fixe (fournie par votre opérateur internet), vous pouvez passer directement au chapitre C) Gestion de Redirections. B ) Création d'un identifiant de gestion du DynHost Vous arriverez automatiquement sur la fenêtre suivante qui liste les identifiants déjà créés : 1) Vérifiez si vous avez déjà un identifiant de gestion de vos DynHost : 2) Si vous avez déjà un identifiant de gestion de vos DynHost et que vous connaissez le mot de passe, vous pouvez aller directement au chapitre de la Gestion des Redirection 3) Sinon Cliquez sur le bouton Créer un identifiant et continuer la suite de la procédure Vous arriverez sur la fenêtre suivante : 1) Saisissez un nom d'identifiant. dans l'exemple : indent 2) Saisissez le caractère * (cet identifiant vous permettra de gérer l'ensemble de vos sous-domaines) 3) Saisissez un mot de passe 4) confirmez le mot de passe 5) Cliquez sur Valider Nota : Pensez à noter votre identifiant et son mot de passe, il sera utile plus loin dans la procédure Vous arriverez sur la fenêtre suivante, qui vous confirmera la création de cet identifiant. 1) Confirmation de la création de l'identifiant 2) Cliquez sur Redirection Vous arriverez sur la fenêtre suivante, qui liste vos identifiants. Puis passons à la gestion des redirections. C) Gestion de Redirections La redirection permet de redirections de vos domaines et sous domaine vers d'autres adresses web ou vers des serveurs. Nous allons donc ici définir des noms de redirection qui vont correspondre à nos application auxquelles nous souhaitons accéder depuis Interne. Prenons pour exemple : une HC2 Fibaro. (mais ça pourrait être également la console de notre NAS Synology) 1) Cliquez sur Actions une redirection Vous arriverez sur la fenêtre suivante, dans laquelle vous allez saisir les informations relatives à un sous-domaine (application) 1) Saisissez un préfixe qui identifiera votre application 2) Cochez Rediriger aussi www.hc2.mondomaine.com (optionnel) 3) Cliquez sur Suivant Vous arriverez sur la fenêtre suivante, dans laquelle vous allez préciser qu'il s'agit d'une redirection sur un serveur OVH 1) Sélectionner vers un serveur OVH ou ailleurs. 2) Cliquez sur Suivant Vous arriverez sur la fenêtre suivante, dans laquelle vous allez préciser que le moyen de redirection doit être fait avec un nom de domaine. 1) Sélectionner l'option avec un nom de domaine. 2) Ignorer le message d'attention 3) Cliquez sur Suivant Vous arriverez sur la fenêtre suivante, dans laquelle vous allez préciser que le domaine correspond à votre domaine. 1) Saisissez votre nom de domaine. 2) Ne cochez pas la case Ajouter le domaine 3) Cliquez sur Suivant Vous arriverez sur la fenêtre suivante, dans laquelle est présenté un synthèse de ce qui va être créé. 1) 2 redirection vont être créées hc2.mondomaine.com et www.mondomaine.com (optionnel) 2) Ces 2 redirection vont être associées au domaine créé: mondomaine.com (de telle sorte que ces 2 redirections vont reprendre automatiquement l'adresse IP de mondomanie.com) 3) Cliquez sur Valider Vous arriverez sur la fenêtre suivante qui vous indiquera la confirmation de l'ajout de 2 redirections. 1) Message de confirmation de l'ajouts des redirections. 2) Domaine hc2.mondomaine.com (ces noms ne seront pas forcement en début de liste, il convient de parcourir la liste pour vérifier leur existence) 3) Domaine www.mondomaine.com (ces noms ne seront pas forcement en début de liste, il convient de parcourir la liste pour vérifier leur existence) (optionnel) 4) Renouvellez l'opération autant de fois que vos applications à ajouter. Nota : Ces ajouts seront également visibles dans la liste disponible dans l'onglet Zone DNS. Nota : La création de ces entrée DNS peuvent prendre jusqu'à 24 heures pour qu'elles soient propagées des les DNS sur internet. Cela veut dire que pendant ce temps, la résolution de votre nom DNS ne sera pas disponible (hc2.mondomaine.com ou www.hc2.mondomaine.com (optionnel)). A tester pour vérifier C'est bon, nous en avons terminé avec la configuration sur le site d'OVH. Passons maintenant à la configuration du NAS Synology 2 - Configuration du NAS Synology : Passons maintenant à la configuration du NAS Synology où nous traiterons de : l'ajouts des entrées dans votre reverse proxy de la mise à jour de vos DDNS de la création du certificat Lets' Enscrypt l'association de vos certificats avec les services (applications) A) Ajout des entrées Reverse Proxy RDV dans le panneau de configuration pour l'ajouts des entrées Reverse Proxy. En occurrence, les applications auxquelles vous souhaitez accéder depuis l'extérieur) Si vous voulez plus de détails sur le fonctionnement du Reverse Proxy, vous trouverez ici le documentation Synology : https://www.synology.com/fr-fr/knowledgebase/DSM/help/DSM/AdminCenter/application_appportalias 1) Cliquez dans la section Applications sur Portail des applications. Vous arriverez sur la fenêtre suivante : 1) Cliquez sur l'onglet Proxy inversé 2) Cliquez sur le bouton Créer Vous arriverez sur la fenêtre suivante, dans laquelle vous pourrez créer vos règles de proxy inversé (vers vos applications) : 1) Saisissez une description de la règle 2) Sélectionnez le protocole HTTPS (cela permettra de chiffrer les transactions entre votre source (navigateur) et votre application cible avec l'utilisation d'un certificat) 3) Saisissez le nom de la redirection que vous avez créée sur le site d'OVH et qui correspond à votre applications. Dans l'exemple, il s'agit hc2.mondomaine.com 4) Saisissez le port 443 (qui correspond au protocole HTTPS) 5) Cochez Activer HSTS 6) Cochez Activer HTTP/2 7) Sélectionnez le protocole HTTP (A ce niveau là vous êtes dans votre réseau, il n'est plus utile de chiffrer la transaction) 8) Saisissez l'adresse IP de votre Cible ou le nom de Host (si vous disposez d'un fichier qui gère vos hostname de votre réseau local, c'est préférable de cette façon si un jour vous souhaitez change les adresse ip de votre réseau local, votre règle de proxy inversé continuera de fonctionner) 9) Saisissez le port 80 (qui correspond au protocole HTTP) 10) Cliquez sur le bouton Ok Vous obtiendrez le résultat suivant : 1) Recommencez en Cliquant sur le bouton Créer pour chacune de vos règles (application/sous-domaine) B ) Mise à jour de vos DDNS RDV dans le panneau de configuration pour l'ajouts des mises à jour de DDNS. En occurrence, votre domaine. L'objectif ici est que l'adresse IP public (fournit pas votre opérateur) soit actualisé automatiquement dans le DNS d'OVH pour votre domaine. Dans l'exemple mondomanie.com. C'est nécessaire lorsque vous ne disposez pas d'une IP fixe (c'est notamment la cas d'Orange). Nota : Nous traiterons ultérieurement du cas où vous auriez mis en oeuvre une solution FailOver (double connexion opérateur, exemple une ligne 3G/4G qui vient prendre le relais en cas d'indisponibilité de votre box opérateur) Si vous voulez plus de détails sur le fonctionnement des DDNS, vous trouverez ici le documentation Synology : https://www.synology.com/fr-fr/knowledgebase/DSM/help/DSM/AdminCenter/connection_ddns 1) Cliquez dans la section Connectivité sur Accès externe. Vous arriverez sur la fenêtre suivante : 1) Cliquez sur L'onglet DDNS 2) Cliquez sur le bouton Ajouter Vous arriverez sur la fenêtre suivante, dans laquelle vous pourrez ajouter votre règle de proxy inversé (pour votre domaines) : 1) Sélectionnez le Fournisseur de Service : OVH 2) Saisissez votre nom de domaine : dans l'exemple mondomaine.com 3) Saisissez le nom d'identifiant que vous avez créer sur le site OVH. Dans l'exemple mondomaine.com-ident 4) Saisissez le mot de passe le l'identifiant que vous avez créer sur le site OVH. Dans l'exemple mondomaine.com-ident 5) L'adresse affichée correspond normalement à votre adresse IP publique fournit par votre opérateur internet 6) Cloquez sur le bouton pour tester le fonctionnement de la mise à jour du DNS (sous-domaine) chez OVH 7) Si tout est bien configuré, vous devriez obtenir l'indication Normal 8) Cliquez sur le bouton Ok Vous obtiendrez le résultat suivant : C) Création des certificats Let's Encrypt RDV dans le panneau de configuration pour l'ajouts de certificats Let's Encrypt. En occurrence, c'est lui qui va servir au chiffrement de vos connexion HTTPS. il faut d'ABORD rediriger le port 80 du routeur opérateur --> votre routeur personnel --> Nas Synology adapter les règles du FW du Syno (ou les désactiver) pour la durée de la création du certificat Si vous voulez plus de détails sur le fonctionnement des certificats, vous trouverez ici le documentation Synology : https://www.synology.com/fr-fr/knowledgebase/DSM/help/DSM/AdminCenter/connection_certificate 1) Cliquez dans la section Connectivité sur Sécurité. Vous arriverez sur la fenêtre suivante : 1) Cliquez sur L'onglet Certificat 2) Cliquez sur le bouton Ajouter Vous arriverez sur la fenêtre suivante, dans laquelle vous pourrez ajouter des certificat (notamment Let's Encrypt) : 1) Sélectionnez Ajouter un nouveau certificat 2) Cliquez sur le bouton Suivant Vous arriverez sur la fenêtre suivante dans laquelle vous allez nommer le type de certificats (en l'occurence Letf's Encrypt) : Je vous suggère de créer à minima 2 certificats : Un pour l'ensemble de vos applications présentes sur votre NAS Synology (certificat par défaut) (Exemple : Surveillance Station, Photo Station, ...) Un par applications (sous-domaines) externes à votre NAS Nota : Si vous hébergé une application WEB accessible depuis l'extérieur de votre réseau, je vous conseil de créer un certificat spécifique et ne pas utilisé celui par défaut. Un certificat peut être associé à plusieurs applications ou plusieurs nom de sites : ds.mondomaine.com; www.ds.mondomaine.com; survs.mondomaine.com, www.survs.mondomaine.com nota : les "www.xxxxxxx.zzz" sont optionnels. Commençons par les certificat de vos applications présentes sur votre NAS Synology 1) Saisissez dans la description votre nom de sous-domaine correspondant à votre NAS Synology 2) Sélectionnez option Procurez-vous un certificat auprès de Let's Encrypt 3) Cochez : Configurer comme certificat par défaut (Toutes les applications qui seront crées ultérieurement utiliseront ce certificat, sauf si vous modifié l'association que nous venons plus loin) 4) Cliquez sur le bouton Suivant Vous arriverez sur la fenêtre suivante dans laquelle vous allez associé le certificat à un nom de domaine : 1) Saisissez dans la description votre nom de sous-domaine correspondant à votre NAS Synology. Dans l'exemple vos applications sur le NAS : ds.mondomaine.com 2) Saisissez votre adresse mail (elle sert notamment à Let's Encrypt à limiter le nombre de certificats souscrits) 3) Dans le champs Autre nom de l'option : Saisissez votre nom de sous-domaine correspondant à votre NAS Synology en ajoutant WWW. devant (optionnel). Dans l'exemple vos applications sur le NAS : www.ds.mondomaine.com; surv.mondomaine.com; www.surv.mondomaine.com Saisissez autant, de nom de sous-domaines que d'applications ou nom de sites qui utiliseront ce certificat. Séparer les par un ; (point-virgule). Dans l'exemple : surv.mondomaine.com; www.surv.mondomaine.com (optionnel) Donc dans l'exemple (NAS Synology et Surveillance Station) ça donne : www.ds.mondomaine.com; surv.mondomaine.com; www.surv.mondomaine.com nota : les "www.xxxxxxx.zzz" sont optionnels. 4) Cliquez sur le bouton Appliquer Vous obtiendrez le résultat suivant : 1) Votre certificat (par défaut) a bien été créé 2) Cliquez sur le bouton Ajouter pour créer les autres certificats (spécifiques aux applications non présentes sur le NAS Synology ou vos Serveurs WEB accessibles depuis internet) Vous arriverez sur la fenêtre suivante, dans laquelle vous allez pouvoir ajouter vos certificats complémentaires : 1) Sélectionnez Ajouter un nouveau certificat 2) Cliquez sur le bouton Suivant Vous arriverez sur la fenêtre suivante dans laquelle vous allez nommer le type de certificats. Mais cette fois il convient de ne pas le définir comme par défaut. 1) Saisissez dans la description votre nom de sous-domaine correspondant à vos applications spécifiques non présentes sur le NAS Synology ou vos Serveurs WEB accessibles depuis internet 2) Sélectionnez option Procurez-vous un certificat auprès de Let's Encrypt 3) Décochez : Configurer comme certificat par défaut (nous reviendrons sur ce point plus loin) 4) Cliquez sur le bouton Suivant Vous arriverez sur la fenêtre suivante dans laquelle vous allez associé le certificat à un nom de domaine : 1) Saisissez dans la description votre nom de sous-domaine correspondant à votre boxe HC2 Fibaro. Dans l'exemple vos applications sur le NAS : hc2.mondomaine.com 2) Saisissez votre adresse mail (elle sert notamment à Let's Encrypt à limiter le nombre de certificats souscrits) 3) Dans le champs Autre nom de l'option : Saisissez votre nom de sous-domaine correspondant à votre NAS Synology en ajoutant WWW. devant (optionnel). Dans l'exemple vos applications sur le NAS : www.hc2.mondomaine.com Saisissez autant, de nom de sous-domaines que d'applications qui utiliseront ce certificat. Séparer les par un ; (point-virgule) nota : les "www.xxx.zzz" sont optionnels. 4) Cliquez sur le bouton Appliquer Vous obtiendrez le résultat suivant : 1) Votre certificat (par défaut) a bien été créé 2) Cliquez sur le bouton Ajouter pour créer les autres certificats (spécifiques aux applications non présentes sur le NAS Synology ou vos Serveurs WEB accessibles depuis internet) 3) Une fois vos certificats tous créés, il convient de vérifier la bonne association de vos certificats avec vos différents Services. Cliquez sur le bouton Configurer. D) Association des certificats aux Services Vous arriverez sur la fenêtre suivante : 1) Sur la première ligne de Services, cliquez sur la liste déroulante 2) Sélectionner le certificat qui doit être associé au Service correspondant à la ligne sur laquelle vous êtes positionné. Exemple : Service hc2.mondomaine.com = hc2.mondomaine.com Home Center 2 de XXX Service ds.mondomaine.com = ds.mondomaine.com NAS Synlogy de XX (par défaut) Tous les autres services = ds.mondomaine.com NAS Synlogy de XX (par défaut) 3) Passer toutes le ligne en revue 4) Cliquez sur OK pour terminer D) Chiffrement TLS / SSL Toujours dans le panneau de configuration Sécurité del la section Connectivité, aller sur l'onglet Avancé pour configurer le protocole de chiffrement . Vous arriverez sur la fenêtre suivante : 1) Cliquez sur L'onglet Avancé 2) Sélectionnez l'option Compatibilité intermédiaire 3) Cliquez sur Appliqué Nous en avons terminé sur le NAS Synology 3 - Configuration de la translation d'adresses IP/Ports sur vos Routeurs : Passons maintenant à la configuration du routeur Opérateur pour ajouter une redirection du port 443 entrant de votre box opérateur sur vers le port 443 de : votre Routeur personnel (Routeur Synology dans l'exemple) puis de votre Routeur Synology vers votre NAS Synology ou votre NAS Synology 4 - Configuration du Routeur Opérateur : Passons maintenant à la configuration du routeur opérateur pour ajouter une redirection du port 443. RDV dans la console d'administration de votre votre box Opérateur. Dans l'exemple une Livebox Orange. 1) Cliquez sur L'onglet configuration avancée 2) Cliquez sur le sous-onglet NAT/PAT 3) Renseignez un nom de règle. Dans l'exemple : HTTPS 4) Renseignez le port 443 qui va correspondre au port d'entrée de : de votre NAS Synology (si vous ne disposez pas d'un routeur personnel) ou de votre Routeur Personnel (si vous disposez pas d'un routeur personnel). Dans l'exemple Routeur Synology 5) Renseignez le port 443 qui va correspondre au port externe (celui de la box opérateur, visible d'internet) 6) Renseignez un nom de règle. Dans l'exemple : HTTPS 7) Renseignez l'adresse IP qui va correspondre à : NAS Synology (si vous ne disposez pas d'un routeur personnel). En renseigner en fonction de la façon dont vous avez configuré votre LAN ou Routeur Personnel (si vous disposez pas d'un routeur personnel). Soit dans l'exemple Routeur Synology = 192.168.1.2 8) Cliquez sur enregistrer 5 - Configuration du Routeur personnel (Optionnel selon votre configuration) : Si vous disposez d'un routeur personnel, il convient de le configurer y ajouter une redirection du port 443 vers votre Nas Synology. RDV dans le Centre réseau de votre Routeur Synology 1) Cliquez sur le menu Transmission de port 2) Cliquez sur Créer Vous arriverez sur la fenêtre suivante : 1) Renseignez un nom de règle. Dans l'exemple : HTTPS 2) Renseignez l'adresse IP qui correspond à votre NAS Synology 3) Renseignez le port 443 qui va correspondre au port Public (en entrée) de votre Routeur Synology 4) Renseignez le port 443 qui va correspondre au port Privé (en entrée) de votre NAS Synology 5) Renseignez le Protocole TCP 6) Cliquez sur Créer Vous obtiendrez le résultat suivant : 1) Cochez l'activation de la règle HTTPS 2) Cliquez sur le bouton Sauvegarder Cette fois c'est bon. Tout devrait maintenant fonctionner Bon courage à vous pour la mise en oeuvre et profitez bien de votre accès externe qui sera peut-être un peu plus en sécurité Quelle idée, j'ai eu de d'accepter de faire ce TUTO. Merci à @jojo pour ça suggestion de m'y mettre et à @Steven pour ces infos. Mais si ça peu rendre notre monde de la domestique plus sure, tant mieux Je complèterais évidement de vos remarques et suggestion d'améliorations. Merci d'avance pour celles-ci PS : Mais n'oubliez pas il peut y avoir un délai pour l'activation des sous-domaines par OVH de 24h
  17. chatbleu

    HC2 en backup ou //

    J'ai quelques probleme de clé de bckp sur ma HC2 et cette derniere risque de partir en Pologne prochainement histoire de faire des vacances et changer la clé a 2$. Je me pose la question si il y a des solutions pour avoir 2 HC2 en // pour avoir la partie domotique toujours en service avec la meme configuration. Car le probleme n est pas les vacances de ma HC2 dans des contrées lointaines mais plutot que il y a plus de ctrl z-wave...
  18. MAM78

    Notification Stop

    Notification Stop Préambule : Je sais pas si comme moi, il vous arrive d'en avoir marre de recevoir des notifications (Mail, Push, Vocale) en provenance de votre HC2. Comme par exemple (en provenance de GEA, dans mon cas) : Vous travaillez dans votre garage et vous laissez la porte de votre garage volontairement ouverte, mais comme vous avez mis en place un système de notification vocale et push pour vous signaler que la porte vient d'être ouverte, fermée, ouverte depuis 20 min., ... là votre WAF vous dit qu'elle en a marre de recevoir ces notifications régulièrement. Vous vous dites mince, je vais devoir intervenir dans mon code de la HC2 pour suspendre ces notifications. Mais comme vous comptiez bosser tranquillement dans votre garage, ce n'est pas le moment de faire du code Vous avez une pile d'un de vos détecteurs dans la maison qui vient de tomber en rade de batterie et toute la journée au boulot vous recevez des Push et des mails vous rappelant que personne n'a changer vos piles en votre absence. J'ai donc décidé d'ajouter en externe à GEA (dans mon cas) des conditions de suspension de certaines notifications. Le Projet : Créer un VD sans aucune prétention permettant de conditionner les notifications principales que je déclenche depuis GEA. Pour chacune de mes catégories de notifications, je gère 4 états : On = Notification activée en permanence Tmp = Notification suspendue pour une durée que vous déterminerez dans GEA Day = Notification suspendue pour la journée entière Off = Notification arrêtée jusqu'à la prochaine activation faite manuellement via le VD. Pré-requis : aucune si ce n'est que d'installer/configurer le VD et l'adapter à vos besoins et addapter vos codes pour intégrer la prise en compte des conditions que vous aurez définies. Installation : Télécharger et installer le Virtual Device ci-dessous (dans sa dernière version) Télécharger l'icône ci-dessous ou fabrique la votre Configuration : Du Virtual Device : Dans l'onglet Avancé de VD importé, il convient par notification à contrôler de : Ajouter un label qui va contenir l'état de la configuration de votre notification Ajouter une série de 4 boutons dans lesquels vous ajoutez/adapterez le code pour mettre à jour le label ci-dessus. Modifier les icônes de vos boutons pour que ce soit plus beau. Voir icône fournie. Recommencer l'opération pour chacune de vos notifications que vous souhaitez contrôler/configurer. Ne pas oublier de sauvegarder régulièrement votre nouveau VD De vos codes générateurs des notifications : Adapter leur code pour prendre en compte les conditions (On, Tmp, Day, Off). Ne pas oublier de mettre en place le systèmes qui va repasser à On les labels une fois à l'achèvement de la durée que vous aurez déterminée pour les états Tmp et Day. Dans mon cas j'utilise GEA pour ça. Utilisation du VD : Donner l'accès au VD à votre WAF pour son autonomie et pour vous votre tranquillité Versions : V1.0 : du 19/04/2018 -> Intialisation du projet Evolutions à venir : Fournir quelques exemples de Lignes GEA utilisant et mettant à jour le VD Notification Setup A voir selon vos suggestions Dernière version du VD : VD : Notification_Stop.vfib V1.0.json Icône :
  19. Google Calendar vers HC2/HCL (dernière mise a jour : 23/02/15) Bien que d'autres solutions permettant de piloter sa box depuis un agenda Google existent déjà (je pense bien entendu aux formidables travaux de Kriek), je n’en ai pas trouvé qui réponde parfaitement à mes besoins. Je vous propose donc de partager ce à quoi je suis arrivé... Le besoin : Le but étant de « programmer » l’ouverture/fermeture de mon portail à date et heure fixe, de lancer une machine à laver a telle heure, de gérer une variable indiquant si je suis en congé ou pas, etc. (voilà ça va pas péter plus loin que ça), j’ai besoin de : quelque chose de simple à utiliser qui me permet en ajoutant un événement dans un calendrier Google de déclencher une scène ou un bouton sur ma box, quelque chose de simple à configurer, et surtout sans script LUA : en fait j’ai une HC2 mais je dois également piloter une HC Lite et je veux donc une solution unique (v1.2) pour certains besoin "urgents" ou il est souvent plus rapide de s'envoyer un mail que d'ajouter une entrée dans le calendrier, avoir la possibilité de traiter les mêmes commandes mais envoyées par mail cette fois ci. La commande sera traitée dans la foulée de la récéption du message, il n'y a pas de notion de scheduling dans ce cas. La solution envisagée : Avec la contrainte de la HC Lite, il me faut trouver une solution d’héberger « le script » ailleurs. Pas possible de l’embarquer sur la box et d’être autonome. En même temps, vu que je veux utiliser Google Calendar (pour des raison de facilité d’accès et de gestion), autant héberger mon script sur Google Drive. Afin d’en faciliter l’utilisation et dans le but de partager tout ce bordel, je suis passé par une spreadsheet Google qui embarque mon script. En effet, je trouve ça plus « simple » de modifier le texte d’une cellule plutôt que de toucher a des lignes de code. Ceci dit, faudra quand même se retrousser un poil les manches pour installer le tout… Installation : 1) Tout d’abord il faut récupérer la spreadsheet Google dont le lien de partage est le suivant : https://docs.google.com/spreadsheets/d/1JdygLOXaGJdJ9WL4t_UUHejao6vfYurjc_D7PybdWro/edit?usp=sharing Copiez la dans votre Google Drive en faisant Fichier > Créer une copie... depuis la spreadsheet (v2.0) Depuis la v2, les données ont été séparées sur 3 onglets différents : Configuration : Toutes les données de configuration ont été regroupées ici Commandes : Permet de définir les différentes commandes mises à disposition Data : il s'agit des données interne à la spreadsheet, il n'y a rien a toucher ici. 2) Modifiez le contenu de la premiere feuille afin de définir les différents paramètres de connexion a votre Home Center (qu’elle soit Lite ou 2) et l’ID du calendrier Google qui sera utilisé pour gérer l’activité de votre box. Donc si vous n’avez pas de calendrier dédié, c’est le moment de le créer… (v1.2) Sélectionnez la version du firmware que vous avez 3.x ou 4.x. (v1.2) Vous avez la possibilité de spécifier quel label Gmail est a surveiller (cf. Gestion des mails ci dessous) ainsi que les caractères qui permettrons d'identifier le contenu utile du mail de votre signature de mail (dans le cas ou vous en utilisez une) (v2.0) Vous avez maintenant la possibilité d'activé ou pas la prise en compte des événement du calendrier et/ou des emails (v2.0) Dans le cas des traitements de emails, il y a la possibilité de demander un accusé de réception de la commande. En gros vous envoyez un email contenant la commande a executer et on vous répond si l'action a été traitée avec succès ou pas. 3) Dans la partie « Définition des commandes » il s’agit de définir les différentes ordres qui seront reconus : ID : il s’agit de l’identifiant de la commande. A vous de le choisir. C’est cet identifiant que vous allez utiliser par la suite dans votre calendrier Google Description : bon je passe sur la description de ce champs... Action : Différentes action sont gérées par le script : gestion de scenes, d’interrupteurs, de variateurs, de volets roulants ou de modules virtuels. En fonction de ce que vous sélectionnez, les 3 autres paramètres du tableau auront une signification bien précise. Une note dans chaque cellule est ajouté automatiquement afin de vous guider dans la saisie de la définition de votre commande Module ID : En fonction du type d’action il faudra renseigner l’ID du module ou de la scene correspondante Paramètre 1 et 2 : dépendent aux aussi du type d’action sélectionné (Start/stop pour une scene, on/off pour un inter, % de variation pour un dimmer, etc.) 4) Basculez dans le script associé via le menu Outils>Editeur de scripts… 5) Vous allez devoir activer les API Google nécessaires via le menu Ressources>Services avancés de Google… Dans la fenêtre qui s’ouvre, activez Calendar API (si ce n’est pas déjà fait), puis activez le aussi dans la Google Developpers Console (vous avez un lien dans cette même fenêtre qui vous y conduit) 6) Ajoutez un déclencheur sur votre script afin d’executer chaque minute la fonction Gcal2HC : - Depuis l'editeur de script, menu Ressources > Déclencheurs du projet actuel - Dans la nouvelle fenêtre qui vous indique qu'aucun déclencheur n'est actuellement configuré, cliquez sur le lien pour en ajouter un - Configurez votre déclencheur en sélectionnant la fonction Gcal2HC et l'événement En fonction du temps/Minuteur/Chaque minute 7) Maintenant que tout est activé et qu’une commande a été configurée, revenez dans votre spreadsheet 8) Allez dans le menu Gcal2HC tools>Tester une commande. (v2.0) Une nouvelle fenêtre listant les commandes disponibles va s'ouvrir. En cliquant sur le bouton de la commande vous pouvez tester directement cette dernière. Un certain nombre d’autorisations vont vous être demandé… 9) (v2.0) Même si vous n'avez pas encore créé d'événement ou envoyé un email, passez sur les autres menus Gcal2HC tools>Relever les événements et Gcal2HC tools>Relever les emails afin de valider les autorisations d'accès nécessaires Bon à partir de là , si vous n'utilisez pas la fonctionnalité de gestion par email vous pouvez passer au paragraphe Utilisation sinon configurez votre compte gmail comme indiqué ci-dessous … (v1.2) Configuration Gmail : Le principe de cette fonctionnalité est simple : au lieu de saisir une commande dans la description d'un événement calendrier, on envoi tout simplement un email contenant cette description. Sur réception de l'email, la commande est analysée (comme pour les événement du calendrier) et exécutée dans la foulée. Afin de rendre ce processus simple, on ne va traiter que les messages reçus sur le compte Gmail et qui ont le label qui a été initialisé dans la partie déclarative de la spreadsheet. Les labels imbriqués sont supportés, il suffit de les séparer par un '/'. Exemple : Domotique/ToDo Je vous laisse le soin de créer une règle dans votre compte Gmail afin de "tagger" automatiquement les message qui vont bien avec le bon label (par exemple une règle basé sur l'expediteur, le destinataire et l'objet du message.) C'est le contenu du message (le body) qui doit contenir la chaine texte correspondant à la commande a executer. Dans le cas (et c'est souvent le cas sur mobile) ou vous avez une signature qui s'ajoute automatiquement a votre message, vous pouvez spécifier les caractères qui permettrons de délimiter la partie utile du message de votre signature (par exemple --) Attention : Dès lors que le message est traité il est automatiquement déplacé dans la corbeille. (v2.0) Si vous envoyez la commande HELP par email, on vous répond avec la liste des commandes disponibles. C'est ppratique lorsqu'on a beaucoup de commandes et qu'on ne se souvient plus de l'ID des commandes... Utilisation : 3 types d’utilisations sont possibles : 1) La première, que vous connaissez déjà , consiste à déclencher l’action directement depuis la spreadsheet (cf. étapes 7 et 8 de l’installation). Ceci permet de mettre au point une commande sans avoir à la programmer dans son calendrier et attendre que tout se déclenche. 2) Déclenchement programmé depuis votre calendrier. Pour cela il suffit de créer un événement à une heure précise (sans durée, donc heure de début = heure de fin). Vous mettez le titre que vous désirez (pour que ce soit parlant pour vous) et ajoutez dans le champs Description l’ID de la commande à executer. Voilà c’est tout, toutes les minutes le script va tourner et dès qu’un événement arrive à échéance, la commande associée sera exécutée. 3) (v1.2) Déclenchement suite à la réception d'un email Voici quelques screenshots : Remarques : 1) J’utilise l’API http pour piloter la box, donc ça n’a rien a voir avec la solution de Kriek qui est bien plus puissante et propre ! Mais bon, avec la HC Lite, je ne vois pas comment faire autrement. Peut être avec l’arrivée de la v4 (si elle arrive un jour…). Du coup obligé d'exposer la box sur le net, ça ne me plait pas trop non plus, mais bon ... 2) Je ne traite pas les événements sur la journée mais que des événement à des instant précis 3) Je ne traite pour l’instant qu’une seule commande par événement 4) Autre limitation : si pendant une certaine période la communication avec la Home Center est coupée, les événements de cette période sont tout simplement perdus… 5) Bien entendu, il ne faut pas modifier la spreadsheet ca il y a des références à des cellules en dur dans le code (houuuuu que c’est pas beauuuuu ça aussi…) 6) Dernier point, ça fait juste quelques jours que j’ai ça en place, et je n’ai pas encore tout migré de mon ancien système vers la HC2. Donc si vous rencontrez des bugs et autres bizarreries… c’est normal Historique : 09/11/2014 - v1.0 : version initiale 31/12/2014 - v1.2 : correction bug su l'utilisation du SWITCH préparation pour la sortie du la v4.x ajout du traitement des commandes envoyées par mails 04/01/2015 - v1.3 : ajout support API pour Notification, Mise a jour des variables globales et Armer les devices 23/02/2015 - v2.0 : refactoring de la spreadsheet et du code ajout de l'accusé de réception de la commande par email ajout de l'aide par email
  20. Nespresso Manager Préambule : Vous trouverez ci-dessous le nouveau Virtual Device qui permet de suivre la consommation de café sur une machine Nespresso (en distinguant la taille des cafés réalisés). A l'origine de projet : Je cherchais une solution pour identifier au moment du réveil qui est la personne entre moi et mon épouse qui vient de se lever (sachant que nous nous levons pas forcement au même moment). Avec pour objectif de réaliser des scenarios personnalisés en fonction de la personnes qui vient de se lever (ex: envoyer un message vocal Sonos personnalisé annonçant la météo). Ne disposant pas de caméra avec reconnaissance de visage, je me suis demandé quoi utiliser d'autre. J'ai donc recherché qu'elle est l'action que nous réalisons tous les 2 chaque matin au réveil et qui est spécifique a chacun de nous 2. En faite, c'est un café. Mon épouse se fait un café long et moins un café court. Je sais c'est très spécifique, mais bon ça le fait quand même. Pour ce faire, j'utilise un Wall Plug et je mesure la durée et la consommation électrique pour déterminer la taille du café fait. J'ai essayé de faire ces mesures avec GEA, mais la variation du nombre de Watt est trop inconstante et la durée de traitement est trop courte (café court > 30sec. cf. Cycle GEA de 30sec.) Dun coup, j'ai décidé de créer une VD et une scène de management de ma machine Nespresso. Le Projet : Le but du projet consiste à : Identifier l'heure des premiers cafés réalisés chaque jour selon les 3 programmes (Court, Moyen, Long) disponibles sur ma machine Nespresso Comptabilisé le nombre de cafés réalisés selon les 3 programmes D'identifier l'horaire et le type de café réalisée Vos idées/suggestions sont le bienvenues Pré-requis : Disposer d'une machine à café (Nespresso ou autre type avec le même principe de fonctionnement) Disposer d'un Wall Plug qui mesure la consommation électrique (ex: FGWPE-102) Installation : Télécharger, installer et configurer le Virtual Device ci-dessous (pour la dernière version) Télécharger, créer et configurer la Scène ci-dessous (pour la dernière version) Configuration : Du Virtual Device : Dans l'onglet Avancé de VD importé, il convient de : De nommer votre VD (ex. : Nespresso) à votre convenance De désigner la pièce ou se situe votre machine à café. Ne pas oublier de sauvegarder Cf. image ci-dessous : Charger les icônes ci-dessous : On Off Modifier l'icône de votre VD, en associant celle représentant l'état "Off" Modifier l'icône du bouton "❌ Réinitialisation" votre VD, en associant celle représentant l'état "Off" Ne pas oublier de sauvegarder De la scène associé au VD : Dans l'onglet Avancé de la scène importée, il convient de : Créer votre scène Nommer votre scène (ex. : Nespresso) à votre convenance. De désigner la pièce ou se situe votre machine à café. Paramétrer à un le Max. running instances Paramétrer à "Automatic" Run scene Charger et modifier l'icône de votre scene, en associant celle représentant l'état "Off" Ne pas oublier de sauvegarder Cf. image ci-dessous : Configurer les variables de votre scène : Cf. image ci-dessous : Ne pas oublier de sauvegarder Principe d'analyse des données : La détermination de la longueur du café se fait à partir de l'identification des différentes la phase de réalisation du café. Voir schéma ci-dessous : Phase 1 : Préchauffage de la machine (optionnelle). Elle ne s'exécute pas si vous venez de faire un café. Phase 2 : Réalisation du café (le café coule). C'est celle-ci qui nous intéresse et plus particulièrement sa durée Phase 3 : Nouvelle phase de préchauffage dont le but, je suppose est d'anticiper la réalisation d'un prochain café. Cette phase doit être ignorée. Pour identifier le début (TO) la phase 2, il convient déjà de savoir s'il y a eu une phase 1 de préchauffage. S'il y eu une phase de préchauffage : Il convient de l'ignorer en identifiant la fin de préchauffage. Soit une consommation inférieure à 2 watts (voir variable Nespresso_WP_MinPowerEndPhase) Puis identifier l'instant du premier pic de température (TO dans le schéma) qui suite et qui est supérieur à un seuil de consommation à 700 watts (voir variable Nespresso_WP_MinPowerCafeCycle) S'il n'y pas eu une phase de préchauffage : Identifier l'instant du premier pic de température (TO dans le schéma) qui est supérieur à un seuil de consommation à 700 watts (voir variable Nespresso_WP_MinPowerCafeCycle) Pour identifier la fin (T(fin)) de la phase 2, il convient D'identifier une consommation inférieure à 2 watts (voir variable Nespresso_WP_MinPowerEndPhase) De repérer l'instant du dernier pic avec un seuil de consommation supérieur à 700 watts (voir variable Nespresso_WP_MinPowerCafeCycle) Enfin , pour déterminer la durée de réalisation du café, cela correspond à l'écart en seconde entre T(fin) et T0. CQFD De GEA version V6.06 (à partir de) : Pour lancer mes scénarios, j'utilise GEA en interceptant les changements de valeurs les labels du VD. Envoi de messages vocaux annonçant la Météo en préfixant l'annonce par un bonjour en citant la personne qui vient de se lever (selon la taille du café qu'elle vient de se faire). Une seule fois (si le label est non vide). Remise à zero à 4h du matin des valeurs contenues dans les 3 premières valeurs du VD (horaire des premiers cafés) pour que la matin les messages vocaux fonctionnent à nouveau. (optionnel) Pour gérer automatiquement l'extinction et de l'allumage du Wall Plug de la machine Nespresso afin d'économiser l'électricité (0,3 watts en permanence !) Pour configurer GEA, il convient de : Mettre l'en-tête de GEA ajouter les lignes suivantes, en modifiant le numéro afin de le faire correspondre à votre VD chargé précédemment : (350 dans mon cas) %% properties 350 ui.lblCafeShort.value 350 ui.lblCafeMedium.value 350 ui.lblCafeLong.value Si utilisation de l'option de gestion automatique du Wall Plug : Ajouter également dans la section %% Properties l'ID de votre détecteur de mouvement situé dans votre cuisine. (89 dans mon cas) %% properties 89 Déclarer votre détecteur de mouvement situé dans votre cuisine dans le tableau "local id = {" (MOUVEMENT_CUISINE = 89 dans mon cas) local id = { MOUVEMENT_CUISINE = 89, ... Ajouter à vos linge GEA les lignes suivantes : GEA.add({ {"Label",id["VD_Nespresso"], "lblCafeShort", ""}, {"Label",id["VD_Nespresso"], "lblLastTypeCafe", "Court"}, {"Weather!", "Temperature" ,""}, {"WeatherLocal!",""} }, -1, "", { {"Inverse"}, {"sonostts", id["VD_SONOS"], id["VD_SONOS_BT"], "Bonjour Michel, nous sommes le #datefull# il fait dehors {tempexttts} et le temps est #value[4]#", 30} }, "Nespresso : Café court") GEA.add({ {"Label",id["VD_Nespresso"], "lblCafeMedium", ""}, {"Label",id["VD_Nespresso"], "lblLastTypeCafe", "Moyen"}, {"Weather!", "Temperature" ,""}, {"WeatherLocal!",""} }, -1, "", { {"Inverse"}, {"sonostts", id["VD_SONOS"], id["VD_SONOS_BT"], "Bonjour Michel, nous sommes le #datefull# il fait dehors {tempexttts} et le temps est #value[4]#", 30} }, "Nespresso : Café moyen") GEA.add({ {"Label",id["VD_Nespresso"], "lblCafeLong", ""}, {"Label",id["VD_Nespresso"], "lblLastTypeCafe", "Long"}, {"Weather!", "Temperature" ,""}, {"WeatherLocal!",""} }, -1, "", { {"Inverse"}, {"sonostts", id["VD_SONOS"], id["VD_SONOS_BT"], "Bonjour Gaby, nous sommes le #datefull# il fait dehors {tempexttts} et le temps est #value[4]#", 30} }, "Nespresso : Café long") GEA.add({"Time", "04:00"}, 30,"", { {"Label",id["VD_Nespresso"], "lblCafeShort", ""}, {"Label",id["VD_Nespresso"], "lblCafeMedium", ""}, {"Label",id["VD_Nespresso"], "lblCafeLong", ""} },"Nespresso : Réinitialisation des infos du VD") -- WP Nespresso Marche/Arrêt ------------------------------------------------ -- Si la détecteur Cuisine est activé on allume le WP de la machine Nespresso GEA.add({{id["WP_Nespresso"]}, {id["MOUVEMENT_CUISINE"]}}, -1 , "", {{"Inverse"}, {"turnOn", id["WP_Nespresso"]}}, "Mise en marche du Wall Plug Nespresso") -- Eteindre le WP de la machine Nespresso si pas de mouvement dans la cuisine de plus de 5 mn. GEA.add({{id["MOUVEMENT_CUISINE"]}, {id["WP_Nespresso"]}}, 5*60, "", {{"Inverse"}, {"turnOff", id["WP_Nespresso"]}, {"Repeat"}}, "Extinction du Wall Plug Nespresso") Si utilisation de l'option de gestion automatique du Wall Plug : Modifier les lignes GEA de gestion du Wall Plug et remplacer MOUVEMENT_CUISINE par le nom que vous aurez donné à votre détecteur de mouvement situé dans la cuisine. Utilisation du VD : Explications sur les différentes informations et actions disponibles sur le VD Versions : V1.0 : du 18/03/2018 -> Intialisation du projet V1.1 : du 20/03/2018 -> Changer de méthode d’analyse pour traiter la phase de préchauffage qui est variables. Je suis parti sur un chargement complet des données en mémoire puis une ’analyse des données pour déterminer les différentes phase pour pouvoir isoler celle qui correspond à la partie ou le café coule réellement (la partie qui permet de déterminer sa longueur). Evolutions à venir : Optimisation du code pour gérer les phases de préchauffage de l'eau: Fait A voir selon vos suggestions Dernière version du VD : VD Nespresso V1.00.vfib.json Dernière version de la scène : Scene Nespresso v1.10.lua
  21. cboubou

    Module Virtuel "smartvmc"

    Bonjour la communauté, Je vous propose aujourd'hui mon module virtuel "SmartVMC". Ce dernier me permet de piloter de manière automatique ma VMC en fonction de la qualité de l'air de ma maison : On allume la VMC si le taux moyen d'humidité relative est supérieur à 60% OU si la concentration moyenne de CO2 est supérieure à 1000 ppm. Le traitement s'arrêtera si le taux moyen d'humidité relative est inférieur ou égal à 55% ET si la concentration moyenne de CO2 est inférieure ou égale à 900 ppm. Le but étant de ne pas allumer/éteindre la VMC dès que l'on atteint la limite de 60% ou de 1000 ppm. Les données sur la qualité de l'air (humidité relative et concentration de CO2) sont extraites de ma Netatmo par le biais du plugin idoine disponible dans la V4. Ma configuration matérielle est la suivante : VMC simple flux, hygroréglable, Aldès, MicroWatt. Home Center 2 en version v4.033. WallPlug Fibaro pour piloter la VMC. Station Netatmo avec modules additionnels. Le module virtuel se présente de la sorte : Un visuel des moyennes d'humidité relative et de concentration de CO2. Un bouton permettant d'analyser à l'instant "t" l'air de la maison. Un visuel de l'état actuel de la VMC. Un bouton de marche forcée de la VMC. Un bouton d'arrêt complet de la VMC. Un bouton pour basculer la VMC en mode automatique. La date de la dernière analyse de l'air. Les 4 états différents de la VMC sont les suivants : Marche Forcée Arrêt Complet Auto (En cours...) Auto (Pause) Il est nécessaire de créer 2 variables globales : Une première variable globale "VMC" est utilisée afin de savoir si la VMC est : en marche automatique, en pause, en marche forcée ou arrêtée (Auto, Pause, Forcée, Arrêtée). Une seconde variable globale "RecyclAir" est utilisée afin de savoir si la VMC est déjà en train d'assainir l'air, par le biais de ce traitement (Oui, Non). J'ai commenté le code afin d'en faciliter la compréhension. NB : Il peut être envisageable pour les personnes possédant une VMC à 2 vitesses que le mode "Auto (En cours...)" corresponde à la grande vitesse et que le mode "Auto (Pause)" corresponde à la petite vitesse. Voici les icônes (2 variantes) : Orange => Marche Forcée Rouge => Arrêt Complet Vert => Auto (En cours...) Bleu => Auto (Pause) Les originaux qui m'ont servi de base sont ici : http://www.domotique...zibase/?p=25155 Vous trouverez également de magnifiques icônes pour la Netatmo ici (merci Stef). ChangeLog => v1.0 : Création du module. v1.1 : Ajout du push lors du passage "En cours" <=> "Pause". Modification des conditions du passage au mode "Auto". Ajout d'un contrôle sur l'état du plugin Netatmo pour mode "Auto". SmartVMC.vfib
  22. MAM78

    Philips HUE InfoTools

    Philips HUE InfoTools Préambule : Vous trouverez ci-dessous le nouveau Virtual Device visant collecter des informations sur vos ampoules Philips HUE. Le projet exploite l'API mise à disposition par Philips à l'adresse suivante : https://developers.meethue.com/philips-hue-api Cette API permet notamment de : Récupérer des information sur votre système HUE Manager (récupérer les infos et paramétrer) vos ampoules unitairement ou toutes ampoules d'un groupe Pour le moment, je me suis focaliser sur la récupération d'informations sur votre configuration de vos ampoules. Ce VD est complémentaire à mon VD Hue Manager. Il permet notamment de d'obtenir les informations nécessaires à la configuration des scénarios de pilotage de vos ampoules, notamment sur les informations suivantes : Le username permettant de piloter les ampoules associées au pont HUE La valeur de la brillance de l'ampoule La valeur de la saturation de l'ampoule La valeur de la couleur HUE de l'ampoule La valeur de la température de couleur de l'ampoule L'Id du groupe dans lequel l'ampoule est associée L'Id de la scènes dans lesquelles est associée l'ampoule (navigation via les boutons haut et bas). Info qui va être exploitée dans une nouvelle version du VD HUE Manager L'adresse IP du Pont HUE Merci à @Steven qui m'a mis sur la piste permettant de récupérer une partie des infos via le plugin HUE. Le reste des info sont collectées via l'API Le Projet : Le but du projet consiste à (pour le moment) à obtenir les informations suivantes : Id de l'ampoule Désignation de l'ampoule Pièce dans laquelle elle est installée La valeur de la brillance de l'ampoule La valeur de la saturation de l'ampoule La valeur de la couleur HUE de l'ampoule La valeur de la température de couleur de l'ampoule L'Id du groupe dans lequel l'ampoule est associée Le nom du groupe dans lequel l'ampoule est associée Le nombre de scènes dans lesquelles est associée l'ampoule Le nom de la scènes dans lesquelles est associée l'ampoule (navigation via les boutons haut et bas) L'Id de la scènes dans lesquelles est associée l'ampoule (navigation via les boutons haut et bas) L'adresse IP du Pont HUE Le username permettant de piloter les ampoules associées au pont HUE Et pour plus tard : Faire la même chose pour piloter unitairement des ampoules. Vos idées/suggestions sont le bienvenues Pré-requis : Disposer d'ampoule Philips HUE Avoir regroupé les ampoules dans un groupe Avoir installer le plugin Philips HUE Installation : Télécharger et installer le Virtual Device ci-dessous (pour la dernière version) Configuration : Du Virtual Device : Dans l'onglet Avancé de VD importé, il convient de : De nommer votre VD (ex. : Hue Info Manager) à votre convenance Renseigner les variables indiquées ci-dessous dans le premier bouton -- User variables local Hue_Light_VD_Id = 264 -- ID d'un des Devices de type Ampoule HUE créé par le plugin Philips HUE local modetrace = permet de renseigner les différentes étape d'exécution du traitement dans le Dégogueur local modetrace = permet de renseigner des trace sur le contenu de certaine variable lors de l'exécution du traitement dans le Dégogueur afin d'aider à trouver la source d'un bogue. Ne pas oublier de sauvegarder Cf. image ci-dessous : Charger l'icônes ci-dessous : Charger l'icônes suivante : l'associer à l'ensemble de vos boutons du VD Utilisation du VD : Cliquer sur le premier bouton recherche va récupérer toutes les informations liées à l'ampoule configurée Les boutons flèche haute et basse permet de visualiser les informations (Designation et ID) sur les différentes scènes configurées pour ce ampoule (voir le groupe auquel elle est associée) Le dernier bouton permet de lancer la scène affichée et de visualiser ses effets Concernant les informations (bri, sat, hue, ct) il est pratique de modifier la couleur de votre ampoule à votre convenance depuis une application smartphone/tablette et de cliquer sur le bouton d'actualisation pour obtenir les propriétés. Versions : V1.0 : du 22/02/2018 -> Intialisation du projet V1.1 : du 23/02/2018 -> Amélioration en cas ou l'ampoule n'est pas associée a un groupe. Ajout d'un label avec l'ID du Devices Ampoule HUE renseigné dans la variable Hue_Light_VD_Id Evolutions à venir : Pouvoir choir l'ampoule via le VD A voir selon vos suggestions Dernière version du VD : Hue_InfoTools.vfib.json
  23. MAM78

    HC2 : Philips HUE Manager

    Philips HUE Manager Préambule : Vous trouverez ci-dessous le nouveau Virtual Device visant piloter des groupes d'ampules Philips HUE.. Le projet exploite l'API mise à disposition par Philips à l'adresse suivante : https://developers.meethue.com/philips-hue-api Cette API permet notamment de : Récupérer des information sur votre système HUE Manager (récupérer les infos et paramétrer) vos ampoules unitairement ou toutes ampoules d'un groupe Pour le moment, je me suis focaliser sur le paramétrage d'un groupe d'ampoules. A l'origine de projet, je cherchais une solution pour allumer un groupe d'ampoules à l'extérieur de mon domicile pour confirmer visuellement un scénario. Le Projet : Le but du projet consiste à (pour le moment) : pouvoir allumer/éteindre un groupe d'ampoules Philips Hue permettre programmer une durée d'allumage des ampoules (ex. durée 20 secondes) de pouvoir prédéfinir des paramétrages selon : la couleur la brillance la saturation des effets (clignotement, couleurs de l'arc en ciel) des séquences de couleurs (ex. Bleu, Blanc, Rouge) rendre accessibles ces paramétrages via l'interface utilisateur smartphone, tablette, navigateur, ... mais également depuis vos Scènes (notamment GEA) et autres Virtual Devices Quelques exemples de déclanchements d'un sénario. armement / desarement de l'alarme, visuel lors du déclenchement de l'alarme, en complément de la sirène ou lors d'alarmes silentieuses. déclanchement lors d'une détection d'une présence de nuit autour de la maison. Mise en lumière des extérieurs pour déclencher l'enregistrement vidéo de meilleur qualité pour une durée donnée. Et pour plus tard : Faire la même chose pour piloter unitairement des ampoules. Vos idées/suggestions sont le bienvenues Pré-requis : Disposer d'ampoule Philips HUE Avoir regroupé les ampoules dans un groupe Avoir installé et configuré le plugin Philips HUE Installation : Télécharger et installer le Virtual Device ci-dessous (pour la dernière version) Configuration : Du Virtual Device : Dans l'onglet Avancé de VD importé, il convient de : De nommer votre VD (ex. : Hue Manager) à votre convenance De désigner la pièce ou sont situées votre groupe d'ampoules Ne pas oublier de sauvegarder Cf. image ci-dessous : Charger la liste des icônes ci-dessous : Charger le package d'icônes suivant : Liste icones Hue Manager.zip Depuis l'onglet Générale importé les icônes ci-dessous en cliquant sur le bouton Changer l'icône Attention il est préférable de bien respecter l'ordre des icônes (selon le numéro d'ordre des noms de fichiers). Ce sera plus simple pour configurer vos scénarios Après avoir chargé, toutes les icônes, modifiez chacun des boutons afin de les faire correspondre avec l'icône correspondante. Pour les 5 boutons correspondants aux fonctions de gestion du timer, vous pouvez ajouter l'icône totalement transparente (sans image. fichier : HUE Color 0.png). Elle évite de voir l'image par défaut lors des sur ces boutons. Vous devriez avoir cela, dans votre page d'icônes : Ne pas oublier de sauvegarder Configurer le bouton btUpdate (celui avec la fusée) : C'est ce bouton qui s'occupe de piloter vos ampoules : Renseigner les variables indiquées ci-dessous : local Hue_Light_VD_Id = ID d'un des Devices de type Ampoule HUE créé par le plugin Philips HUE local Hue_Port = port réseau pour accéder à l'API de gestion du système Philips HUE local hueTimerSetingsIcons = correspond au même n° d'icônes que celui que vous avez renseigné pour les boutons de gestion du timer (HUE Color 0) local hueOfftIcon = Correspond à l'icône de couleur grise avec le marqueur Off rouge (HUE Color 1.png) local hueFirstIcon = Correspond à l'icônes de couleur blanche (HUE Color 2.png) local modetrace = permet de renseigner les différentes étape d'exécution du traitement dans le Dégogueur local modetrace = permet de renseigner des trace sur le contenu de certaine variable lors de l'exécution du traitement dans le Dégogueur afin d'aider à trouver la source d'un bogue. Ne pas oublier de sauvegarder Configurer du main loop du VD : Renseigner la variable indiquée ci-dessous : (elle permet de gérer l'état on/off des ampoules gérées par le VD) -------------------- -- Users variables -------------------- -- Enter the identifier of a Philips HUE Device that correspond -- to one of the bulbs of the bulb group that you wish to manage local Hue_Light_VD_Id = 334 Configurer les scénario : Pour chacun des bouton, il est possible de modifier les paramétrage des : Id = Numéro de scénario. Qui doit correspondre au contenu de la variable HueModeId présente dans le bouton correspondant Descri = Description du Scénario (affiché à l'exécution sur le label correspondant) hue = Couleur de l'ampoule (0=Eteinte, 1 à 65535) sat = Saturation de la couleur bri = Brillance de la couleur ct = chaleur de la couleur si blanc (Blanc froid à Blanc chaud) (non utilisé pour le moment, en attente de dégogue) effect = effect sur l'allumage de l'ampoule (none=sans effet, blink=Clignotant, colorloop=Couleurs de l'arc en ciel, scene=une scène disponible et configurable depuis votre application Philips HUE) effectId = id de la scène que vous pouvez trouver par le biais de mon VD HUE InfoTools disponible ici : timer = durée en minutes et secondes durant laquelle les ampoules vont restées allumées, puis s'éteindre automatiquement icon = n° d'ID de l'icônes qui s'affichera lors de l'activation du scénario Vous pouvez ajouter autant de bouton que vous le souhaitez en respectant les principes ci-dessus. Si vous cherchez une liste de toutes les icônes disponible pour agrémenter vos boutons. Vous les trouvez toute ici : https://apps.timwhitlock.info/emoji/tables/unicode#block-3-transport-and-map-symbols Utilisation du VD : Vous pouvez tout simplement cliquer sur un des boutons de de scénario pour le lancer, il s'arrêtera lorsque vous cliquerez le bouton Off. Le timer est optionnel. Avant de cliquer un bouton d'un scénario, vous pouvez paramétrer le Timer en utilisant les boutons haut et bas (minutes et secondes). Ce qui aura pour effet de définir une durée d'exécution de celui-ci. Vous pouvez également relancer le dernier scénario en cliquant sur le bouton On Durant l'exécution d'un scénario, vous avez la possibilité d'en lancer un autre. Cela arrêtera le précédent. Vous pouvez évidement commander le VD depuis une scène ou un autre VD en simulant un clic sur le bouton correspondant au scenario voulu. Préalablement à la simulation du clic sur le bouton correspondant au scenario voulu, vous pouvez également renseigner le Label lblTimer avec une durée (au format mm:ss) pour définir une durée d'exécution de celui-ci Vous pouvez utiliser GEA pour lancer un scénario tout en utilisant le timer. Exemple : % properties 243 ui.lblEtat.value GEA.add({{"Label", 243, "lblEtat", "Alarme"}, {"Time", "Sunset-15", "Sunrise+5"}}, -1, "Détection présence devant porte garage", {{"Label", 326, "lblTimer", "01:00"}, {"VirtualDevice", 326, 11}, {"VirtualDevice", 243, 4}}, "Détection devant porte garage, activation lumières terrasse") -- Si la valeur du label "lblEtat" du VirtualDevice numéro 243 est = à "Alarme" et qu'il fait nuit -- Assigne la valeur "01:00" au label lblTimer du VD 326 -- Appui sur le bouton 10 du VD 326 pour lancer l'allumage des ampoules HUE sur la terrasse -- Appui sur le bouton 4 du VD 243 pour désactiver l'alarme du détecteur de mouvements Explications sur les différents bouton du VD Versions : V1.0 : du 18/02/2018 -> Intialisation du projet V1.1 : du 19/02/2018 -> Ajustement des couleurs V1.2 : du 19/02/2018 -> Simplification de la gestion des icônes. Plus de nécessité de renseigner les icônes dans les boutons de gestion du Timer Tout se fait dans le bouton btUpdate. Possibilité d'ajouter de nouvelles icônes ultérieurement sans qu'elles obligatoirement chargées dans un ordre séquentiel. V1.3 : du 19/02/2018 -> Correction d'un bug sur le scenario des couleurs de l'arc en ciel (colorloop). V1.4 : du 24/02/2018 -> Ajout d'une nouvelle fonction qui permet de lancer les scènes disponibles et configurables depuis votre application Philips HUE. Cette fonction est disponible via les variables de configuration des scénarios suivantes : effect = effect sur l'allumage de l'ampoule (none=sans effet, blink=Clignotant, colorloop=Couleurs de l'arc en ciel, scene=une scène disponible et configurable depuis votre application Philips HUE) effectId = id de la scène que vous pouvez trouver par le biais de mon VD HUE InfoTools Modification de la configuration pour accéder à vos ampoules. Il suffit de renseigner la variable Hue_Light_VD_Id = 264 -- ID d'un des Devices de type Ampoule HUE créé par le plugin Philips HUE Plus nécessaire de connaitre votre username de votre système HUE, il est automatiquement retrouvé via les propriétés du plugin Philips HUE configuré ci-dessus. Idem pour l'identifiant du groupe d'ampoule. Mise à jour automatique du VD selon l'état On/Off de l'ampoule configurée selon la variable Hue_Light_VD_Id Evolutions à venir : Pouvoir piloter une seule ampoule A voir selon vos suggestions Dernière version du VD : HUE_Manager.vfib-1.4.json
  24. ZerobrainStudio pour ecrire et tester vos scripts lua directement sur votre PC Merci a steven et Fred le ouf Dans un premier temps il faut telecharger ZerobrainStudio. Choisir la version qui correspond a votre systéme d'explotation pour moi ce sera Windows 32bit (exe installer) https://studio.zerobrane.com/download?not-this-time Il suffit d'installer le programme comme vous en avez l'habitude et bien regarder ou il sera installer Ensuite il va falloir ajouter le fichier que @Steven a partager sur le forum lualibs1.01.zip By Steven Ajout : le fibaro:sleep(<millisecondes>) fibaro:countScene() retournera toujours 1. Manque encore une astuce pour simuler le fibaro:getSourceTrigger() Il ne vous reste plus qu'a décompresser ce fichier dans le répertoire C:.......\ZeroBraneStudio\lualibs Utilistation : require("FibaroSceneAPI") hc2_user = "admin" hc2_pwd = "admin" hc2_ip = "192.168.x.x" -- Inséré votre code en dessous de cette ligne ----------------- Et pour ceux qui n'aime pas l'anglais : Edit -> Preferences -> Settings: System --[[-- Use this file to specify **System** preferences. Review [examples](+C:\PRGMS\ZeroBraneStudio\cfg\user-sample.lua) or check [online documentation](http://studio.zerobrane.com/documentation.html) for details. --]]-- language = "fr" Et redémarrer l'application Pour ceux qui souhaite les même couleurs que dans leur HC2, il faut aller dans le menu : Edit -> Preferences -> Settings: User et copier le code ci-dessous puis redémarrer. --[[-- Use this file to specify **User** preferences. Review [examples](+C:\PRGMS\ZeroBraneStudio\cfg\user-sample.lua) or check [online documentation](http://studio.zerobrane.com/documentation.html) for details. --]]-- styles = loadfile('cfg/tomorrow.lua')('TomorrowNight') stylesoutshell = styles -- apply the same scheme to Output/Console windows styles.auxwindow = styles.text -- apply text colors to auxiliary windows styles.calltip = styles.text -- apply text colors to tooltips local colors = { orange = {255,158,89}, braun = {217,191,140}, darkgray = {38,38,38}, blue = {89,158,255}, green = {188,210,121}, red = {179,94,77}, white = {255,255,255}, gray = {102,102,102} } styles.comment = {fg = colors.gray} styles.operator = {fg = colors.white} styles.number = {fg = colors.red} styles.stringtxt = {fg = colors.green} styles.keywords0 = {fg = colors.blue} styles.text = {fg = colors.braun, bg = colors.darkgray} styles.keywords3 = {fg = colors.orange} styles.keywords4 = {fg = colors.orange} styles.keywords5 = {fg = colors.orange} styles.keywords6 = {fg = colors.orange} styles.keywords7 = {fg = colors.orange} Encore une amélioration : Copier le fichier ci-joint "fibaro.lua" dans le sous-répertoire /api/lua/ fibaro.lua puis dans le menu : Edit -> Preferences -> Settings: System ajouter cette ligne : api = {luadeb = {'fibaro'}} Vous allez avoir l'auto-complétion des commandes fibaro ainsi que leur description. Astuce. Pour pouvoir tester les triggers, voici le code à utiliser __fibaroSceneSourceTrigger = {type="global", name="Pushbullet"} -- __fibaroSceneSourceTrigger = {type="global", name="Pushbullet"} -- __fibaroSceneSourceTrigger = {type="property", deviceID=6, propertyName="value"} -- __fibaroSceneSourceTrigger = {type="autostart"} -- __fibaroSceneSourceTrigger = {type="other"} print(fibaro.getSourceTrigger().type) -- global print(fibaro.getSourceTrigger().name) -- Pushbullet __fibaroSceneSourceTrigger = {type="autostart"} print(fibaro.getSourceTrigger().type) -- autostart Il suffit donc de modifier la variable __fibaroSceneSourceTrigger en utilisant un des exemple fourni. il est aussi possible de débuguer ligne à ligne, et même de modifier dynamiquement la valeur d'une variable directement en cours d'exécution. Allez, je me lance pour mon 1er tuto Ouvrir Zerobranstudio et afficher les fenêtres suivantes si ce n'est pas encore déjà fait insérer le code suivant dans une nouvelle fenêtre vide de Zerobranstudio (on va réviser les multiplications ) local boucle = true local i = 1 local j = 1 while boucle == true do i = i + 1 j = j + 2 print(i.." x "..j.." = "..i * j) end Pour activer le suivi dynamique des variables, il suffit de sélectionner le nom de la variable que l'on veut suivre, puis de faire clic droit dessus pour faire apparaitre un menu contextuel. Il faut ensuite sélectionner l'option Add watch expression comme dans l'image ci dessous. Dans notre cas, il faut le faire pour les 2 variables i & j. Pour passer en mode debug, appuyer 1 fois sur la touche F5, la fenêtre doit ressembler à ça. Le curseur vert est positionné sur la première instruction, et la fenêtre Watch affiche les valeurs de i et j (à nil pour le moment ce qui est logique) Appuyer maintenant plusieurs fois sur la touche F10 pour exécuter le programme pas à pas, jusqu'à afficher le premier résultat de la multiplication, comme ci dessous. Le résultat de la multiplication est en cohérence avec les valeurs de i et j. Pour tester maintenant la modification à la volée d'une variable, on va continuer l'exécution du programme et réexécuter une seconde fois la boucle en appuyant plusieurs fois sur la touche F10 mais sans exécuter l'instruction print, comme dans l'image ci dessous. La valeur des 2 variables a bien été modifiée par programmation. Pour modifier maintenant dynamiquement la valeur de j, il faut cliquer sur l'onglet Remote console, taper la ligne j = 20 puis appuyer sur la touche Entrée pour valider la commande, comme dans l'image ci dessous. On peut alors voir que la valeur de j a bien été modifiée dans la fenêtre de Watch. Il suffit maintenant de recliquer sur l'onglet Output (suspended), et d'appuyer de nouveau sur la touche F10 pour reprendre l'exécution du programme. On constate alors que la valeur de j mise à 20 à la main a bien été prise en compte dynamiquement par le programme. Je remercie encore une fois steven pour ce super travail
  25. Bonjour a tous J'ai un problème avec une HC2 le voyant internet disparait après quelques secondes après la mise en route de la HC2, et impossible de se connecter a cette dernière Le mieux que j’arrive a avoir avant que le voyant internet disparaisse c'est la page: fibaro home center administration main page et cela reste bloqué comme cela Et si je fait un recovery la page du recovery s'affiche mais partiellement et se fige si cela peut aider je me suis connecter en VGA sur la HC2 et elle se fige a cette ligne ( 203.636259) PCI status <1010> ( 269.840958) e1000e 0000:01:00.0: eth0: Reset adaptaer et ce avec ou sans clef usb de recovery Pour info le voyant de mise a jour lui clignote bien... Que faire? Merci
×