-
Compteur de contenus
85 -
Inscription
-
Dernière visite
Tout ce qui a été posté par c-lol
-
l'id c'est de faire comme tu fais pour le updateNotifer c'est dire me générer les variables automatiquement quand je mets un VD. J'ai bien regardé ton code et tu utilises POST et une variable simple. --Connexion HC2 local ipAddress = "127.0.0.1"; local TCPPort = "11111"; local login = "myUsername"; local password= "myPassword"; --Variable local idDevice = tostring(fibaro:getSelfId()); local deviceName = fibaro:getName(idDevice); local variableName = "multi"; variableName = tostring(variableName); local variableValue = "a"; variableValue = tostring(variableValue); --***************************************************************** local payload = {"name":"multi","value":"a","isEnum":true,"enumValues":["a","b","c"]}; fibaro:debug(payload); local HC2 = Net.FHttp(ipAddress, TCPPort); --HC2:setBasicAuthentication(login, password) response ,status, errorCode = HC2:PUT("/api/globalVariables/" ..variableName, payload); fibaro:debug(response); fibaro:debug(status); fibaro:debug(errorCode); --Verification des erreurs if status == "201" then fibaro:debug("La variable '" ..variableName.. "' valeur : '" ..variableValue.. "' a été créé avec succes."); else fibaro:debug("Une erreur s'est produite. Code erreur : " ..status); end
-
Désolé c’était un mauvais copier/coller. J'ai vérifier dans le script les valeurs étaient bien identique. pour le payload copié/collé tel quel me mets une erreur ligne 31 = la ligne du payload dans mon script as tu déjà réussi à faire ce que je souhaite? ou alors je suis vraiment une quiche!!
-
@krikroff : merci pour ton aide, mais je ne comprends toujours pas, j'y arrive toujours pas. je suis sur le site developper de fibaro et pour l'API il est indiqué AH!! je viens de trouver les docs API sur la HC2 et effectivement ce n'est pas indiqué POST. D'ailleurs il y a d'autres incoherences (globalVariableID type Integer alors qu'il faut globalVariableName type string) bref... J'ai essayé avec PUT en forcant variableName/variableValue tostring() 2 cas de figures Soit je mets le nom de la variable après "/api/globalVariables" et j'ai l'erreur suivante : Cette erreur me parait logique étant donné qu'on veut mettre à jour une variable n'existant pas. soit je ne la mets pas et j'ai l'erreur suivante : logique aussi. En utilisant l'API directement de la HC2, si la variable n'existe pas, erreur "no content" Si la variable existe, la commande passe bien mais les paramètres ne sont pas mis à jour le body la réponse J'ai beau retourner le problème dans tous les sens, "", pas "", [ ], pas [ ]... Apres ces test j'en conclu qu'il faut POST pour créer une variable et PUT pour la MAJ. mais étant borné, il faut que je comprenne!
-
si surement en faisant une boucle. On lit l'id du device que l'on insère comme comme variable dans la requête de création. Mais la je bloque sur la mise a jour avec le PUT et surtout créer des variable avec plusieurs valeur "isEnum":true, "enumValues":["val1", "val2", "val3"] Si quelqu'un a des conseils. @kriskroff : j'ai regardé le VD updateNotifier et d’après ce que j'ai compris du code c'est une variable simple.
-
Arf!! Si j'avais su j'aurais installer le device. Mais comme tu annonces sur le post que tu release une nouvelle version, je vais attendre!!
-
Je viens de faire des tests sur mon virtual device en LUA. J'en ai conclus que le POST est à utiliser pour une création et le PUT pour une mise a jour. Ensuite pour le body, il faut mettre la valeur de "isEnum" à 1. Si on met true on a une erreur "unsigned Int". En mettant "isEnum":1 on a comme retour "isEnum":true Concernant les valeurs dans le [array] ca passe toujours pas. Voici le debug du VD je continu à chercher.
-
Ok je vais essayer ça!!! Pourquoi faut-il utiliser PUT? POST fonctionne, d'ailleurs je viens de faire un script en lua pour les virtuals Devices ici
-
Salut, suite à la mise à jour V4, beaucoup de galères me sont tombé dessus. J'ai dà» reinclure pleins de module, modifié mes scènes, bref ça m'a bien saoulé. Du coup après la lecture du post du Post sur la sauvegarde des ID devices dans des variables, chose que j'ai faites mes différemment, je me suis dis " mais pourquoi pas créer automatiquement ces variables pour les virtuals devices?" Du coup j'ai préparé un bout de code que vous pouvez insérer dans un des boutons d'un virtual device pour créer la variable et ensuite y'a plus qu'a appeler la variable dans les scènes. Le script créé automatiquement une variable avec le nom (pb des espaces inclus) et son ID. Bien-sur c'est facilement modifiable au début du script. à‡a pourra servir quand on pourra faire des plugins. Ops auto Installable. et ca va simplifier les autres tutos et surtout pour les fautes de casse. --Connexion HC2 local ipAddress = "192.168.1.1"; local TCPPort = "80"; local login = "myUsername"; local password= "myPassword"; --Variable local idDevice = tostring(fibaro:getSelfId()); local deviceName = fibaro:getName(idDevice); local variableName = string.gsub(deviceName, " ",""); --Formatage du nom sans espace local variableValue = idDevice; --***************************************************************** -- Verifier si la variable existe local HC2 = Net.FHttp(ipAddress, TCPPort) HC2:setBasicAuthentication(login, password) response ,status, errorCode = HC2:GET("/api/globalVariables/" ..variableName); --fibaro:debug(status); -- Créer la variable if status == "404" then local jsonTable = {name = variableName, value = variableValue}; payload = json.encode(jsonTable); --fibaro:debug(payload); local HC2 = Net.FHttp(ipAddress, TCPPort) HC2:setBasicAuthentication(login, password) response ,status, errorCode = HC2:POST("/api/globalVariables/", payload) --fibaro:debug(response); --fibaro:debug(status); --fibaro:debug(errorCode); --Verification des erreurs if status == "201" then fibaro:debug("La variable '" ..variableName.. "' valeur : '" ..variableValue.. "' a été créé avec succes."); else fibaro:debug("Une erreur s'est produite. Code erreur : " ..status); end else fibaro:debug("La variable : '" ..variableName.. "' existe déjà ."); end
-
MAJ en V4 faite!! Aprés toute la reconf des scenes et module, je me rattaque à mon probleme de la derniere fois. J'ai reussi à créer une variable simple dont voici le code php <?php $ipHc2 = "192.168.1.10"; $tcpPort = "80"; $request = "/api/globalVariables"; $userName = "mysuername"; $password = "mypassword"; $data = array("name" => "simple", "value" => "val1", "readOnly" => false, "isEnum" => 0); $data_string = json_encode($data); $url = 'http://'.$userName.':'.$password.'@'.$ipHc2.':'.$tcpPort .$request; $ch = curl_init($url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); curl_close($ch); echo $result; ?> Mais voila maintenant je cherche à créer une variable avec plusieurs valeurs. J'ai donc fait <?php $ipHc2 = "192.168.1.10"; $tcpPort = "80"; $request = "/api/globalVariables"; $userName = "myusername"; $password = "mypassword"; $data = array("name" => "multi", "value" => "0", "readOnly" => false, "isEnum" => 1, "enumValues" => array("val1","val2")); $data_string = json_encode($data); $url = 'http://'.$userName.':'.$password.'@'.$ipHc2.':'.$tcpPort .$request; $ch = curl_init($url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); curl_close($ch); echo $result; ?> voila ce que me retourne la requête la variable 'multi' est bien créé dans le HC2 mais aucune valeur. Une idée?
-
- Tu peux aussi te servir du Toolkit de kriskroff en chargeant les informations du virtual device (Get Api Raw Data). - Dans chrome clique droit sur l'icone "inspecter l’élément" dans le code HTML tu peux voir le numéro de l'icone <a id="iconShow_1016" class="toDelete iconShow" onclick="if (iconAction == 0 || confirm('Etes vous sà»r de vouloir supprimer cette collection d´icônes?')) changeIcon('1016','virtualDevice', 51, 0); return false;" href="#"><img class="ChooseIcon" src="/fibaro/n_vicons/User1016.png"></a> ici l'icone est 1016.
-
@ptitgreg : pourquoi ne pas te faire une scène pour l'ouverture ton volet a 100% et descente à 60%? Comme ça tu auras tes 40% et pas de décalage. Bon j'avoue qu'il fera du chemin pour rien, mais c'est peut être une solution de contournement. Je dis ça je dis rien, j'ai pas de volet roulant à mon triste désespoir!! VDM!!
-
Tuto Eclairage Module Virtuel Pour Philips Hue
c-lol a répondu à un(e) sujet de Zorgonaute84 dans Philips Hue
Cool merci pour le plugin!! Pour ton problème je fais comme tu dis dans ton dernier post. C'est a dire code dans le bouton et appel du bouton dans le main loop. tu peux voir mon VD check internet dans le forum. à‡a m'a évité de taper plusieurs fois le même code et donc plus facile pour le debuggage/maintenance!! -
Telecommande Myo
c-lol a répondu à un(e) sujet de olivipaq dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
Plus intuitif que le contrôle vocal je sais pas!! Faut voir comment fonctionne le bracelet. Admettons tu veux allumer la lumière (poing fermé) et l’éteindre (poing ouvert), comment tu détermines quelles lumières tu allumes?? ou une lampe par doigt! Pense a dire a te enfant que le doigt d'honneur n'est plus une insulte mais sert à allumer la lumière des WC Sinon faut un bracelet par pièce, a 200$ pièce... -
Telecommande Myo
c-lol a répondu à un(e) sujet de olivipaq dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
super intéressant comme produit, je ne connaissais pas!! a voir pour comment l'utiliser en gestion domotique!! -
@Frederic il me semble que j'avais lu un de tes posts sur ceux problème!! curieusement ça faisait aussi quelques semaines que j'avais plus ce problème!! @Kris c'est sur que c'est un tournant, sachant qu'ils ont annoncé une zibase sans cloud!! Affaire àsuivre, peut être que ça serai une bonne opportunité aussi!!
-
La V4 va t'elle résoudre les problèmes de faux déclenchement avec les FGMS001?? Encore une lumière allumée toute la nuit!!! Ou j'ai peut être un fantome. Heureusement que je ne m'en sers plus pour l'alarme.
-
Salut, je déterre le sujet, concernant le module Global caché. Je lorgnai pendant un temps autour de ce module, puis j'ai vu le keene 128 qui possède une mémoire pour stocker les codes hexa. Quelqu'un a une opinion sur les avantages et inconvénients des 2 produits? Hormis le prix qui pour rappel est d'environ 100€ pour le keene et 150€ pour le global caché
-
Ah oui effectivement j'aurais pu prendre ce script comme base, ça l'aurait simplifié. Du coup le fait d'utiliser le ping, on pourrait s'en servir pour ping plusieurs IP sur un réseau local. J'ai fais ce script dans le but de me faire une passerelle SMS. Je prends le pb à l'envers!! lol
-
Salut à tous et bonne année 2015. Plein de réussite dans vos projets domotiques Je viens vous présenter mon VD pour vérifier la connexion internet. J'ai repris le code PING de Jean-christophe Vermandé que j'ai adapté à mes besoins. Le VD lance des requête ping toutes les 5mins vers des sites internet. On peut mettre autant de site que l'on souhaite. Mon avis étant un minimum de 2. En effet si le serveur WEB en question est HS, on fait un test sur un autre. J'ai inclus la remonté de l'adresse public. Pour ce faire j'utilise l'api suivante : http://www.realip.info/api/p/realip.php INSTALLATION : - Le VD est téléchargeable ci-dessous. - Créer une variable global "internet" (valeur 1: ok / valeur 2 : nok) ou avec un autre nom étant donné qu'il est possible de changer facilement le nom dans la déclaration des variables du VD. La variable servant à créer des scenes. Par exemple on envoit une notification SMS en cas de panne internet... - Mettre les icônes. Je vous en propose 2 ci-dessous. Voila j'espère que ça servira à certains et si vous avez des remarques, je suis preneur!!! Check_Internet.vfib
-
Plus de docs, plus de dev J'ai vu la doc en haut mais elle ne traite pas du REST/JSON ou alors je suis miro (dimanche matin ). Il y a une copie de la doc quelque part sur le net?
-
Pourtant le plugin xbmc de ADN182 créé les variables dans la HC2. C'est du python mais il devrait être possible de faire pareil. Je vais continuer mais investigations. Vivement que la V4 soit stable
-
HC2 : V3.590 Salut à tous, je viens m'en remettre aux spécialistes du dev, après plusieurs heures sur le même problème. Lors d'une requête POST vers la HC2, j'ai l'erreur suivante : {"type":"ERROR","reason":"MISSING_PARAMETER","message":"name: missing required parameter"} Mais quel est ce paramètre requis? La doc développer de Fibaro dit qu'il y a un exemple de commande avec un formatage JSON pour le body. Même en copiant collant j'ai l'erreur. J'ai essayé en codant, avec l'outil REST Console, PHP et c'est le même. Pour info voici le code PHP <?php $ipHc2 = "192.168.1.10"; $tcpPort = "80"; $request = "/api/globalVariables"; $userName = "myusername"; $password = "mypassword"; $data = array("name" => "Hagrid", "value" => "36", "readOnly" => false, "isEnum" => false); $data_string = json_encode($data); $url = 'http://'.$userName.':'.$password.'@'.$ipHc2.':'.$tcpPort .$request; $ch = curl_init($url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); curl_close($ch); echo $result; ?> et pour les tests avec REST CONSOLE Request URI : http://192.168.1.10:80/api/globalVariables Request Method : POST CONTENT HEADER CONTENT TYPE : application/json REQUEST PAYLOAD RAW BODY : "name":"test","value":"999","readOnly":false,"isEnum":false CUSTOM HEADER : X-Fibaro-Version:2 BASIC AUTHENTIFICATION : myusername/mypassword Resultat : RAW BODY : {"type":"ERROR","reason":"MISSING_PARAMETER","message":"name: missing required parameter"}RESPONSE HEADER : Status Code: 400 Date: Sat, 13 Dec 2014 16:26:24 GMT Cache-Control: no-cache, no-store Server: 0.9 Connection: close Transfer-Encoding: chunked Content-Type: application/json;charset=UTF-8 REQUEST BODY : Request Url: http://192.168.100.10:80/api/globalVariables Request Method: POST Status Code: 400 Params: {} REQUEST HEADER : Content-Type: application/json Authorization: Basic YMLtaW46YWR4= X-Fibaro-Version: 2 Accept: */* Connection: keep-alive Origin: chrome-extension: //rest-console-id User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 Dans le REQUEST BODY je vois params:{} le problème vient peut etre de là ??!! J'ai fais une requête GET pas de problème particulier. J’espère avoir été assez explicite et si vous avez une idée je suis preneur. Merki
-
Salut à tous, je viens vous faire part de ma petite découverte de ce matin. OSRAM LIGHTIFY je viens de tomber sur une nouvelle solution d'ampoule RGB sans-fil proposé par un pionner de l’éclairage OSRAM. Il propose une solution pour particulier et même professionnel. D’après le site la solution à l'air open-source. Il parle de freeRTOS et IwIP (site). FREERTOS est un OS pour micro-controller IwIP est un implémentation de la protocol TCP/IP. Je suis pas spécialiste développeur, mais à la lecture cela m'a l'air possible de le contrôler à distance. Je l'aurai bien commandé, mais je reçois mon kit Philips Hue demain A ceux qui veulent approfondir la chose...
-
- 3
-
-
Plugin Developer Plugin - Freebox Player Remote
c-lol a répondu à un(e) sujet de Krikroff dans Plugins Developpeur
Cool ça merci!!! ca va servir de bonne base pour comprendre et commencer à faire des plugins!! -
yes merci!! je vais mettre ça précieusement de coté! A la base je voulais faire comme toi du script dans un main loop, mais je sais pas comment réagit le main loop. Si trop de main loop dans les device virtuel, ça peut saturé la box ou alors ils sont exécuté seulement lorsqu'on utilise le virtuel device? Et aussi pour pas faire des requête toutes les secondes à mon serveur NAS, mais j'avais pas pensé au fibaro:sleep.