Aller au contenu

Moicphil

Co-Administrateur
  • Compteur de contenus

    8 501
  • Inscription

  • Dernière visite

  • Jours gagnés

    66

Tout ce qui a été posté par Moicphil

  1. Oui, pour des commandes importantes, ne pas hésiter àdemander un devis par mail àDomadoo et/ou Domotique-Store.
  2. Moicphil

    Problème De Timer Sur Hcl

    On est d'accord pour la doc... Néanmoins, plusieurs sujets sur ce point sont présents sur le forum. ( la case est à "cocher" pour toute scène ayant pour trigger une condition "time". )
  3. Moicphil

    Bonjour

    Bonjour, bienvenue sur le forum.
  4. Moicphil

    Problème De Timer Sur Hcl

    Bonjour As-tu coché "lancer au démarrage du Home center" ?
  5. J'étais sur que t'allais te mettre dessus ! Tu nous fais la "totale" hein ? enregistrement, prog...etc...
  6. Vous avez certainement remarqué que le serveur est passé en V3... et de nouvelles API . Gestion des enregistrements, accès aux chaines, programme...etc. Qui s'y colle pour me récupérer le programme tv ? >>http://www.universfreebox.com/article/26809/Freebox-OS-3-0-les-nouvelles-API
  7. Ils servent à quoi ces modules ? // je pourrais chercher sur internet mais je fais mon flemmard ... //
  8. Bon, je viens de faire un essais depuis la hclite vers la hc2. Pas de problème. Il faut pas oublier : - de renseigner l'ip locale de box - quand tu encode, ne pas oublier les " : " Voila des captures + le module virtuel utilisé pour le test test_get_skanky.vfib
  9. Envoi plutôt le module virtuel ( export virtual device ) en attendant, je vais faire des essais, j'ai pas de volets, mais je vais faire des turnOn/turnOff sur un wallplug. Tu as quelle version de logiciel ? 3.593 ?
  10. Bizarre que ça ne fonctionne pas avec ce code inséré dans un bouton d'un module virtuel : GET /api/callAction?deviceID=XX&name=stop HTTP/1.1 Host: 192.168.x.xxx Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxx 0x0D0x0A0x0D0x0A Es-tu sur de bien avoir encodé en base64 ? Pas d'espace après les lignes ?
  11. Moicphil

    Bonjour

    Bonjour, bienvenue sur le forum. Tu ne pourras malheureusement pas utiliser un port usb de la hc2 pour connecter ton modem téléinfo. J'ai fais comme toi, revendu Eedomus + modem et acheté un Ecodevice en remplacement.
  12. Moicphil

    Bonjour

    Bonjour, bienvenue sur le forum
  13. Bonjour, bienvenue sur le forum
  14. Moicphil

    Bonjour!

    Bonsoir, bienvenue sur le forum.
  15. Module Virtuel Alarme Avancée Voici un module virtuel qui va vous permettre de gérer une " alarme " avec sélection de la zone à contrôler. Ce module est couplé à une seule et unique scène. Avant d'activer la zone choisie, vous aurez préalablement renseigné les sensors à contrôler. Possibilité, pour chaque zone, d'exclure temporairement un ou plusieurs sensors de la zone. Possibilité de lancer un test de l'ensemble des sensors déclarés dans la HC2. Ceci pour vérifier leur état ( ouvert ou fermé ) Un mode "Panic" fonctionnant sur un double-clic (paramétrable) Principe de fonctionnement : Appui sur la zone souhaitée...si les sensors déclarés sont dans l'état "fermé", on active le mode choisi (via une variable) puis push pour confirmer la mise en route. Si un ou des sensors sont ouverts, on reste en mode "arrêt", puis push pour nous signaler quel(s) sensor est ouvert(s). La scène contrôle en continu l'état des variables et des sensors. si passage en "ouvert" pendant qu'une zone est active, les actions se feront selon votre choix selon si votre sensor est "ouvert" ou "ouvert et armé" Nous avons donc 7 scènes en une . Dans ce module, pour "regrouper", j'ai intégré le pilotage de mes automatismes, mais vous pouvez bien évidement supprimer les boutons et labels dédiés. Avant toute chose, créer 3 variables : PA_Sensors (stocke les ID a contrôler) PA_Mode (stocke le mode en cours) PA_Exclus (stocke les ID a exclure) Sur les 3 premiers boutons (dans mon cas, c'est Jour, Nuit, Silence), il faut remplacer la ligne local sensors = {21, 28, 91, 82} par les détecteurs que vous souhaitez vérifier selon le mode : . Si vous souhaitez "armer" les sensor dans un mode vous pouvez saisir le code ci-dessous pour chaque sensor à armer : . local sensors = {133, 25, 232, 103, 28, 31, 132, 229, 228, 29, 30, 131} --"Porte escalier","Porte salon 1","Porte entrée","Porte salon 2","Fenetre garage","Fenetre buanderie","Fenetre cuisine","Porte de garage","Chambre grise","Fenetre chambre","velux","Fenetre salon 3"} -- --------------------------------------- -- Ne pas toucher -- --------------------------------------- local mode = "Jour" fibaro:setGlobal("PA_Sensors", json.encode(sensors)) fibaro:setGlobal("PA_Mode", mode) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblMode.value", mode) --pour armer un ou des sensors : --fibaro:call(25, "setArmed", "1") armer un sensor --fibaro:call(232, "setArmed", "1") armer un sensor . Les boutons d'exclusion sensor: Derrière chaque bouton, renommer le Label ( dans mon cas "Fen.1" ... "Fen.2" ), puis copier le code ci-dessous et changer l'ID de l'ouvrant concernée ..ID 25 dans mon cas car 25 est l'ID de mon détecteur de fenêtre 1 local sensor = 25 . Code à insérer sur chaque bouton : local sensor = 25 -- --------------------------------------- -- Ne pas toucher -- --------------------------------------- function exist(t, s) for i,k in ipairs(t) do if (k == s) then return i end end return nil end local exclus = fibaro:getGlobal("PA_Exclus") if (exclus and exclus ~= "") then exclus = json.decode(exclus) else exclus = {} end local index = exist(exclus, sensor) if (index) then table.remove(exclus, index) else table.insert(exclus, sensor) end local jExclus = "" local nExclus = "" if (#exclus > 0) then jExclus = json.encode(exclus) for i = 1, #exclus do nExclus = nExclus .. fibaro:getName(exclus[i]) .. ", " end nExclus = nExclus:sub(1, nExclus:len()-2) end fibaro:setGlobal("PA_Exclus", jExclus) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblExclus.value", nExclus) Vous pouvez, si vous souhaitez, supprimer ou ajouter des boutons supplémentaires. Bouton "test des ouvrants" : Pour le bouton "test des ouvrants", spécifier le ou les Id des smartphones qui recevront une notification : (Dans mon cas : 239 ) . Voici la scène qui gère tout ça : Ce que vous avez à faire : Au début du code... - Renseigner l'ensemble des id des sensors associé à la HC2 sous l'entète "properties" - Renseigner l'Id du ou des smartphones - Renseigner l'Id du module virtuel précédemment créé. - Renseigner les actions selon le mode choisi et si le(s) sensor(s) et armé ou non : . --[[ %% properties %% globals PA_Mode PA_Sensors --]] local portables = {xx, xx} local id_module_virtuel = xxx function doIt(mode, armed, id) fibaro:debug(mode) if (armed) then fibaro:debug("armé") else fibaro:debug("désarmé") end ----------------------------------------------------------------- if (mode == "Jour" and armed) then ----------------------------------------------------------------- ----------------------------------------------------------------- elseif (mode == "Jour" and not armed) then ----------------------------------------------------------------- ----------------------------------------------------------------- elseif (mode == "Nuit" and armed) then ----------------------------------------------------------------- ----------------------------------------------------------------- elseif (mode == "Nuit" and not armed) then ----------------------------------------------------------------- ----------------------------------------------------------------- elseif (mode == "Silence" and armed) then ----------------------------------------------------------------- ----------------------------------------------------------------- elseif (mode == "Silence" and not armed) then ----------------------------------------------------------------- ----------------------------------------------------------------- elseif (mode == "Manuel" and armed) then ----------------------------------------------------------------- elseif (mode == "Manuel" and not armed) then ----------------------------------------------------------------- elseif (mode == "Arret" and armed) then ----------------------------------------------------------------- elseif (mode == "Arret" and not armed) then ----------------------------------------------------------------- ----------------------------------------------------------------- elseif (mode == "Panic") then ----------------------------------------------------------------- ----------------------------------------------------------------- end end -- ----------------------------------------------------- -- Envoi le message PUSH -- ----------------------------------------------------- function sendMessage(message) for i = 1, #portables do fibaro:call(portables[i], "sendPush", message) end fibaro:debug(message .. " [envoyé]") end -- ----------------------------------------------------- -- Vérifie si les portes sont bien fermées -- ----------------------------------------------------- function check(doors) local stillopen = {} -- On vérifie l'état des portes -- for i = 1, #doors do if (doors[i]~=nil) then local id = tonumber(doors[i]) local name = fibaro:getName(id) or "unknown" if (tonumber(fibaro:getValue(id, "value")) == 1) then table.insert(stillopen, id) fibaro:debug(name .. " est ouverte") else fibaro:debug(name .. " est fermée") end else fibaro:debug("ID #"..i.." n'existe plus") end end if (stillopen and #stillopen > 0) then -- au moins une porte n'est pas fermée local msg = "" if (#stillopen == 1) then msg = msg .. "Attention : " else msg = msg .. "Attention : " end for i = 1, #stillopen do msg = msg .. " " .. fibaro:getName(tonumber(stillopen[i])) end if (#stillopen == 1) then msg = msg .. " est toujours ouverte." else msg = msg .. " sont toujours ouvertes." end -- -------------------------------------------- -- Actions si sensor(s) ouvert(s) ----------------------------------------------- -- on averti par push sendMessage(msg) -- Passage en mode Arret local mode = "Arret" fibaro:setGlobal("PA_Mode", mode) fibaro:call(id_module_virtuel, "setProperty", "ui.lblMode.value", mode) return false end return true end -- ----------------------------------------------------- -- Transforme une châine en tableau en utilisant -- un délimiteur -- ----------------------------------------------------- function split(text, sep) local sep, fields = sep or ":", {} local pattern = string.format("([^%s]+)", sep) text:gsub(pattern, function(c) fields[#fields+1] = c end) return fields end local source = fibaro:getSourceTrigger() local id_declencheur = nil local isOpen = "1" fibaro:debug(source["type"]) if (source["type"] == "property") then id_declencheur = tonumber(source["deviceID"]) elseif (source["type"] == "global") then fibaro:debug( source["name"]) local gName = fibaro:getGlobal(source["name"]) if ( gName == "Panic") then doIt( "Panic", false, 0 ) elseif (source["name"] == "PA_Sensors") then fibaro:debug(gName) local doors = fibaro:getGlobal("PA_Sensors") local exclus = fibaro:getGlobal("PA_Exclus") doors = split(string.gsub(doors, "[%[%]]", ""), ",") if (exclus and exclus ~= "") then exclus = split(string.gsub(exclus, "[%[%]]", ""), ",") else exclus = {} end todo = {} for i = 1, #doors do local found = false for j = 1, #exclus do if (doors[i] == exclus[j]) then found = true end; end if (not found) then table.insert(todo, doors[i]) fibaro:debug(doors[i] .. " doit être vérifiée") end end fibaro:debug("Checking doors") if (not check(todo)) then else ------------------------------------------- -- Actions lorsque l'alarme est activée ------------------------------------------- --Vos actions ici ---------------------------------------------- end end elseif (source["type"] == "other") then id_declencheur = nil isOpen = "0" end if (not id_declencheur) then return end fibaro:debug("Déclencheur " .. id_declencheur) local actif = fibaro:getGlobal("PA_Sensors") local exclus = fibaro:getGlobal("PA_Exclus") if (actif and actif ~= "") then fibaro:debug(actif) actif = string.gsub(actif, "[%[%]]", ",") local exist = string.find(actif, ","..id_declencheur) if (exist) then fibaro:debug("exist") end local todo = exist if (exclus and exclus ~= "") then fibaro:debug(exclus) exclus = string.gsub(exclus, "[%[%]]", ",") if (string.find(exclus, ","..id_declencheur)) then fibaro:debug("ID Excluded") todo = false end else fibaro:debug("Exclus empty") end if (todo and fibaro:getValue(id_declencheur, "value")==isOpen ) then doIt( fibaro:getGlobal("PA_Mode"), fibaro:get(id_declencheur, 'armed')=="1", id_declencheur ) end end -- J'ai testé ce module pendant 15 jours, sans aucuns soucis, très fiable et réactif. Pour télécharger le Vfid, c'est ici : >> Alarme_Avancée.vfib J’espère ne rien avoir oublié et que c'est assez clair... Un grand merci à Steven pour son aide si précieuse . .
  16. Moicphil

    Bonjour

    Bonjour, bienvenue sur le forum !
  17. Moicphil

    Projet Jeedom

    Bonjour Matthieu. 3 jours que je test Jeedom, je vais me permettre quelques petites remarques... J'ai installé le soft sur Raspberry, pour tester l'interface en attendant une carte RaZb. Premières impressions à chaud : -Installation du soft sur carte SD > pas de pb particulier mais faut tout de même un minimum de base en commande Unix ( sudo, etc...) même si tout est expliqué sur le site Jeedom. ( j'ai pas vu d'explication sur le site comment se connecter au rasp en SSH (Putty, etc...), peut être le préciser pour celui qui débute ? ) -Installation faite, première connexion en ayant récupéré l'IP du rasp sur le routeur (peut être proposer un utilitaire pour récupérer l'Ip plus facilement ? ) - Connexion à l'interface Php Jeedom...cool ! mais...que c'est long à charger, environ 3/4 sec entre chaque changement de page ! Je suis sur un Rasp donc c'est pas une bête de course mais j'ai vu d'autre serveur/soft tourner rapidement sur ces produits. Est-ce du la la Base de donnée Jeedom ? - Au démarrage on arrive donc sur une page vide, normal, j'ai rien configuré encore...mais... Cela aurait était top de proposer un mode "Démo" avec quelques fonctions implémentées au départ, pour se rendre compte des arborescences. - Sur le site, toutes les fonctions et paramétrages sont bien expliqués, ca c'est top ! ( des tutos vidéo sont à venir il me semble ?) - Le principe de Market est judicieux, déjà plein de fonctions disponibles ( gratuites ou non ), la communauté pourra au gré proposer de nouveau pluggin via un kit de développement. De même, la possibilité de paramétrer à sa guise ses widgets et vues, c'est très appréciable. Voilà , ce projet qui démarre a un énorme potentiel, et votre équipe de passionnés est trés réactive. Une box open Source, multiprotocole... que demander de mieux !? ( Maintenant, je vais attendre la sortie de la mini ou la center pour continuer mes investigations car la lenteur du système sur Rasp me rebute. ) Bonne continuation... Philippe
  18. Moicphil

    Hello

    Bonjour, bienvenue sur le forum
  19. Moicphil

    Bonjour

    Bonjour, bienvenue sur le forum
  20. Bonjour, bienvenue sur le forum
  21. Bonjour, bienvenue sur le forum
  22. Bonjour, bienvenue sur le forum
  23. Bonjour, bienvenue sur le forum
  24. Moicphil

    Projet Jeedom

    Tu peux déjàtester si tu as un raspberry. Juste àinstaller jeedom sur la sd. Envoyé de mon C6603 en utilisant Tapatalk
×
×
  • Créer...