Aller au contenu

labomatik

Membres confirmés
  • Compteur de contenus

    186
  • Inscription

  • Dernière visite

Tout ce qui a été posté par labomatik

  1. labomatik

    Plex - Films En Cours De Lecture

    Bonjour à tous, Ma petite contribution pour pouvoir récupérer les films en cours de lecture sur le serveur Plex. Il y a encore beaucoup d'amélioration possible mais il modifie déjà une variable globale (1 = film en cours, 0 = aucun film) et affiche le film en cours. Note: Aucune gestion de la lecture de plusieurs films en même temps. Il manque aussi l'information sur la source du lecteur plex (tv, iphone, ...), ce sera pour une prochaine version ;-) Importez le virtual device PlexHC2.vfib.zip PlexHC2 modifiez ces lignes: -- !!! VOS PARAMETRES !!! PlexHC2.Plex_ip = '192.168.1.9' -- IP du serveur Plex PlexHC2.Plex_port = 32400 -- PlexHC2.globalvariable = "" L'image du VD Note2: Largement inspiré du script de Steven MétéoAlerte (un grand merci à lui pour son travail)
  2. labomatik

    Fibaro et Qnap

    Taipei, Taiwan, March 23, 2017 - QNAP® Systems, Inc. and FIBARO®, one of the fastest-growing companies in the smart home sector and producer of the Internet of Things devices, have joined forces to introduce an optimized smart home solution built on renowned QNAP NAS solutions and FIBARO systems. FIBARO’s contribution means having access to the endless possibilities offered by one of the most innovative smart home systems in the world. It provides a wireless home automation system to create smart homes by using a server and peripheral devices - motion sensors, leak sensors, shutter and lightning controllers, and beyond. As the hub is the heart of the FIBARO system to manage all of the executive devices, QNAP NAS ensures ease-of-use, robust operation, large storage potential, high reliability and security to provide the ideal management center for all the connected FIBARO system features. A setup of QNAP NAS and FIBARO software and technology will allow users to do the following: automatize lighting, heating, and security monitoring. They will also be able to manage shutters and windows as well as flooding and fire alarms, set complex scenes (programmed sequences of actions executed by home devices). They can also play music or videos stored on the NAS for home entertainment, or build an archive server for security footage. The official launch of FIBARO solutions for QNAP NAS is scheduled for 2017. Visitors will have an opportunity to preview the integrated system at QNAP's booth (Hall 2, Stand C63) in CeBIT 2017.
  3. labomatik

    Pilotez Votre Qnap Avec La Hc2

    Bonjour à tous, Voici un petit tutoriel sur comment piloter son nas QNAP avec la HC2. Je ne suis pas dévelopeur LUA sous HC2 donc il y a surement moyen d'optimiser tout ça (notamment les variables login/pass). Les 3 exemples sont basés sur mes besoins actuels, j'arrête mon nas le soir avec l'armement de mon alarme et rallume avec le désarmement de mon alarme grace au WOL (plugin fibaro). Avec les nouvelles génération de nas X51, il est possible de lancer la commande sleep et non shutdown, ce qui permet au NAS d'être réveillé en 5 secondes (RAM sauvegardée) Configuration QNAP Vous devez autoriser la connexion sans SSL (la HC2 ne supporte pas le ssl) HC2 voici un exemple de quelques fonctions que j'ai utilisé pour commander mon NAS - arrêter le nas proprement - démarrer l'enregistrement des caméras de la station de surveillance - arrêter l'enregistrement des caméras de la station de surveillance si vous voulez obtenir l'API complet des fonctions des NAS qnap, envoyez un petit mail à developer@qnap.com (anglais) --> Je ne suis pas dévelopeur et/ou je ne veux pas comprendre Voici alors le virtuel device déjà prêt avec les 3 fonctions vous devez configurer l'IP et le port dans la configuration du virtuel device et adapter le login/pass dans le code des 3 boutons (remplacez LOGIN_NAS et PASSWORD_NAS) QNAP.vfib.zip --> Je suis dévelopeur et/ou je veux comprendre démarrer l'enregistrement: local ip_module = fibaro:get(fibaro:getSelfId(), "IPAddress") local port = fibaro:get(fibaro:getSelfId(), "TCPPort") surveillance_Station = Net.FHttp(ip_module, port) surveillance_Station:setBasicAuthentication("LOGIN_NAS", "PASSWORD_NAS") response = surveillance_Station:GET("/cgi-bin/mrec.cgi?ch=1&act=1") if (string.find(response, "OK")) then fibaro:log("Starting Recording") else fibaro:log("ERROR") end arrêter l'enregistrement local ip_module = fibaro:get(fibaro:getSelfId(), "IPAddress") local port = fibaro:get(fibaro:getSelfId(), "TCPPort") surveillance_Station = Net.FHttp(ip_module, port) surveillance_Station:setBasicAuthentication("LOGIN_NAS", "PASSWORD_NAS") response = surveillance_Station:GET("/cgi-bin/mrec.cgi?ch=1&act=0") if (string.find(response, "OK")) then fibaro:log("Stop Recording") else fibaro:log("ERROR") end la partie plus complexe qui nécessite un parseur XML, l'arret du NAS if (not QNAP) then QNAP = {} QNAP.qnap_ip = fibaro:get(fibaro:getSelfId(), "IPAddress"); QNAP.port = fibaro:get(fibaro:getSelfId(), "TCPPort"); QNAP.globalvariable = "" -- -------------------------------------------------------------------------------------------------------------- -- Obtient le XML et le retourne sous forme de table LUA -- -------------------------------------------------------------------------------------------------------------- QNAP.getTokenFromXml = function() local QNAP2URL = Net.FHttp(QNAP.qnap_ip,QNAP.port); response = QNAP2URL:GET("/cgi-bin/authLogin.cgi?user=LOGIN_NAS&plain_pwd=PASSWORD_NAS&remme=1"); xmlTable = QNAP.iif(response ~= nil, QNAP.newParser().ParseXmlText(response), ""); if (xmlTable.QDocRoot ~= nil) then qsidstr = xmlTable.QDocRoot.authSid:value(); if (string.len(qsidstr)>0) then fibaro:debug("Qtoken founded"); qsidstr = qsidstr:gsub("[".."<![CDATA[".."]", ''); qsidstr = qsidstr:gsub("[".."]".."]", ''); qsidstr = qsidstr:gsub("["..">".."]", ''); fibaro:debug(qsidstr); response = QNAP2URL:GET("/cgi-bin/sys/sysRequest.cgi?subfunc=power_mgmt&count=0.1234&sid="..qsidstr.."&apply=shutdown"); if (string.find(response, "OK")) then fibaro:log("Power Off Server") else fibaro:log("ERROR") end end end end -- ------------------------------------------------------------------------------------------------------------- -- Teste la condition et retourne la valeur true ou false -- ------------------------------------------------------------------------------------------------------------- QNAP.iif = function(condition, iftrue, iffalse) if (condition) then return iftrue end return iffalse end -- ------------------------------------------------------------------------------------------------------------- -- Ceci est une version modifiée par Steven de Corona-XML-Module par Jonathan Beebe qui a son tour -- est basée sur Alexander Makeev's Lua-only XML parser . -- see https://github.com/Cluain/Lua-Simple-XML-Parser -- ------------------------------------------------------------------------------------------------------------- QNAP.newParser = function() parseXml = {} parseXml.FromXmlString = function(value) value = string.gsub(value, "([%x]+)%;", function(h) return string.char(tonumber(h, 16)) end); value = string.gsub(value, "([0-9]+)%;", function(h) return string.char(tonumber(h, 10)) end); value = string.gsub(value, "'", "'"); value = string.gsub(value, ">", ">"); value = string.gsub(value, "<", "<"); value = string.gsub(value, "&", "&"); return value; end parseXml.ParseArgs = function(node, s) string.gsub(s, "(%w+)=([\"'])(.-)%2", function(w, _, a) node:addProperty(w, parseXml.FromXmlString(a)) end) end parseXml.ParseXmlText = function(xmlText) local stack = {} local top = parseXml.newNode() table.insert(stack, top) local ni, c, label, xarg, empty local i, j = 1, 1 while true do ni, j, c, label, xarg, empty = string.find(xmlText, "<(%/?)([%w_:]+)(.-)(%/?)>", i) if not ni then break end local text = string.sub(xmlText, i, ni - 1); if not string.find(text, "^%s*$") then local lVal = (top:value() or "") .. parseXml.FromXmlString(text) stack[#stack]:setValue(lVal) end if empty == "/" then -- empty element tag local lNode = parseXml.newNode(label) parseXml.ParseArgs(lNode, xarg) top:addChild(lNode) elseif c == "" then -- start tag local lNode = parseXml.newNode(label) parseXml.ParseArgs(lNode, xarg) table.insert(stack, lNode) top = lNode else -- end tag local toclose = table.remove(stack) -- remove top top = stack[#stack] if #stack < 1 then error("XmlParser: nothing to close with " .. label) end if toclose:name() ~= label then error("XmlParser: trying to close " .. toclose.name .. " with " .. label) end top:addChild(toclose) end i = j + 1 end local text = string.sub(xmlText, i); if #stack > 1 then error("XmlParser: unclosed " .. stack[#stack]:name()) end return top end parseXml.newNode = function(name) local node = {} node.___value = nil node.___name = name node.___children = {} node.___props = {} function node:value() return self.___value end function node:setValue(val) self.___value = val end function node:name() return self.___name end function node:setName(name) self.___name = name end function node:children() return self.___children end function node:numChildren() return #self.___children end function node:addChild(child) if self[child:name()] ~= nil then if type(self[child:name()].name) == "function" then local tempTable = {} table.insert(tempTable, self[child:name()]) self[child:name()] = tempTable end table.insert(self[child:name()], child) else self[child:name()] = child end table.insert(self.___children, child) end function node:properties() return self.___props end function node:numProperties() return #self.___props end function node:addProperty(name, value) local lName = "@" .. name if self[lName] ~= nil then if type(self[lName]) == "string" then local tempTable = {} table.insert(tempTable, self[lName]) self[lName] = tempTable end table.insert(self[lName], value) else self[lName] = value end table.insert(self.___props, { name = name, value = self[name] }) end return node end return parseXml; end end QNAP.getTokenFromXml();
  4. labomatik

    Fibaro et Qnap

    Attention que là on parte d'un qpkg développé par un partenaire (stéphane) sans aucune interaction avec le système, d'apres ce que j'ai compris du PM pour Fibaro on parle d'une integration profonde (sans doute: caméra, systeme d'alerte, fichiers,...) christophe
  5. labomatik

    Fibaro et Qnap

    Je vais essayer d'avoir plus d'infos via le PM chez QNAP. J'espere pouvoir avoir aussi quelques beta Christophe
  6. labomatik

    Fibaro et Qnap

    Voici ce qui peut etre démontré sur le stand Qnap au cebit, c'est une connexion en local sur le nas
  7. labomatik

    Openkarotz - Module Virtuel

    Ahhh je viens de trouver, sous chrome rien dans la liste, sous safari, là j'ai la liste... (l'erreur de chrome:)
  8. labomatik

    Openkarotz - Module Virtuel

    Perso j'ai réinstallé tout le lapin, via le reset http://plug.openkarotz.org puis installation de la version 2.0 puis j'applique le firmware 2.1 et là le fameux Web Version : 210 RootFs : Unkown Mais là impossible d'installer un nouveau firmware pour corriger le rootFS comme précisé dans la doc, la liste est vide: @Massalia: une idée?
  9. labomatik

    Openkarotz - Module Virtuel

    But what about OpenKarotz? Will it ever speak again? We also found a workaround for this problem: We created a Python script you can use in combination with Voice RSS. Voice RSS is also a Text To Speech service, offering a free plan for a maximum of 350 request per day. On VoiceRss.org, you can create a free account. It will give you a personal API key. You will need this key together with our script to let your Karotz talk using OpenKarotz. Follow these steps: Create an account on http://www.voicerss.org/ Save your Api key. Download http://www.freerabbits.nl/downloads/karotz/tts.zip or download the source from Github. UnZIP the file. Edit it with a textfile editor and replace "your-key-here" with your Api key (line 9, don't remove the quotes) Save the file, don't forget to use Unix line-endings. Upload it to your Karotz to /www/cgi-bin and replace the original file. You can also remove tts.inc now. Test TTS using the webinterface of OpenKarotz. If it doesn't work: enter commands "dos2unix /www/cgi-bin/tts" and "chmod 755 /www/cgi-bin/tts" and try again. Although the quality is not as good as Polly, this might be a solution you can live with. We hope this will help you to let your Karotz talk again. Let us know what you think!
  10. labomatik

    Ajouter Un Jeedom Comme Slave

    Bonjour à tous, j'ai la version beta 4.057 sur ma HC2, je souhaiterai ajouter un système jeedom comme esclave et garder HC2 en maitre, avez-vous une idée de comment procéder? Christophe
  11. labomatik

    Consommation Data Hc2 4.09

    meme chose chez moi pour la conso
  12. Juste un petit point:
  13. labomatik

    Ajouter Un Jeedom Comme Slave

    Voici les infos de Loic: Merci pour la réponse, le primaire est une HC2 sur lequel j'ai activé l'apprentissage Ajouter un contrôleur "secondaire. Y a t'il moyen d'avoir plus d'information sur ce qui pose problème. y a t'il une doc qui explique quel est le bénéfice d'un master et slave, en gros je veux personnellement avoir jeedom= slave et HC2=master mais peut etre vaut il mieux l'inverse... Donc en gros, le zwave master et slave c'est une bonne implementation sauf que tout le monde pointe vers les autres intégrateurs (c'est leur faute) en disant que c'est pas testé et supporté :-(
  14. labomatik

    Ajouter Un Jeedom Comme Slave

    j'ai ouvert un ticket sur le support ... on va bien voir. Coté Jeedom j'aime bien les intégrations plugins, code scénario mais je prefere HC2 au niveau UI et la partie Zwave
  15. labomatik

    Ajouter Un Jeedom Comme Slave

    Cmoi20, est ce que tu sais si jeedom est au courant pour le probleme "Créer un nouveau noeud primaire" car je viens d'essayer et aucun lien entre le HC2 et jeedom (ils sont à coté l'un de l'autre) christophe
  16. labomatik

    Débutant En Électricité :-)

    non j'utilise le thermostat de l'aterno
  17. labomatik

    Débutant En Électricité :-)

    Bonjour à tous, Voilà je continue mon petit chemin avec mon HC2, cette semaine, je voudrai domotiser mes chauffages, je possède des chauffages aterno avec un système de pilotage (via les ondes mais lesquelles ???) mais voilà c'est un pilotage sur base d'un planning avec 2 températures (nuit et jour) donc aucun lien avec ce qui se passe à la maison. Je souhaiterai donc intégrer au niveau des chauffages (seul élement relié electriquement) un module pour compter l'electricité mais aussi pour allumer/couper le chauffage (peu importe ce que le systeme de pilotage fera) En gros lorsque le chauffage sera allumé il se basera sur la programmation. Maintenant ma question, j'ai ceci au niveau de mes chauffages: Les 2 fils sont connectés au chauffages. Quel module utiliser pour pouvoir remonter la consommation instantanée et éteindre/allumer le chauffage? Je pensai http://my-domotique.com/store/index.php?id_product=438&controller=product&id_lang=2 ou http://my-domotique.com/store/index.php?id_product=37&controller=product&id_lang=2 qu'en pensez-vous? Et comment réaliser l'installation (quel fil connecter ou :-) ) Merci d'avance Christophe
  18. labomatik

    Débutant En Électricité :-)

    J'ai finalement rajoute un plug on/off sur la prise From tapatalk.
  19. labomatik

    Pilotez Votre Qnap Avec La Hc2

    je vais contacter qnap pour voir si l'api a changé. Christophe
  20. labomatik

    Pilotez Votre Qnap Avec La Hc2

    Quel est la version du QTS? christophe
  21. labomatik

    Openkarotz - Module Virtuel

    C'est un problème lié àopenkarotz et non au vd. J'ai appliqué ce patch et tout fonctionne http://www.touteladomotique.com/forum/viewtopic.php?f=160&t=11661&start=2127 Envoyé de mon iPhone en utilisant Tapatalk
  22. labomatik

    Pb Camera Abus Tvac16000A+Fibaro

    sur la faq du site: A moins de faire du reverse engineering ça me parait peut probable, le signal est crypté entre la caméra et le recepteur, le recepteur change d'adresse tous les jours et envoie les données au site de ABUS (23.23.185.237) de manière cryptée. Christophe
  23. Bonjour à tous, J'ai une question concernant le module dimmer qubino http://qubino.com/products-2/flushdimmer/ est il possible de lier ce module avec un interrupteur dimmer du type NIko http://www.niko.eu/frfr/niko/produits/variateurs/variateurs_a_encastrer/variateur_a_bouton_rotatif_300w et http://www.niko.eu/frfr/niko/article/310-01301 Si ce n'est pas possible quels sont les alternatives? (un autre module Zwave? un bouton poussoir?) Merci d'avance, Christophe
  24. labomatik

    Support Gea

    AH excellent pour le if...
  25. labomatik

    Support Gea

    Bon ben voilàaprès quelques essais la ligne qui pose problème , un id incorrect :-( GEA.add(id['DETECTEUR_SALON_ALARME'], 1*30,"", {{"If",{"Global", "DETECTEUR_BAS_PREMIERE_NOTIF", "0"}},{"Global", "Karotz", "Lecture calendrier"}, {"VirtualDevice", 20, 1},{"Global", "DETECTEUR_BAS_PREMIERE_NOTIF", "1"}})
×