Aller au contenu

Rechercher dans la communauté

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



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

15 résultats trouvés

  1. J3R3M

    [VD+Scène] Netatmo Welcome

    Bonjour à tous, Jusqu'à peu, j'utilisais uniquement des requêtes fing (ping) pour détecter les différents téléphones de mon téléphone et ainsi en déduire la présence de quelqu'un ou non à mon domicile. Seulement, ce n'était pas assez fiable et j'ai décidé de combiner cette solution à la Netatmo Welcome. Après quelques recherches, je suis tombé sur ce topic du site Siio (également et heureusement disponible en anglais ici). C'est exactement ce que je recherchais! Seulement, je l'ai modifié pour qu'il soit plus simple à à mettre en place et à utiliser au quotidien. Ainsi, il n'y a rien à faire à part modifier les variables vous concernant. Pour utiliser le script original, il faut créer deux Variables Globales par personne identifiée dans la base de données de la Welcome, ce que je ne trouve pas très ergonomique et lourd. Je précise qu'une très grande partie du script provient du lien précédent et je ne cherche pas à tirer la gloire de l'auteur original (BOOMX) de celui-ci malgré mes modifications. Je l'ai modifiée comme je le souhaitais et ai traduit les debugs. J'espère que cette scène vous sera utile et suis disponible pour répondre à vos éventuelles questions! Exemple d'utilisation Pour savoir si quelqu'un est présent d'après la Netatmo Welcome, il suffit d'utiliser un code comme-ci dans vos scènes et VD : local pseudo = "Jérémy"; local VGNetatmo = "NETATMO_Welcome"; local table = json.decode(fibaro:getGlobalValue(VGNetatmo)); local presence = tonumber(table[pseudo].status); if presence == 1 then fibaro:debug(pseudo.." est présent."); else fibaro:debug(pseudo.." est absent."); end Réglages de la Scène Netatmo Welcome Toutes les variables permettant de régler la scène sont au début de celle-ci. Après avoir saisi les bonnes informations, enregistrez et démarrez la scène manuellement. La scène est fonctionnelle ! NB : Ces paramètres étant envoyés via une requête HTTP, merci d'encoder les caractères spéciaux. Pour rappel : @ = %40 -- Informations de compte Netatmo local client_id = 'Client_id'; local client_secret = 'Client_secret'; local username = 'Netatmo_username'; local password = 'Netatmo_pass'; -- Informations du VD associé local vd_ID = 304; -- ID du VD associé local vd_refresh = 9; -- ID du bouton refresh du VD. 9 Par défaut -- Réglages de la scène local refresh = 10; -- Script executé toutes les x secondes. Pas moins de 8s! local debug = 0; -- Faut-il vraiment l'expliquer ? -- Nom de la Variable Globale qui sera créée et utilisée par la scène et le VD local VGNetatmo = "NETATMO_Welcome"; Trouver ses Client ID & Client Secret Pour obtenir vos client_id et client_secret, rendez-vous sur dev.netatmo.com et connectez-vous. Cliquez sur CREATE YOUR APP et remplissez rapidement le formulaire. Les informations saisies importent peu! Une fois que vous aurez validé en cliquant sur le bouton SAVE, d'autres fenêtres apparaîtront en-dessous. Celle qui nous intéresse et celle juste en-dessous. En effet, les informations Client id et Client secret sont dans la section Technical Parameters. Faites un copier/coller de ces informations dans les variables correspondantes et le tour est joué! J'ai tellement ramé à les trouver que je me devais de vous dire où ces informations étaient dissimulées! Limitations de l'API Netatmo En ce qui concerne la variable refresh, il s'agit du délai entre chaque mise à jour des informations par la scène. L'auteur explique très bien pourquoi il ne faut pas descendre en dessous des 8 secondes et je vais me contenter de traduire son explication. VD Netatmo Welcome Pour personnaliser celui-ci, rendez-vous au début du code du bouton refresh : -- Les pseudos doivent être exactement les mêmes que dans l'application Netatmo, séparés par une virgule local pseudos = {"Jérémy","Emilie","Maman"}; -- Nombre de personnes à afficher dans le VD -- Si modification, conserver la même structure de VD ! -- Et penser à modifier la variable "vd_refresh" de la scène Netatmo local NbPersonnes = 3; -- Variable Globale local VGNetatmo = "NETATMO_Welcome"; Si vous souhaitez conserver seulement les informations de 3 personnes, il vous suffit de modifier uniquement les valeurs de la variable pseudos. Attention, les pseudos doivent être rigoureusement les mêmes que ceux enregistrés dans Netatmo! Si vous souhaitez afficher plus de 3 personnes, conservez obligatoirement la même structure du VD, c'est-à-dire en ajoutant 3 étiquettes dont les IDs seront incrémentés de +1 pour chaque nouvelle personne. Pour information, le VD d'origine est beaucoup moins optimisé puisque vous devez modifier tout le code du bouton pour qu'il soit fonctionnel. Scène Netatmo Welcome Une seule instance autorisée. Démarrage Automatique --[[ %% autostart --]] -- Informations de compte Netatmo local client_id = 'Client_id'; local client_secret = 'Client_secret'; local username = 'Netatmo_username'; local password = 'Netatmo_pass'; -- Informations du VD associé local vd_ID = 304; -- ID du VD associé local vd_refresh = 9; -- ID du bouton refresh du VD. 9 Par défaut -- Réglages de la scène local refresh = 10; -- Script executé toutes les x secondes. Pas moins de 8s! local debug = 0; -- Faut-il vraiment l'expliquer ? -- Nom de la Variable Globale qui sera créée et utilisée par la scène et le VD local VGNetatmo = "NETATMO_Welcome"; -------------------------------------------------------------- -------- Ne rien modifier à partir de cette ligne ------------ -------------------------------------------------------------- local token = ''; local request_body = ''; Debug = function (color, message) if (debug == 1) then fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span")); elseif (debug == 0) then end end DebugChange = function (color, message) fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span")); end DebugError = function (color, message) fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span")); end fibaro:debug('Démarrage du script Netatmo welcome Integration v.1.0'); if (debug == 0) then fibaro:debug("Debug = 0. Seuls les messages d'information apparaîtront dans les logs."); else fibaro:debug('Debug = 1. Messages de Debug activés.'); end fibaro:debug('Cette scène sera executée toutes les ' ..refresh.. ' secondes.'); -- Début - Ajout pour gestion indépendante des VG function CreerVG(VGNom, VGValeur) local data = {name = VGNom, value=VGValeur}; response, status = api.post("/globalVariables", data); if (status == 201) then DebugError("white", "Variable Globale " .. VGNom .. " créée."); else DebugError("red", "Impossible de créer la Variable Globale " .. VGNom .. "!"); end end function MajEntree(Nom, Statut, Lastseen) local table = json.decode(fibaro:getGlobalValue(VGNetatmo)); -- Tout est à mettre à jour if Nom ~= nil and Statut ~= nil and Lastseen ~= nil then table[Nom] = {status=Statut, lastseen=Lastseen}; fibaro:setGlobal(VGNetatmo,json.encode(table)); DebugError("yellow", "L'entrée " .. Nom .. " a été automatiquement créée."); -- Mise à jour du Statut elseif Nom ~= nil and Statut ~= nil and Lastseen == nil then table[Nom].status = Statut; fibaro:setGlobal(VGNetatmo,json.encode(table)); Debug("yellow", "Le statut de " .. Nom .. " a été mis sur la valeur ".. Statut); -- Mise à jour de la dernière vue de la personne elseif Nom ~= nil and Statut == nil and Lastseen ~= nil then table[Nom].lastseen = Lastseen; fibaro:setGlobal(VGNetatmo,json.encode(table)); Debug("yellow", "L'information 'lastseen' de " .. Nom .. " a été mise sur la valeur ".. Lastseen); else DebugError("red", "Erreur lors de l'utilisation de la fonction MajEntree"); if Nom == nil then DebugError("white", "Champ 'Nom' vide !"); end if Statut == nil then DebugError("white", "Champ 'Statut' vide !"); end if Lastseen == nil then DebugError("white", "Champ 'Lastseen' vide !"); end end end if fibaro:getGlobalValue(VGNetatmo) == nil then CreerVG(VGNetatmo,json.encode({})); end -- Fin - Ajout pour gestion indépendante des VG function oAuth(nextFunction) local request_body = 'grant_type=password&client_id=' .. client_id .. '&client_secret=' .. client_secret .. '&username=' .. username .. '&password=' .. password .. '&scope=read_camera'; getResponseData('https://api.netatmo.net/oauth2/token', request_body, function(data) if (data.access_token ~= nil) then token = data.access_token gethomedata() else DebugError( "red", "Impossible de joindre l'API!"); end end ) setTimeout(oAuth, refresh*1000); end function getResponseData(url, body, func) local http = net.HTTPClient(); http:request(url, { options = { method = 'POST', headers = {['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'}, data = body }, success = function(response); func(json.decode(response.data)); end }) end function gethomedata() request_body_cam = 'access_token=' ..token.. ''; getResponseData('https://api.netatmo.net/api/gethomedata', request_body_cam, function(getData) if (getData.body ~= nil) then for w, v in pairs(getData.body.homes) do for a, b in pairs(v.persons) do local INFOS = json.decode(fibaro:getGlobalValue(VGNetatmo)); if (b.pseudo ~= nil) then if (b.out_of_sight == false) then if INFOS[b.pseudo] ~= nil then MajEntree(b.pseudo,nil,b.last_seen); local change_var = tonumber(INFOS[b.pseudo].status); if (change_var == 0) then DebugChange("green", b.pseudo.. ' est présent.') MajEntree(b.pseudo,1,nil); else Debug("white", b.pseudo.. ' est toujours présent.'); end else Debug("red", "L'entrée pour " ..b.pseudo.. " de la table "..VGNetatmo.." n'éxiste pas."); MajEntree(b.pseudo,0,0); end else if INFOS[b.pseudo] ~= nil then MajEntree(b.pseudo,nil,b.last_seen); local change_var2 = tonumber(INFOS[b.pseudo].status); if (change_var2 == 1) then DebugChange( "orange", b.pseudo.. ' est absent.'); MajEntree(b.pseudo,0,nil); else Debug( "white", b.pseudo.. ' est toujours absent.'); end else Debug("red", "L'entrée pour " ..b.pseudo.. " de la table "..VGNetatmo.." n'éxiste pas."); MajEntree(b.pseudo,0,0); end end end end end else Debug("red", "Impossible de joindre l'API! Vérifier le taux de rafraichissemment!"); end if tonumber(vd_ID) ~= nil then fibaro:call(vd_ID, "pressButton", vd_refresh); end end ) end local sourceTrigger = fibaro:getSourceTrigger(); if (sourceTrigger["type"] == "autostart") then oAuth(); end Icones Téléchargement du VD Netatmo_Welcome.vfib
  2. Bonjour à tous, Certains VD créent automatiquement les Variables Globales dont ils ont besoin pour fonctionner correctement. Je n'ai pas réussi à comprendre comment cette opération était effectuée... Donc je viens une fois de plus vers vous ! Je comprends bien que le but est d'abord de vérifier si la VG existe et si la requête échoue, la créer... Mais comment s'opère cette création ? J'ai essayé d'analyser ce sujet, mais sans comprendre le pourquoi du comment... Pouvez-vous m'expliquer comment faire s'il-vous-plaît ? Avec un morceau de code basique, que l'on puisse ensuite agrémenter en fonction de nos besoins. Merci d'avance !
  3. Bonjour à tous, J'utilise le VD Philips Hue de @Talwayseb pour toutes mes ampoules Hues. Sur chacun des boutons du VD, les informations sont envoyées au pont Hue via ces commandes : HueCMD = Net.FHttp(HueIP,HuePort) HueCMD:PUT('/api/'..HueUser..'/lights/'..HueLampeId..'/state', '{"on":'..HueOn..', "sat":'..HueSat..', "bri":'..HueBri..', "hue":'..HueColor..', "ct":'..HueCT..'}') Pour le besoin de certaines de mes scènes, j'aimerais pouvoir effectuer cette commande directement, sans avoir à appuyer sur les boutons du VD (et éviter de les créer un par un évidemment). La fonction étant différente pour être utilisée dans les scènes, pouvez-vous, s'il-vous-plaît, me dire comment la transcrire pour une utilisation directement dans une scène ? Ou me mettre sur la bonne voie ? J'ai essayé ceci (en ayant bien entendu déclaré correctement les variables auparavant), mais en vain... local http = net.HTTPClient(); local body = ''; url = 'http://'..HueIP..'/api/'..HueUser..'/lights/'..HueLampeId..'/state', '{"on":'..HueOn..', "sat":'..HueSat..', "bri":'..HueBri..', "hue":'..HueColor..', "ct":'..HueCT..'}'; http:request(url, { options = { method = 'PUT', headers = { ["Content-Type"] = "application/x-www-form-urlencoded", ["Content-length"] = string.format("%d", body:len())}, }, }) Merci d'avance du temps accordé à ma demande
  4. Salut à tous !!! Pour mon premier post, je partage avec vous quelques VD lié à l’univers Philips Hue et, cerise sur le gâteau, compatible avec les ampoules LED TRÅDFRI de Ikea. Ils sont inspirés de ce que j’ai pu glané ici et là sur le forum, notamment le VD de @Zorgonaute84 et le VD de @Moicphil. /!\ Avant de commencer : Créer un compte Développeur sur son bridge Connectez-vous au Bridge Hue depuis un navigateur internet via l'adresse suivante : http://<IPduBridgeHUE>/debug/clip.html Dans URL : vous tapez : /api Dans Message body : {"devicetype":"my_hue_app#newdevelopper"} Appuyez sur le bouton d'association de votre bridge HUE, puis vous cliquez sur POST Dans Command Response : recopier le username Récupérer la configuration de votre bridge Connectez-vous au Bridge Hue depuis un navigateur internet via l'adresse suivante : http://<IPduBridgeHUE>/debug/clip.html Dans URL : vous tapez : /api/VotreUsername/ Cliquez sur GET Dans Command Response : recopier et sauvegarder le texte afin de conserver sur le coude vos n° de lampe, n° de groupe, etc… Créer la variable globale VD_Hue_User Dans le panneau de Variables, ajouter, dans le tableau Variables prédéfinies, la variable VD_Hue_User. Donner lui la valeur de votre username récupéré sur le Bridge. Supprimer l’autre valeur, en lui donnant la même valeur. Du coup, pour la plupart des VD proposés, vous aurez plus qu’à renter l’adresse IP et le n° de l’ID (n° de la lampe, n° du groupe, etc…) dans le port TCP. Quelques liens utiles https://my.meethue.com/fr-fr/ https://developers.meethue.com/documentation/getting-started https://developers.meethue.com/philips-hue-api https://developers.meethue.com/documentation/supported-lights Logiciel WinHue 3 : https://hyrules.github.io/WinHue3/ Gamut - Espace Colorimétrique Philips utilise 3 Espaces de couleur : A, B et C. en fonction de la référence du produit. Les VD proposés sont optimiser pour un Gamut de type C. Pour le Gamut A, relativement proche, il ne devrait pas y avoir de soucis. Par contre pour le Gamut B, à cause de l'espace colorimétrique, les couleurs entre le jaune et le bleu (Lime, Vert, Jade, Cyan, Bleu ciel) devraient logiquement être presque blanche... Icônes : Pour chaque VD ou Scène, pour l'icône par défaut, j'utilise toujours une icône invalide (la rose avec ?). Cela me permet de savoir au premier coup d'œil si le VD ou la scène fonctionne correctement. --------------------------------------- VD Talwayseb - Bridge Philips Hue : - Renseigner l'adresse IP de votre bridge dans le champ "Adresse IP" du module - Renseigner le port 80 de votre bridge dans le champ "Port TCP" - Ajouter les 7 icônes pour le modèle de votre choix pour chaque état : Bridge V1 Bridge V2 - Dans la Boucle Principale (Main Loop), il faut également ajouter le numéro des icônes en fonction de chaque état. Téléchargement : Le ZIP : VD Talwayseb - Bridge Philips Hue V1.0.zip (Contient le .VFIB + les icônes) Mot de Passe : Talwayseb --------------------------------------- VD Talwayseb - Ampoule Philips et Ikea en fonction du type : - Renseigner l'adresse IP de votre bridge dans le champ "Adresse IP" du module - Renseigner le n° ID de la lampe Hue à contrôler dans le champ "Port TCP" - Ajouter les 26 icônes pour la catégorie de votre choix pour chaque couleur : Ampoule E27 Ampoule GU10 Bandeau LED Ampoule E14 Ampoule blanche dimmable - Dans la Boucle Principale (Main Loop), il faut également ajouter le numéro des icônes en fonction de chaque couleur. Téléchargement en fonction de votre type de lampe : Le ZIP pour les ampoules de couleurs - Color Light (e.g. Bloom, Iris, LightStrips) : VD Talwayseb - Ampoule Philips Hue Color V1.0.zip (Contient le .VFIB + les icônes) Le ZIP pour les ampoules de couleurs étendues - Extended Color Light (e.g. A19, BR30, GU10) : VD Talwayseb - Ampoule Philips Hue White & Color V1.1.zip (Contient le .VFIB + les icônes) Le ZIP pour les ampoules blanche d'ambiance - Color Temperature Light (e.g. ) : VD Talwayseb - Ampoule Philips Hue White Ambiance V1.0.zip (Contient le .VFIB + les icônes) | Compatible Ikea Le ZIP pour les ampoules blanche dimmable - Dimmable Light (e.g. Hue Lux A19) : VD Talwayseb - Ampoule Philips Hue White V1.1.zip (Contient le .VFIB + les icônes) | Compatible Ikea Mot de Passe : Talwayseb --------------------------------------- VD Talwayseb - Groupe Philips en fonction du type : - Renseigner l'adresse IP de votre bridge dans le champ "Adresse IP" du module - Renseigner le n° ID du groupe Hue à contrôler dans le champ "Port TCP" - Ajouter les 26 icônes pour chaque couleur - Ou ajouter les 18 icônes si que dimmable - Dans la Boucle Principale (Main Loop), il faut également ajouter le numéro des icônes en fonction de chaque couleur. Téléchargement en fonction de votre type de groupe : Le ZIP pour le groupe des ampoules de couleurs : VD Talwayseb - Groupe Philips Hue Color V1.0.zip (Contient le .VFIB + les icônes) Le ZIP pour le groupe des ampoules de couleurs étendues : VD Talwayseb - Groupe Philips Hue White & Color V1.1.zip (Contient le .VFIB + les icônes) Le ZIP pour le groupe des ampoules blanche d'ambiance : VD Talwayseb - Groupe Philips Hue White Ambiance V1.0.zip (Contient le .VFIB + les icônes) | Compatible Ikea Le ZIP pour le groupe des ampoules blanche dimmable : VD Talwayseb - Groupe Philips Hue White V1.0.zip (Contient le .VFIB + les icônes) | Compatible Ikea Mot de Passe : Talwayseb --------------------------------------- VD Talwayseb - Beyond Philips Hue : - Renseigner l'adresse IP de votre bridge dans le champ "Adresse IP" du module. - Renseigner le n° ID du groupe Hue par défaut à contrôler dans le champ "Port TCP". - Créer une variable globale unique pour chaque VD pour le mode. Dans mon VD, elle s'appelle VD_ModeHue_SAM. - Pour la plupart des Boutons et dans la Boucle Principale (Main Loop), il faut renseigner les groupes à gérer en fonction du mode choisi : NumGroupUp pour le N° du Groupe Beyond Up NumGroupDown pour le N° du Groupe Beyond Down - Ajouter les 96 icônes pour chaque couleur : Icônes communes Mode1 (gestion de l'Eclairage Bas en Blanc + Eclairage Haut en Couleur) Mode2 (gestion de l'Eclairage Bas en Couleur + Eclairage Haut en Blanc) Mode3 (Gestion des 2 sources lumineuses de façon identique) Mode4 (Gestion de la source lumineuse Haute) Mode5 (Gestion de la source lumineuse Basse) - Dans la Boucle Principale (Main Loop), il faut également ajouter le numéro des icônes en fonction de chaque couleur pour chaque mode. - Toujours dans la boucle, renseigner un n° ID d'une lampe comprise dans le groupe par défaut. Téléchargement : Le ZIP : VD Talwayseb - Beyond Philips Hue V1.2.zip (Contient le .VFIB + les icônes) Mot de Passe : Talwayseb --------------------------------------- VD Talwayseb - CMD Général Philips Hue White & Color (Groupe 0) : /!\ attention à la gestion des groupes, j'ai personnellement un groupe avec des informations différentes. j'ai fais en sorte de ne pas l'interroger. - Renseigner l'adresse IP de votre bridge dans le champ "Adresse IP" du module - Renseigner le n° ID du groupe Hue par défaut à contrôler dans le champ "Port TCP" - Ajouter les 26 icônes pour chaque couleur - Dans la Boucle Principale (Main Loop), il faut également ajouter le numéro des icônes en fonction de chaque couleur. - Sur certain Bouton et dans la Boucle Principale, il faut renseigner la variable CdeGroupMax avec le nombre de groupe que vous avez. Téléchargement : Le ZIP : VD Talwayseb - CMD Général Philips Hue White & Color (Groupe 0) V1.1.zip (Contient le .VFIB + les icônes) Mot de Passe : Talwayseb --------------------------------------- VD Talwayseb - Timer Philips Hue : Ce VD vous permet de piloter une Tempo créer et existante via l'application officielle Philips Hue . Via l'application Philips Hue : 1 - Dans l'onglet Routines, allez dans le Menu Minuteurs. 2 - Créez/gérez une Tempo, Affectez lui un Nom, Choisissez une durée (peut importe elle sera modifiable depuis la HC2), Choisissez votre groupe (la pièce) et vous sélectionnez le scenario extinction (vous êtes libre d'utiliser un autre scenario en fonction de vos besoin). 3 - La Tempo est prête sur le pont !!! Via l'API Debugger : Connectez-vous au Bridge Hue depuis un navigateur internet via l'adresse suivante : http://<IPduBridgeHUE>/debug/clip.html Dans URL : vous tapez : /api/VotreUsername/schedules/ Cliquez sur GET Dans Command Response : repérez le n° ID qui possède le nom de la Tempo que vous avez paramétré. Sur la HC2 : - Renseigner l'adresse IP de votre bridge dans le champ "Adresse IP" du module - Renseigner le n° ID du Timer par défaut à contrôler dans le champ "Port TCP". - Ajouter les 5 icônes pour chaque état : - Dans la Boucle Principale (Main Loop), il faut également ajouter le numéro des icônes en fonction de chaque état. Téléchargement : Le ZIP : VD Talwayseb - Timer Philips Hue V1.0.zip (Contient le .VFIB + les icônes) Mot de Passe : Talwayseb --------------------------------------- Intégration des Ampoules IKEA TRÅDFRI via le pont Philips Hue : Voici une procédure pour les intégrer : Ajouter des ampoules L.E.D ikea TRÅDFRI sur le pont Philips Hue --------------------------------------- Voiloùuuuuu !!! C'est avec plaisir que je prendrai les suggestions d'amélioration !!! --------------------------------------- Modifications à venir : - Support du Multi langues - Ajout d'un Bouton Flash dans les VD des Lampes et des Groupes - Ajout des Scènes dans les VD des Groupes - Gestion des Variables globales dans tous les VD --------------------------------------- Demandes des Membres : - VD Motion Sensors Hue - VD Télécommande Dimmer Hue
  5. arqisac

    Module Virtuel Squeezbox Pour Hcl

    Module Virtuel Squeezbox Pour Hcl alors, bien le bonjour ! pour faire le VD 1 étape. installer firefox et additionner le plugin firebug, ( le chrome le fait sans doute aussi) remplir l'adresse ip de votre serveur LMS et le port 9000, de base si vous l'avez pas changer. ensuite ouvrir cette adresse dans votre firefox http://192.168.X.XXX...button&p1=play la fenêtre qui s'ouvre est moche, mais bon, l'important maintenant quand on clique sur une commande, on copie simplement l'url qui apparaît en haut par exemple un PLAY sa donne http://192.168.xxx.x...p0=play&player=MACDUPLAYERSELECTIONNER VOILA. Maintenant passons a nos buttons GET /status.html?p0=play&player= 00:00:00:00:00:00 HTTP/1.1 Host: 192.168.x.xxx:9000 0x0D0x0A0x0D0x0A alors il suffit de remplacer le mac du player en cause, attention l'ip en bas et toujours celui du server !!! C donc bien simple, nos boutons commencent toujours par le GET, ensuite on paste la URL a partir du /Status bla bla et on remet HTTP/ etc etc alors après avoir fait les boutons, play pause next preview random replay etc selon vos besoins. on passe au playlist etc. la sur firefox ouvrir 192.168.x.xxx:9000 et activer le plugin firebug. alors quand vous etiez sur votre lms, et cliquer sur play d'une playlist, il va apparaître un http avec 192.168.x.xxx:9000/anyurl? etc etc !!! ce sont cela que l' on veut !!!! la technique ensuite pour le bouton du VD et la même que faite plus haut. ok Bon le truc sympa c'est que j'ai crée des alertes en mp3, http://www.fromtexttospeech.com/ sonnette, alarme active, désactive, invasion, alerte incendie, alerte inondation, alors ensuite suffit de linker tous cela, mettre le shuffle on, et voila on a des alertes pour tout lol. pour finir, les playlist radio, on sélectionne les radios préférées d'un style, e on peut faire next, simple. j'ai aussi fait les sons de la nature, la dame a la maison adore TRUC ENCORE A FAIRE !!! grouper les players !!! j'ai pas encore le slidder de volume, je sais pas le faire, j'ai fait 10%20% 30%40% 50%60% 70%80% 90%100%... c plus facile. ni l' état de la musique qui passe. si quelqu'un a une idée ? Voila, alors je remet ce link a partir duquel je me suis inspirer pour faire mon installation,,,,, 7 zones sonorise avec 720euros... http://www.maison-et...y-pi-hifiberry/ sinon vous pouvez toujours installer XSQUEEZE addon pour KODI, génial aussi Merci a bientôt !! squeezebox+HCL .V3.vfib
  6. Franco268

    Les variables et les VD

    Bonjour tout le monde. Je cherche à jouer avec les variables dans les VD mais je ne m'en sors pas. Une idée? Je vous explique tout le sujet. J'ai une scene qui ferme mon vélux en fonction de la météo (pas très précis, je l'ai complété avec un capteur de pluie...) Dans certain cas, la météo dit qu'il ne fait pas beau et le capteur peut être encore un peux mouillé. Du coup, lorsque j'ouvre mon velux, il se referme tout seul. J'ai donc fait un VD avec 2 boutons pour activer ou désactivé ma scene. J'aimerai faire évolué mon VD pour que ma scene puisse se réactiver toute seule au bout d'un certain temps (pour ne pas oublié de le faire manuellement. Pour ce faire, je souhaite utilisé ma boucle principale pour compter le temps qui passe et les bouton pour initialisé le temps du compte à rebour. Mais comment récupérer, dans la boucle principale une variable crée ou initialisée dans un bouton ou inversement. J'aimerai éviter les variables globales (j'en ai de trop à mon gout). Est ce possible?
  7. J3R3M

    VD Triggers Journaliers

    VD Triggers Journaliers Préambule Grosse Mise à Jour de ma première tentative de VD... Ce qui signifie un départ de zéro et une nouvelle philosophie... Ce qui a mené sur un nouveau VD ! Encore une fois, un grand défi que je m'étais lancé et je suis plutôt fier d'avoir réussi à pondre cela, non sans difficultés. J'ai passé beaucoup de temps à réfléchir à comment réaliser chacune des actions afin que ce VD soit le plus optimisé par rapport à mes quelques connaissances en LUA. J'ai aussi essayé de réfléchir à un VD qui ne serait pas limité à une seule fonction tout en le rendant totalement paramétrable afin qu'il convienne au plus grand monde. Le déphasage n'aura pas grand intérêt pour la plupart d'entre-vous et il suffit donc de mettre le Slider à 50 (lors de la programmation) pour qu'il n'impacte en rien vos déclenchements. Pour ma part, le déphasage me permet de pouvoir programmer une scène de réveil qui doit démarrer avant l'heure en question. Cependant, lorsque je programme ce réveil, je ne souhaite pas avoir à calculer l'heure de déclenchement de ma scène (Ma scène est autonome et me réveillera au bout de 30mn), je programme donc l'heure du réveil avec le déphasage nécessaire. Autre utilité, si l'heure de votre HC2 ne correspond pas à l'heure de vos autres appareils (téléphones/ordinateurs), cela permet de la recaler sur ceux-ci ! J'ai permis +/- 30mn de battement afin que le 0 soit facilement trouvable. J'espère vraiment que ce VD pourra vous être utile. J'attends avec impatience vos éventuels retours ! Que ça soit sur des idées d'amélioration ou vos points de vue sur le VD ou même la programmation de celui-ci ! Installation Créer la variable globale VD_TRIGGERS et importer le VD. Importer les icones et modifier leurs IDs pour chaque variable. Suivez les indications de ce lien si vous ne savez pas comment récupérer les IDs des icones. -- IDs Icones local icone_ok = 1156 local icone_wait = 1158 local icone_no_trigg = 1155 local icone_triggers_off = 1157 local icone_vd_off = 1160 -- Nombre de déclenchements de l'action à l'heure H (15 maxi) local nb_declenchements = 1 nb_declenchements correspond au nombre de tentatives que fera le script pour exécuter les commandes affectées à la journée. Si nécessaire, pensez à n'autoriser qu'une seule instance des scènes qui seront démarrées depuis ce VD ! Réglage des actions Cela se fait en dessous de chaque ligne de commentaire de la fonction totrigg(). Pour ma part, je souhaite que la même scène soit lancée, peu importe le jour, j'ai donc mis ma commande en dehors de la condition de jour. Supprimez bien évidemment cette ligne (fibaro:startScene(49);) de la boucle principale de votre VD ! -- Actions à réaliser en fonction des jours local function totrigg(day) -- Pour tous les jours fibaro:startScene(49); if day == 1 then -- Lundi elseif day == 2 then -- Mardi elseif day == 3 then -- Mercredi elseif day == 4 then -- Jeudi elseif day == 5 then -- Vendredi elseif day == 6 then -- Samedi elseif day == 7 then -- Dimanche end end Détails Icones Trigger du jour en attente - Trigger du jour passé - Pas de trigger aujourd'hui - Tous les triggers OFF - VD OFF Téléchargement Triggers_Journaliers.vfib
  8. VD Déclencheur de Réveil Paramétrable Je me suis motivé à sortir un petit VD qui n'a aucune prétention particulière, si ce n'est d'être ma première contribution. J'ai créé ce VD afin de pouvoir gérer facilement mes réveils, donc rien de bien complexe. Je voulais que le VD puisse être facilement combiné à ma scène de réveil qui crée une aube artificielle pendant un temps paramétrable. Bien évidemment, la plupart d'entre-vous aurait pu concevoir ce VD en quelques dizaines de minutes... Et d'ailleurs, je serai ravi de lire vos critiques ! Le script est loin d'être le plus optimisé c'est surtout un défi que je me suis posé avec mes quelques connaissances. Dans tous les cas, j'écouterai vos conseils avec grand plaisir ! Il ne s'agit que d'un simple déclencheur à l'heure actuelle. Ce VD déclenchera l'une de vos scènes. L'intérêt réside dans la partie programmation qui est intégrée dans ce VD. Par la suite et s'il y a de l'intérêt pour la démarche, je ferai une mise à jour ou, du moins, je verrai pour combiner une scène avec le VD. C'est néanmoins complexe de faire quelque chose qui conviendra à tout le monde, il y a tellement de systèmes différents en terme d'éclairage et d'enceintes et aussi plusieurs VD disponibles pour chaque appareil ! Nombre d'entre-vous utilisent GEA et peuvent donc utiliser GEA Alarm pour faire la même chose si j'ai bien compris. En ce qui me concerne, je suis curieux et j'aime comprendre ce qu'il se passe à ma portée, d'où mes nombreuses questions et la volonté de faire mes scènes et VDs Installation Création des variables globales suivantes : REVEIL_SEMAINE & REVEIL_WEEKEND Importantion du VD ci-dessous et modifier les valeurs des variables suivantes au tout début de la Boucle Principale : local scene_reveil = 49 local temps_aube = 30 -- IDs Icones local icone_semaine = 1155 local icone_weekend = 1156 local icone_off = 1157 Le nom des variables me semble assez clair, mais sait-on jamais : scene_reveil : La scène à lancer à l'heure du réveil temps_aube : C'est simplement un déphasage. Mettre 0 si vous n'en avez pas besoin. Si une aube est créée dans votre scène de réveil, indiquez son temps ici et le VD démarrera votre scène en tenant compte de ce temps. Exemple : Réveil programmé à 7h, votre scène contient une aube de 25mn. En renseignant cette variable, le VD démarrera votre scène naturellement à 6h35. Ne vous souciez que de l'heure de réveil ! icone_semaine, icone_weekend et icone_off doivent correspondre à l'ID des icones que vous aurez importées. Suivez les indications de ce lien si vous ne savez pas comment connaître ces IDs. Utilisation Déplacez les curseurs d'heures et de minutes jusqu'à l'obtention de l'horaire de réveil souhaité. Appuyez ensuite sur Semaine pour affecter cette heure de réveil aux jours de la semaine, ou sur Week end pour l'affecter aux jours du week end. Les jours du week end peuvent simplement être modifiés. Si cela devait être intéressant, je modifierai le VD pour que cette modification soit encore plus aisée. Les paramètres des réveils sont automatiquement reprogrammés pour le lendemain pour une même période : Semaine ou Week end. Attention tout de même entre le Vendredi et le Samedi et entre le Dimanche et le lundi, puisqu'il y a la bascule entre Réveil Semaine <=> Réveil Week end. Le bouton principal est le TOGGLE ON/OFF. Je vous invite vivement à utiliser au moins l'icone réveil_off pour voir rapidement l'état du réveil ! Technique Afin que le VD ne loupe pas le démarrage de votre scène de réveil, votre scène sera démarrée 11 fois au total sur un intervalle de 11 secondes : 5 secondes avant et 5 secondes après l'heure du réveil. Il n'y avait pas de raison que la scène ne démarre pas en une seule fois, mais j'ai préféré prévoir large, au cas où ! Dans tous les cas, pour limiter votre scène de réveil qu'à un seul lancement, veuillez n'autorisez qu'une seule instance simultanée. Icones Réveil Semaine - Réveil Week end - Réveil OFF Téléchargement VD
  9. Voici un module virtuel tout simple composé de 2 boutons, permettant de naviguer entre les pièces et les modules virtuels, afin de lister les ID de chaque bouton et slider. Ces ID sont utilisés pour "cliquer" virtuellement sur les boutons depuis du code LUA (VD, Scène, API, etc) : fibaro:call(id_vd, "pressButton", "id_bouton") fibaro:call(id_vd, "setSlider", "id_slider", "value") Rappel du tutoriel de @mprinfo sur la méthode d'identification manuelle des ID des boutons : Module Virtuel - Numérotation Des Boutons Ce module virtuel permet donc d'automatiser le comptage. Importer le fichier vfib ci-joint, rien à paramétrer, utiliser directement. Téléchargement : VD_Buttons_ID.vfib Icône (merci @fredokl) :
  10. yoim

    Recup Json Alarme / Lua / VD

    Bonjour, J'ai une vielle alarme ou j'arrive a recuperer des etats de certains modules. Je recupere ces infos comme ca : http://IPALARME/action/sensorListGet Il me sort ce type d'infos. /*-secure- { senrows : [ {no : "1", type : "Remote Controller", area : "1", zone : "1", name : "User", attr : "Personal Att", cond : "", battery : "", tamp : "", bypass : "No"}, {no : "2", type : "Remote Keypad", area : "1", zone : "2", name : "Entrance", attr : "", cond : "", battery : "", tamp : "", bypass : "No"}, {no : "3", type : "Door Contact", area : "1", zone : "3", name : "Veranda", attr : "Entry", cond : "Open", battery : "", tamp : "", bypass : "No"}, {no : "4", type : "IR Sensor", area : "1", zone : "4", name : "Couloir", attr : "Entry", cond : "", battery : "", tamp : "", bypass : "No"}, {no : "5", type : "IR Sensor", area : "1", zone : "5", name : "Salon", attr : "Entry", cond : "", battery : "", tamp : "", bypass : "No"}, {no : "6", type : "IR Sensor", area : "1", zone : "6", name : "Palier", attr : "Entry", cond : "", battery : "", tamp : "", bypass : "No"}, {no : "7", type : "Door Contact", area : "1", zone : "7", name : "Porte Principale", attr : "Entry", cond : "", battery : "", tamp : "", bypass : "No"}] } */ Comme on peut le voir a la ligne no 3 : j'ai mon capteur de porte qui est ouvert. cond :"Open" Il est pas vraiment formater JSON. Est ce que vous pensez qu'on peut ecrire un Lua pour recuperer les conditions de mon alarme. J'ai essayé avec curl, et je peux recup mes etats, mais bon si je peux le faire en Lua ca sera plus propre. Merci pour votre aide.
  11. arnaud.poub

    Option Virtual Device

    Bonsoir à tous, Dans les Virtual Device, a quoi sert l'option "En attente de la réponse du périphérique", disponible pour chaque bouton (a coté des options "Chaine" et " Code Lua" ? Merci
  12. BSD

    Désactiver un bouton dans un VD

    Bonjour le forum. Une petite question sur les modules virtuels : Pensez-vous qu'il soit possible, en LUA, de désactiver ponctuellement un bouton ou un slider de module virtuel pendant qu'une boucle 'while true do' ou un 'fibaro:sleep' ou même un autre delai quelconque ne soit atteint ? Je m'explique : J'ai créé un VD avec deux boutons (Avant - Arrière), et un Slider. Un clic sur 'Avant' ou sur 'Arrière' lance une action pendant un temps déterminé. Je souhaite interdire toute nouvelle action tant que le delai n'est pas terminé. Pour cela, j'aimerai pouvoir 'griser' et interdire les actions des deux boutons et du slider jusqu'à la fin du delai. Qu'en pensez-vous ? Je ne trouve rien sur ce sujet. Par avance, merci de vos retours et reflexions en espérant vivement que celà soit possible.
  13. mprinfo

    Module Virtuel - Index Tutos

    TUTOS MODULES VIRTUEL Création D'un Périphérique Virtuel Et Main Loop : ICI Numérotation Des Boutons : ICI Utilisation D'un Label ( Etiquette ) : ICI Le Slider De A À Z (Image + Codes Lua) : ICI Je voudrais savoir si cela vous conviendrez pour rechercher les tutos ? Merci d'avance pour votre réponse
  14. Ce tuto est très simple il va vous permettre de lire ou d'écrire dans une étiquette Pour vous donnez un cas concret on va crée un VD qui va nous donner l'Heure de Lever et Coucher du soleil On crée 2 étiquettes + un bouton Étiquette 1 Etiquette : Lever Soleil (Ce texte apparait a Gauche dans l'étiquette) ID : LabLever Étiquette 2 Etiquette : Lever Coucher (Ce texte apparait a Gauche dans l'étiquette) ID : LabCoucher On copie ce code dans le bouton local Jour = fibaro:getValue(1, "sunriseHour"); --Heure de lever du soleil local Nuit = fibaro:getValue(1, "sunsetHour"); -- Heure de coucher du soleil fibaro:call(fibaro:getSelfId(), "setProperty", "ui.LabLever.value", Jour); -- Ecriture de l'heure de lever dans le label fibaro:call(fibaro:getSelfId(), "setProperty", "ui.LabCoucher.value", Nuit); -- Ecriture de l'heure du coucher dans le label fibaro:log("Mise a jour en cours...") On s' aperçoit donc que : fibaro:getSelfId() ou local IdModule = fibaro:getSelfId() Ce code récupère l'id du module fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label1.value", "Bonjour"); ou local Text = "Bonjour" fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label1.value", Text); Ce code va écrire a droite dans le VD. ui.Label1.value -> Label1 et L'ID de l'étiquette ou l'on veut écrire Il n'est pas possible de mettre en page ce texte ni de changer la couleur. Certains on réussi a le faire en utilisant des balises HTML qui trompe le navigateur et juste le navigateur. Ici Le nombre de ligne qui peuvent être afficher est très réduit local toto = fibaro:getValue(fibaro:getSelfId(), "ui.Label1.value") fibaro:debug(toto) --Affichache de la valeur de l'étiquette Ce code permet de lire dans une étiquette ui.Label1.value -> Label1 et L'ID de l'étiquette ou l'on veut écrire Cela peut servir pour stocker des valeurs sans à avoir à passer par une variable globale http://<adresse ip>/api/callAction?deviceID=<id module>&name=setProperty&arg1=<NOMLABEL>&arg2=<texte> <id module> = identifiant du module virtuel <NOMLABEL> = c'est l'ID du label préfixé de "ui." et suffixé de ".value" ... exemple : ui.Label1.value <texte> = le texte à afficher dans le label
  15. Pour faire très simple car j'ai du mal avec ma droite et ma gauche Voici comment sont numérotés les boutons sur un module Virtuel Attention : Si on modifie l'ordre des boutons les numéros changent Voici le nouvel Ordre des Boutons Après avoir descendu les 2, 3, 4 Commandes LUA fibaro:call(fibaro:getSelfId(), "pressButton", "4") -- ou local IdModuleVirtuel = fibaro:getSelfId() fibaro:call(IdModuleVirtuel, "pressButton", "4") Code a mettre dans la boucle principale (MainLoop) pour un appui a 00h01 while true do local Var_Heure = os.date("%H:%M") --fibaro:debug("heure OS : " ..Var_Heure) if Var_Heure == "00:01" then fibaro:call(fibaro:getSelfId(), "pressButton", "4") fibaro:debug("heure OS : " ..Var_Heure .."Le Button 4 a été actionné") end fibaro:sleep(60*1000) end Boucle de Monsieur STEVEN local nbHeure = 12 local i = 0 while true do if (i >= (nbHeure*2) or i == 0) then i = 0 fibaro:call(fibaro:getSelfId(), "pressButton", "5") end fibaro:sleep(30*60*1000) i = i + 1 end A bientôt pour un nouveau tuto Ajout d'octobre 2016 : Script de Berale24 pour appeler un bouton depuis son ID au lieu de son numéro Ajout de janvier 2018 : Module Virtuel de Lazer pour lister les ID des boutons et sliders.
×