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. MAM78

    Intercom Manager

    Intercom Manager Préambule : N'ayant rien trouvé sur le site sur l'intégration de l'Intercom Fibaro, j'ai pris l'initiative de créer un Intercom Manager dont l'objectif consiste à : Regrouper dans une seule scène la détection de l'ensemble des événements et actions pouvant ayant pour origine : l'intercom lui-même l'application Intercom Fibaro pour smartphone (iOS et Androïd) le plugin Intercom disponible pour nos Box Home Center le site internet dédié à l'Intercom l'application développée par @Krikroff pour l'Intercom Déclencher des scenarios en fonction des événements et actions Disposer d'un Virtual Device pour visualiser les informations liées aux événements et actions Le Projet : Création d'une scène dédiée : à la détection de l'ensemble des événements et actions à l'exécution des scénarios conditionnés selon les événements et actions à la mise à jour d'un Virtual Device pour visualiser les informations liées aux événements et actions à tracer dans sa log les informations collectées et traitées Création d'un Virtual Device pour : visualiser les informations liées aux événements et actions éventuellement servir de source de données à GEA afin exécuter des scénarios complémentaires en les combinant aux autres données et conditions disponibles sous GEA. Pré-requis : disposer d'un Intercom Fibaro installer le plugin Intercom Fibaro Installation : Télécharger et installer le Virtual Device ci-dessous (dans sa dernière version) Télécharger et installer la Scène ci-dessous (dans sa dernière version) Télécharger l'icône ci-dessous ou fabriquer la votre Configuration : De la scène : 1) Modifier les variables utilisateurs ci-dessous : 2) Associer au VD l'icône ci-dessous ou la votre 3) Programmer la scène avec un Run Scene = Automatic avec un Max. running instances = 10 4) Modifier éventuellement les variables contenant les Smileys & textes qui sont remontés dans les labels du Virtual Device -- 464 is Device ID of the Intercom Plugin local Intercom_Device_ID = 464 -- 468 is the number of the Intercom Manager Virtual Device local VD_ID = 468 -- List of users (email and name) local UsersList = { {email= "xxxx.yyyy@zzzz.com", name = "Xxxx"}, {email= "aaaa.bbbb@cccc.com", name = "Aaaa"} } -- Number of seconds of the recording local NbRecordSec = 30 -- Debug mode local debug = false Du Virtual Device : 1) Personnaliser éventuellement les labels (Smileys & désignation) 2) Associer au VD l'icône ci-dessous ou la votre Programmer des scénarios dans la Scène : 1) Dans les parties réservées à cet effet : --[[ -- insert your code to execute --]] Programmer des scénarios dans GEA (optionnel) : 1) En utilisant les labels du VD comme déclencheur et/ou en les intégrant dans vos options GEA, comme par exemple : Détection de mouvement par l'intercom. Exemple lancer l'enregistrement de toutes les caméras y compris l'intercom sur Surveillance Station Détection de l'appui sur le bouton de sonnerie. Exemple faire sonner ma Sonos au cas ou mon téléphone est en mode avion ou mute. Déclenchement d'une action suite à la saisie d'un code valide. Exemple faire clignoter mes lampes extérieur Philipps Hue en vert Déclenchement d'une action suite à la saisie d'un code en erreur. Exemple faire clignoter mes lampes extérieur Philipps Hue en rouge et lancer l'enregistrement de toutes les caméras Détection d'une activation par bluetooth. Pour identifier l'arrivée ou le départ d'un membre de la famille. 2) Vloici quelques exemples que j'ai intégrés dans mon GEA : -- Déclaration des changements de valeurs des labals du VD Intercom Manager dans la partie %% properties 468 ui.lblLastPinError.value 468 ui.lblOpenRelay1.value 468 ui.lblMove.value -- Contrôle de la saisie des codes PIN sur l'Intercom ------------------------------------------------------- -- Eclairage de la terrasse pendant 15 secondes en rouge clignotant si erreur de saisie du code PIN GEA.add({{"!Label", id["VD_INTERCOM_MANAGER"], "lblLastPinError", ""}, {"Trigger", "lblLastPinError"}}, -1, "", {{"Label", id["VD_HUE_MANAGER_TERRASSE"], "lblTimer", "00:15"}, {"VirtualDevice", id["VD_HUE_MANAGER_TERRASSE"], 25}}, "Erreur saisie code Intercom, activation lumières terrasse en rouge clignotant") -- Eclairage de la terrasse pendant 15 secondes en vert clignotant si bonne de saisie du code PIN GEA.add({{"Label", id["VD_INTERCOM_MANAGER"], "lblOpenRelay1", "#r#Ouvert"}, {"Trigger", "lblOpenRelay1"}}, -1, "", {{"Label", id["VD_HUE_MANAGER_TERRASSE"], "lblTimer", "00:15"}, {"VirtualDevice", id["VD_HUE_MANAGER_TERRASSE"], 24}}, "Bonne saisie code Intercom, activation lumières terrasse en vert clignotant") -- Activation sur mon Synology (Serveillance Station) de l'enregistrement du flux vidéo de l'intercom ---------------------------------------- -- si détection devant la porte le portail GEA.add({{"Label", id["VD_INTERCOM_MANAGER"], "lblMove", "#r#Alerte"} ,{"Label", id["VD_CAM_GLOBAL"], "lblPresence", "#r#Absence"} ,{"Or", {"Label", id["VD_CAM_EXT_PORTAIL"], "lblCamState", "#r#Marche"}, {"Label", id["VD_CAM_EXT_PORTAIL"], "lblCamState", "#r#Partiel"} } ,{"Or", {"Label", id["VD_CAM_EXT_PORTAIL"], "lblCamRecord", "#r#Arrêt"}, {"Label", id["VD_CAM_EXT_PORTAIL"], "lblCamRecord", "#r#Partiel"} } }, -1, "Mouvement devant la caméra du portail le #date# à #time# enregistrement caméra", {{"VirtualDevice", id["VD_CAM_GLOBAL"], 10}, {"VirtualDevice", id["VD_CAM_GLOBAL"], 13} }, "Mouvement devant la caméra du portail le #date# à #time# enregistrement caméra") Pour la partie clignotement des lumières de la terrasse, j'utilise mon mes VD Philipps Hue Manager Pour la partie enregistrement du flux vidéo de l'intercom sur mon NAS Synology, j'utilise mon VD Surveillance Station Manager qui elle-même utilise mon VD HomeMode (GeoFence) Si vous souhaitez également les utiliser, vous les trouverez mes VD dans ma signature de Post. Sinon à vous d'adapter ces scénarios. Attention la fonction "Trigger" que j'utilise est une version améliorée de celle de base de GEA afin de bien vérifier quel est le label qui a provoqué le déclenchement de GEA. Vous trouverez ci-dessous le code correspondant à intégrer dans votre partie function config() de GEA. J'ai pas vérifié si dans la dernière version de GEA cette demande de correction avait été prise en compte. Je vous laisse regarder. GEA.options.trigger = { name = "Trigger", getValue=function(value) if (not value)then if (GEA.source.type == "autostart") then return "autostart" elseif (GEA.source.type == "global") then return "Global["..GEA.source.name.."]" elseif (GEA.source.type == "property") then return "Property[" ..GEA.source.deviceID .."]" elseif (GEA.source.type == "event") then return "Event["..GEA.source.event.data.deviceId.."]" end elseif (value) then if (GEA.source.type == "property") then return GEA.source.propertyName:gsub("ui.", ""):gsub(".value", "") == value end end return "other" end } Versions : V1.0 : du 16/10/2019 -> Intialisation du projet Evolutions à venir : Fournir quelques exemples de Lignes GEA utilisant le VD comme source de déclenchement des options A voir selon vos suggestions Dernière version du VD : VD : V1.0 : Intercom_Manager.vfib V1.0.json Scène : V1.0 : Intercom Manager V1.0.lua Icône :
  2. Gestionnaire d'Evénements Automatique (GEA) – version 6.11 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 Ajouté Ajouté Ajouté Ajouté Ajouté Ajouté Ajouté Ajouté {"Global", "", ""} {"LedBrightness", <luminosité>} {"DeviceState", <id module>} {"NeighborList", <id module>} {"LastWorkingRoute", <id module>} {"CheckVG", <nom vg>} {"CheckLabel", <id vd>, <nom label>} {"Protection", <id module>, <type>, <On|Off>} {"MultiAlarm", <id vd>, <label>} Devient définitivement "true" (sans les guillemets) Modifie la luminosité des LED de la HC2 Retoure l'étant d'un module Retourne la liste des modules voisins Retourne la liste de la route empruntée Vérifie l'existence d'un variable globale Vérifie l'existence d'un label Modifie la protection (local, rf) d'un module Vérifie l'alarme 1 .. 4 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>} v.6.10 ajouté le 31 octobre 2018 mod : correction du #name# pour les "Or" et "XOr" mod : usage d'un cache pour les noms de modules et de pièces mod : contrôle des variables globales (API not found) mod : contrôle des label (API not found) add : {"LedBrightness", <luminosité>} add : {"DeviceState", <id module>} add : {"NeighborList", <id module>} add : {"LastWorkingRoute", <id module>} add : {"CheckVG", <nom vg>} add : {"CheckLabel", <id vd>, <nom vg>} v.6.11 ajouté le 13 novembre 2018 mod : correction d'un bug dans checklabel add : {"Protection", <id>, <type_protection>, <On|Off>} by @971jmd add : {"MultiAlarm", <id vd>, <label>} by @drboss GEA 6.11.lua syntaxe_GEAV6_11.lua
  3. MAM78

    Surveillance Station Manager

    Synology Surveillance Station Manager Préambule : Après avoir étudier les différentes solutions suivantes de pilotage et gestion des notifications de Surveillance Station (SS) : YAPUSS - Passerelle "Universelle" Surveillance Station de @sebcbien) le VD Synology Surveillance Station de @Lazer l'application DS CAM l'application Surveillance Station disponible sur le NAS J'ai trouvé qu'il me manquait sur ma HC2 : La possibilité d'exploiter la fonction de présence au domicile disponible sur Surveillance Station (SS) avec : la possibilité modifier ce statut et de l'intégrer dans les règles d'actions de Surveillance Station pour Activer/Désactiver les cameras, l'enregistrements, les notifications, ...) d'utiliser ce statut dans la HC2 pour déclencher des actions la possibilités de piloter et d'avoir individuellement pour chacune des caméras un retour d'état sur : Etat : Marche/Arrêt (SS ne visualisant plus le flux vidéo de la CAM) Type de détection de mouvements (par la CAM, par Surv. Station, Détecteurs externes) Enregistrement : Marche/Arrêt Position PTZ de la CAM. Si la fonctionnalité est disponible sur la CAM la possibilité d'indiquer à Surveillance Station de déclencher via les règles d'actions des enregistrements, snapshot, notifications (mail, push, sms) en fonction d'événements extérieurs (détecteurs de mouvements, ...). Du coup, j'ai entrepris de capitaliser sur le travail de @Lazer sur son VD Surveillance Station, ainsi que son VD et Scène MusicCast et une nouvelle solution de management de Surveillance Station. Le Projet : L'idée générale étant de disposer sur nos HC2 d'une nouvelle solution de management des caméras sous Surveillance Station sous la forme : d'un Virtual Device (VD) général qui done une vision d'ensemble de l'état des caméras et d'un pilotage globale de celles-ci Un VD par caméra qui permet de piloter individuellement chaque caméra. Une scène qui consolidera l'ensemble des actions de pilotage des caméras appelée depuis les VD par la fonction Call startScene() avec passage de paramètres. à nommer : Surv Station Manager Les différentes fonctions et statuts disponibles sont les suivants : A partir du VD général : Modification du mode Présence/Absence au domicile. Cela permet notamment de désactiver les notifications automatiques disponibles SS Cette fonctionnalité étant également disponible sur votre smartphone via l'application DS CAM ou SS. Le Statut remonte automatiquement sur le VD. Modification du mode Marche/Arrêt d'un coup toutes les caméras. Cela permet de ne plus rendre visible le flux vidéo des caméras ni sous les plugins HC, ni sous l'application SS. Cela permet de limiter l'atteinte à la vie privée des personnes présentes dans la maison. Cette fonctionnalité étant également disponible sur votre smartphone via l'application DS CAM ou SS. Le Statut remonte automatiquement sur le VD. Modification du mode Marche/Arrêt de l'enregistrement de toutes les caméras A utiliser par exemple dès lors que votre HC2 détecte une intrusion ou à la demande depuis votre smartphone. Cette fonctionnalité étant également disponible sur votre smartphone via l'application DS CAM ou SS. Le Statut remonte automatiquement sur le VD. Déclencher la prise des snapshot (capture d'une photo) sur toutes les caméras d'un coup Celles-ci sont stocker sur SS Communiquer un événement externe à SS (Comme par exemple : une détection de mouvement, ouverture d'un ouvrant ou tout autre événement à votre convenance) Celui-ci peut être repris dans la fonctionnalité de gestion de Règles d'Actions disponible sous SS. Ces Règles d'Actions sont notamment utiles pour déclencher des notifications de type (SMS, Push, Mail) pour signaler un événement. Vous avez jusqu'à 10 événements différents sont disponibles. Le Nom et l'Identifiant de chacune des caméras disponible sur SS L'indication de l'état de chacune des caméras : Activée/Désactivée En cours d'enregistrement Le mode de détection en cours (soit : par la Caméra, par SS, par un événements externes) Retour d'info sur les actions manuelles effectuées sur le VD. A partir des VD individuel pour chaque caméra : Modification du mode Marche/Arrêt de la caméra Cela permet de ne plus rendre visible le flux vidéo des caméras ni sous les plugins HC, ni sous l'application SS. Cela permet de limiter l'atteinte à la vie privée des personnes présentes dans la maison selon la zone couverte par la caméra. Ex. : Laisser l'activation des caméras extérieures ou d'un garage alors que celle celles à l'intérieur sont arrêtées Cette fonctionnalité étant également disponible sur votre smartphone via l'application DS CAM ou SS. Le Statut remonte automatiquement sur le VD. Modification du mode Marche/Arrêt de l'enregistrement de la caméra A utiliser par exemple dès lors que votre HC2 détecte une intrusion sur une zone précise. Cette fonctionnalité étant également disponible sur votre smartphone via l'application DS CAM ou SS. Le Statut remonte automatiquement sur le VD. Déclencher la prise d'un snapshot (capture d'une photo) sur la caméra. Celui-ci est stocker sur SS Changer le mode de détection de la caméra soit par la Caméra, par SS, par un événements externes) Cette fonctionnalité étant également disponible sur votre smartphone via l'application DS CAM ou SS. Le mode remonte automatiquement sur le VD. Le Nom de la caméra définit dans SS Un indicateur informant de la détection d'un mouvement soit par la Caméra ou Surveillance Station). En cours de développement. Modification de la position PTZ de la caméra : Jusqu'à 4 positions sont disponibles Cette fonctionnalité étant également disponible sur votre smartphone via l'application DS CAM ou SS. La position remonte automatiquement sur le VD. Retour d'info sur les actions manuelles effectuées sur le VD. A partir des variables globales suivantes : VG_SSM_Parameters : Contient dans un tableau l'ensemble des informations suivantes : SceneID = l'id de la scène Surv. Station Manager SID = Identifiant généré à partir des données utilisateurs enregistrées dans le Main Loop de la scène Surv. Station Manager HomeMode = Indicateur pouvant prendre la valeur true (présence au domicile) ou false (absence du domicile) Cameras = Tableau contenant l'ensemble des informations relatives aux caméras ID = Identifiant de la caméra dans Surveillance Station, (13) pour la première caméra dans l'exemple ci-dessous. Cam_Name = Nom de la caméra dans Surveillance Station CameraStatus = Valeur de 1 à 5 correspondant au différent statuts que peut avoir la camera (0: ENABLED, 1: DISABLE, 2: ACCTIVATING, 3: DISABLING, 4: RESTARTING, 5: UNKNOWN) Cam_Enabled = Indicateur pouvant prendre la valeur true (caméra activée, Cf valeur 0 -> CameraStatus) ou false (caméra arrêtée, Cf valeur 1, 2 ,3, 4, 5 -> CameraStatus) Cam_Motion_Source = Indicateur (-1, 0, 1) sur la source de détection de mouvement, soit : -1=disable (événements externes), 0=by_camera (par la caméra), 1=by_surveillance (Par le logiciel Surveillance Station) Cam_Motion_Disabled = Indicateur pouvant prendre la valeur true (détection de mouvement selon source externe, Cf. valeur -1 -> Cam_Motion_Source) ou false (détection de mouvement selon source externe non activée, Cf. valeur 0 et 1 -> Cam_Motion_Source). Cam_Recording = Indicateur pouvant prendre la valeur true (enregistrement en cours) ou false (enregistrement arrêté) Cam_WithPTZ = Indicateur précisant la capacité de la caméra à supporter les fonctionnalités PTZ Cam_PTZ_Position_id = Identifiant de la position PTZ actuelle de la caméra Cam_PTZ_Position_name = Désignation (libellé) de la position PTZ actuelle de la caméra (dans surveillance Station Nota : Attention la modification des valeurs de la variable globale (VG_SSM_Parameters), n'agit pas sur le fonctionnement de surveillance Station. Elles sont à utiliser qu'en lecture seule. Voir exemple ci-dessous : { "SceneID":105, "SID":"xxxxxxxxxxxxxxxxxxxxxx", "HomeMode":false, "Cameras":{ "13":{ "Cam_VD_Id":439, "Cam_WithPTZ":false, "Cam_Recording":false, "CameraStatus":5, "Cam_PTZ_Position_id":"", "Cam_PTZ_Position_name":"", "Cam_Motion_Source":-1, "Cam_Name":"Terrasse", "Cam_Motion_Disabled":true, "Cam_Enabled":false }, "12":{ "Cam_VD_Id":438, "Cam_Motion_Source":-1, "Cam_Recording":false, "CameraStatus":5, "Cam_PTZ_Position_id":"", "Cam_PTZ_Position_name":"", "Cam_WithPTZ":false, "Cam_Name":"Garage", "Cam_Motion_Disabled":true, "Cam_Enabled":false }, "14":{ "Cam_VD_Id":440, "Cam_Motion_Source":-1, "Cam_Recording":false, "CameraStatus":5, "Cam_PTZ_Position_id":"", "Cam_PTZ_Position_name":"", "Cam_WithPTZ":false, "Cam_Name":"Jardin", "Cam_Motion_Disabled":true, "Cam_Enabled":false }, "10":{ "Cam_VD_Id":436, "Cam_WithPTZ":false, "Cam_Recording":false, "CameraStatus":5, "Cam_PTZ_Position_id":"", "Cam_PTZ_Position_name":"", "Cam_Motion_Source":-1, "Cam_Name":"Salon", "Cam_Motion_Disabled":true, "Cam_Enabled":false } }, "CameraList":"10,12,13,14", "pathAuth":"auth.cgi", "pathRecord":"entry.cgi", "pathCamera":"entry.cgi" } VG_SSM_User_Data contient l'ensemble des paramètres utilisateurs afin de pouvoir les échanger entre les VD et la scènes et simplifier le parmétrage de l'ensemble à un seul endroit (le Main Loop du VD général). VG_SSM_Status contient le statut (traduit en français) de l'ensemble des caméras, tel qu'il était géré dans le VD Surveillance Station de @Lazer pour ceux qui souhaite conserver ce mode de fonctionnement avec la correspondance de valeurs suivantes (traduit en français) : Enable = "Activé", Disabled = "Désactivé", Activating = "Activation", Disabling = "Désactivation", Restarting = "Redémarrage", Recording = "Enregistrement", Unknown = "Inconnu", ??? = "???", Nota : les variables sont crées automatiquement Pré-requis : Disposer d'une HC2 Disposer d'un NAS Synology avec Surveillance Station D'une ou plusieurs caméras configurées sur Surveillance Station Installation : Télécharger et installer le : Virtual Device Générale Virtual Device Individuel pour chacune des caméras La scène qui gère les actions lancées depuis le VD. A nommer : Surv Station Manager Télécharger l'icône ci-dessous ou fabrique la votre Associez l'icône (standby) à chacun des boutons du VD, ce sera plus jolie même si les changements de statuts mettrons à jour l'icône automatiquement. Configuration : Du Virtual Device Général : 99% du paramétrage se fait ici merci qui ? Dans l'onglet Avancé du VD import, il convient de renseigner de : Renseigner la paramètre de Adresse IP du VD, l'adresse de votre NAS Synology. Renseigner la paramètre de Port TCP du VD, le port sur lequel vous accédez à l'application Surveillance Station (probablement 5000). dans la boucle principale (main loop) du VD les variables utilisateurs : login et le mot de passe mettant d'accéder à Surveillance Station dans le tableau (List_CAM) la liste des ID de vos CAM avec l'ID du VD correspondant et permettant le pilotage individuel de chaque caméra dans le tableau (List_PTZ_PRESET) la liste des ID de vos CAM avec la liste des différentes positions PTZ que vous souhaitez utiliser (4 maxi par Caméra) dans le tableau (List_ExternalEvent) la liste des différents événements extérieurs que vous souhaitez utilisés dans les règles d'actions dans SS Les ID des icônes correspondants aux 3 états des caméras (standbyIcon, recordIcon, disableIcon). Voir les icônes ci-dessous. Vous avez également la possibilité de changer : les emoji utilisés pour chacun des statuts le contenu textuel (traduction dans la langue de votre choix) et emoji utilisés pour le contenu des Label mais également ceux affichés en entête des Label et Boutons. Supprimer les éventuelles Label de statut des caméras qui sont inutiles (Il y en a 10, vous en avez probablement moins) Je vous déconseille de modifier les noms des variables globales. Même si c'est toujours possible. Il vous faudra également faire les modifications dans la Scène et chacun des boutons des 2 VD. Nota, les variables sont crées automatiquement. Du Virtual Device individuel pour les caméras : Dans l'onglet Avancé du VD importé, il convient renseigner dans le paramètre Port TCP l'identifiant de la caméra (récupéré sur le VD Général) : à compléter, ...... Ne pas oublier de sauvegarder votre nouveau VD D'adapter vos Scènes et VD afin de prendre en compte les changements d'état selon le contenu de la variable Globale "SurvStationManager". Utilisation du VD : Le clic sur chaque bouton fait basculer les modes de façon alternative (Marche/Arrêt) ou boucle successive sur les différentes sources de détection de mouvements dans le VD de pilotage individuel d'une caméra. Versions : V1.0 : du 26/12/2018 -> Intialisation du projet V1.1 : du 24/09/2019 -> Correction du Virtual Device Général en version 1.1 disponible ci-dessous. Attention de bien sauvegarder vos données personnelles de paramétrage du VD (User_Data = { ............) et de les recopier dans cette nouvelle version. Correction du bug qui n'affichait pas les identifiants des caméras dans le VD Général. Ca devrait simplifier la configuration des caméras dans le paramètres utilisateurs Correction de bug sur la création des variables globales et notamment du bug bug isEnum=0 remplacé par bug isEnum=true ou false selon les cas V1.2 : su 27/09/2019 -> Correction de la scène en version 1.2. disponible ci-dessous Correction du bug lors d'une perte du code SID et la présence de l'erreur : API Authentication failure, API does not exist. Un nouveau code SID est maintenant recréé. Il convient juste de coller le code de la scène V1.2 dans la votre. Evolutions à venir : Interception des détection de mouvements oit par la Caméra ou Surveillance Station Mise à jour automatique de l'icône (standby) de chacun des boutons des VD. Créer des icônes spécifique à cette nouvelle solution pour limiter le plagia de celles de @Lazer. Compléter ce TUTO avec des exemples de configurations des notifications par les règles d'actions dans Surveillance Station. A voir selon vos suggestions Dernière version du VD : VD Général : Surv_Station_Manager Global V1.1.vfib.json VD Individuel pour les caméras : Surv_Station_Manager Camera V1.0.vfib.json Dernière version de la Scène : Surv Station Monitor Scene V1.2.lua Scène : Icônes : En cours de création. Reprise en attendant des icônes du VD Surveillance Station de Laser. Pour la Scène et les Boutons des Modules virtuels Enregistrement (recordIcon) Arrêt (disableIcon) Marche (standbyIcon) Position PTZ pour les boutons PTZ des VD individuels. Dernière version de la documentation de l'API : Surveillance_Station_Web_API_v2.8.pdf
  4. 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
  5. "" 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
  6. 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
  7. mipa

    Plus d'accès à ma HC2

    Bonjour à tous, Je n'arrive plus à me connecter à ma HC2.... Pas de changement (ajout ou modification) de l'installation depuis plusieurs semaine, les scénarios fonctionnait parfaitement. Du jour au lendemain, plus de scénarios qui fonctionne, plus d'accès depuis nos téléphone, et plus d'accès depuis le ID cloud Les 3 leds sont allumés sur ma box, quand j'utilise le finder il trouve la box mais ne parviens pas à la connecter Sur le id cloud il ne voit pas ma box (comme si elle n'était pas connecté) Je précise que j'ai changé de fournisseur internet en début de mois de juin (mais cela à parfaitement fonctionné jusqu'au 20 juin) Tous mes autres objets connectés fonctionnement parfaitement. J'ai trouvé plusieurs sujet identiques sur le forum, mais il semblerait que dans ces sujets seulement deux leds était allumés. Des idées ?
  8. 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
  9. ADN182

    Jeedom To HC2

    Bonjour, Petit Tuto pour vous aider à faire commniquer les modules de votre Jeedom avec votre HC2. Je voudrais remercier tout d'abord les personnes sans qui cela ne serait jamais arrivé @Lazer @Steven @sebcbien et toute la communauté... But : Le but de ce Tuto est d'interconnecter les devices Jeedom vers la HC2 et uniquement dans ce sens ! (pour l'instant) Mon besoin initiale est d'interconnecter ma centrale d'alarme disposant de capteurs RF (Porte, Mouvement) avec ma HC2 ne faisant pas de RF... Pour que la gestion de l'alarme soit faite par une seule et même interface. Et pour bénificier des capteurs RF (moins couteux et déja présent) afin de les utiliser dans des scénarios de vie. Après avoir lu le post de @sebcbien sur Jeedom je me suis dit : j'ai trouvé une solution pouvant répondre à mon besoin j'ai donc fait l'acquisition d'un module RFXCom 433Mhz et Raspberry. Mon but n'est pas de remplacé ma HC2 mais de lui rajouter la "Techno" RF sans avoir à "gérer" deux box. Et pourquoi pas utiliser les avantages de Jeedom par la suite... Concept : Jeedom va envoyer pour chaque modification de module (capteur pour ma part), un appel (GET) à l'API Fibaro pour mettre à jour un label d'un Virtual Device. Cette modification appelera une Scène qui se chargera de convertir les valeurs données par Jeedom en valeur exploitable pour la HC2 et mettra à jour le device concerné. Alors pourquoi un Device et une Scène pour modifier les propriétées d'un device ? Parce que Jeedom a ma connaissance ne fait pas de requête de type PUT. Celle-ci permette de mettre à jour les propriétées d'un device de notre HC2. De ce fait obligé de "feinté" grace à l'astuce de @Steven (Voir Post Ici) Capteur Fenètre ===> RFXCom ====> Jeedom =========> VD Update HC2 ======> Scène Update HC2 ==========> Modification Value Fake Device RF USB API HTTP LUA LUA (API) Pré-Requies : Il faut nommer les modules dans Jeedom à l'identique dans la HC2 et les mêttre dans la même pièce. C'est ce qui va permettre d'avoir une seul et unique requêtes et de pouvoir se dispenser de connaitre l'ID HC2. Sommaire : Création d'un Fake Device Création d'un Virtual Device Création d'une Scène Mise en place de l'intéraction dans Jeedom 1. Création d'une Fake Device J'utilise ici la procédure de @Lazer (Voir Post ici) En voici les grandes lignes : on inclue un module (du type qu'on souhaite (consommation, température, détecteur, etc)) on le reset (via appui long sur le bouton, selon la méthode décrite dans la doc) sans l'exclure de la HC2 il passe en noeud mort en décoche la case 'marquer comme mort' => le module ne sera plus jamais mort, même si il n'existe plus en peut l'utiliser à vie pour updater ses propriétés via l'API Puis on recommande la procédure décrite ci-dessus autant de fois qu'on souhaite, afin d'avoir une infinité de modules, qui remplacent parfaitement les plugins. Je n'ai aucun mérite juste fait un copier coller de ton post Merci a Lui ! 2. Création d'un Virtual Device Création d'un VD : Nom : Updater Label : Update.Device ID Label : UD Noter l'ID de votre Virtual Device il nous servira pour la suite, on prendra pour exemple : 333) 3. Création d'une Scène Création d'une Scène en Lua : Nom : Updater Ajouter le code ci-dessous en y modifiant l'ID de votre VD dans les "properties" de la Scène. - OLD - Scène Utilisant l'ID du device. - New - Scène utilisant le Nom des devices Merci @Steven, @sebcbien, @Lazer pour ces parties Test : Vous pouvez d'ors est déjà tester si ce que l'on vient de créer fonctionne. Il suffit tout simplement de rentré l'url suivante dans votre Navigateur en prenant soin de la modifier et compléter au préalable avec vos informations. http://<user>:<password>@<IP_DE_MA_HC2>/api/callAction?deviceID=333&name=setProperty&arg1=ui.UD.value&arg2={idFakeModuleHC2:1} http://<user>:<password>@<IP_DE_MA_HC2>/api/callAction?deviceID=333&name=setProperty&arg1=ui.UD.value&arg2=[Garage][Porte Celier][Alerte]:1 Vous devriez donc voir la porte s'ouvrir si c'est un capteur de porte. 4. Mise en place de l'intéraction dans Jeedom Concernant la partir Jeedom rien de plus simple il suffit que dans chaque device (section commande du device) de placer l'url ci-dessous, en spécifiant l'ID du Fake device HC2 associé : http://<user>:<password>@<IP_DE_MA_HC2>/api/callAction?deviceID=333&name=setProperty&arg1=ui.UD.value&arg2={idFakeModuleHC2:#value#} http://<user>:<password>@<IP_DE_MA_HC2>/api/callAction?deviceID=333&name=setProperty&arg1=ui.UD.value&arg2=#humanname#:#value# Petite astuce si vous avez un mot de passe contenant un @ il suffit de le remplacer par le caractère suivant : %40. En considérant que l'utilisateur est : user que le mot de passe de celui-ci est p@ssword cela donne l'url ci-dessous : http://user:p%40ssword@<IP_DE_MA_HC2>/api/callAction?deviceID=333&name=setProperty&arg1=ui.UD.value&arg2=#humanname#:#value# Dans Votre Equipement aller dans la section "Commandes" Puis dans la section avancée du module d'Alerte (petit rouage sur la droite) Insérer la requête dans la ligne Push Merci @sebcbien pour cette partie
  10. Krikroff

    HC2 & HCL - 4.532 - BETA - 28/02/2019

    Liste des modifications de la version beta 4.532: New improvements: - Added possibility of setting brightness and colour of the LED ring in scenes for FIBARO Walli series. - Optimized handling of Z-Wave logs to improve the devices communication with the gateway. - Added slats orientation status displaying in the event panel for FIBARO Roller Shutters. - Added information about Z-Wave parameters configuration status in the device advanced settings tab. - Added popup recommending to refresh the device settings page in case of not updated Z-Wave parameters model. - Added indicator informing about unsaved Z-Wave parameter. - Added support for FIBARO Walli Dimmer. - Added support for five Leviton devices: Plug-In Outlet DZPA1-2BW, Plug-In Dimmer DZPD3-2BW, Dimmer DZ6HD-1BZ, Dimmer DZ1KD-1BZ, Switch DZ15S-1BZ. Resolved issues: - No possibility to perform the calibration of FIBARO Roller Shutter 3 module. - No scene controller after adding the device in Security mode. - Incorrect operation of external sensors connected to the FIBARO Smart Implant. - Error while adding IP Camera from the device configuration. - Incorrect approximation of the power measured by the device. - Other minor fixes.
  11. Liste des modifications logicielles 4.540 Version 4.540 New New improvements: - Optimized handling of Z-Wave logs to improve the devices communication with the gateway. - Optimized handling of FLiRS devices (eg. FIBARO Heat Controller) to improve communication with the gateway. - Added possibility of setting brightness and colour of the LED ring in scenes for FIBARO Walli series. - Added slats orientation status displaying in the event panel for FIBARO Roller Shutters. - Added possibility of grouping the FIBARO Roller Shutters. - Added information about Z-Wave parameters configuration status in the device advanced settings tab. - Added popup recommending to refresh the device settings page in case of not updated Z-Wave parameters model. - Added indicator informing about unsaved Z-Wave parameter. - Added possibility of assigning each room to one of the categories. - Added notification about existing two users with the same login. - Added support for FIBARO Walli series. - Added support for FIBARO Smart Implant. - Added support for five Leviton devices: Plug-In Outlet DZPA1-2BW, Plug-In Dimmer DZPD3-2BW, Dimmer DZ6HD-1BZ, Dimmer DZ1KD-1BZ, Switch DZ15S-1BZ. - Added support for Oomi by Fantem MultiSensor. - Added support for Jasco ZW6302B Portable Smart Multi Sensor. - Added support for Remotec ZXT-600AU. Resolved issues: - Weather is not updating. - Unwanted IP address blocking by the external integrations. - Possibility to change the e-mail address owned by the admin to the one already used by a regular user. - Possibility to enter in the wizard the e-mail address containing uppercase letters. - Login to the user account if the admin and user logins are identical. - User receives notifications recommending a change of the PIN code owned by the admin. - Notification recommending to change the default PIN code does not contain the user login. - No possibility to perform the calibration of FIBARO Roller Shutter 3 module. - No scene controller after adding the device in Security mode. - Incorrect operation of external sensors connected to the FIBARO Smart Implant. - Error while adding IP Camera from the device configuration. - Incorrect approximation of the power measured by the device. - FIBARO RGBW Controller device category cannot be edited. - Possibility to set the action for holding the button when the FIBARO Roller Shutter 3 works with a bistable button. - No status after editing the location settings when restarting the gateway. - No possibility to update the FIBARO Heat Controller without the external temperature sensor. - External temperature sensor status is not displayed when the sensor is not paired. - Unwanted notifications about devices status change. - Incorrect time after performing the Recovery procedure. - Other minor fixes. Version 4.540 Old (version retirer par fibaro) New improvements: - Optimized handling of Z-Wave logs to improve the devices communication with the gateway. - Optimized handling of FLiRS devices (eg. FIBARO Heat Controller) to improve communication with the gateway. - Added possibility of setting brightness and colour of the LED ring in scenes for FIBARO Walli series. - Added slats orientation status displaying in the event panel for FIBARO Roller Shutters. - Added possibility of grouping the FIBARO Roller Shutters. - Added information about Z-Wave parameters configuration status in the device advanced settings tab. - Added popup recommending to refresh the device settings page in case of not updated Z-Wave parameters model. - Added indicator informing about unsaved Z-Wave parameter. - Added possibility of assigning each room to one of the categories. - Added notification about existing two users with the same login. - Added support for FIBARO Walli series. - Added support for FIBARO Smart Implant. - Added support for five Leviton devices: Plug-In Outlet DZPA1-2BW, Plug-In Dimmer DZPD3-2BW, Dimmer DZ6HD-1BZ, Dimmer DZ1KD-1BZ, Switch DZ15S-1BZ. - Added support for Oomi by Fantem MultiSensor. - Added support for Jasco ZW6302B Portable Smart Multi Sensor. - Added support for Remotec ZXT-600AU. Resolved issues: - Weather is not updating. - Unwanted IP address blocking by the external integrations. - Possibility to change the e-mail address owned by the admin to the one already used by a regular user. - Possibility to enter in the wizard the e-mail address containing uppercase letters. - Login to the user account if the admin and user logins are identical. - User receives notifications recommending a change of the PIN code owned by the admin. - Notification recommending to change the default PIN code does not contain the user login. - No possibility to perform the calibration of FIBARO Roller Shutter 3 module. - No scene controller after adding the device in Security mode. - Incorrect operation of external sensors connected to the FIBARO Smart Implant. - Error while adding IP Camera from the device configuration. - Incorrect approximation of the power measured by the device. - FIBARO RGBW Controller device category cannot be edited. - Possibility to set the action for holding the button when the FIBARO Roller Shutter 3 works with a bistable button. - No status after editing the location settings when restarting the gateway. - No possibility to update the FIBARO Heat Controller without the external temperature sensor. - External temperature sensor status is not displayed when the sensor is not paired. - Unwanted notifications about devices status change. - Incorrect time after performing the Recovery procedure. - Other minor fixes.
  12. Bonsoir, Si comme moi vous souhaitez piloter votre TV Sony mais que le Plugin Sony développé par Fibaro ne fonctionne pas, , voici une scéne et un VD qui permettont de piloter la TV via notre HC2. Pour commencer : _ Créer une variable globale en la nommant : cmd_sony_tv _ Créer une scène en LUA et copier ce code : --[[ %% autostart %% properties %% globals --]] local ip = 'xxx.xxx.x.xx' local port = '80' local xAuthPSK = '1111' local irCode = json.decode([[ [ {"name":"Num1","value":"AAAAAQAAAAEAAAAAAw=="}, {"name":"Num2","value":"AAAAAQAAAAEAAAABAw=="}, {"name":"Num3","value":"AAAAAQAAAAEAAAACAw=="}, {"name":"Num4","value":"AAAAAQAAAAEAAAADAw=="}, {"name":"Num5","value":"AAAAAQAAAAEAAAAEAw=="}, {"name":"Num6","value":"AAAAAQAAAAEAAAAFAw=="}, {"name":"Num7","value":"AAAAAQAAAAEAAAAGAw=="}, {"name":"Num8","value":"AAAAAQAAAAEAAAAHAw=="}, {"name":"Num9","value":"AAAAAQAAAAEAAAAIAw=="}, {"name":"Num0","value":"AAAAAQAAAAEAAAAJAw=="}, {"name":"Num11","value":"AAAAAQAAAAEAAAAKAw=="}, {"name":"Num12","value":"AAAAAQAAAAEAAAALAw=="}, {"name":"Enter","value":"AAAAAQAAAAEAAAALAw=="}, {"name":"GGuide","value":"AAAAAQAAAAEAAAAOAw=="}, {"name":"ChannelUp","value":"AAAAAQAAAAEAAAAQAw=="}, {"name":"ChannelDown","value":"AAAAAQAAAAEAAAARAw=="}, {"name":"VolumeUp","value":"AAAAAQAAAAEAAAASAw=="}, {"name":"VolumeDown","value":"AAAAAQAAAAEAAAATAw=="}, {"name":"Mute","value":"AAAAAQAAAAEAAAAUAw=="}, {"name":"TvPower","value":"AAAAAQAAAAEAAAAVAw=="}, {"name":"Audio","value":"AAAAAQAAAAEAAAAXAw=="}, {"name":"MediaAudioTrack","value":"AAAAAQAAAAEAAAAXAw=="}, {"name":"Tv","value":"AAAAAQAAAAEAAAAkAw=="}, {"name":"Input","value":"AAAAAQAAAAEAAAAlAw=="}, {"name":"TvInput","value":"AAAAAQAAAAEAAAAlAw=="}, {"name":"TvAntennaCable","value":"AAAAAQAAAAEAAAAqAw=="}, {"name":"WakeUp","value":"AAAAAQAAAAEAAAAuAw=="}, {"name":"PowerOff","value":"AAAAAQAAAAEAAAAvAw=="}, {"name":"Sleep","value":"AAAAAQAAAAEAAAAvAw=="}, {"name":"Right","value":"AAAAAQAAAAEAAAAzAw=="}, {"name":"Left","value":"AAAAAQAAAAEAAAA0Aw=="}, {"name":"SleepTimer","value":"AAAAAQAAAAEAAAA2Aw=="}, {"name":"Analog2","value":"AAAAAQAAAAEAAAA4Aw=="}, {"name":"TvAnalog","value":"AAAAAQAAAAEAAAA4Aw=="}, {"name":"Display","value":"AAAAAQAAAAEAAAA6Aw=="}, {"name":"Jump","value":"AAAAAQAAAAEAAAA7Aw=="}, {"name":"PicOff","value":"AAAAAQAAAAEAAAA+Aw=="}, {"name":"PictureOff","value":"AAAAAQAAAAEAAAA+Aw=="}, {"name":"Teletext","value":"AAAAAQAAAAEAAAA\/Aw=="}, {"name":"Video1","value":"AAAAAQAAAAEAAABAAw=="}, {"name":"Video2","value":"AAAAAQAAAAEAAABBAw=="}, {"name":"AnalogRgb1","value":"AAAAAQAAAAEAAABDAw=="}, {"name":"Home","value":"AAAAAQAAAAEAAABgAw=="}, {"name":"Exit","value":"AAAAAQAAAAEAAABjAw=="}, {"name":"PictureMode","value":"AAAAAQAAAAEAAABkAw=="}, {"name":"Confirm","value":"AAAAAQAAAAEAAABlAw=="}, {"name":"Up","value":"AAAAAQAAAAEAAAB0Aw=="}, {"name":"Down","value":"AAAAAQAAAAEAAAB1Aw=="}, {"name":"ClosedCaption","value":"AAAAAgAAAKQAAAAQAw=="}, {"name":"Component1","value":"AAAAAgAAAKQAAAA2Aw=="}, {"name":"Component2","value":"AAAAAgAAAKQAAAA3Aw=="}, {"name":"Wide","value":"AAAAAgAAAKQAAAA9Aw=="}, {"name":"EPG","value":"AAAAAgAAAKQAAABbAw=="}, {"name":"PAP","value":"AAAAAgAAAKQAAAB3Aw=="}, {"name":"TenKey","value":"AAAAAgAAAJcAAAAMAw=="}, {"name":"BSCS","value":"AAAAAgAAAJcAAAAQAw=="}, {"name":"Ddata","value":"AAAAAgAAAJcAAAAVAw=="}, {"name":"Stop","value":"AAAAAgAAAJcAAAAYAw=="}, {"name":"Pause","value":"AAAAAgAAAJcAAAAZAw=="}, {"name":"Play","value":"AAAAAgAAAJcAAAAaAw=="}, {"name":"Rewind","value":"AAAAAgAAAJcAAAAbAw=="}, {"name":"Forward","value":"AAAAAgAAAJcAAAAcAw=="}, {"name":"DOT","value":"AAAAAgAAAJcAAAAdAw=="}, {"name":"Rec","value":"AAAAAgAAAJcAAAAgAw=="}, {"name":"Return","value":"AAAAAgAAAJcAAAAjAw=="}, {"name":"Blue","value":"AAAAAgAAAJcAAAAkAw=="}, {"name":"Red","value":"AAAAAgAAAJcAAAAlAw=="}, {"name":"Green","value":"AAAAAgAAAJcAAAAmAw=="}, {"name":"Yellow","value":"AAAAAgAAAJcAAAAnAw=="}, {"name":"SubTitle","value":"AAAAAgAAAJcAAAAoAw=="}, {"name":"CS","value":"AAAAAgAAAJcAAAArAw=="}, {"name":"BS","value":"AAAAAgAAAJcAAAAsAw=="}, {"name":"Digital","value":"AAAAAgAAAJcAAAAyAw=="}, {"name":"Options","value":"AAAAAgAAAJcAAAA2Aw=="}, {"name":"Media","value":"AAAAAgAAAJcAAAA4Aw=="}, {"name":"Prev","value":"AAAAAgAAAJcAAAA8Aw=="}, {"name":"Next","value":"AAAAAgAAAJcAAAA9Aw=="}, {"name":"DpadCenter","value":"AAAAAgAAAJcAAABKAw=="}, {"name":"CursorUp","value":"AAAAAgAAAJcAAABPAw=="}, {"name":"CursorDown","value":"AAAAAgAAAJcAAABQAw=="}, {"name":"CursorLeft","value":"AAAAAgAAAJcAAABNAw=="}, {"name":"CursorRight","value":"AAAAAgAAAJcAAABOAw=="}, {"name":"ShopRemoteControlForcedDynamic","value":"AAAAAgAAAJcAAABqAw=="}, {"name":"FlashPlus","value":"AAAAAgAAAJcAAAB4Aw=="}, {"name":"FlashMinus","value":"AAAAAgAAAJcAAAB5Aw=="}, {"name":"AudioQualityMode","value":"AAAAAgAAAJcAAAB7Aw=="}, {"name":"DemoMode","value":"AAAAAgAAAJcAAAB8Aw=="}, {"name":"Analog","value":"AAAAAgAAAHcAAAANAw=="}, {"name":"Mode3D","value":"AAAAAgAAAHcAAABNAw=="}, {"name":"DigitalToggle","value":"AAAAAgAAAHcAAABSAw=="}, {"name":"DemoSurround","value":"AAAAAgAAAHcAAAB7Aw=="}, {"name":"*AD","value":"AAAAAgAAABoAAAA7Aw=="}, {"name":"AudioMixUp","value":"AAAAAgAAABoAAAA8Aw=="}, {"name":"AudioMixDown","value":"AAAAAgAAABoAAAA9Aw=="}, {"name":"PhotoFrame","value":"AAAAAgAAABoAAABVAw=="}, {"name":"Tv_Radio","value":"AAAAAgAAABoAAABXAw=="}, {"name":"SyncMenu","value":"AAAAAgAAABoAAABYAw=="}, {"name":"Hdmi1","value":"AAAAAgAAABoAAABaAw=="}, {"name":"Hdmi2","value":"AAAAAgAAABoAAABbAw=="}, {"name":"Hdmi3","value":"AAAAAgAAABoAAABcAw=="}, {"name":"Hdmi4","value":"AAAAAgAAABoAAABdAw=="}, {"name":"TopMenu","value":"AAAAAgAAABoAAABgAw=="}, {"name":"PopUpMenu","value":"AAAAAgAAABoAAABhAw=="}, {"name":"OneTouchTimeRec","value":"AAAAAgAAABoAAABkAw=="}, {"name":"OneTouchView","value":"AAAAAgAAABoAAABlAw=="}, {"name":"DUX","value":"AAAAAgAAABoAAABzAw=="}, {"name":"FootballMode","value":"AAAAAgAAABoAAAB2Aw=="}, {"name":"iManual","value":"AAAAAgAAABoAAAB7Aw=="}, {"name":"Netflix","value":"AAAAAgAAABoAAAB8Aw=="}, {"name":"Assists","value":"AAAAAgAAAMQAAAA7Aw=="}, {"name":"ActionMenu","value":"AAAAAgAAAMQAAABLAw=="}, {"name":"Help","value":"AAAAAgAAAMQAAABNAw=="}, {"name":"TvSatellite","value":"AAAAAgAAAMQAAABOAw=="}, {"name":"WirelessSubwoofer","value":"AAAAAgAAAMQAAAB+Aw=="} ] ]]) function printIrCode() for i in pairs(irCode) do print(irCode[i].name) end end function irCodeLookup(irName) for i in pairs(irCode) do if (irCode[i].name == irName) then return irCode[i].value end end end -- Escape string to make suitable for embedding in HTML. function htmlize(s) s = s:gsub('&', '&') s = s:gsub('<', '<') s = s:gsub('>', '>') return s end --Helper for priniting nested table function deep_print(tbl) if (type(tbl) == "table") then for i, v in pairs(tbl) do if type(v) == "table" then deep_print(v) else print(i, v) end end else print(htmlize(tbl)); end end local successCallback = function(resp) print('At ' .. os.date() .. ' - status = ' .. resp.status) deep_print(resp.data) end local errorCallback = function(err) print('error = ' .. err) end function sendIrCode(name) local value = irCodeLookup(name) if (value == nil) then print('IR Code not found') return end local httpClient = net.HTTPClient(); httpClient:request('http://'..ip..':'..port..'/sony/IRCC', { success = successCallback, error = errorCallback, options = { method = 'POST', headers = { ['Content-Type'] = 'text/xml; charset=UTF-8', ['X-Auth-PSK'] = xAuthPSK, ['User-Agent'] = 'HC2/537.36 (KHTML, like Gecko)', ['SOAPACTION'] = '"urn:schemas-sony-com:service:IRCC:1#X_SendIRCC"' }, data = [[<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:X_SendIRCC xmlns:u="urn:schemas-sony-com:service:IRCC:1"><IRCCCode>]]..value..[[</IRCCCode></u:X_SendIRCC></s:Body></s:Envelope>]] } }); end local value = fibaro:getGlobalValue("cmd_sony_tv"); if (string.len(value) > 0) then print(''..value) sendIrCode(value) end _ Renseigner l'adresse IP de votre TV dans la scène. _ Importer le VD : Telecommande_Sony_TV.vfib _ Noter l"ID de la scène créée et renseigner l'id pour chaque bouton du VD dans la ligne : fibaro:startScene(4); Il est possible d'ajouter des boutons supplémentaires (se référer aux commandes qui se trouvent au début de la scène). J'ai mis les fonctions principales dont je me sers le plus souvent donc libre à vous de personnaliser votre télécommande en fonction de vos besoin. Je tiens à remercier @Krikroff pour son aide et sa dispo Toujours prêt à rendre service notre Jc.
  13. 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
  14. Bonjour, Sans être nouveau ici, je suis un peu désemparé dans le paramétrage des Groupes d'association sur ma HC2. Je ne trouve pas de tuto correspondant a la HC2 actuelle. Je pense avoir compris le principe des groupes, mais pas comment le paramétrer sur la HC2. A quoi servent les groupes1,2,3 ? A quoi servent les colonnes M & S. Simples et multi canal, mais pourquoi, comment ??? Je souhaite allumer "Lampe Gauche"(27) et "Lampe Buffet"(23) en allumant "Lampe Milieu". J'ai testé différentes options, sans trop comprendre, et ça pas marche. Que faire. (Je ne veux pas passer par une scène, je veux comprendre !!! ) Merci de votre aide.
  15. mipa

    Perte de mes modules à distance

    Bonjour, Je suis actuellement en déplacement et je ne vois plus mes modules sur ma HC2, je ne pense pas avoir fais des fausse manip (mais comme je débute en domotique, je préfère le dire....). J'ai essayer de me reconnecter à plusieurs reprises ces dernières 24h, mais rien n'y fais. Impossible de retrouver mes modules installer. Tout à disparu, sauf la disposition des pièces. Est ce que vous savez si on à une sauvegarde de l'installation à quelques part ? ou une idée ? de ce que je pourrais faire ? Merci d'avance
  16. Présentation Le mode passerelle (ou gateway) permet de cascader les box Fibaro Home Center 2 et Lite. Cette fonctionnalité peut être utile dans les cas suivants : installation de modules distants qui ne sont pas à porté du réseau sans-fil Z-Wave (cabanon au fond du jardin, dépendance, cave, résidence secondaire, ...) le nombre maximal de 230 modules gérés par une seule box est dépassé Pour communiquer, les box utilisent alors le réseau IP, que ce soit sur le réseau local ou via Internet (une configuration du modem/routeur sera alors nécessaire afin d'ouvrir les ports nécessaires) Remarque : chaque box reste contrôleur Z-Wave principal des modules qu'elle gère, par conséquent les 2 box doivent être opérationnelles et doivent pouvoir communiquer par le réseau IP afin de conserver l'accès aux modules de la box partenaire. Ceci n'est donc pas une utilisation du mode contrôleur Z-Wave secondaire normalisé dans le protocole Z-Wave. Pré-requis : Seule la box HC2 peut être utilisée en maitre, tandis que les HC2 et HCL peuvent être utilisées en esclave. Les 2 box doivent fonctionner avec le même niveau de firmware. Cet article présente l'utilisation de 2 box HC2 en mode passerelle, bien qu'il soit plus courant d'utiliser une Home Center 2 en maitre, et une Home Center Lite en esclave. En effet, les fonctionnalités avancées de la HC2 (script LUA notamment) pourront alors permettre de piloter la box secondaire HCL, même si celle-ci ne propose pas nativement le langage LUA. Importation Tout d'abord, sur la HC2 secondaire, quelques modules sont inclus, dans cet exemple nous avons une multiprise GreeWave Powernode, un détecteur de Fumée Fibaro, un module virtuel, un Wall Plug Fibaro, et un détecteur d'ouverture Aeotec : A01-HC2secondary.png Sur la HC2 qui sera utilisée comme passerelle maître, naviguer dans le menu "Configuration" puis "Connexions à la Passerelle" : B01-Gatewaypanel.png Cliquer sur le bouton "Ajouter passerelle distante". Dans la fenêtre qui apparait, le système scanne automatiquement le réseau local et découvre la (ou les) box disponible : B02-Gatewaypanel.png Il suffit de la sélectionner puis de cliquer sur le bouton "Ajouter des passerelles" : B03-Gatewaypanel.png Une nouvelle fenêtre demande alors de saisir les identifiants de connexions du compte "admin", ainsi qu'une description permettant d'identifier la box dans l'interface : B04-Gatewaypanel.png La passerelle secondaire est correctement reconnue : B05-Gatewaypanel.png Cliquer sur le bouton "Importation". Dans la fenêtre qui apparait, on peut conserver le choix "Basic" qui importera automatiquement tous les modules gérés sur la passerelle secondaire : B06-Gatewaypanel.png Ou choisir l'option "Avancé", qui permet alors de sélectionner manuellement tout ou partie des modules à importer : B07-Gatewaypanel.png Note : les modules cachés ou désactivés (fonctionnalités disponibles depuis la v4) dans l'interface de la box secondaire ne sont pas éligibles à l'importation. Après un clic sur le bouton "Sauver", le système importe les modules, étape qui prend quelques secondes : B08-Gatewaypanel.png Dans l'interface Web de la box maitre, les modules importés apparaissent alors dans la section "Non assigné" à coté des modules gérés localement. Les modules importés sont différentiés par un encadrement jaune autour de chacun d'eux : C01-HC2primary.png A noter que les icônes personnalisées sur la box secondaire ne sont pas importées sur la box maitre. Il sera alors nécessaire de les importer manuellement, puis de les affecter à chaque module. Utilisation Ces modules sont dorénavant pleinement utilisables avec les 2 box, une action via l'une ou l'autre interface agit alors immédiatement sur l'autre interface, ainsi que sur le module lui-même bien entendu. Pour chaque module, la box maitre leur affecte un nouvel ID afin de les différentier des modules existants. Les modules importés apparaissent dans les panneaux de consommation d'énergie et de température. En cas de nÅ“ud morts (module débranché, problème de transmission Z-Wave, etc) les modules apparaissent en nÅ“uds morts sur les 2 box : C02-DeadDevice.png Les modules importés sont utilisables dans des scènes, comme dans cet exemple de scène en mode bloc où le détecteur de fumée importé (donc géré par la box secondaire) peut déclencher une sirène locale (donc gérée par la box maitre) : C03-Scene.png Dans un script en langage LUA, après avoir obtenu l'ID des modules importés, on peut utiliser les commandes habituelles pour les actionner, comme dans cet exemple pour allumer/éteindre un Wall Plug : fibaro:call(355, "turnOn") fibaro:call(355, "turnOff") . De même, les modules sont pilotables via l'API HTTP disponible sur la box maitre : http://192.168.1.1/api/callAction?deviceID=355&name=turnOn http://192.168.1.1/api/callAction?deviceID=355&name=turnOff . Perte de communication En cas de perte de connexion réseau IP entre les 2 box, le panneau de configuration des passerelles signale le problème par une croix rouge : D01-LostConnection.png Cette information est également disponible au travers de l'API HTTP à l'adresse suivante : http://192.168.1.1/api/remoteGateways Qui renvoie un JSON indiquant le statut de la connexion true ou false. Cette information peut alors être gérée par un script LUA afin d'agir en conséquence (notification, etc...) : [ { "id": 1, "name": "HC2-012345", "ip": "192.168.1.2", "description": "HC2 Secondaire", "connected": true } ] [ { "id": 1, "name": "HC2-012345", "ip": "192.168.1.2", "description": "HC2 Secondaire", "connected": false }] . Pour terminer, sur la box secondaire, le panneau de passerelle dispose d'un onglet "Liste des modules partagés" permettant de visualiser les modules exportés : D02-HC2secondary.png
  17. MAM78

    HomeMode Manager (type Geofence)

    HomeMode Manager (type GeoFence) Préambule : Si comme moi vous recherchez une solution pour savoir si des membres de votre habitation sont présents ou s'ils sont tous partis afin de exécuter des scénarios, comme par exemple : Lorsqu'un membres de la famille arrive à la maison : Désactiver les caméras de votre domicile afin de préserver l'intimité des membres de la famille Suggérer l'arrêt de l'alarme (par notification push action) Allumer les lumières extérieurs la nuit Ouvrir les volets ou le portail ... Lorsque tous les membres de la famille ont quitté la maison : Activer les caméras de votre domicile Vérifier que l'alarme à bien été activée sinon suggérer la mise en marche de l'alarme (par notification push action) Simuler une présence la nuit (par suggestion push ou automatique) Eteindre toutes les lumières Fermer les volets ou le portail lorsque vous rentrez chez vous ... Je sais c'est une fonctionnalité de l'Application Fibaro, mais il semblerait qu'elle fonctionne de façon aléatoire et qu'elle consomme un max de la batterie. J'ai donc fait quelques recherches, notamment sur le Forum officiel de Fibaro, mais les solutions (App pour Smartphone de type GeoFence avec utilisation de IFTT, Détection de la connexion sur le réseau wifi, ...) proposées me donnaient pas vraiment satisfaction. J'ai donc cherché une solution native sur les iPhones (oui j'avoue, nous mangeons des pommes dans notre petite famille). L'iPhone permet au travers de l'application Maison (Home) la possibilité de crée des automatisations quand notamment : Quelqu'un arrive à un lieu (ex. : la maison) Quelqu'un quite un lieu (ex. : la maison) Et utiliser ces automatisations pout agir sur les boutons d'un Virtual Device de nos HC2 et donc de modifier un label et/ou une variable globale qui pourront être utilisés dans nos différents scénarios. Attention, il faut évidement au préalable avoir installé et configuré Homebridge pour que vos Virtual Device soient visibles dans l'application Maison. Mais vous pouvez également utiliser ce VD avec toutes autres solutions pour détecter la presence ou absence des membre du domicile comme celles citées précédemment : App Fibaro permettant d'obtenir le localisation et au travers d'une scène d'intercepter cette position App pour Smartphone (iOS ou Androïd) de type GeoFence avec utilisation de IFTT pour dialoguer avec la HC et agir sur le VD Scène de détection de la connexion ou non des smartphones sur le réseau wifi de la maison et agir sur le FD ...) L'intérêt de ce VD est qu'il, est entièrement automatisé. Il suffit de nommer les utilisateurs à suivre dans les labels et le tour est joué. Magique, non ? Le Projet : Création d'un VD permettant de changer le mode soit présence ou absence selon 2 boutons soit pour : Un seul membre du domicile L'ensemble des membres du domicile (tous d'un coup) Cela peut être notamment utile lorsque par exemple : un téléphone n'a plus de batterie et que tous les membres ont quitté le domicile activation du mode vacance activation de l'alarme ... Les résultats sont sont stocké dans : Les labels correspondant à chacun des membres Une variable globale (option facultative) de votre choix (que j'ai nommée HomeMode) qui va contenir : Par membre sont état : Présent = true (en valeur booléenne) Absent = false (en valeur booléenne) Pour l'ensemble des membres du domicile l'état : Présente = true (en valeur booléenne) Absente = false (en valeur booléenne) Nota : Les valeurs true et false peuvent être modifiées par autre chose, idem pour le nom de la variable globale HomeMode. Voir point 5 dans la partie Configuration. Vous pouvez donc utiliser pour vos scènes et VD, soit le contenu des labels soit le contenu des entrées dans la variable globale. Pré-requis : Si vous utilisez la localisation avec l'application Maison (Home) : Utiliser des d'iPhones et activer la localisation Avoir une AppleTV 4+ ou un iPad (iOS 10+) qui reste à la maison (branché) ou un HomePod pour faire hub HomeKit. (à jour !) Avoir configuré Homebridge pour que vos Module et Virtual Device soient visible dans l'application Maison de votre iPhone Configurer les automatisations sur votre iPhone Si vous utilisez une autre solution de localisation : Rien de particulier, si ce n'est de mettre en place cette solution Installation : Télécharger et installer le Virtual Device ci-dessous (dans sa dernière version) Télécharger les icônes ci-dessous ou fabrique les votres Associez les icônes à chacun des boutons du VD en fonction de l'état, ce sera plus jolie Configuration : Du Virtual Device : 1) Renseigner dans chacun des boutons vos ID de vos icônes, selon les variables suivante : local Icon_Family_Present = 1235 -- Icon ID when one member of the family is present local Icon_Family_Away = 1236 -- Icon ID when all members of the family are away 2) Renseigner dans chacun des labels le nom des membres du domicile. Nota : Le premier label et boutons associés correspondent à l'ensemble des membres du domicile et ne doit pas être changé de place. Ce seront ces noms qui sont utiliser dans la Variable Globale (si vous utilisez l'option) 3) Pouvez changer les emoji des boutons. Mais il est souhaitable de le mettre en cohérence avec ceux des variable Label de configuration (voit point 5) 4) Vous pouvez ajouter ou supprimer des membres : En cas d'ajouts, il convient de conserver la même structure et : Ajouter un Label et renseigner le nom du membre Ajouter une ligne de 2 bouton immédiatement après la nouvelle ligne Label et : dans chacun des bouton copier le code présent dans une bouton existant (tout les codes de boutons sont identiques) Associer les icônes aux 2 nouveau bouton En cas de suppression, il convient de supprimer les lignes label et bouton (sauf celles prévue pour l'ensemble des membres du domicile, la famille) Nota : Si vous utilisez la variable globale. Sont contenu est réactualisé lors de chaque appui sur un bouton (les anciens membres sont supprimer automatiquement) en fonction des membres configurés dans le VD. 5) Facultatif : Presque tout est configurable dans ce VD, vous avez la possibilité de modifier les variables suivantes : local lbl_UserStateValue_Present = "X Présent" -- Label value (if Present) local lbl_UserStateValue_Away = "Y Absent" -- Label value (if Away) local lbl_FamilyStateValue_Present = "X Présente" -- Label value (if Present) local lbl_FamilyStateValue_Away = "Y Absente" -- Label value (if Away) local Use_The_VG_HomeMode = true -- Indicates if you want to use the Global Variable local VG_HomeMode = "HomeMode" -- Global Variable containing the homemode state local VG_StateValue_Present = true -- VG value (if Present) local VG_StateValue_Away = false -- VG value (if Away) local debug = false -- Indicate the debug mode state (true ou false) De vos codes (Scènes ou VD) Adapter ou créer vos codes pour prendre en compte soit le contenu du label lblState ou les entrées présentes dans la variable globale pour lancer vos scénarios. La variable Global a une structure JSON et doit être décodé par la commande : json.decode(). Elle convient ceci (dans mon exemple) : {"Florian":false,"Famille":true,"Gaby":false,"Michel":true} En ce qui me concerne j'utilise GEA pour tester les changement d'état et j'utilise le contenu des labels pour lancer des actions. Exemple de conditions ci-dessous avec l'utilisation de mon VD Surveillance Station Manager (voir ma signature) : -- Gestion de l'arrivée au domicile d'un membres et le départ de tous les membres ------------------------------------------------------- -- Activation du mode Home Mode dans Surveillance Station Synology -- Mise en marche (activation) des caméras si plus membres du domicile présents -- Arrêt des caméras (désactivation) si l'un de membres est présent au domicile GEA.add({{"Label", id["VD_HomeMode_Manager"], "lblFamilyPresence", "#r#Présente"} ,{"Trigger", "lblFamilyPresence"} ,{"Or", {"Label", id["VD_CAM_GLOBAL"], "lblCamState", "#r#Marche"}, {"Label", id["VD_CAM_GLOBAL"], "lblCamState", "#r#Partiel"}}} ,-1, "Un membre de la famille vient d'arriver à la maison, Arrêt des caméras" ,{"VirtualDevice", id["VD_CAM_GLOBAL"], 5} ,"Arrivée d'un membre de la famille de la maison, Arrêt des caméras") GEA.add({{"Label", id["VD_HomeMode_Manager"], "lblFamilyPresence", "#r#Absente"} ,{"Trigger", "lblFamilyPresence"} ,{"Or", {"Label", id["VD_CAM_GLOBAL"], "lblCamState", "#r#Arrêt"}, {"Label", id["VD_CAM_GLOBAL"], "lblCamState", "#r#Partiel"}}} ,-1, "Tous les membres de la famille ont quitté la maison, Mise en marche des caméras" ,{"VirtualDevice", id["VD_CAM_GLOBAL"], 5} ,"Tous les membres de la famille ont quitté la maison, Mise en marche des caméras") GEA.add({{"Label", id["VD_HomeMode_Manager"], "lblFamilyPresence", "#r#Présente"} ,{"Trigger", "lblFamilyPresence"} ,{"Label", id["VD_CAM_GLOBAL"], "lblPresence", "#r#Absence"}} ,-1, "Un membre de la famille vient d'arriver à la maison, Activation du mode présence" ,{{"VirtualDevice", id["VD_CAM_GLOBAL"], 4}} ,"Arrivée d'un membre de la famille de la maison, Activation du mode présence") GEA.add({{"Label", id["VD_HomeMode_Manager"], "lblFamilyPresence", "#r#Absente"} ,{"Trigger", "lblFamilyPresence"} ,{"Label", id["VD_CAM_GLOBAL"], "lblPresence", "#r#Présence"}} ,-1, "Tous les membres de la famille ont quitté la maison, Activation du mode absence" ,{{"VirtualDevice", id["VD_CAM_GLOBAL"], 4}} ,"Tous les membres de la famille ont quitté la maison, Activation du mode absence") GEA.add({{"Label", id["VD_HomeMode_Manager"], "lblMichel", "#r#Présent"} ,{"Trigger", "lblMichel"} ,{"Open!", id["VOLET_SALON"], 100}} ,-1, "" ,{{"Ask", {id["PHONE_ID_Michel"]}, "Michel arrive à la maison. Ouverture des volets ?", 37} },"Michel vient d'arriver à la maison") GEA.add({{"Label", id["VD_HomeMode_Manager"], "lblMichel", "#r#Absent"} ,{"Trigger", "lblMichel"} ,{"Open!", id["VOLET_SALON"], 0}} ,-1, "" ,{{"Ask", {id["PHONE_ID_Michel"]}, "Michel quitte la maison. Fermeture des volets ?", 110} },"Michel vient de quitter la maison") GEA.add({{"Label", id["VD_HomeMode_Manager"], "lblGaby", "#r#Présent"} ,{"Trigger", "lblGaby"}} ,-1, "Gaby arrive de la maison" ,{"Push", {id["PHONE_ID_Michel"]}} ,"Gaby vient d'arriver de la maison") GEA.add({{"Label", id["VD_HomeMode_Manager"], "lblGaby", "#r#Absent"} ,{"Trigger", "lblGaby"}} ,-1, "Gaby quitte la maison" ,{"Push", {id["PHONE_ID_Michel"]}} ,"Gaby vient de quitter de la maison") Nota : la condition "TriggerPropertyName" n'est pas une fonction de base de GEA 6.11. Il convient de l'ajouter dans la liste des fonctions renseignées dans la partie : function config() GEA.options.triggerpropertyname = { name = "TriggerPropertyName",getValue=function() if (GEA.source.type == "property") then return GEA.source.propertyName:gsub("ui.", ""):gsub(".value", "") end return "other" end} Quelques exemples de solutions de détection de vos entrées et sorties de maison : 1) Sur vos iPhones avec la fonction intégrée de géolocalisation et l'utilisation de l'application domotique "Maison (home)" d'Apple Elle nécessites l'installation de Homebridge (voir les tutos ci-dessous, il y a de nombreuses solutions, j'en ai testé qu'une, la première) : Dans un docker sous un NAS Synology (il en existe plusieurs) : https://github.com/marcoraddatz/homebridge-docker (la solution que j'utilise) https://github.com/oznu/docker-homebridge/wiki/Homebridge-on-Synology (pas testé) https://github.com/ilcato/homebridge-Fibaro-HC2 (pas testé) ... Dans Raspberry PI : https://github.com/nfarina/homebridge/wiki/Running-HomeBridge-on-a-Raspberry-Pi (pas testé) https://techarea.fr/installation-homebridge-sur-raspberry-pi/ (pas testé) https://www.journaldulapin.com/2018/02/06/dyson-homebridge-homekit/ (pas testé) ... Sur Mac OS : https://github.com/nfarina/homebridge/wiki/Install-Homebridge-on-macOS (pas testé) ... Sous windows 10 : https://github.com/nfarina/homebridge/wiki/Install-HomeBridge-on-Windows-10-(new) (pas testé) Tuto présent sur le forum : Configuration des réglages de vos iPhones : Réglage > Confidentialité >Service de localisation > Maison Réglage > Confidentialité >Service de localisation > Services systèmes > Partager ma position Réglage > Confidentialité >Service de localisation > Services systèmes > Homekit Réglage > Ton utilisateur en haut > iCloud > Partager ma position coché et à partir de : « Cet appareil » Réglage > Ton utilisateur en haut > Partage familial > Partage de position > Partager ma position coché et à partir de : « Cet appareil » L'automatisation dans l'application Maison (Home) de votre iPhone : Voir images ci-dessous, elles parlent d'elles-même : 2) Application Synology DS CAM disponible sur iOS et Android Elle intègre une solution Geofence permettant de connaitre les entrées et sorties de la maison. Cette info est exploitable directement sur votre NAS et elle peut être interceptée avec une règle d'action qui va envoyer en local (sans passer par le Cloud/Internet) une requête sur votre HC2 via une commande de type : http://<HC2 ip address>/api/callAction?deviceID=XXX&name=pressButton&arg1=2 Voilà une solution compatible pour les 2 mondes iOS et Android sans faire circuler sur internet vos mots de passe (comme par exemple avec IFTTT). Utilisation du VD : Utiliser de la première série de bouton pour agir d'un coup pour tous les membres du domicile (Famille) le premier bouton pour activer le mode Présence Utiliser le deuxième bouton pour activer le mode Absence Utiliser boutons suivants pour agir sur un membre du domicile (Famille) en particulier le premier bouton pour activer le mode Présence Utiliser le deuxième bouton pour activer le mode Absence Versions : V1.0 : du 15/01/2019 -> Initialisation du projet V2.0 : du 18/01/2019 -> Ajout de la fonctionnalité pour gérer individuellement chacun membres au domicile ou l'ensemble d'un coup Roadmap - Evolutions à venir : Gérer des localisations différentiées (Travail, Ecole, ...) Fournir quelques exemples de Lignes GEA A voir selon vos suggestions Dernière version du VD : VD : HomeMode_Manager V2.0.vfib.json Icônes :
  18. 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
  19. jojolafrisette

    problème réseau HC2

    bonsoir à tous, Je viens vers vous pour un problème technique ( ne pouvant pas trouver ma réponse ni contacter le support fibaro) sur ma HC2. Je viens de m'apercevoir que celle-ci n'est plus connecté à internet . Pour info : -j'ai changé de fournisseur internet free> orange. Description : La box est branché directement sur la box et allume uniquement les deux premières LED. Elle n'arrive donc pas à récupérer internet , il m'est donc impossible de me connecter dessus avec fibaro finder. J'ai suivi le tuto qui permet de modifier ipv4 afin de lui mettre une IP fixe et ensuite d'aller sur le navigateur pour se connecter à la box mais sans succès.. J'ai ensuite essayé le recovery mais là j'ai uniquement la première LED et une des dernières... N'ayant pas une grosse connaissance en réseau , je ne sais plus si il y avait une configuration particulière à faire sur les ports ou autres. J'ai pu lire sur le fofo que ça serait éventuellement un problème de carte réseau connu et fréquent sur ses box :/ merci d'avance de votre aide !
  20. MAM78

    Vacances Manager

    Vacances Manager ou Holidays Manager Préambule : Après quelques recherches, je me suis rendu compte qu'il n'existait pas de Virtual Device permettant de gérer les périodes d'absences pour vacances. Alors que c'est maintenant une fonction de base sur certains programmateurs de chauffage. Il tel gestionnaire permettrait, notamment de : Modifier les consignes de chauffage en fonction d'une date de départ et de retour de vacance. Nota : Le panneau de contrôle permet d'activer manuellement un mode vacance, mais sans préciser les période de départ et retour.. Vérifier si l'alarme est activée lors des périodes de vacances, Couper l'eau et le gaz pendant les périodes de vacances, Couper l'alimentation électricité de certains équipements, Mise en veille de votre robot aspirateur, ... L'intérêt, serait également d'avoir la possibilité d'activer et modifier à distance ces dates de départs et retours de vacances. Ex. : retour anticipé. J'ai donc décidé de créer un VD de gestion des périodes de vacances. Nota : Ce même VD pourrait être également utilisé pour définir toutes autres périodes ayant un début et une fin dans laquelle vous souhaitez définir des conditions de déclenchements d'événements. Le Projet : Créer un VD sans aucune prétention permettant de définir et planifier les périodes de vacances. Il permet de définir 2 modes : Stop = Aucune planification enregistrée Run = Planification définie (activable uniquement si des dates sont planifiées) Il détermine 4 états en fonction du mode définit : en mode Stop : "Mode désactivé" (pas de planification définit) en mode Run : "En attente des vacances" si l'instant présent est en-dehors dans la période définit "En vacances" si l'instant présent est dans la période définit "Vacances terminées" si l'instant présent est supérieur à la période de retour Pré-requis : aucun si ce n'est que d'installer/configurer le VD et l'adapter à vos besoins et adapter vos codes (GEA, autres) pour intégrer la prise en compte des différents états. 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 Associez l'icône au VD et à chacun des boutons du VD, ce sera plus jolie Configuration : Du Virtual Device : Dans l'onglet Avancé du VD importé, il convient : Eventuellement changer dans la boucle principale du VD les libellés des différents états (qui vont alimenter le label lblState) selon votre convenance. local State_InThePeriode = "En vacances" local State_WaitingForThePeriode = "En attente des vacances" local State_Disabled = "Mode désactivé" Eventuellement modifier la variable qui détermine la durée après laquelle le bouton de sélection des période se désactive (sans modifications des périodes). Actuellement définit à 10 secondes. local CleanAfter_X_Sec = 10 Ne pas oublier de sauvegarder votre nouveau VD D'adapter vos Scènes et VD afin de prendre en compte l'état du label "lblState". Utilisation du VD : Utiliser le premier bouton pour sélectionner la période (départ ou retour) que vous souhaitez modifier. A chaque clic la sélection passe à la ligne suivante, puis revient à la première. Nota : Le curseur de sélection se désactive au bout quelques secondes (sans modifications des périodes). Cette durée est modifiable selon la variable "CleanAfter_X_Sec" présente dans la boucle principale du VD Puis utiliser l'un des 2 autres boutons pour modifier l'état (Run, Stop) Puis utiliser les autres boutons pour modifier les dates et heures de la période sélectionnée : Moins 1 jour sur la planification Plus 1 jour sur la planification Remise à zéro des planification et mise en Stop du mode Moins 1 heure sur la planification Plus 1 heure sur la planification Donner l'accès au VD à votre WAF pour son autonomie et pour vous votre tranquillité Versions : V1.0 : du 01/12/2018 -> Intialisation du projet V1.1 : du 01/12/2018 -> Ajout de l'état "Vacances terminées" Evolutions à venir : Fournir quelques exemples de lignes GEA utilisant et mettant à jour automatiquement les panneaux de chauffage en mode vacances et annulation de celui-ci au retour des vacances. Créer un variable globale qui contiendra le contenu du label "lblState" A voir selon vos suggestions Dernière version du VD : VD : Vacances_Manager.vfib V1.1.json Icône :
  21. Connex

    Fibaro avec Satel integra

    Bonjour à tout le monde J'aimerai passer une commande de système d'alarme chez Satel, une centrale que j'aimerai ensuite intégrer dans mon système HC2. Quelqu'un peut me conseiller la liste des produits à acheter (modules de communication, control panel, keypad)? https://www.pluscom.pl/ Merci d'avance, Daniel
  22. MAM78

    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
  23. 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.
  24. 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 : aucun 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 Associez l'icône au VD et à chacun des boutons du VD, ce sera plus jolie 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 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 : Utiliser le premier bouton pour sélectionner la notification que vous souhaitez modifier. A chaque clic la sélection passe à la ligne suivante. Puis utiliser l'un des 4 autres boutons pour modifier l'état. 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 V2.0 : du 20/11/2018 -> Simplification du VD avec une ligne de boutons qui permet de gérer l'ensemble les lignes (Labels) 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 V2.0.json Icône :
  25. mprinfo

    LUA - Arreter ou Redémarrer sa HC2

    Arrêter ou Redémarrer sa HC2 Voici les commandes lua pour arrêter ou redémarrer sa box HC2 Ne fonctionne que dans une scène v4.110 >= Firmware < 4.500 HomeCenter.SystemService.reboot() Nom Le nom de la fonction doit toujours être identique : HomeCenter.SystemService.reboot() Exigences Fibaro Home Center 2 updated to 4.081 software version or higher Application Redémarre le système. Paramètres Aucun Valeurs retournées Aucun Exemple de code : -- Redémarrer le système HomeCenter.SystemService.reboot(); HomeCenter.SystemService.shutdown() Nom Le nom de la fonction doit toujours être identique: HomeCenter.SystemService.shutdown() Exigences Fibaro Home Center 2 version 4.081 ou plus Application Arrêt du système. Paramètres Aucun Valeurs retournées Aucun Exemple de code -- Shutdown system HomeCenter.SystemService.shutdown();
×