Aller au contenu

Rechercher dans la communauté: Affichage des résultats pour les étiquettes 'Tuto Multimédia'.



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
  • Fibaro's Awards
    • Membre du mois
    • Jeux concours & Cadeaux
  • Les bonnes affaires
    • Sites internet
    • Petites annonces

Calendriers

Aucun résultat à afficher.


60 résultats trouvés

  1. 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
  2. Bonjour à tous, UPDATE 16-08-17 : New Version HC2.addon-1.3.5.zip Ajout - Traduction du Menu en Anglais Depuis la version 1.3.0 Obligation de mettre la scène Fibaro en déclenchement sur Variable : --[[ %% properties %% globals KODI_Cuisine --]] Petit post pour vous faire partager mon addon Kodi qui « s’interface » avec notre petit boite d’aluminium. Celui-ci va vous permettre par exemple: de fermer les volets à l'allumage de Kodi, allumer le vidéos projecteur éteindre les lumières à la lecture d'une vidéos... Quelqu'un sonne ! On met la vidéo en pause, on affiche la caméra de la porte d'entrée... L'addon à été fait de façon à ce qu'il donne un retour d'information permettant de guider l'utilisateur sur les différentes étape d’installation et de configuration de l'addon (Gestion d'erreur). Assez parler passons au chose sérieuse. Caractéristiques de l'Addon : - Permet de déclencher une « action » en fonction de l’état de Kodi Les différents événements : On Off Accès aux différents Menu (Home, Météo, Vidéo, Musique, Image, Programme, Paramètres). Evènement du Lecteur (Play, Pause, Reprise, Stop, Fin). Afficher le titre de la musique ou la vidéo joué dans le panneau Variables de la HC2 - Affichage sous forme de pop-up d’un flux d’image (le flux d’une caméra) Le temps d'affichage de la popup ainsi que le temps de rafraîchissement entre chaque image est configurable dans l'addon, mais également lors du déclenchement par API. Exemple : - Créer des variables en fonction des caméras dans la HC2. - Récupère les cameras présentent dans la HC2. - Afficher un Menu permettant d’interagir avec les modules de la box Installation & Fonctionnement : - Installer le fichier zippé joint au post dans la section ajout d’extension de Kodi. - Configurer l’addon avec les paramètres de votre HC2. Adresse IP ou Nom de la HC2 Port (par défaut 80) Nom de la Variable Nom d’Utilisateur HC2 Mot de passe HC2 Temps d'affichage de la caméra (délai pendant lequel la caméra reste affiché, défaut : 14 secondes) Fréquence de rafraîchissement (délai entre chaque récupération d'image de la caméra, défaut : 500 millisecondes) Temps d'attente entre chaque mise à jour de la variable (défaut: 10 millisecondes) Le nom de la variable permet d’identifier le MediaCenter dans la HC2. Si vous en avez plusieurs mettre un nom différents pour chaque MediaCenter, exemple : KODI_Salon et KODI_Chambre. Plus le délai d'attente après le déclenchement de chaque variable est faible plus c'est réactif, sauf qu'il arrive parfois que la variable soit mise à jour très rapidement et la scéne de la HC2 n'a pas le temps d'afficher les différentes étapes. Ex : Vous lancer une vidéos que vous ne deviez pas lancer (vous appuyer donc sur stop la vidéos à peine démarrer). Si le délai est de Zéro alors la scène affiche : Vidéo_Started => Menu Vidéos => Menu Vidéos alors qu'elle devrait afficher : Vidéo_Started => Videos_Stopped => Menu Vidéos le délai permet de palier à ce problème. Si vous rencontrer ce type de phénomène alors augmenter les délais de déclenchement entre chaque Variable. Ensuite sélectionner les événements que vous désirez activer (Accès au Menu Home, Play Video, Pause Audio...). S’ils ne sont pas activés ils ne remonteront pas dans la HC2. Ex : Si on laisse « Accès au Menu Home » à "No" la Home Center 2 ne sera pas capable de déclencher une action lorsque vous serez sur la page d’accueil de votre média center préférer . - Redémarrer Kodi une fois l’addon configuré. L’addon va créer les variables dans votre HC2. (variable d’état, les id des caméras, variable de titre). Paramètrage HC2 : Passons maintenant au interaction avec la HC2, pour cela il va falloir créer une scène portant le même non que la variable dans l'Addon (KODI_Salon) dans celle-ci y mettre le code suivant en remplaçant KODI_Salon par votre variable : Ensuite dans chaque section "--action" mettre les commandes que vous souhaitez exécuter. Ex: Fermer les volets à l'allumage de KODI, descendre la toile de projection, allumer le vidéos projecteur éteindre les lumières à la lecture d'une vidéos... Un exemple pour mettre la luminosité à 30% lors de la pause d'une vidéo : Camera Le temps d'affichage ainsi que le rafraîchissement entre chaque image est désormais configurable depuis la page de l'addons ainsi que via l'API Kodi. Si vous avez des caméras paramètres dans votre HC2 celle-ci seront reporter dans l’addon et vous pourrez visualiser celle-ci dans Kodi en exécutant la commande suivante dans un navigateur : Remplacer les écriture en rouge par vos paramètres Kodi et le chiffre en bleu par l'id de la caméra à afficher (l'id de la caméra se trouve dans le panneau variable de la HC2). Concernant les paramètres uptime et refresh ils ne sont pas obligatoire. Lors d'un déclenchement il prendrons les valeurs par défaut configuré dans l'Addon si vous les forcer alors cela prendra ces valeurs. Par exemple sur la ligne ci-dessus elle est configuré pour afficher la caméra pendant 30 secondes (uptime 30s) et rafraîchir chaque image toutes les secondes (refresh 1000 ms => 1s) (Il faut bien sur auparavant avoir configurer Kodi pour pouvoir être contrôler par HTTP pour ce faire je vous renvoi vers cette page de configuration :http://kodi.wiki/view/Settings/Services/Control). Vous pouvez également exécuter ces commandes par le biais d'un virtual device en Lua avec le code suivant J'ai intégrer le virtual device au post (XBMC_Salon.zip). Dans celui-ci j'ai implémente la fonction Wake On Lan de Krikroff (Merci à lui ) pour permettre de démarrer mon média center, il y a une fonction permettant d'éteindre Kodi et 3 boutons d'actionnement de l'affichage des caméras sur Kodi. On peut alors imaginer que quand on rentre dans le menu météo (qui me sert très peu) on affiche les caméras : ou "pressButton", "3" correspond au bouton du virtual device créé précédemment actionnant la caméra numéro 1. NEW : Concernant les nouvelles fonctionnalités (en beta actuellement dans le version > 1.3.0) Le Menu permet de piloter les lumières, volets et "actionneurs" visible dans la HC2 et d'actionner ceux-ci (turnOn, turnOff). Le Menu commence par afficher vos Sections puis Vos pièces dans cette Sections le type de module pour enfin afficher les modules de cette pièce Sections => Rooms => Type => Device Activation du Menu : Le menu peu s'activer en appuyant sur une touche, pour ce faire il faut ajouter un fichier "keyboard.xml" dans le dossier utilisateur (userdata) de Kodi (Emplacement sur Windows : C:\Users\<USER>\AppData\Roaming\Kodi\userdata\keymaps\keyboard.xml voir : http://kodi.wiki/view/Keymaps) Voici le contenu de mon fichier keyboard.xml (redémarrer Kodi une fois celui-ci mis ne place) : <keymap> <global> <keyboard> <y mod="ctrl">SetProperty(FibaroMenu,true,10000)</y> </keyboard> <remote> <red>SetProperty(FibaroMenu,true,10000)</red> </remote> </global> </keymap> Ici un <ctrl> + y permet d'afficher le menu ou encore l'appuie de la touche rouge sur votre télécommande de votre MédiaCenter. Il suffit ensuite de ce balader dans la Section souhaité => La pièce => le type de module (Lumière, Volet, Actionneur) => puis actionner le module voulu. Vous pouvez désormais revenir dans les sections précédente du menu avec la flèche gauche et la flèche de droite pour accéder à la section suivante. (Version > 1.0.6 =< 1.0.9 : Compatible XBMC Gotham v13) HC2.addon-1.0.9.zip (Version > 1.0.10 : Compatible Kodi avec version de firmware < V4) HC2.addon-1.0.10.zip (Version > 1.1.0-beta : Compatible Kodi avec la V4 Fibaro) HC2.addon-1.3.5.zip Changelog : V1.3.5 : Traduction du Menu en Anglais V1.3.3: - Amélioration du Menu : Possibilité de quitté celui-ci avec le retour arrière, déplacement et actionnement via les flèches (Gauche, Droite), Visualisation de l'état des modules. V1.3.2: - Correction du Menu: Ajout des Notifications sur actions, Spécification de la pièce lors de l'action du module, gestion des erreurs, déplacement danq le dans le menu. V1.3.1: - Correction du Menu pour prendre en compte les caractères accentués - Possibilité de piloté la camera depuis l'API en y ajoutant le délai d'affichage et de rafraîchissement - Correction sur la remontée du titre et genre dans la HC2 - Configuration entre le temps interrogation entre chaque appel pour changement de variable - Récupération Uniquement des modules visible et Activé dans le HC2 V1.3.0: - Suppression du déclenchement de Scène via API pour favoriser le déclenchement de variable et ainsi réduire les appels àla HC2 (Merci Lazer) - Beta : Ajout d'un menu permettant de controler les modules de type Lumière V1.2.0: - Optimisation du code et réduction des appels fait àla HC2 qui devrait corriger des problèmes de TimeOut V1.1.3-beta: - Correction : Erreur quand l'utilisateur crée une caméra dans l'addon V1.1.2-beta : - Correction de l'affichage des TAG - Ajout de trace dans le Debug V1.1.1-beta : - Tous les types de camera sont importées : défini par Fibaro (Plugin) ou par l'utilisateur - Ajout du Tag Genre - Correction de bug n'affichant pas le titre dans la balise TAG UPDATE 16-08-17 : HC2.addon-1.3.5.zip New Version : Ajout - Traduction anglaise du Menu N'hésitez pas me faire un retour difficulté rencontré, m'indiquez les bugs ou améliorations, fonctionnalités à ajouter ! XBMC_Salon.zip HC2.addon-1.3.3.zip HC2.addon-1.3.2.zip HC2.addon-1.3.1.zip
  3. DomoCharts Version 5.0 Sommaire : 1. Présentation 2. Pré-requis 3. Installation 3.1 Pages Web 3.2 Base de données MySQL 3.3 Virtual Device 3.4 Scène 4. Mise à jour 5. Utilisation 6. Evolutions futures . 1. Présentation Notre box est géniale, il y des beaux graphiques de consommation et de température, mais il manque la possibilité de grapher toutes les autres données, et l'historique des données conservées est purgé au bout d'un certain temps. Voici donc un ensemble de scripts permettant de générer des graphiques de température, humidité, consommation, batterie, etc... de tous les devices connus du Home Center 2. J'ai repris le travail initié par Byackee sur le forum officiel de Fibaro : make your graphics automatically Voici quelques unes des améliorations apportées : Nouvelle structure de base de données (nouvelles tables, modification des tables existantes, création d'index, ...) Meilleures performances Prise en compte des valeurs suivantes : température, humidité, luminosité, batterie, consommation électrique instantanée, électrique électrique cumulée, CO2, pression atmosphérique, niveau sonore, pluie, vent (certaines données sont disponibles grâce au plugin Netatmo) La zone de graphe s'adapte automatiquement en pleine page du navigateur web Gestion des pièces de la maison, afin de différencier les sondes portant le même nom (par exemple "Thermomètre salon" et "Thermomètre chambre") sur le graphique Purge des anciennes données après 21 jours (sinon les tables grossissent trop), avec consolidation les données par jour pour une conservation longue durée dans des tables séparées Utilisation de la dernière version des bibliothèques Highcharts, Highstock, Highslide, jQuery Support complet des HC2 v3 et v4. Energie électrique cumulée (en kWh) : support des tarifs BASE et HC/HP avec configuration statique des horaires Quelques nouveautés visuelles sur les graphiques (échelle de 0 à 100% pour les batteries et humidité en pourcentage), ainsi qu'un code couleur pour les valeurs hors-normes Installation de la base de données sans utiliser phpMyAdmin grâce à un simple script En attendant les plugins utilisateurs, support de "sondes virtuelles", en fait il s'agit de valeurs stockées dans des variables globales et mises à jour via l'API (particulièrement utiles pour les utilisateurs de FHEM, Zibase, etc... pour les protocoles tels que EnOcean et Oregon) Résolution de nombreux petits bugs remontés sur le forum ou non (UTF-8, quotes, pièce 'météo', utilisation des champs adresse IP et Port du VD, etc...). Bouton "Delete" dans le popup après clic sur un point permettant de supprimer une valeur aberrante, afin de conserver une courbe homogène Meilleure gestion des erreurs, avec remonté des message autant que possible (dans le debug du VD, et/ou sur le graph) Réécriture (presque) complète du code des boutons de VD et des pages PHP d'insertion des données, avec une API qui utilise le format de données JSON. C'est beaucoup plus propre, évolutif (je m'en sert pour mes graphs de consommation d'eau et d'énergie électrique, issues d'autres source), et un gain significatif de bande passante réseau. Disponible sur Github, donc plus facile de suivre les versions, et de forker le projet : https://github.com/cdriget/DomoCharts (attention sur Github il n'y a que le code source que j'ai développé, le package complet doit être téléchargé en bas de ce tuto sur le forum) ... . 2. Pré-requis Un serveur Web supportant PHP (NAS Synology, hébergement mutualisé, ...) Une base de données MySQL (Idem) Une Fibaro Home Center 2 Le package DomoCharts_V5.0.zip (disponible en bas du tutoriel) Dans le package à télécharger, vous trouverez donc : graph : Répertoire à transférer (via FTP, montage de partage réseau, ...) sur votre serveur Web DomoCharts.vfib : Device virtuel à importer dans le HC2 Scene.lua : Code source à copier/coller dans une nouvelle scène graphique_128.png : Icône pouvant être utilisée sur le Virtual Device clap_graph.png : Icône pouvant être utilisée sur la scène . 3. Installation 3.0 Synology Etapes facultatives pour les utilisateurs débutants d'un NAS Synology avec DSM. Ces étapes doivent être effectuées à l'aide du compte admin via l'interface Web (accessible par défaut sur le port 5000). 3.0.1 Installation de MariaDB (MySQL) Dans le Centre de paquets, rechercher et installer MariaDB : . Dès que l'installation est terminée, cliquer sur l’icône de MariaDB afin d'accéder à l'écran de configuration, puis cliquer sur le bouton Changer le mot de passe MariaDB : . Par défaut, le mot de passe MariaDB est vide, cliquer alors sur le bouton Réinitialiser le mot de passe MariaDB : . Confirmer en cliquant sur le bouton Oui : . Le seul compte existant est root, il faut donc créer un mot de passe (note : ce compte root est différent du compte root du Syno, il est donc tout à fait possible d'avoir des mots de passes différents) : . 3.0.2 Activation du serveur Web Dans le panneau de configuration, aller dans la section Services Web, puis cocher la case Activer Web Station : . Accéder à la page Web par défaut sur le port 80 du Syno : . Le Syno est prêt. 3.1 Pages Web Transférer toute l'arborescence du répertoire /graph sur le serveur Web via FTP ou montage réseau. Ensuite, éditer le fichier config.inc.php afin d'y modifier les paramètres de connexion à la base de données MySQL : // MySQL Server hostname or IP address $server = 'server'; // MySQL User account $login = 'login'; // MySQL User password $password = 'password'; // MySQL Database name $database = 'database'; . Note : si vous utilisez le mini-tuto Synology ci-dessus, les paramètres devraient ressemble à quelques chose comme cela (seul le mot de passe doit être personnalisé) : // MySQL Server hostname or IP address $server = 'localhost'; // MySQL User account $login = 'root'; // MySQL User password $password = 'password'; // MySQL Database name $database = 'domotique'; . Pour des raisons de sécurité, si vous maitrisez MySQL et phpMyAdmin, vous devez créer un utilisateur dédié (différent de root). Je ne détaille pas cette procédure qui est hors du cadre de ce tutoriel. Energie Dans le fichier config.inc.php, une rubrique concerne la configuration des horaires de l'abonnement au fournisseur d'électricité (ERDF, ...). La variable $TimeSource doit avoir la valeur 'STATIC' : //*** Teleinfo time for energy // // Variable = 'Value' // Comment : Allowed values // -------- ------- // ------------------------------------------ : --------------- $TimeSource = 'STATIC'; // Source of information for date and time : TELEINFO|STATIC // ---------------------------- // Valid only if TELEINFO TimeSource is used : --------------- $teleinfoTable = 'teleinfo'; // MySQL table name : xxxxxxxx $teleinfoDelay = 60; // Teleinfo Delay in Seconds : ss // ---------------------------- // Valid only if STATIC TimeSource is used : --------------- $TimeHCHP = array( // HC/HP start times for each EDF rate : 'hh:mm' => '<BASE|HC|HP>' '00:00' => 'HC', '06:30' => 'HP', '22:30' => 'HC' ); Sont actuellement supportés les abonnements de type Normal ('BASE'), et Heures Pleines/Heures Creuses ('HP' et 'HC'). Dans l'exemple du dessus, j'ai configuré les horaires HP de 6:30 à 22:30, et des horaires HC de 22:30 à 6:30. Notez que la variable $TimeHCHP doit obligatoirement commencer à 00:00. Vous pouvez ensuite ajouter autant de tranches horaires que nécessaires, car certains abonnements proposent 2 tranches HC réparties dans la journée. Si vous avez un abonnement Normal, c'est plus simple, puisqu'il suffit d'indiquer 'BASE' à partir de 00:00 : $TimeHCHP = array( '00:00' => 'BASE' ); Avec ces informations, le bouton Energy du module virtuel sera ensuite capable d'interroger l'API de la HC2 afin de récupérer les consommations des différentes équipements pour chaque tranche horaire de chaque journée. A l'heure actuelle, le graphique d'énergie électrique affiche la somme des kWh pour chaque journée, mais les informations nécessaires sont stockées dès aujourd'hui dans la base de données afin d'effectuer les calculs de coà»ts financiers ultérieurement. 3.2 Base de données SQL Afin de créer ou migrer les tables dans la base de données MySQL/MariaDB, il faut appeler la page /graph/install.php sur le serveur Web. Si tout se passe bien, la page se contente d'afficher Finished : . Sinon, vous pouvez demander du support sur le forum, en copiant/collant le texte des messages d'erreurs. 3.3 Virtual Device Ce Virtual Device est responsable de l'envoi des données vers la base de données SQL au travers de pages Web dédiées à l'insertion des données. Dans la HC2, aller dans Modules, puis Ajouter ou supprimer un dispositif, puis dans la zone Importer un dispositif virtuel, cliquer sur Parcourir, puis sélectionner le fichier DomoCharts.vfib. Dans les propriétés de ce Virtual Device, vous pouvez changer l’icône par défaut avec le fichier graphique_128.png (à répéter pour tous les boutons du VD). Entrer l'adresse IP du serveur Web et son port : On en profite pour relever l'ID du Virtual Device dans la barre d'adresse, qui nous sera utile plus loin lors de la création de la scène : Au final, on obtient un nouveau module dans l'interface : . 3.4 Scène Cette scène est responsable du déclenchement régulier des appels au Virtual Device. Dans la HC2, aller dans Scènes, puis Ajouter une scène, puis Ajouter une scène en LUA. Appelez-là DomoCharts, bien s'assurer que les cases Scène Active et Ne laissez pas l'alarme arrêter une scène tandis que l'alarme est en marche sont cochées. Utiliser l'icône fournie clap_graph.png. Dans l'onglet Avancé, copier/coller le code LUA fourni dans le fichier Scene.lua. Ne pas oublier de remplacer la valeur de la variable VirtualDeviceID par l'ID de votre Virtual Device que vous avez obtenu dans la barre d'adresse lors de la création de celui-ci. local VirtualDeviceID = 82 Au final, on obtient une nouvelle scène dans l'interface : La particularité de cette scène est d'attendre le début d'une nouvelle minute avant de commencer à entrer dans la boucle infinie. Ainsi, si on modifie la scène en plein milieu d'une minute, lorsque le HC2 redémarre immédiatement la scène, on est certain que nos actions seront exécutées à la prochaine nouvelle minute, conservant bien toujours 1 minute d'intervalle entre 2 appels au Virtual Device. De plus, différents tests vous permettent d'exécuter certaines actions une fois par minute, par heure, ou par jour. Je m'en sert pas exemple pour mettre à jour les données de mon Eco-Devices et de mon compteur d'eau (pilotés par d'autres Virtual Devices). A noter que lors du changement de jour, on attend 1 minute de plus afin d'éviter tout décalage de temps entre la HC2 et le serveur Web (important pour la génération des données consolidées par jour, car on doit être certain que le jour précédent est complètement terminé). Par défaut, je propose donc : Mise à jour des valeurs des sondes (températures, humidité, etc... ) toutes les minutes Mise à jour des consommations instantanées toutes les minutes Mise à jour des batteries une fois par jour à 23h Mise à jour des devices une fois par jour (ce qui implique que si vous ajouter une nouvelle sonde de température en journée, celle-ci ne sera visible sur les graphes qu'à partir de 0h01, bien que les données commencent à être enregistrée à la minute près où le device est ajouté dans le HC2) Consolidation et purge des données une fois par jour . 3.5 Variables Globales En option, il est possible de grapher des données issues de variables globales. Cela est utile pour les données issues de sources externes, telles que des sondes Oregon sur une Zibase, des sondes EnOcean sur FHEM, etc. Les valeurs de ces variables sont alors mises à jour en Push via l'API, ou en Pull via une scène. Je ne détaille pas ces étapes qui sont hors du cadre de ce tutoriel. Il y a 2 boutons à modifier : Bouton n°1 - Sensors Modifier la variable nommée variables située en début de script. Dans cet exemple, on peut voir 2 sondes de température, et une sonde d'humidité : -- User Global Variables local variables = { { ["type"] = "temperature", ["id"] = 2001, ["name"] = "TempCuisine" }, { ["type"] = "humidity", ["id"] = 2002, ["name"] = "HumCuisine" }, { ["type"] = "temperature", ["id"] = 2003, ["name"] = "TempSalleCinema" } } Pour chaque valeur, les champs suivants sont requis : - type : le type de capteur (temperature, humidity, light, power, co2, pressure, noise, rain, wind) - id : un ID "virtuel", c'est à dire qui ne correspond à aucun device connu par la HC2. N'hésitez pas à choisir une valeur très élevée que vous n'atteindrez jamais, sous peine de conflit d'ID. - name : le nom de la variable globale créée dans le panneau Bouton n°4 - Devices De façon similaire : -- User Global Variables local variables = { { ["type"] = "temperature", ["id"] = 2001, ["name"] = "Température", ["room"] = 7 -- Cuisine }, { ["type"] = "humidity", ["id"] = 2002, ["name"] = "Humidité", ["room"] = 7 -- Cuisine }, { ["type"] = "temperature", ["id"] = 2003, ["name"] = "Température", ["room"] = 5 -- Salle cinéma } } Pour chaque valeur, les champs suivants sont requis : - type : le type de capteur => identique au bouton n°1 - id : un ID "virtuel" => identique au bouton n°1 - name : le nom du capteur qui apparaitra dans le graph - room : l'ID de la pièce dans laquelle se situe le capteur, qui s'affichera dans le graph à la suite du nom du capteur. 4. Mise à jour Pour procéder à la mise à jour, il faut : Bloquer l'exécution de la scène Graphiques LUA Importer le nouveau VD (et mettre l’icône, l'IP et le port comme indiqué plus haut) Supprimer puis retransférer le contenu du répertoire /graph sur le serveur Web, comme expliqué au paragraphe 3.1. => Attention à ne pas perdre vos paramètres dans le fichier config.inc.php. Modifier le fichier config.inc.php avec les bonnes infos pour se connecter à la DB (comme expliqué ci-dessus) Dans un navigateur Web, ouvrir la page /graph/install.php afin de préparer la base de données aux changements (comme expliqué ci-dessus) Réactiver la scène LUA Regarder le Debug des boutons du VD pour vérifier qu'il n'y a pas d'erreur Vider le cache du navigateur Au bout de quelques minutes, les graphs doivent continuer comme avant, avec les nouveaux graphs . 5. Utilisation Pour visualiser les graphes, il suffit d'aller chercher avec son navigateur l'adresse du serveur Web avec le chemin "/graph", par exemple : http://192.168.1.1/graph/ . Pour l'administration, aller sur la page admin.php : http://192.168.1.1/graph/admin.php Cette page permet d'ordonner les modules, de donner une couleur à chaque courbe, et d'en cacher certains : . Si une valeur aberrante apparait, il zoomer suffisamment sur le graph, puis cliquer sur le point. Dans le popup qui apparait, un bouton Delete permet de supprimer la valeur, afin de conserver une courbe homogène : 6. Evolutions futures En cas de perte de communication entre la HC2 et le NAS/Serveur Web, stockage des données en local dans une Variable Globale, jusqu'à ce que leur envoi soit possible. Cela permettra de ne pas perdre de données en cas de mise à jour/reboot/plantage du NAS, ou de la connexion Internet. Permettre à l'utilisateur de créer autant de graphs qu'il veut, en lui permettant d'attribuer un certain nombre de modules à chaque graph, avec personnalisation du graph (échelle, couleurs, taille, police, etc). Ainsi on pourra avoir un graph de la température des pièces, un autre graph de la température du matos informatique, un graph de la température en fonction de la consommation électrique du chauffage, etc.... à vous d'imaginer vos besoins ... Je suis preneur de vos suggestions ! 7. Informations complémentaires Bug si station météo Netatmo => Voir patch des butons Sensors et Devices par @Steven en page 41. Tutoriel de @Sakkhho pour ajouter les relevés du compteur de gaz NorthQ en page 44. Charts_V4.1.zip DomoCharts_V5.0.zip
  4. EDIT : développé pour DSM 5.x. Ne fonctionne PAS avec DSM 6.x Voici un module virtuel qui va permettre de contrôler les paramètres principaux de votre Synology. Ce module virtuel regroupe plusieurs codes repris sur le forum : Ping d'un device par Krikroff : http://www.domotique-fibaro.fr/index.php/topic/109-ping-dun-équipement-réseau/ WOL par Krikroff : http://www.domotique-fibaro.fr/index.php/topic/107-wake-on-lan-wol-démarrer-son-ordinateur-à -distance/ Reboot & shutdown par fdp2 et Lazer : http://www.domotique-fibaro.fr/index.php/topic/3425-arreter-ou-rebooter-votre-synology-avec-la-hc2/ Merci à eux ainsi qu'à mprinfo pour l'idée originale et à Did pour les icônes Fonctionnalités Vérifie toutes les 10 seconde (paramétrable) si le Syno est up ou down (ping) Possibilité de commander un reboot ou un arrêt (shutdown) du Synology. Ces deux actions sont protégées pas un double click à faire dans les 2 secondes (merci encore à Steven pour ce bout de code) Possibilité de faire un Wake On Lan (il faut fournir la MAC adresse du Synology) Une notification est envoyée aux smarphones définis dans la table "pushID". La variable "Syno_Status" (créée automatiquement) est mise à jour avec l'information du Label Status. Ainsi vous pouvez réutiliser cette information dans GEA, ou d'autres scènes ou VD. Il est possible également de surveiller des Synology ne se trouvant pas dans le même réseau que la HC2 Installation Le fichier .zip joint contient le VD et les icônes. Importer le VD Remplir le champ "IP Adresse :" avec l'IP du Syno (ou sont DNS externe) Remplir le champ "TCP Port :" avec le port du Syno (par défaut 5000) Charger toutes les icônes dans la HC2. Assigner l'icône blanche (Synology.png) comme icône par défaut du VD Assigner les icônes reboot, shutdown et WOL aux boutons reboot, shutdown et Wake On Lan respectivement Table "pushID" (dans la main loop et tous les boutons) : laisser 0 pour ne pas recevoir de notification, ou mettre l'ID du ou des devices devant recevoir un message push (trouvez leur ID à l'aide du toolkit de Krikroff) Dans les boutons "reboot" et "shutdown", remplir les champs login et password avec les crédential d'un utilisateur avec les droits admin sur le Synology. Dans le bouton Wake On Lan, remplir le champ "MacAdresse" avec la MacAdresse du Synology. Dans le mainloop renseigner également les id des icônes Synology.On et Synology.Off dans les champs "okIcon" et "nokIcon" (pour trouver ces id : http://www.domotique-fibaro.fr/index.php/topic/3880-r%C3%A9cup%C3%A9rer-lid-dune-ic%C3%B4ne/) Evolutions envisagées Je pense déjà aux évolutions à apporter à ce VD. Pour cela j'ai besoin : De vos idées De votre aide pour exploiter l'API du Synology (http://www.nas-forum.com/forum/topic/46256-script-web-api-synology/) (je ne suis PAS dévelopeur) Idées déjà à l'étude : Récupération automatique de la MacAdresse sur base de l'IP Température du Syno La v2.41 permet de paramétrer le vitesse du double click (spécial mprinfo ) Les icônes sont toujours dans le fichier zip original. Synology_Monitoring_v2.41.vfib Synology_Monitoring_v2.4.zip
  5. Un dernier tuto pour cette année 2013 (pour ce qui me concerne)... et puis j'entends des voix me disant que j'aurais passé pas mal de temps sur ce forum Je possède depuis plusieurs années une radio Internet... pas celle de l'image ci-dessus, une plus ancienne : la "SqueezeBox Boom" Je l'utilisais uniquement en accédant au serveur mysqueezebox.com Et depuis peu, j'ai acquis une box Fibaro HC2 et un serveur de stockage NAS Synology NAS Synology et LMS J'ai installé le logiciel du Logitech Media Server (LMS) sur mon NAS de façon très simple Il suffit de chercher dans le Centre de Paquets du Synology ce qui correspond à LMS et de cliquer sur installer Une fois installé, on clique sur LMS pour obtenir l'interface de gestion On note que l'adresse IP est (bien sà»r) la même que celle du NAS, mais le port est le : 9002 >> Un petit retour sur la "SqueezeBox Boom" pour configurer la connexion sur ce serveur local (je ne détaille pas, les possesseurs de ce type de radio savent que c'est facile) << On revient sur LMS... En bas de l'interface de LMS, on trouve le paramétrage On obtient une série d'onglets, dont 2 nous intéressent plus particulièrement. L'onglet "Plugins", parmi lesquels on trouve l'interface de ligne de commande (CLI) Attention ! Suite à modification de LMS, on ne trouve plus cet interface CLI dans les plugins Il faut aller sur : - "aide" - "informations techniques" - LMS Command Line Interface Et l'onglet "informations" Ce qui nous intéresse ici, c'est l'adresse MAC de la platine (SqueezeBox Boom) On s'arrête 2 secondes, pour que vous ne passiez pas un temps fou en recherche : méfiez-vous de la "casse" ! Dans mon script LUA, j'avais transformé en majuscule un caractère en minuscule de l'adresse MAC Dernier test avant de passer à notre box favorite : Un petit coup de telnet puis : open 192.xxx.xxx.xxx 9090 Remarques : - la commande doit être saisie telle que stipulée (avec un espace entre l'adresse IP et le port) - C'est bien le port 9090 - une fois la connexion effectuée, c'est un peu surprenant on n'obtient pas de "prompt" Saisir une commande du CLI comme par exemple : player count ? Cette commande me retourne le nombre de player (Squeezebox) : "player count 1" Quelques infos ici : http://wiki.slimdevices.com/index.php/Logitech_Media_Server_CLI .... au fait, vous aviez autorisé telnet sur votre NAS Fibaro HC2... enfin ! Création du périphérique virtuel... que tout le monde sait faire Le code LUA ci-après provient de @robmac qui intervient sur le forum Fibaro --[[ %% properties %% globals --]] -- the LMS server local ipadd = "192.xxx.xxx.xxx" -- the cli plugin port local portno = 9090 -- the MAC of the player local player = "00:00:00:00:00:00 " local playername = "Squeezebox Boom " -- the cmnd string -- change to any cli player command to create buttons local cmnd = "mixer volume " .. _sliderValue_ -- construct the sting to send local stringtosend = player .. cmnd .. string.char(10) --open the socket tcpSocket = Net.FTcpSocket(ipadd, portno) --set the read timeout tcpSocket:setReadTimeout(2*1000) --send the command bytes, errorCode = tcpSocket:write(stringtosend) - Attention à bien respecter les espaces pour que les commandes fonctionnent - compléter l'adresse IP du serveur LMS (ipadd) et l'adresse MAC du player (SqueezeBox Boom) Quelques commandes (cli player command) -- Volume : local cmnd = "mixer volume " .. _sliderValue_ --- ON : local cmnd = "power 1 " -- OFF : local cmnd = "power 0 " -- Lecture : local cmnd = "play " -- Arrêt : local cmnd = "stop " -- Choix d'une radio par l'un des boutons de présélection : local cmnd = "button preset_1.single " Et pour terminer, une ligne de commande générique qui va récupérer le contenu d'une variable globale local cmnd = fibaro:getGlobalValue("squeezebox") Cette variable sera renseignée par une scène. Exemple : -- squeezebox ON fibaro:call(49, "pressButton", "3"); fibaro:sleep(25*1000); -- volume squeezebox à 25 fibaro:setGlobal("squeezebox", "mixer volume 25 "); fibaro:call(49, "pressButton", "14"); fibaro:sleep(5*1000); -- message alerte fibaro:setGlobal("squeezebox", "playlist play /volume1/Fibaro/MP3/30secondes.mp3 "); fibaro:call(49, "pressButton", "14"); fibaro:sleep(15*1000); -- volume squeezebox à 15 fibaro:setGlobal("squeezebox", "mixer volume 15 "); fibaro:call(49, "pressButton", "14"); fibaro:sleep(1*1000); -- squeezebox OFF fibaro:call(49, "pressButton", "4"); On peut donc lire un fichier MP3 stocké sur le NAS pour restituer sur la radio un message sonore ... mais la radio ne bougera pas non plus les oreilles Bonnes fêtes de fin d'année @i-magin ****** 04/01/2015 *********************************************************************************************************************************************************************************************************************** A la demande d'un participant au forum, j'ajoute en fichier joint le module virtuel qu'il faudra compléter : adresse IP du serveur LMS (ipadd) et adresse MAC du player (SqueezeBox Boom) Ce VD datant de décembre 2013 est "rustique" : répétition des informations adresses IP et MAC pour chaque bouton et l'icône est à copier pour chaque bouton.... N'utilisant plus Squeezebox et LM je n'apporterai pas d'amélioration ****** 02/12/2015 *********************************************************************************************************************************************************************************************************************** J'ai ressorti ma Squeezebox pour l'utiliser comme radio réveil et j'ai ajouté la gestion de l'alarme dans un VD "réveil" qui gère (avec une scène) le démarrage d'une radio sur SONOS, la cafetière et l'éclairage.... Pour obtenir les commandes de gestion de l'alarme Squeezebox, j'ai lancé le LMS (Logitech Media Server) hébergé sur mon NAS, puis j'ai cliqué successivement sur : - "aide" - "informations techniques" - LMS Command Line Interface On trouve la commande "Alarm" Dans les exemples donnés, on découvre comment créer, supprimer ou modifier une alarme ... et, surprise, un curieux identifiant pour l'alarme ! La solution la plus simple que j'ai trouvée est la suivante : - sous LMS, sélectionner "Réveil" - supprimer tous les réveils programmés - créer un réveil - paramétrer le volume maxi, durée répétition et réveil - valider tous les jours de la semaine Pour obtenir l'Id du réveil sous Google Chrome : clic droit sur le bouton "supprimer le réveil" et choisir "inspecter l'élément" On obtient : "alarm_remove_xxxxxxx" C'est la valeur après remove (que j'ai remplacée dans ce tuto par des x) qu'il faut retenir Ainsi, la commande pour activer l'alarme : alarm update id:xxxxxxxx enabled:1 Désactiver l'alarme : alarm update id:xxxxxxxx enabled:0 Modifier l'heure de l'alarme (7H30) : alarm update id:xxxxxxxx time:27000 Et dans la continuité de mon tuto d'origine, nous aurons le code lua suivant pour modifier l'heure et l'activer : local cmnd = "alarm update id:xxxxxxxx time:27000 enabled:1 " J'espère que ce complément d'info (presque deux ans après la rédaction du 1er post sur la Squeezebox) pourra servir à d'autres membres du forum Squeezebox.vfib
  6. Plugin Freebox V6

    Voila un super plugin pour les possesseurs d'une freebox V6 ! Vous connaissez tous l'auteur, puisqu'il est présent sur le forum...il s'agit de Krikroff ! Au passage, j'ai adoré la rédaction du sujet, présentation...etc. Je tiens personnellement à te féliciter pour le travail que tu fais pour les possesseurs d'une HC2. Nous t'attendons ici JC pour commenter ton plugin... Sans plus attendre...voici le lien de l'article : http://domotique-info.fr/2014/01/home-center-2-lua-freebox-avec-krikroff/
  7. Reveil Douceur

    Bonjour a tous, Je ne suis surement pas le seul mais la box HC2, bien qu'asser complete manque cruellement d'une fonction reveil, ce device virtuel vient combler ce manque, il offre les fonctiones suivantes: 1) selection du jour de declenchement ( lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche, all, weekend, weekday) 2) selection de l'heure ( et oui ca peut etre utile ) 3) ON/OFF Installation: 1) créer les variables globales suivantes: alarmClockDay, alarmClockScenes, alarmClockStatus, alarmClockTime 2) importer le périphérique virtuel 3) définir les actions a mener dans le main loop ------------------Liste de actions sur activation de l'alarme----------------------- if string.format("%02d",startscenes) == string.format("%02d",0) then fibaro:startScene(28) fibaro:setGlobal("alarmClockScenes", 1) end ------------------------------------------------------------------------------------ end end else ------------------------------------------------------------------------------------ ------------------Liste de actions sur desactivation de l'alarme----------------------- fibaro:killScenes(28) fibaro:call(28, "turnOff") fibaro:setGlobal("alarmClockScenes", 0) ------------------------------------------------------------------------------------ Vous pourrez dans le main loop de ce peripherique virtuel, définir les actions a lancer sur declenchement du reveil ou sur l'arret ( OFF) Pour ma pars je lance la scene "simulateur d'aube" puis ouverture des volets avec lancement des sonos. mon travail s'inspire de celui de robmac que vous pouvez voir la: http://forum.fibaro.com/viewtopic.php?t=3200 Alarm_Clock (2).vfib
  8. AIRSONOS Ce tuto est dédié est pour une debian/ubuntu. Il a pour but d'expliquer comment installer l'application Airsonos. Mon script fonctionne sur un machine virtuelle. Il sera basé sur 4 points: 1- Installation de Nodejs 2- Installation AirSonos 3- Customisation du script 4- Démarrage automatique au boot Je fais le tuto avec le compte root, si vous utilisez un compte utilisateur ajouter sudo. 1- Installation de Node js Donc on commence par mettre le système àjour: apt-get update && apt-get upgrade L'application AirSonos nécessite la version node.js >= 0.10.33. On va donc installer sa: apt-get install build-essential python Maintenant on va dans le répertoire opt: cd /opt Ensuite on va télécharger les sources et compiler le tous ( la compilation peut prendre un peu de temps): wget http://nodejs.org/dist/v0.10.33/node-v0.10.33.tar.gz && tar xfz node-v0.10.33.tar.gz && cd node-v0.10.33 && ./configure && make && make install Voilàpour vérifier que c'est bien installer: node -v Sa doit vous afficher "0.10.33". Maintenant on passe àl'installation de AirSonos. 2- Installation d'AirSonos On doit commencer par installer les paquets suivant: apt-get install git libavahi-compat-libdnssd-dev libasound2-dev mc sudo On passe àl'installation de Airsonos npm install airsonos -g Il faut savoir que sur cette version il y a un problème, il affiche plusieurs fois les mêmes enceinte. Vous pouvez essayer pour voir en lançant simplement l'application par: airsonos Pour stopper l'application faite "ctrl + c". 3- Customisation du script Donc on va maintenant passer au modification des fichiers. mcedit /usr/local/lib/node_modules/airsonos/lib/main.js En dessous de la ligne 28 on ajoute: console.log('Searching for Sonos devices on network...'); var deviceList = []; Ligne 36 var deviceName = zoneAttrs.CurrentZoneName; if(deviceList.indexOf(device.host + ':' + device.port) >= 0) { if (flags.get('verbose')) { console.log('Skipping duplicate device found at',deviceName, '{' + device.host + ':' device.port + '}'); } return; } deviceList.push(device.host + ':' + device.port) Maintenant l'application est fonctionnelle. 4- Démarrage automatique au boot On va maintenant regarder pour le lancer au démarrage. npm install forever -g nano /etc/rc.local Et ajoutez avant "exit 0". sudo -u root -i /usr/local/bin/forever start /usr/local/bin/airsonos Et voila vos enceintes on maintenant la fonction Airplay. Il également possible d'installer l'application sur un synology. Source: https://github.com/stephen/airsonos
  9. Voici un VD qui permet d'appeler facilement les fonctions TTS des 3 actuellement disponibles: KAROTZ SONOS (via le VD de @krikroff ) S.A.R.A.H. Avantages: - sans passer par une Variable Globale - Et avec historisation des 10 derniers messages Voir exemple d'utilisation plus bas pour GEA. Exemples pour S.A.R.A.H. et SONOS: Exemple Gea: local TTS_Sarah = {"VirtualDevice", id2["S_A_R_A_H__SAY_IT"], 1} local TTS_Sonos = {"VirtualDevice", id2["SONOS_SAY_IT"], 1} ensuite: {"Label", id2["SONOS_SAY_IT"], "Message", "Bonjour, enclenchement du chauffage du ré de chaussée"},TTS_Sonos, ou {"Label", id2["S_A_R_A_H_SAY_IT"], "Message", "Bonjour, enclenchement du chauffage du ré de chaussée"},TTS_Sarah, Voici la partie config du bouton et le VD générique est attaché ci-dessous. -- Say It Copyright Sébastien Jauquet 2016 -- V 1.0.0 28/09/2016 ------------------------------------------- -- HOW TO USE THIS VD: -- Rename the name of the label (Say It XXXXXX !), NOT the ID !!! -- Rename the name of the VD (XXXXX Say It !) -- Fill Ip Address and port in the VD settings -- Port: usualy 8080 for SARAH and 80 for KAROTZ -- Un-comment one of the three line below depending of the device you want to control local TTS_Device = "sarah" --local TTS_Device = "karotz" --local TTS_Device = "sonos" local id2 = { SONOS_REMOTE = 2124 } -- enter Krikroff sonos VD id ------- NO USER MOD BELOW ------------------------------- local selfId = fibaro:getSelfId() local SARAH_KAROTZ_Ip = fibaro:get(selfId, "IPAddress") local port = fibaro:get(selfId, "TCPPort") function urlencode(s) if (s) then .... blablabla icônes: XXXXXX_Say_It_!.vfib
  10. Un petit tuto et un petit module pour cet Ampli Yamaha, qui est un peu différent de ce que j'ai déjà vu ici. Soyez indulgents, c'est mon premier "vrai" tuto... Ce module fonctionne sur les Ampli RX-V677, RX-V481, RX-V581, RX-V681, RX-V781, RX-V773, RX-V675 Tout d'abord, merci a Krikroff, Tomzebest et à lolomail et i-magin pour leur travail en amont qui m'a grandement facilité le mien. Pour commencer, il vous faut rentrer une adresse IP fixe dans l'ampli a l'aide de la télécommande (sur le téléviseur). Ensuite, dans un navigateur web, il faut entrer dans les paramètres de l'ampli afin de modifier un petit paramètre bien utile pour la suite. Pour ouvrir la page de l'ampli, il suffit de taper l'adresse fraîchement entrée dans la barre d'adresse. Page d'acceuil de l'ampli, il faut cliquer sur settings : pour arriver a cette page et aller dans l'onglet network settings et passer l'option à ON: Maintenant, on peut revenir sur notre Home Center. V1.0 : Implémentation V1.1 : Récupération de l'IPadress et du TCPPort du module pour faciliter l'intégration V1.2 : Implémentation de la zone 2 RX-V675 (V1.1).vfib RX-V675(V1.2).vfib Visuel du module 1.1 : Visuel du module 1.2 : Et des icônes que j'utilise : <- Merci Couillerot <- Merci moi <- Merci moi aussi ^^ Je bosse encore actuellement sur les visuels pour switcher entre les icônes ET sur les icônes elles-mêmes Pour faire fonctionner le module, vous devez renseigner l'adresse ip et le port de l'ampli dans le module puis, renseigner le numéro de module en début de main loop (ligne 4). Grosse mise à jour en cours : - Ajout de l'intégralité des ambiances sonores de la zone 1 - Ajout de l'intégralité des entrées de la zone 1 et de la 2 - Ajout d'un slider pour le réglage du volume de la zone 1 - Ajout des boutons de mémoire pour les net radios - Nettoyage du code pour le rendre plus facile et lisible (plus besoin de renseigner le numéro du VD entre autre)
  11. Onduleur Eaton

    Remplacer le ventilateur d'origine bruyant d'un onduleur Eaton 5P par un Noctua silencieux Replace Eaton UPS noisy fan by silent Noctua Il faut un tournevis Torx (taille T10 de mémoire) pour retirer les vis, ainsi qu'un Cruciforme. Sur la façade arrière, il faut enlever les vis entourées en rouge sur la photo ci-dessous : Le petit ventilateur bruyant est bien visible (entouré en bleu). Il faudra enlever les 2 vis qui le maintiennent. A l'avant, il faut retirer le capot de protection plastique, déconnecter les batteries et les sortir, et dévisser les 3 vis dont seule 1 est visible sur la photo : Voici le ventilateur d'origine : Il s'agit d'un SUNON MagLev MB40201V2-000C-G99 : Tension : 12 V DC Vitesse de rotation : 6200 RPM Débit d'air : 13,2 m³/h = 7.7 CFM Niveau sonore : 21 dBA Dimensions : 40mm x 40mm x 20mm On va le remplacer par un Noctua NF-A4x10 FLX trouvable sur Amazon.fr : Tension : 12 V DC Vitesse de rotation : 4500 RPM Débit d'air : 8,2 m³/h = 4.8 CFM Niveau sonore : 17,9 dBA Dimensions : 40mm x 40mm x 10mm Le package du Noctua est complet : Cote à cote : L'inconvénient est que le connecteur utilisé par le ventilateur d'origine est propriétaire, et n'est pas standard dans le monde du ventilateur pour PC : Il s'agit d'un connecteur JST de type XH. Il faut donc acheter un lot de 10 connecteurs JST XH 3 Poles sur Amazon.fr : Malheureusement, comme on le voit sur les photos précédentes, le brochage est différent, puisque les fils noir et jaune sont inversés. Afin de réaliser un câblage propre, on éjecte les 2 connecteurs jaunes et noirs en appuyant avec une pointe fine, et en tirant délicatement le fil : Pour info, détail du connecteur : Noctua a eu la bonne idée de fournir un connecteur universel permettant de connecter un connecteur propriétaire à l'autre bout. Malheureusement, ce connecteur n'a que 2 fils, et il manque le 3ème fil (jaune) dont nous avons absolument besoin pour la mesure de la vitesse de rotation (sans cela, l'onduleur se met en erreur car il considère le ventilateur comme étant HS) : Donc on n'utilisera pas cet adaptateur, et à la place, on coupe la rallonge fournie par Noctua en plein milieu, qui elle dispose bien des 3 fils, et on y connecte notre connecteur JST XH à l'aide des Scotchlocks fournis : On connecte maintenant le nouveau câble sur la carte mère à la place de l'original : Et on fixe le ventilateur Noctua à l'aide des amortisseurs fournis, qui seront plus silencieux que de simples vis : Et voilà c'est terminé, l'onduleur fonctionne sans souci. Reste à voir sur la durée si il ne chauffe pas trop. L'onduleur n'est pas totalement silencieux, mais il devient ainsi très discret, rien à voir avec la turbine initiale.
  12. Bonjour, Il y a quelques jours je vous ai proposé le test du LightPack, un équipement à fixer derrière n'importe quelle TV qui permet d'ajouter un système lumineux proche du système Ambilight de Philips: http://maison-et-domotique.com/product/test-lightpack-pour-ajouter-lambilight-votre-tv Nous avons ensuite vu comment faire fonctionner le tout sur un Raspberry avec XBMC et le logiciel Hyperion: http://maison-et-domotique.com/books/lightpack-hyperion-raspberry-pi-ambilight-sur-votre-tv Aujourd'hui je vous propose un périphérique virtuel permettant de piloter cet éclairage avec sa box Fibaro HC2: http://maison-et-domotique.com/books/piloter-votre-ambilight-avec-votre-box-fibaro Vous aurez le controle précis de la couleur à appliquer, des effets à lancer, etc... Il s'agit de mon premier périphérique virtuel vraiment "abouti", j'espère qu'il vous plaira ;-) N'hésitez pas à me faire vos remarques si vous voyez des choses à améliorer. J'en profite au passage pour remercier les quelques membres qui m'ont aidé sur la mise en place des commandes json via TCP, j'ai appris beaucoup de choses grâce à eux ;-)
  13. Salut tout le monde, Tout est dans le titre, quelqu'un a deja fait un VD pour la Freebox Player ? Je ne parle pas evidemment du plugin de Krikroff, mais bien d'un VD ;-) Me connaissant, si je mets un plugin tiers, je vais oublier de l'enlever avant de faire une MAJ et après chaque MAJ faut remettre le plugin lol
  14. Bonjour, Je vous propose un petit tutoriel qui m’a permis de pouvoir contourner un problème qui m’ennuyais profondément… Comment allumer ma TV connectée Samsung en veille de manière fiable et économique depuis ma HC2 ? En effet, je dispose d’une TV Samsung modèle UE55D8000 qui a l’avantage comme la plupart des TV connectées de disposer d’une API de pilotage en IP afin de pouvoir la télécommander depuis un smartphone ou autre. Un plugin Fibaro permet d’ailleurs de piloter une TV Samsung. Oui mais voilà , car il y a toujours un Mais… En IP, on peut contrôler la quasi totalité des fonctions de la TV à l’exception d’une, la fonction ON. Pourquoi ? Et bien tout simplement car Samsung a choisi de faire en sorte que la TV, en veille n’a plus de stack IP active et n’est donc plus à l’écoute des requêtes de commandes qui se solderons par un Timeout. Peut-être que depuis ceci a évolué et que les nouveaux modèles sont maintenant à l'écoute même en veille mais ce n'est pas le cas de mon modèle. Le seul point positif à tout ça, c’est que la consommation de la TV en veille est nulle. C’est déjà ça mais avec une prise commandée on aurait pu contourner cela pour économiser de l’énergie la nuit par exemple. Si j’avais une FreeBox Revolution, le problème ne se poserait pas puisque cette dernière est compatible HDMI-CEC et qu’on peut la paramétrer pour que la mise en route de la FreeBox allume la TV. Malheureusement, la LiveBox Play que j’ai la "chance" de posséder ne gère pas les commandes HDMI-CEC, ce qui m’a par ailleurs amené à rédiger un autre tuto permettant de mieux la dompter : TV Commande LiveBox Play Bref, partant de là , j’ai étudié les différentes solutions qui s’offraient à moi : 1) Utiliser un boitier Infrarouge pilotable en IP : je ne suis pas trop fan de cela car il devra être posé dans mon salon à un endroit visible, nécessitant une alimentation, le tout pour un usage unique sachant que je contrôle tous mes autres équipements par radio ou IP. Bof... 2) Utiliser un boitier spécifique contrôlable en IP et disposant de sorties HDMI CEC ou RS232. En cherchant bien, il existe des boitier spécialisés qui proposent ce type de fonctions mais cela rester onéreux pour simplement allumer une TV 3) Utiliser mon RPI qui lui est déjà dans mon meuble TV raccordé à mon ampli avec kodi. C’est naturellement cette 3ième option que j’ai choisi de mettre en oeuvre non seulement pour le côté pratique et aussi pour économique car dans mon cas, cela n’a nécessité aucun investissement Prérequis : - Un RPI1 ou RPI2 (j’ai fait le test avec les 2 et ça fonctionne) - Quelques notions système unix pour savoir installer une distribution et exécuter les commandes qui vont bien Principe : 1) le RPI est raccordé en HDMI à la TV ou à l’ampli si vous en avez un, peu importe. 2) le RPI dispose d’une adresse IP fixe sur votre réseau (réservation d’IP sur votre routeur) 3) une commande standard HDMI-CEC va nous permettre de donner un ordre d’allumage à destination de la TV. On utilise pour cela la lib-cec 4) pour exécuter cette commande depuis la HC2, ce qui est la principale difficulté, je vous propose une petite API PHP que j’ai écrite Je vais donc dans ce tuto vous donner les clés pour configurer votre RPI correctement et vous fournir le code de l’API de contrôle PHP. En bonus, j’ai ajouté à cette API 2 fonctions pratiques qui vont vous permettre d’éteindre ou de rebooter proprement votre RPI depuis la HC2. Etapes à suivre : 1) Installez une distribution linux sur votre RPI1 ou 2 (Raspbian pour faire simple) 2) Installez la lib-cec en suivant un tuto comme celui-ci : https://github.com/Pulse-Eight/libcec/issues/84 Vous pouvez-vérifier que votre installation est correcte en testant les commandes suivantes : echo "on 0" | cec-client -s echo "standby 0" | cec-client -s Vous aurez compris que la première doit allumer la TV et la seconde l'éteindre. 3) Installez apache et php en suivant ce tuto : https://www.raspberrypi.org/documentation/remote-access/web-server/apache.md Une fois que vous avez installé tout ça et que tout tourne correctement, voici ce qu’il vous reste à faire. 4) régler des petits problèmes de droits qui vont permettre au serveur apache du RPI d’exécuter des commandes CEC. Pour cela, exécutez ces 3 commandes: sudo chmod 777 /var/www sudo chmod 777 /dev/vchiq sudo usermod -G video -a www-data 5) Maintenant, nous allons donner à apache le privilège de pouvoir exécuter des commandes en tant que root mais sans mot de passe. Ce n’est pas recommandé en terme de sécurité sur un serveur web à risque mais dans notre cas, cela ne pose pas de problème. Pour cela, saisissez la commande sudo visudo Puis éditer le fichier pour ajouter les lignes suivantes en bleu ci-dessous # User privilege specification root ALL=(ALL:ALL) ALL www-data ALL=(ALL) NOPASSWD:/usr/local/bin/cec-client www-data ALL=(ALL) NOPASSWD:/bin/echo www-data ALL=(ALL) NOPASSWD:/sbin/shutdown 6) Dernière petite manipulation et après s’en est fini pour les commandes. Par défaut, lorsque votre RPI va démarrer, il va exécuter une commande HDMI-CEC d’allumage de la TV durant sa phase de boot. Ce n’est pas pour notre cas d’usage le comportement souhaité. Imaginez un coupure de courant en votre absence. La TV s’allumerait automatiquement au re-démarrage… si comme moi vous avez automatisé l’allumage de l’ampli, box TV etc… cela peut vite devenir ennuyeux… Voici ce qu’il faut faire pour éviter cela. Exécutez la commande suivante qui permet d’éditer la configuration de démarrage de votre RPI : sudo nano /boot/config.txt Vous allez normalement trouver la ligne suivante hdmi_ignore_cec_init=1 à dé-commenter en retirant le # en début de ligne. Sinon, ajoutez là au fichier et enregistrez le. 7) Installation de l’API PHP Nous allons ici déployer sur le serveur apache de votre RPI des fichiers PHP qui vont nous permettre d’exécuter à distance les commandes CEC ou autre. Pour cela : - allez dans /var/www et créez un répertoire à nommer selon votre convenance « cec » par exemple - copiez dans ce répertoire les fichiers php fournis ci-dessous tv_on.php tv_off.php shutdown.php reboot.php 8) Tests : le moment de vérité. Bon maintenant on va voir si tout a bien été installé et configuré… Sur votre ordinateur, ouvrez un navigateur et testez l’URL suivante, TV éteinte : http://<ip-de-mon-RPI>/cec/tv_on.php Normalement, votre TV doit s’allumer. Si ce n’est pas le cas, ne paniquez pas, il doit y avoir un erreur à récupérer quelque part pour comprendre ce qui ne va pas. 9) Intégration sur la HC2 (ou HCL) : vous l’avez compris, maintenant que cela fonctionne rien de plus simple que d’exécuter un GET comme ceci par exemple pour allumer la TV depuis la HC2 RPI = Net.FHttp("<ip-de-mon-RPI>", 80) response = RPI:GET("/cec/tv_on.php") fibaro:debug(response) A titre d’illustration, je vous joint un Virtual Device et ses icônes, personnalisé à mes besoins qui me permet de gérer la mise en route/veille de l’ensemble des équipements situés dans mon meuble TV. Télévision.vfib Et les icônes correspondant à ma TV Samsung J'espère que ce tuto vous rendra service. En ce qui me concerne, il tourne depuis environ 10 mois sans aucun plantage et me permet d'allumer la TV automatiquement le soir lorsque mon épouse rentre à la maison ou dès que quelqu'un allume la LiveBox.
  15. Ampli Pioneer Et Hc2

    Voici un périphérique virtuel pour amplificateur Pioneer VSX-20xx et VSX-9xx. C'est un morceau de code très basique qui n'est pas du tout optimisé, mais il fonctionne très bien pour moi depuis des mois . Tous les amplis avec options Ethernet des séries LX devraient aussi fonctionner avec ce VD. Le tempo du mainloop est sur 5 minutes pour la mise à jour auto des informations: volume, état, entrée... PS: Pour les Pioneer VSX-822, VSX-42, vous pouvez utiliser le port 8102 a la place du 23 au besoin. Sur la home: L'icône pour le périphérique c'est ici: Télécharger la dernière version Pioneer_VSX-2021.vfib Version 1.0.3: - Gestion des zones - Gestion des sources - Amélioration de la gestion des erreurs - Optimisation du code - Passage de commande instantanée
  16. Depuis cette super mise a jour Beta, nos HC2 sont désormais capable de contrôler les activités du Hub Harmony grace au plugin Logitech. L’inconvénient du plugin est qu'il créer de multiple device. 2 globaux, et un pour chaque activités. Donc pour d'avantage d'ergonomie j'ai créer un petit module virtuel sans prétention qui pilote les "vrai" module qui eux sont masqués : Le module virtuel permet donc - De connaitre l'activité en-cours, - De lancer une activité - D'éteindre tous les équipements Voici donc le VD : Harmony.vfib Et l'icone qui va bien :
  17. Note : les images ne sont plus disponibles ici, vous pourrez retrouver le tuto complet sur mon site à cette adresse : http://fredomotique.com/informatique/nas-synology-sur-n54l/ Vous cherchez un NAS pour stocker vos données en réseau, vous devez installer plusieurs disques durs dedans ou vous avez besoin d'une solution évolutive. Les NAS Synology, dont la réputation n'est plus à faire, s'avèrent rapidement onéreux, dès lors qu'ils possèdent plusieurs baies de stockage. La solution proposée ici se révèle assez économique. En effet, HP propose un produit très complet, à prix compétitif, le presque célèbre serveur HP N54L , dont la référence complète est "HP ProLiant MicroServer G7 N54L 1P 2GB-U Non-hot Plug SATA 250GB 150W PS Server" 1 - Projet: Le but de ce tutorial est de construire une machine bien plus évoluée qu'un "simple" NAS SYNOLOGY, qui permettra dans un premier temps de créer un "vrai" NAS Synology avec la dernière version logicielle DSM 5-4482, mais ensuite d'installer d'autres systèmes (Windows, LINUX, ...) totalement indépendant et fonctionnant en même temps, et ce, par le biais du logiciel de Virtualisation VMware ESXi 5.5. Ce logiciel sera gratuit dans cette configuration. Il est impératif de rajouter de la RAM, afin que les systèmes puissent cohabiter et surtout fonctionner simultanément. Bien que HP mentionne officiellement que la RAM est limité à 8Go, la carte mère accepte 2x8Go sans problème. Néanmoins, bien que dans les spécifications constructeur, il faille installer de la RAM "PC3-10600E DDR3 Unbuffered (UDIMM) ECC memory" toutes les références ne sont pas fonctionnelles, il faudra se référer au lien suivant pour faire son choix: http://n40l.wikia.com/wiki/Memory Il faudra également rajouter au moins un disque dur de capacité conséquente et adapté à une utilisation "NAS". L'article donné ci-dessous fait le point sur le type de disque à installer: http://www.tomshardware.fr/articles/disques-durs-nas,2-887.html Pour résumé, les Seagate Constellation et les Western Digital Caviar RED seront parfaitement adaptés. Ce tuto est le fruit de très nombreuses recherches et collectes d'informations récupérées sur divers forums français et étrangers, mais aussi d'autres tuto qui ne sont plus forcément à jour, ou sans mise en place de la virtualisation. Il a été établi en suivant scrupuleusement l'installation effectuée, et toutes les étapes ont été volontairement inscrites, afin que toute personne puisse le suivre. Un grand merci à l'ami Lazer pour son aide très précieuse. Temps de mise en oeuvre: entre 2H et 4H 2 - Présentation du serveur: voilà le serveur HP N54L, bien connu des adeptes de la virtualisation et autres utilisateurs de solutions parallèles de stockage réseau SYNOLOGY. En face avant, 4 port USB 2.0 (pas d'USB 3 et c'est dommage), 1 emplacement 5 1/4 pour lecteur optique, 1 bouton ON/OFF, et 1 porte avec serrure. La porte avant laisse découvrir les 4 baies internes et la carte mère bien caler dans le bas du boitier : A l'arrière, on y trouve le connecteur d'alimentation 230v, un petit ventilateur pour l'alimentation interne, un assez gros ventilateur pour refroidir la carte mère et les 4 baies, la prise Ethernet Gigabit, 2 ports USB2.0, une sortie VGA, un port eSATA et 2 port PCI-EXPRESS pour carte au format Low Profile. On pourra quand même rajouter par exemple une carte USB 3.0. Il est possible de conserver cette configuration d'origine, en ne rajoutant qu'une clé USB pour stocker le boot SYNOLOGY. Dans ce cas, le stockage s'en trouvera limité car il faudra se contenter des 250Go livrés en standard. On pourra bien entendu étendre le stockage par l'ajout de disques supplémentaires, tout comme dans un NAS Synology à plusieurs baies. 3 - Spécifications: - Vitesse du processeur de l'horloge: 2.2 GHz - Modèle de processeur: AMD Turion II N54L modèle Neo - Cache L2: 2 Mo - Mémoire interne: 2 Go - Type de mémoire interne: 2R x8 PC3-10600E-9 - Mémoire interne maximale: 8 Go ( en fait, il est possible d'installer 2x8Go) - Nombre de baies (non Hot-Plug) pour disques durs SATA 31/2: 4 - 1 disque dur SATA 250Go fourni -1 emplacement 51/4 pour lecteur optique (non livré en standard) - Type d'alimentation d'énergie: alimentation non redondante non hot-plug 150W multi-sorties Vous trouverez ici les spécifications complètes: http://h18000.www1.hp.com/products/quickspecs/13716_div/13716_div.pdf il est disponible ici pour un prix de 199€ TTC: http://www.fnac.com/mp20220705/HP-ProLiant-MicroServer-Turion-II-Neo-N54L-2-2-GHz-2-Go-250-Go/w-4 4 - Matériel nécessaire: - 1 ordinateur sous windows (le tuto sera à adapter pour d'autres systèmes d'exploitation) avec graveur CD - le lecteur optique externe sur port USB (si boot de ESXi 5.5 sur CD) - 1 clavier USB - 1 tournevis cruciforme - 1 petit tournevis plat 5 - Préparation Hardware: En plus de la configuration d'origine, nous allons rajouter le matériel suivant: - 1 clé USB 8Go pour enregistrer VMware ESXi 5.5 : Kingston DataTraveler Micro 8Go : environ 6,50€ ici : http://www.grosbill.com/4-kingston_datatraveler_micro_8go_usb2_dtmck_8gb_-169883-informatique-cles_usb_3_0 - 2x8Go de RAM : ici de la Kingston KHX1600C10D3B1K2/16G : environ 140€ ici http://www.grosbill.com/4-kingston_hyper_x_blu_16go_2x8go_pc12800_1600_mhz_cl10_-606223-informatique-memoire_ddr3 Attention : L'espace est assez limité entre la carte mère et le bas du chassis des rack de disques dur. Certaines barettes possèdent des dissipateurs assez volumineux, et c'est un paramètre à ne pas négliger dans le choix des barrettes, outre la compatibilité fonctionnelle. Certains ont été obligés de bricoler leurs RAM en ôtant la partie supérieure, et le dissipateur ne fait plus son effet correctement ! - 1 Disque dur 2To pour les datas: WD Caviar RED 2To : environ 90€ ici http://www.grosbill.com/4-western_digital_caviar_red_2_to_sata_6go_s_64_mo_cache_disque_dur_special_pour_nas-169015-informatique-_disque_dur (sur la photo, je l'ai déjà installé dans son rack) - 1 CD vierge, qui pourrait être remplacé par une clé USB, pour enregistrer l'ISO de l'installation de VMware ESXi 5.5 une fois la porte ouverte, il est facile d'extraire le disque dur d'origine présent dans le rack de gauche: La vis située en haut, à l'arrière du serveur, permet de retirer le capot supérieur. Ce n'est pas utile dans le cas présent, mais se serait nécessaire pour installer un lecteur optique ou jusqu'à 2 disques durs supplémentaires. Cela permet quand même d'enlever la porte, ce qui s'avèrera plus pratique pour le démontage: On remarque à l'intérieur de la porte une petite clé et des vis (4 grises et 12 noires). Il y avait 16 vis noires, j'en ai déjà utilisé 4 pour monter le disque 2To dans son rack. Il y a donc de quoi fixer 4 disques durs et 1 lecteur optique (vis grises). Pour extraire la carte mère, on peut voir ci-dessous 2 vis bleues, de part et d'autre à l'avant de la carte mère: Une fois dévissée, la carte mère coulisse vers l'avant, il est alors possible de déconnecter gentiment les nappes en s'aidant éventuellement d'un petit tournevis plat: Voici donc la carte mère avec l'ancienne RAM 2Go, puis les 2 nouvelles (2x8Go) Il n'y a plus qu'à remettre la carte mère dans la glissière l'enfoncer dans le serveur, connecter précautionneusement les nappes et serrer les 2 vis bleues. Ensuite, remettre la porte et le capot supérieur. !!! NE PAS REMETTRE LE DISQUE 250Go DANS LE SERVEUR !!! 6 - Préparation du Bios: - Brancher l'écran VGA, la clé USB et le clavier sur le N54L - Brancher le cable d'alimentation - démarrer le N54L (bouton ON/OFF en face avant) - appuyer sur la touche F10 pour entrer dans le bios - dans la partie BOOT, mettre "BOOT USB" sur "HIGH" et "1st Boot Device" sur "USB" (le nom de votre clé USB doit être affiché) - sauvegarder les modifications et quitter. - éteindre le N54L et débrancher la clé USB 7 - Modification du Bios: - récupérer le dernier BIOS (SP64420) officiel HP à cette adresse: BIOS N54L version 2013.10.01 (A) (15 nov. 2013) Il sera nécessaire de s'enregistrer pour avoir accès au téléchargement. - brancher la clé USB sur le PC - exécuter le SP64420.exe, il va s'installer sur l'ordinateur en c:\SWSetup/SP64420 - suivre les instructions pour installer le BIOS sur la clé USB - récupérer le patch à cette adresse: Patch BIOS 041100113.ROM - remplacer le fichier O41100113.ROM présent sur la clé USB par le fichier patch "O41100113.ROM". - éjecter "proprement" la clé USB et brancher la sur un port USB du serveur N54L 8 - Flashage du BIOS: - mettre la clé USB sur un port USB du N54L - allumer le N54L - le serveur doit démarrer sur la clé, il doit s'afficher: puis: - Après 1 ou 2 secondes, le prompt "c:\>" est affiché, le flashage est terminé. - éteindre le serveur - débrancher la clé USB - allumer le serveur pour vérifier l'affichage de la nouvelle version patchée: - 3 lignes plus bas, vérifier la quantité de RAM installée, donc maintenant: 16384MB Total Memory Detected AMIBIOS©2006 American Megatrends HP System BIOS - 041 (10/01/2013) - appuyer sur la touche F10 pour entrer dans le Bios 9 - Configuration du Bios: - aller dans "Chipset"..."SouthBridge Configuration"..."SB SATA Configuration" - effectuer les réglages suivants: - sauvegarder les modi
  18. Bonjour à tous, J'apporte ma petite contribution, pas trés compliqué, mais qui peut-être aidera certain. L'idée, et je débute juste dans ce projet (en Z-Wave, car déjà fait avant avec un RFXCOM), est de pouvoir enregistrer des données sur une base MySql qui est hébergé sur un serveur synology. Il vous faut : un module virtuel : (avec 28 l'ID de mon capteur de température, et l'IP de mon synology) --[[ %% properties 28 value %% globals --]] local timestamp = os.date("%Y%m%d%H%M%S") local type = "Temp_Salon" local valuetosyno = fibaro:getValue(28, "value") fibaro:debug(timestamp) fibaro:debug(type) fibaro:debug(valuetosyno) HC2 = Net.FHttp("192.168.0.2") HC2:GET("/domotiquefibaro/fibaro_add.php?timestamp="..timestamp.."&type="..type.."&value="..valuetosyno.."") une scene (avec 28 l'ID de mon capteur de temperature, et 39 l'ID de mon module virtuel) : --[[ %% properties 28 value %% globals --]] fibaro:call(39, "pressButton", "1"); Un syno configuré, avec PhpMyAdmin une base, une table configuré Et une page PHP ou l'on va passer les paramètres en GET : <?php $timestamp = $_GET["timestamp"]; $type = $_GET["type"]; $value = $_GET["value"]; // on se connecte à MySQL $db = mysql_connect('localhost', 'root', 'password'); // on sélectionne la base mysql_select_db('fibaro',$db); // on crée la requête SQL $sql = "INSERT INTO records(timestamp,type,value) VALUES('$timestamp','$type','$value')"; // on envoie la requête $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); // on ferme la connexion à mysql mysql_close(); ?> Il ne vous reste plus qu'a mettre tout ça en place, et vous pourrez recuperez dans votre base toutes les données nécessaires.
  19. Je viens de tomber sur ce site alors que google translate me jouait encore des tours (limitation avec demande de captcha). http://www.voicerss.org. Il y a une API et plein de doc. Je me suis inscrit mais ce n'est pas vraiment utile pour l'utilisation que je veux en faire : générer des fichiers MP3 pour le diffuser sur mes squeezebox (ou sur tout autre système audio Sonos en tête) En version gratuite on a droit à 350 générations de TTS par jour avec l'API. Ca devrait nous suffire pour le moment. Mais je ne sais pas si le fait d'utiliser une commande http rentre dans cette limitation de l'utilisation avec l'API (à tester donc). On peut jouer sur différents paramètres : voir la doc ici (http://www.voicerss.org/api/documentation.aspx) la langue (canada) : hl=fr-ca -> si omis c'est en anglais le codec (mp3, WAV,AAC ...) : c=AAC -> si omis le mp3 est par défaut l'échantillonnage : f=16khz_16bit_stereo -> si omis, c'est 8 kHz, 8 Bit, Mono par défaut Exemple qui annonce "ouverture du portail" en français au format AAC en 16Khz : http://www.voicerss.org/controls/speech.ashx?hl=fr-fr&c=aac&f=16khz_16bit_stereo&src=Ouverture%20du%20portail Voici un exemple de code qui utilise voiceRSS (ça se passe ligne 99 pour le lien vers VoiceRSS). Ce code peut être placé dans un bouton d'un virtual device. On pourra l'appeler au moment de se coucher ou de fermer la maison. Le code vérifie l'état des portes et annonce en TTS sur un squeezebox qu'"elles sont toutes fermées" ou que l'une ou plusieurs sont ouvertes en les nommant. L'intérêt de la TTS c'est que le code est dynamique et qu'il fabrique la phrase en fonction de la situation : "Toutes les portes sont fermées" "Attention la porte d'entrée me semble ouverte". "Attention il y a X portes ouvertes. Celle de la XX, et de YY, et du ZZ." -> "Attention il y a 3 portes ouvertes. Celle de la cuisine, et de l'entrée, et du portail." NB : pour que la synthèse vocale soit agréable à écouter il faut parfois jouer sur l'orthographe. Exemple : "Attention a la porteu d'entrai elle me semble ouverte ." Je n'ai pas tout vérifié avec voiceRSS mais c'était le cas avec google. J'avoue que la TTS de google est un peu plus naturelle et agréable à entendre. Mais au moins cette solution fonctionne gratuitement 350 fois par jour ! -- Adresse IP du Logitech Media Server local ipadd = "192.168.0.46" -- le port du serveur local portno = 9090 -- L'adresse MAC de la squeeze local player = "00:xx:xx:29:xx:3e " local playername = "SqueezeBox " -- réglage du niveau sonore local NiveauSo = 35 local notification = "" local NombrePorte = 0 -- 32 Garage if tonumber(fibaro:getValue(305, "value")) > 0 then NombrePorte = NombrePorte + 1 if NombrePorte > 1 then notification = notification.." et du garage ." else notification = notification.." du garage ." end end -- 34 Chambre bas if tonumber(fibaro:getValue(307, "value")) > 0 then NombrePorte = NombrePorte + 1 if NombrePorte > 1 then notification = notification.." et de la chambre du bas ." else notification = notification.." de la chambre du bas ." end end -- 38 Entrée principale if tonumber(fibaro:getValue(313, "value")) > 0 then NombrePorte = NombrePorte + 1 if NombrePorte > 1 then notification = notification.." et de lentrer ." else notification = notification.." de lentrer ." end end -- 39 cuisine du bas if tonumber(fibaro:getValue(330, "value")) > 0 then NombrePorte = NombrePorte + 1 if NombrePorte > 1 then notification = notification.." et de la cuisine du bas ." else notification = notification.." de la cuisine du bas ." end end -- 45 portail if tonumber(fibaro:getValue(45, "value")) > 0 then NombrePorte = NombrePorte + 1 if NombrePorte > 1 then notification = notification.." et du portail ." else notification = notification.." du portail ." end end -- Si il n'y a pas de porte ouverte : if NombrePorte == 0 then notification = "Toutes les porte sont fermer." end -- Si il n'y a qu'un porte ouverte : if NombrePorte == 1 then notification = "Attention a la porteu "..notification.." elle me semble ouverte ." end -- Si on a plusieurs portes ouvertes : if NombrePorte > 1 then notification = "Attention il y a "..NombrePorte.." porte ouverte . Celle "..notification end -- Allumage de la squeezebox local cmnd = "Power 1 " local stringtosend = player .. cmnd .. string.char(10) tcpSocket = Net.FTcpSocket(ipadd, portno) tcpSocket:setReadTimeout(2*1000) bytes, errorCode = tcpSocket:write(stringtosend) -- On règle le volume sonore ici 35 local cmnd = "mixer volume " .. NiveauSo .. " " local stringtosend = player .. cmnd .. string.char(10) tcpSocket = Net.FTcpSocket(ipadd, portno) tcpSocket:setReadTimeout(2*1000) bytes, errorCode = tcpSocket:write(stringtosend) -- On envoie le message local notification = string.gsub((notification)," ", "%%20"); --on remplace les espaces par %20 fibaro:debug(notification) local cmnd = "playlist play http://www.voicerss.org/controls/speech.ashx?hl=fr-fr&src=" .. notification; local stringtosend = player .. cmnd .. string.char(10) tcpSocket = Net.FTcpSocket(ipadd, portno) tcpSocket:setReadTimeout(2*1000) bytes, errorCode = tcpSocket:write(stringtosend) -- OFF de la squeezeBox après 10 secondes fibaro:sleep(10*1000) local cmnd = "power 0 " local stringtosend = player .. cmnd .. string.char(10) tcpSocket = Net.FTcpSocket(ipadd, portno) tcpSocket:setReadTimeout(2*1000) bytes, errorCode = tcpSocket:write(stringtosend) Amusez-vous bien
  20. Je vous propose un module virtuel pour les amplificateurs audio/video de la marque DENON, en attendant la v4 et des bons plugins. Comme j'ai eu du mal à le créer, à trouver la façon de communiquer par IP (DENON ne dit rien nulle part à propos de ça) et qu'ici on aime partager... Basé sur le sujet suivant, du forum officiel de Fibaro (merci à boerremk pour la création du sujet et à ROBBshop pour le code plus léger): http://forum.fibaro.com/viewtopic.php?t=1755&postdays=0&postorder=asc&start=0 Les fonctions peuvent être utilisées pour d'autres modèles d'ampli. Les commandes spécifiques par modèles au lien suivant: http://www.denon.fr/fr/pages/home.aspx Chercher l'ampli par son nom, puis onglet telechargement et notice, puis protocole RS232. Consignes: Avant tout il faut permettre à l'ampli d'être contrôlé par IP (voir vos paramètres) 1) Importer le module virtuel au format vfib 2) Le nommer, lui assigner une pièce, indiquer son adresse IP sur votre réseau (ex 192.168.1.10) et le port d'ouverture de votre routeur (ex 80 pour la freebox v6) 3) Changer l'icône principale 4) Le port d'ouverture par défaut de l'ampli est 23, si le votre est différent il faudra le changer ligne 3 de chaque bouton 5) Vous pouvez renommer les labels ZONE1, ZONE2, Source ZONE 1 et Source ZONE 2 mais ne modifiez pas les ID des labels 6) Vous pouvez modifier les noms des boutons ⎋ ZONE 1 et ⎋ ZONE 2 ainsi que dans les lignes 23 et 31 du code correspondant Ces boutons sont pour mettre ON ou OFF chaque ZONE en fonction de l'état en cours. Cependant il n'est pas nécessaire d'allumer l'ampli avant de choisir une source, la sélection de la source d'entrée met automatiquement l'ampli en marche 7) Vous pouvez modifier les noms des boutons des sources sous les labels Source ZONE 1 et Source ZONE 2, pour indiquer ce que vous avez branché sur les entrées correspondantes ainsi que dans les lignes 22 et 23 du code correspondant 8) Vous pouvez modifier les noms des boutons 1 à 3 sous le label des stations favorites pour indiquer le nom de vos stations enregistrées ainsi que dans les lignes 22 et 23 du code correspondant 9) Vous pouvez modifier dans le code suivant, le nom des sources pour indiquer ce que vous avez branché sur les entrées correspondantes, aux lignes 73,75,77,79,87,95 et 97. Vous pouvez évidemment ajouter ou retirer des boutons. Attention toutefois si vous en retirez à modifier le main loop en conséquence. Par exemple il peut être intéressant d'enregistrer les réglages en cours (source d'entrée, volume, mode son...) quand vous regardez/écoutez la source branchée sur l'entrée MEDIA PLAYER de votre ampli, via le bouton QUICKMEMORY1, puis de remplacer dans les codes du boutons de sélection de la source MEDIA PLAYER, la commande SIMPLAY ligne 20, par la commande MSQUICK1. Quand vous appuierez sur ce bouton plus tard, vous retrouverez les réglages que vous aviez lorsque vous avez enregistré. --Virtual Device --v0.1 du 02/11/2014 --v0.2 du 05/11/2014 Erreur modifiée dans les boutons quickmemory DENON_AVR-X3000.v0.2.vfib
  21. bonjour à tous Grace au module virtuel de la HC2, vous avez la possibilité de commander tout appareille utilisant une telecommande IR, dans notre exemple nous allons commander un TV sony KDL-40W 5500. De quoi avez vous besoins: Une box HC2,Une télé, et bien sur d'un adaptateur WIFI vers IR de type ITACH de GLOBAL CACHE c'est quoi un adaptateur WIFI vers IR pour ceux qui ne savent pas? c'est un appareil électronique connecter au réseau Ethernet qui permet de faire transiter des ordres de contrôle au travers un réseau TCP/IP et vers des sorties infrarouge (IR). le voici en image Prés avoir configurer votre adapter IR sur votre réseaux on peut commencer. 1- Pour commencer nous allons connecter notre adaptateur WIFI sur notre HC2 en créant un bouton virtuel. nom: TV Pièces: Chambre Adresse IP: 192.168.0.6 (l'adresse de l'adaptateur WIFI) Port TCP: 4998 2- Création d'un ou des boutons selectioner le format de bouton souhaiter et valider une fois validée vous obtenez un tableau à compéter Label: On/Off ( bouton on off vous permettant de d'allumer ou éteindre votre TV) ID: vous pouvez le laisser comme il est, ID obtenu vous permettra exploiter votre bouton dans un scène Chaine à envoyer : (le code Hexa de votre bouton de votre telecommande ON OFF) 3- Comment trouver le code HEXA de votre bouton ON OFF de votre telecommande. Pour trouver le code HEXA, vous avez besoin d'un application ILEARN http://www.globalcache.com/files/software/iLearn.exe ce dernier vas permettre de copier le code de votre bouton de on off de votre telecommande. Une foi telecharger ouvrer l application, sélectionner le model de votre adaptateur IR et entrée l'adresse IP de ce dernier en suite configurer les options de capture: Module : 1 (sectionner le nombre de module que vous disposer sur votre réseau) pour notre exemple nous disposons que d'un seul module. connecteur: 3 (a L'arrière de votre module vous disposer de trois ports, utiliser le troisième pour connecter votre cellule IR (appeler Blaster) Repeat :1 (sert en général à doubler un code. Exemple: vous souhaiter crée un code correspondance a une chaîne TV n°88 il vous suffit de copier le code de la touche 8 de votre telecommande et de sélectionner Repeat :2 pour crée un code HEXA correspondant a la chaîne TV 88.) Offset :1 Un foi connecter et configurer, diriger votre telecommande vers le trous de réception IR 1 Cliquez sur Trim 2 Donner un nom à votre bouton (ON OFF) 3 cliquez sur SAVE DATA vous obtenez un code: [ONOFF]sendir,1:3,1,40192,1,1,17,103,3,69,4,44,5,67,3,45,4,68,3,45,5,43,5,67,4,44,7,41,7,41,8,1050,96,24,48,24,24,24,48,24,24,24,48,24,24,24,24,24,48,24,24,24,24,24,24,24,24,1033,96,24,48,24,24,24,48,24,24,24,48,24,24,24,24,24,48,24,24,24,24,24,24,24,24,1034,96,24,48,24,24,24,48,24,24,24,48,24,24,24,24,24,48,24,24,24,24,24,24,24,24,1033,96,24,48,24,24,24,48,24,24,24,48,24,24,24,24,24,48,24,24,24,24,24,24,24,24,4019 copier le a partir de sendir et coller le dans votre votre fenêtre (Chaine à envoyer) du HC2 et rajouter a la fin du code 0x0D0x0A 4 Sélectionner : En attente de la réponse du périphérique 5 Enregistrer 6 assurer vous que votre Blaster soit bien placée dans la pièce ou ce trouve la TV et depuis le HC2 ou votre tablette... appuyer le bouton ON OFF préalablement créé. J'aurais souhaité vous donner plus de détails mais malheureusement je n'ai pas assez d'espace pour ajouter d'autres images j'espère que TUTO vous donneras les base. et excusez lesquels fautes d’orthographe
  22. Et encore un petit tuto, Un ! :-) Cette fois-ci ce sera sur une télécommande pour un Ampli Marantz SR6008. Voici à quoi ça ressemble: Il y a donc moyen de sélectionner 3 sources et d'ajuster leur volume Les boutons Favori 1 à 3 sont les mêmes que ceux de la télécomande physique, donc accès aux stations radio numériques. Un appui sur ce bouton va allumer l'ampli et mettre la sélection Night mode active la compression sonore à fond (chez moi cela s'active dès que la maison est en mode "dodo enfants" c'est TRES pratique ! Les boutons Amplis activent et désactivent la sortie trigger de l'ampli ce qui permet d'allumer et d'éteindre les autres appareils (TV, ampli additionnel, caisson de basse, lecteur CD etc.) Pour avoir tout cela, rien de plus simple: installer le virtual device: Connectez votre Marantz au réseau Configurer l'adresse IP et le port: Et ça devrait marcher. Enjoy ! p.s; les versions 6007 etc devraient fonctionner aussi. Marantz_Remote.vfib
  23. OPENKAROTZ MV - Version 1.20 But : Ce module virtuel à pour but d'offrir les fonctions principales associées à votre lapin libéré par le biais d'OpenKarotz. Ce module virtuel permet de Faire parler le lapin (TTS) Lui demander de prendre un photo (stockée sur le lapin) Faire bouger les oreilles (gauche, droite, random et reset) Choisir la couleurs de la led Choisir la vitesse de clignotement Appeler l'application Mood Appeler l'application Funny Clock Jouer,stopper le mode Squeezbox Le mettre en veille (sleep) - (pas sur la photo) Le réveiller (WakeUp) - (pas sur la photo) Installation : - Importer le module virtuel ci-joint : OpenKarotz.vib Paramétrage : Renseigner l'adresse IP et le Port de votre Karotz dans les champs prévus à cet effet. Faire parler le lapin : Il faut créer un variable "Karotz" depuis le panneau des variables. Une fois créée vous pouvez modifier sa valeur fibaro:setGlobal("Karotz", "Ma phrase a lui faire dire") Appuyer sur le bouton TTS Exemple en LUA local module_id = 100 fibaro:setGlobal("Karotz", "Ceci est la phrase à dire") fibaro:call(module_id, "pressButton", "1") Visuel (v1.00) : Historique : version 1.10 Permet de bouger l'oreille gauche ou droite Ajout des bouton Squeezbox Play et Squeezbox stop version 1.15 Correction du bug permettant de changer la couleur de la led version 1.20 Ajout de libellés Possibilité d'enregistrer ou annuler le changement de couleur de la led Astuce : Pour utiliser la caméra de votre Karotz et la HC en mode image par image, il vous suffit de rentrer les paramètres suivants : Choisir une caméro "Autre" Entrer l'adresse IP de votre Karotz URL JPG : /cgi-bin/snapshot_view?silent=1 URL MPEG : /cgi-bin/snapshot_view?silent=1 Cochez JPG (à la fin) Refresh time 5 secondes OpenKarotz.vfib
  24. Roomba Irobot Domotisé

    Salut a tous, Voila, il y a quelques semaines je posais la question sur ce forum pour savoir si il était possible de domotiser son "Roomba". Et oui c'est possible ! Je vais donc vous faire profiter de mon installation. Peut être que cela servira a d'autres membres/Visiteurs de ce forum. Les différentes étapes : 1/ Commander la carte Roomba Wifi : http://www.roowifi.com/products-page/ 2/ Attendre ensuite que le gentil facteur la depose dans votre boite aux lettres. (pour info ça vient d' Espagne en courrier recommandé). 3/ Voila ensuite la bête : 4/ Enlever le "capot" de son Roomba pour accéder au port série. 5/ Brancher la carte wifi 6/ Ensuite il vous faudra connecter votre roomba a votre box grace au guide d' utilisateur (en anglais) mais très bien fait : Guide utilisateur RooWifi 7/ Une fois votre Roomba associé a votre Box et une IP (de preference fixe) lui étant attribué, on va pouvoir créer notre module Virtuel : Le Roomba dispose d' au moins 3 boutons principaux (CLEAN, SPOT et DOCK). On va donc créer un bouton avec .... 4 Boutons Et oui il est utile de rajouter un bouton "Reveil". 8/ Voici le code derrière chaque bouton : REVEIL : --[[ %% properties %% globals --]] fibaro:log("Réveil"); fibaro:call(24, "setProperty", "ui.status.value", "Roomba Reveillé"); HC2 = Net.FHttp("192.168.1.11", 80) HC2:setBasicAuthentication("admin", "roombawifi"); response = HC2:GET("/rwr.cgi?exec=1") CLEAN : --[[ %% properties %% globals --]] fibaro:log("Roomba au travail"); fibaro:call(24, "setProperty", "ui.status.value", "Roomba Activé"); HC2 = Net.FHttp("192.168.1.11", 80) HC2:setBasicAuthentication("admin", "roombawifi"); response = HC2:GET("/rwr.cgi?exec=1") fibaro:sleep(3*1000) response = HC2:GET("/rwr.cgi?exec=1") fibaro:sleep(3*1000) response = HC2:GET("/roomba.cgi?button=CLEAN") SPOT : --[[ %% properties %% globals --]] fibaro:log("Roomba Spot"); fibaro:call(24, "setProperty", "ui.status.value", "Roomba Spot"); HC2 = Net.FHttp("192.168.1.11",80) HC2:setBasicAuthentication("admin", "roombawifi"); response = HC2:GET("/rwr.cgi?exec=1") fibaro:sleep(10*1000) response = HC2:GET("/roomba.cgi?button=SPOT") DOCK : --[[ %% properties %% globals --]] fibaro:log("Roomba renvoyé au Dock"); fibaro:call(24, "setProperty", "ui.status.value", "Retour au Dock"); HC2 = Net.FHttp("192.168.1.11",80) HC2:setBasicAuthentication("admin", "roombawifi"); response = HC2:GET("/roomba.cgi?button=DOCK") Bien sur vous modifierez l'adresse IP. Chez moi il est en 192.168.1.11 Vous penserez aussi a modifier l' ID du module virtuel. Vous remarquerez certainement des commandes de réveil a repetition dans le bouton Clean. Alors oui c'est "Normal". Le Roomba a un peu de mal a sortir de sa transe. Quand il dort, apparemment il a le sommeil lourd. La seule solution que j' ai trouvé pour être sur qu'il démarre correctement est de le matraquer de commandes de sortie de réveil. Voila, vous pouvez piloter votre Roomba depuis votre Box. Je vous laisse ensuite créer des scenarios qui utiliserons ce module virtuel a votre convenance. Une derniers chose pour terminer, il est vivement conseillé de créer un petit carénage pour la carte wifi. Sinon vous risquez d'avoir des surprises (surtout si vous avez des meubles ou le roomba passe tout juste en dessous. Dans ce cas, il y a des chances que la carte se fasse scalper ...) Voici ma réalisation ... Evidement on peut certainement faire beaucoup mieux. J' ai réutilisé le capot que j'ai découpé et sur lequel j'ai fixé 3 bouts de PVC coudés pour que la carte soit protégée des chocs. Voila. A bientôt !
  25. Il m'est arrivé une fois un deux de me retrouver loin de chez moi (c'est toujours àce moment làque ça arrive) avec un box internet allumée mais plantée... Il aurait suffit de la débrancher et de la retrancher mais ... j'étais po là! Ce qu'il vous faut : 1/ Un NAS ou un serveur qui peut executer un PHP 2/ une prise (Fibaro wallplug ou Everspring An157 ...) qui gèrera l'alimentation de la box internet. Comment ça fonctionne : 1/ On teste la connexion vers l'extérieur en essayant de joindre google (la boxe peut sembler fonctionner wifi, switch et DHCP OK, mais plus d'accès vers l'extérieur) 2/ Si google ne répond pas on en déduit que la box est plantée. 3/ on éteint 5 secondes puis on rallume. Voici le script php àmettre sur votre NAS qui va faire ça àvotre place. Vous l'appellerez par le planificateur de tâche (Cron) avec une commande du type : "php -f /volume1/domotique/testinternet.php > /volume1/domotique/LogsTestinternet.txt" (qui sera exécutée toutes les 2 heures par exemple). $i=0; // initialisation du compteur pour la boucle du test d'accès au site google.fr $echec=0; // initialisation du nombre de tentatives infruscteuses //Je teste 6 fois le site google.fr avec 30 secondes entre chaque test (Donc si injoignable pendant 3 minutes je reboote) while($i<6) { $fp = fsockopen('www.google.fr', 80); //Ouvre un socket if(!$fp) { $echec++; } sleep(30); $i++; } //Si le test est négatif 3 fois de suite je relance la freebox. if($echec==6) { echo date('d / m / Y H:i:s').' Attention : le site de google.fr n\'a pas répondu '.$echec.' fois de suite !'; // $zibase->execScript("lm [Relancer Freebox]"); $fp = fsockopen('http://Login:MotDePass@AdresseIpLocaleHC2/api/callAction?deviceID=76&name=pressButton&arg1=1'); } else { echo date('d / m / Y H:i:s'). ' Le site de google.fr a bien répondu.'; fclose($fp); //ferme le socket ouvert } ?> Le bouton de mon module virtuel contient ceci : fibaro:call(75, "turnOff");fibaro:sleep(3000)fibaro:call(75, "turnOn"); Ma prise An157 àl'ID 75. Voilàqui peut vous permettre de continuer vos vacances sereinement loin de chez vous avec une box toujours joignable. En espérant que ça vous soit utile.

Footer title

This content can be configured within your theme settings in your ACP. You can add any HTML including images, paragraphs and lists.

Footer title

This is an example of a list.

Footer title

This content can be configured within your theme settings in your ACP. You can add any HTML including images, paragraphs and lists.

Footer title

This content can be configured within your theme settings in your ACP. You can add any HTML including images, paragraphs and lists.

×
/* Navigation */ function ipsfocusNavigation() { var navwidth = 0; var morewidth = $('.ipsNavBar_primary .focus-nav-more').outerWidth(true); $('.ipsNavBar_primary > ul > li:not(.focus-nav-more)').each(function() { navwidth += $(this).outerWidth( true ) + 2; }); var availablespace = $('.ipsNavBar_primary').outerWidth(true) - morewidth; if (availablespace > 0 && navwidth > availablespace) { var lastItem = $('.ipsNavBar_primary > ul > li:not(.focus-nav-more)').last(); lastItem.attr('data-width', lastItem.outerWidth(true)); lastItem.prependTo($('.ipsNavBar_primary .focus-nav-more > ul')); ipsfocusNavigation(); } else { var firstMoreElement = $('.ipsNavBar_primary li.focus-nav-more li').first(); if (navwidth + firstMoreElement.data('width') < availablespace) { firstMoreElement.insertBefore($('.ipsNavBar_primary .focus-nav-more')); } } if ($('.focus-nav-more li').length > 0) { $('.focus-nav-more').removeClass('focus-nav-hidden'); } else { $('.focus-nav-more').addClass('focus-nav-hidden'); } } $(window).on('load',function(){ $(".ipsNavBar_primary").removeClass("focus-nav-loading"); ipsfocusNavigation(); }); $(window).on('resize',function(){ ipsfocusNavigation(); }); // Make hover navigation work with touch devices // http://osvaldas.info/drop-down-navigation-responsive-and-touch-friendly ;(function(e,t,n,r){e.fn.doubleTapToGo=function(r){if(!("ontouchstart"in t)&&!navigator.msMaxTouchPoints&&!navigator.userAgent.toLowerCase().match(/windows phone os 7/i))return false;this.each(function(){var t=false;e(this).on("click",function(n){var r=e(this);if(r[0]!=t[0]){n.preventDefault();t=r}});e(n).on("click touchstart MSPointerDown",function(n){var r=true,i=e(n.target).parents();for(var s=0;s ul > li:has(ul)').doubleTapToGo(); var browserResponsiveWidth = 980; var defaultBrowserWidth = $(window).width(); var headerHeight = $("#header").height(); var headerWrap = $(".headerWrap"); var headerBackgrounds = $(".headerBackgrounds"); var headerBlur = $(".headerBlur"); var blurEnd = 110; var headerEffects = function(){ var amountScrolled = $(window).scrollTop(); // Make navigation fixed if( amountScrolled >= headerHeight ){ headerWrap.addClass("fixedBlur"); } else { headerWrap.removeClass("fixedBlur"); } // Blur header if( (amountScrolled <= blurEnd) ){ headerWrap.removeClass("blurred"); } else { headerWrap.addClass("blurred"); } // Parallax effect var translateHeader = amountScrolled / 2; if( amountScrolled <= headerHeight ){ headerBackgrounds.css( "margin-top", translateHeader + "px" ); } else { headerBackgrounds.css( "margin-top", (headerHeight / 2) + "px" ); } } if( $('body').hasClass('wDesktop') ){ $(window).scroll(function(){ headerEffects(); }); }; });