Aller au contenu

tcheri

Membres confirmés
  • Compteur de contenus

    130
  • Inscription

  • Dernière visite

  • Jours gagnés

    1

Tout ce qui a été posté par tcheri

  1. tcheri

    Gestion Des Id De Devices

    Merci à tous pour vos réponses. J'ai combiné les deux solutions : je suis reparti du script de Steven pour pouvoir le mettre dans une variable globale et réutiliser son contenu par un JSON.DECODE. Je pense que cela ne va marcher qu'en 4.x, en tout cas dans les scènes. http://www.domotique-fibaro.fr/index.php/topic/3477-g%C3%A9n%C3%A9rateur-did-pour-gea-ou-autre-script/page-2#entry63965
  2. Sur base du script de Steven, j'ai adapté pour pouvoir stocker dans une variable globale et pouvoir utiliser un JSON.DECODE au lieu de faire un copier/coller des valeurs dans chaque script ou VD. Donc, voici le script modifié à mettre dans une scène pour mettre la variable globale idTable avec tous les ID et NOMS de device (testé en 4.040) : --[[ %% properties %% globals --]] local hidden = false --- true pour exporter les devices cachés local dead = false -- true pour exporter les devices morts local excludeType = {"com.fibaro.zwaveDevice", "weather", "HC_user", "iOS_device", "com.fibaro.voipUser"} local excludeID = {} local devicesJSon = api.get("/devices") local devices = {} local names = {} local rooms = {} function addName(name, roomname) if (type(names[name]) == "nil") then names[name] = true return name else return addName(name.."_"..roomname, roomname) end end function getRooms() local roomsJSon = api.get("/rooms") rooms[0] = "inconnu" for k, v in ipairs(roomsJSon) do rooms[v.id] = v.name end end function rename(name, roomname) local name = name:upper():gsub("[éêèà«]", "E"):gsub("EE", "E"):gsub("[à»à¼ù]", "U"):gsub("UU", "U"):gsub("[à âà¤]", "A"):gsub("AA", "A"):gsub("[à¶ô]", "O"):gsub("OO", "O"):gsub("[îà¯]", "I"):gsub("II", "I"):gsub("%W", "_") local roomname = roomname:upper():gsub("[éêèà«]", "E"):gsub("EE", "E"):gsub("[à»à¼ù]", "U"):gsub("UU", "U"):gsub("[à âà¤]", "A"):gsub("AA", "A"):gsub("[à¶ô]", "O"):gsub("OO", "O"):gsub("[îà¯]", "I"):gsub("II", "I"):gsub("%W", "_") return addName(name, roomname) end getRooms() for k, v in pairs(devicesJSon) do local doit = (hidden or v.visible) and (dead or not v.dead) if (doit) then for h, w in pairs(excludeType) do if (v.type == w) then doit = false end end if (doit) then for h, w in pairs(excludeID) do if (v.id == w) then doit = false end end end end if (doit) then table.insert(devices, v) end end table.sort(devices, function(a, return a.roomID<b.roomID end) local result = "<BR><BR>-- IDs générés le : " .. os.date("%d/%m/%y à %X") local room = -1 local lastinfo = ""; result = result .. "<BR><BR>local id = {" resultVar = "{" for k, v in ipairs(devices) do if (room ~= v.roomID) then room = v.roomID result = result .. "<BR>--"..rooms[v.roomID].."<BR>" end lastinfo = rename(v.name, rooms[v.roomID]) result = result .. lastinfo .. " = " .. v.id .. ", " resultVar = resultVar .. '"'..lastinfo .. '":' .. v.id .. ", " end result = result .. "<BR>}" result = result .. "<BR>" result = result .. "<BR>-- usage :" result = result .. "<BR>-- fibaro:getValue(id[\""..lastinfo .."\"], \"value\")" result = result .. "<BR>-- GEA.add(id[\""..lastinfo .."\"], 30, \"\")" resultVar = resultVar .. '"FIN":999 }' print(result) fibaro:setGlobal("idTable", resultVar) Ensuite, il suffit de faire appel à la variable globale et faire un décode : local id=json.decode((fibaro:getGlobal('idTable'))); et faire appel à son device par : fibaro:getValue(id["NOM_DE_MON_DEVICE"], "value"))
  3. Salut, Avec le nombre de devices qui augmentent, et surtout les lignes de code dans les VD et les scripts, la gestion des devices ID devient problématique surtout quand le support Fibaro demande d'exclure et ré-inclure des devices, faisant ainsi changer les ID. Même en mettant les devices ID en entête de script, cela devient compliqué. Question : - quelqu'un a déjà pensé à un moyen de centraliser toute cette info et la réutiliser facilement ? Mettre les valeurs des ID dans des variable globales, mais autre chose ? - y'a t'il un moyen simple de rechercher un device ID à travers tout le code ? Merci de vos conseils
  4. Voilà, ils ont trouvé pour la perte des modules (ils ont bossé jusque 22h sur ma box): cela se passe quand il n'y a aucun device dans UNASSIGNED. Il suffit donc d'en mettre un...
  5. J'étais en anglais. Je suis passé en FR, revenu en anglais, même chose En accédant par ROOMS, j'ai les devices
  6. Bon bin, j'ai deux HC2 que j'ai passé en 040 : la slave avec peu de devices, ok. La master, j'ai perdu visuellement tous les devices (scènes OK). Clear de la cache et reboot ne font rien Ils sà»rement là au niveau système, car dans la page Devices, ils sont présents dans le navigateur à gauche. C'est l'affichage sur la page principale qui pose problème
  7. Bon pour moi aussi
  8. tcheri

    V4.036 - 13-03-2015

    ni pour Aeon-Labs
  9. WUUpdateOptions dans les variables globales
  10. Tu as bien créer la variable globale ?
  11. Salut, je suis en 4.035. J'ai trouvé les deux problèmes : - le premier, mon adresse recherchée étant 192.168.0.2, j'avais aussi toutes celles en 2x et 2xx. J'ai ajouté donc </TD>à la fin de la recherche et ça marche - ma box étant en V4, j'ai du changer l'appel à l'api pour les variables globales -> c'est ok Il me reste un seul problème, le script exec_presence ne se lance pas automatiquement (si je le lance manuellement, c'est ok). Je suis pas un spécialiste en linux, j'ai tout refait comme décrit, mais marche pas. Une idée ? Merci Thierry
  12. C'est aussi beaucoup sur l"'internet of things", que la chose soit mobile ou pas
  13. tcheri

    Emetteur Ir Z-Wave

    J'utilise le iTach que tu peux contrôler par http http://www.globalcache.com/products/itach/ip2irspecs/
  14. Rien de plus que ça Mobile World Congres 2015 Over the course of four days, 2-5 March 2015, Mobile World Capital Barcelona will host the world’s greatest mobile event: Mobile World Congress. FIBARO's experts will be demonstrating the detailed functionality of our smart home devices elements and will be available to answer questions from visitors. FIBARO system will be showcased at the three different locations: Norwegian booth no 6H20 ; Poland IT booth no 6H11 and finally at the booth no 3A31. Additionally we will present our solution on special dedicated lectures. We invite you at Monday (2 nd March) at 14.00 and Tuesday (3th March) at 10.00 to the booth no. 3A31. Another presentation will be held on Monday from 9: 00-13: 00 at NORDIC booth no. 6H20. We’ll see you in Barcelona! more information please find here http://www.mobileworldcongress.com/
  15. Je peux aussi y retourner avec une liste de question :-)
  16. Fibaro est àBarcelone. Je suis passé sur leur stand (partie du stand de la Pologne). Le vendeur n'est pas du style expensif... Ils lancent un wall plug bluetooth (ressemble au z-wave, existe aussi en noir), mais la version bluetooth ne sera pas compatible z-wave : c'est l'un ou l'autre. Pour la v4, encore moins prolixe... Il dit que la version plugin developer sera làentre 1 et 3 mois : ils revoient l'architecture, mais ne devrait pas avoir négatif sur les possibilités. Par sûr qu'il était dans la confidence. Voilà...
  17. our tout ceux que j'ai écris, c'est dans les boutons mais je n'ai pas su modifier le weatherdata. Or j'ai vraiment besoin des prévisions !
  18. Bonsoir, J'ai un soucis je pense avec l'exécution du script test_presence.sh . En le faisant tourner manuellement, j'ai : 20:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.23</TD><TD>70:11:24:24:29:0D</TD><TD> </TD><TD> </TD><TD>20:19:14</TD></TR> 39:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.200</TD><TD>E8:AB:FA:0D:F6:9A</TD><TD> </TD><TD> </TD><TD> </TD></TR> 40:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.201</TD><TD>E8:AB:FA:0D:F6:E0</TD><TD> </TD><TD> </TD><TD> </TD></TR> 41:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.202</TD><TD>00:62:6E:4A:FC:22</TD><TD> </TD><TD> </TD><TD> </TD></TR> 42:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.203</TD><TD>E8:AB:FA:07:47:59</TD><TD> </TD><TD> </TD><TD> </TD></TR> 43:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.204</TD><TD>E8:AB:FA:06:3D:10</TD><TD> </TD><TD> </TD><TD> </TD></TR> 44:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.205</TD><TD>00:62:6E:4A:79:1F</TD><TD> </TD><TD> </TD><TD> </TD></TR> 45:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.206</TD><TD>E8:AB:FA:0B:81:B7</TD><TD> </TD><TD> </TD><TD> </TD></TR> 46:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.207</TD><TD>00:62:6E:48:73:E5</TD><TD> </TD><TD> </TD><TD> </TD></TR> 47:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.208</TD><TD>E8:AB:FA:04:74:41</TD><TD> </TD><TD> </TD><TD> </TD></TR> 49:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.210</TD><TD>E8:AB:FA:04:73:83</TD><TD> </TD><TD> </TD><TD> </TD></TR> 50:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.211</TD><TD>00:12:04:A0:24:1D</TD><TD>u10 Networks</TD><TD> </TD><TD> </TD></TR> {"type":"ERROR","reason":"name","message":"No variable name in uri"}present Une idée ? Mon script : #!/bin/bash # Never ending loop # version 1.00 # Author: Tony270570 cpt=0 while ((cpt<10)) do grep -n "<center>UP</TD><TD>192.168.0.2" /var/www/ping/lan.html if [ $? == 0 ] then curl -X PUT -d '{"name": "Presence_TT", "value": "Present"}' http://admin:xxx@192.168.0.108/api/globalVariables echo "present" sleep 10 else curl -X PUT -d '{"name": "Presence_TT", "value": "Absent"}' http://admin:xxx@192.168.0.108/api/globalVariables echo "absent" sleep 10 fi done exit 0
  19. J'ai différents VD avec des appels Get Json (dont WU WeatherData, ECO devices, ...) qui plantent au bout d'un certain temps. Je reboote donc via l'API toutes les nuits et cela depuis plus de 6 mois sans problèmes.... jusque samedi
  20. Ce matin ma HC2 avait perdu 85 devices, d'un peu toute sorte (Fibaro, Aeon Labs, Danfoss). Je suis en 4.033 et j'ai un reboot toute les nuits. Un restart n'y a rien fait. J'avais heureusement un backup récent, mais c'est inquiétant. Quelqu'un a déjà eu ce problème ?
  21. Merci, ça marche !
  22. Oui même chose pour moi (et idem pour les Danfoss)
  23. Bonne nouvelle, ça bouge sur bugzilla.fibaro.com... Mais on nous dt pas tout ? Il y aurait déjà une 4.034 et une 4.035 pour certains ? Exemple ici : http://bugzilla.fibaro.com/view.php?id=2208
  24. Salut bat, super boulot, il me sert bien J'ai fait une modification : j'ai ajouté un slider pour le volume, en retirant tous les boutons relatifs au volume et en mettant ce slider comme main (comme ça il est accessible depuis la page générale). Cela convient mieux à mon utilisation. local selfId = fibaro:getSelfId(); local _deviceIp = fibaro:get(selfId, "IPAddress"); local _devicePort = fibaro:get(selfId, "TCPPort"); YAM = Net.FHttp(_deviceIp,_devicePort) local slider = tonumber(fibaro:getValue(selfId, "ui.Slider1.value")) local volume = (-100 + slider)*10 payload = '<YAMAHA_AV cmd="PUT"><Main_Zone><Volume><Lvl><Val>'..tostring(volume)..'</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Volume></Main_Zone></YAMAHA_AV>' fibaro:log('Set volume to '.. tostring(volume)) response ,status, errorCode = YAM:POST('/YamahaRemoteControl/ctrl', payload) fibaro:sleep(3000) if errorCode == 0 then fibaro:log('status'..status) else fibaro:log("error") end
×
×
  • Créer...