Aller au contenu

Rechercher dans la communauté

Affichage des résultats pour les étiquettes 'http'.



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
    • Nouveau ? Présentez-vous
    • Le bistrot
    • Mon installation domotique
    • Annonces et suggestions
  • La Home Center et ses périphériques
    • La Home Center pour les nuls
    • HC 2 & Lite
    • HC 3
    • Modules Fibaro
    • Modules Z-wave
    • Périphériques et matériels autres
    • Plugins
    • Quick App
    • Multimédia (audio, vidéo ...)
    • Chauffage et Energie
    • Actionneurs & Ouvrants (Portail, volets, piscines, ...)
    • Eclairage
    • Applications Smartphones et Tablettes
  • Autres solutions domotiques
    • Box / Logiciel
    • Modules Nice (433 & 866 MHz)
    • Modules Zigbee
    • GCE Electronics
    • Modules Bluetooth Low Energy
  • Objets connectés
    • Les Assistants Vocaux
    • Netatmo
    • Philips Hue
    • DIY (Do It Yoursel)
  • Sécurité
    • Alarmes
    • Caméras
    • Portiers
    • Serrures
  • Informatique / Réseau
    • Tutoriels
    • Matériels Réseaux
    • Matériels Informatique
    • NAS
    • Virtualisation
  • Les bonnes affaires
    • Sites internet
    • Petites annonces

Calendriers

Aucun résultat à afficher.


Rechercher les résultats dans…

Rechercher les résultats qui…


Date de création

  • Début

    Fin


Dernière mise à jour

  • Début

    Fin


Filtrer par nombre de…

Inscription

  • Début

    Fin


Groupe


Jabber


Skype


Ville :


Intéret :


Version

11 résultats trouvés

  1. DoR.Technique

    Traiter Reponse Requete HTTP

    Bonjour, je travaille sur la gestion de mon arrosage et j'ai besoin d'un coup de main pour comprendre comment traiter les réponses d'une requête. J'ai le code suivant qui envoi la requête : local http = net.HTTPClient() http:request("https://api.weatherbit.io/v2.0/current?lat=49.793959023472&lon=2.3656938174545&lang=fr&key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", { success = function(response) if response.status == 200 then fibaro:debug('OK, réponse : '.. response.data) else fibaro:debug("Erreur : status=" .. tostring(response.status)) end end, error = function(err) fibaro:debug("Erreur : " .. err) end, options = { method = 'GET' } }) Ce qui me donne la réponse suivante : jusque la, tout va bien, mais c'est a partir de la que je sèche. Comment lister chaque nom de champ, avec sa valeur correspondante ? Comment obtenir la valeur d'un champ en particulier ? Merci de vos réponses, pour débloquer ma situation.
  2. pepite

    Liste Api-Lua & Api-Http Pour Hc2

    Bonjour à tous, Comme évoqué dans un des topics du firmware avec @Lazer, j'initie un début de liste des différentes API-LUA et API-HTTP apparues suite aux évolutions de firmware. Pour HC2 UNIQUEMENT Cette liste est loin d'être exhaustive, je me suis basé sur les changelog des firmwares et le site https://developer.fibaro.com/. Si vous en connaissez d'autres, n'hésitez pas (je pense à vous les MAITRES du LUA ) Les admins/modos, je vous laisse le soin de mettre le sujet où bon vous semble ;-), un sous-forum de HC2 peut-être. These calls can be used to start increasing or decreasing Multilevel Switches (like Dimmer 2, RGBW or Roller Shutter 2 modules) value. 'x' and 'y' are optional parameters, used to set respectively time frame in which change should be applied and starting level. 'stopLevelChange' stops previously send action. fibaro:call(ID, 'startLevelIncrease', x, y) fibaro:call(ID, 'startLevelDecrease', x, y) fibaro:call(ID, 'stopLevelChange') Call used to get table with IDs of devices that meet requirement specified by 'x'. fibaro:getDevicesId(x) -- Examples: print('All devices with parameter visible equal to "true" and enabled equal to "true":') ids = fibaro:getDevicesId({visible = true, enabled = true}) print(json.encode(ids)) print('ALl devices with energy interface:') ids = fibaro:getDevicesId({interfaces ={"energy"}}) print(json.encode(ids)) print('All devices with 'unit' property (no matter its value):') ids = fibaro:getDevicesId({properties = {unit="nil"}}) print(json.encode(ids)) Which will set given scene respectively to Automatic, Manual and Disabled mode. Any other value will set scene triggering mode to Automatic. fibaro:setSceneRunConfig(sceneID, runConfig) where runConfig is string that takes one of these three values: - TRIGGER_AND_MANUAL - MANUAL_ONLY - DISABLED fibaro:getSceneRunConfig(sceneID) returns currently set value. Old functions will keep backward compatibility and continue to work without change. - fibaro:setSceneEnabled(sceneID, enabled) - fibaro:isSceneEnabled(sceneID) Redémarrage Home Center et Arrêt Home Center HomeCenter.SystemService.reboot() et HomeCenter.SystemService.shutdown() Exemples : -- Reboot system HomeCenter.SystemService.reboot(); -- Shutdown system HomeCenter.SystemService.shutdown(); Popup service HomeCenter.PopupService.publish({title, subtitle, contentTitle, contentBody, img, type, buttons}) Parameters title - string containing text to be displayed as a pop-up window title (parameter required) subtitle - string containing text to be displayed as a pop-up window subtitle contentTitle - string containing text to be displayed as a pop-up content title contentBody - string containing text to be displayed as a pop-up content (parameter required) img - string containing path of an image to be displayed in the pop-up window (supported extensions: .jpg, .bmp, .png, .gif) type - notification type indicated with a colour, available types: 'Info' - blue (default) 'Success' - green 'Warning' - yellow 'Critical' - red buttons - array containing definitions of buttons to be displayed in the pop-up, single button definition must be an array containing: 'caption' - text displayed on the button 'sceneId' - scene id triggered after pushing the button Exemple 1 --[[ %% properties %% globals --]] -- variable containing path of Motion Sensor’s icon local imgUrl = 'http://www.fibaro.com/sites/all/themes/fibaro/images/motion- sensor/en/motion_sensor_manual.png' -- pop-up call HomeCenter.PopupService.publish({ -- title (required) title = 'No motion detected', -- subtitle(optional), e.g. time and date of the pop-up call subtitle = os.date("%I:%M:%S %p | %B %d, %Y"), -- content header (optional) contentTitle = 'No motion since last 15 minutes', -- content (required) contentBody = 'Should I run the scene "Night"?', -- notification image (assigned from the variable) img = imgUrl, -- type of the pop-up type = 'Success', -- buttons definition buttons = { { caption = 'Yes', sceneId = 0 }, { caption = 'No', sceneId = 0 } } }) NOTE Please note that the example scene must be triggered manually. It just illustrates the way of creating pop-ups. Execution of this scene will not affect any device status (sceneId = 0). NOTE Setting an action of the button to 'sceneId = 0' means that no action will be performed. NOTE Created pop-up is sent to each of users and mobile devices connected with the main controller. NOTE There is no maximum size of image displayed in the pop-up window. However, using too large file may result in long waiting times required for downloading the image. NOTE Pushing one of the buttons displayed in the pop-up window may only trigger another scene. Exemple 2 --[[ %% properties 3814 value %% globals --]] local startSource = fibaro:getSourceTrigger(); if ( ( tonumber(fibaro:getValue(3814, "value")) > 60 ) or startSource["type"] == "other" ) then HomeCenter.PopupService.publish({ title = 'Brightness level', subtitle = 'is too high', contentTitle = 'Dimmer', contentBody = 'Would you like to turn it off?', img = ' http://www.fibaro.com/images/eng/icon_osw.png', type = 'Critical', buttons = { { caption = 'Turn off', sceneId = 3228 }, { caption = 'No', sceneId = 0 }, { caption = 'Set to 100%', sceneId = 3229 } } }) end 1ère MAJ venant de @Steven concernant les fonctions fibaro : Telecharger le tar.gz http://updatehc2.fibaro.com/4.083/ , puis dans opt/fibaro ouvrir fibaroSceneAPI.lua Backups depuis une scène (Merci à @Nikko) --[[ %% properties %% events %% globals --]] local portable = 385 local message = 'Backup du '..os.date("%d/%m/%y - %HH%M") local url = 'http://127.0.0.1:11111/api/settings/backups' local httpClient = net.HTTPClient() httpClient:request(url , { success = function(response) if tonumber(response.status) == 201 then print("Backup Created at " .. os.date()) fibaro:call(portable,'sendPush', message .. ' effectué') else print("Error " .. response.status) fibaro:call(portable,'sendPush', 'Erreur lors de la création du Backup') end end, error = function(err) print('error = ' .. err) end, options = { method = 'POST', headers = { ["content-type"] = 'application/x-www-form-urlencoded;' }, data = 'action=create&description='..message } }); - Attention, si planification avec GEA, dans la nuit, ca relance le zwave ;-) GEA.add(true, 30, "", {{"Scenario", id}}) ASTUCES DIVERSES Affichage persistent du LOG des VDs et couleurs possibles (merci @Steven et @Berale, je ne suis que le Scrib) - Code à mettre dans le MAIN-LOOP fibaro:log("Test") fibaro:call(fibaro:getSelfId(), "setProperty", "logTemp", "TxtGray" ) - Couleurs possibles : .TxtGreen .TxtRed .TxtYellow .TxtBlue .TxtGray Exemple de @Nico --1er bouton VD local deviceId = fibaro:getSelfId(); fibaro:call(deviceId, "setProperty", "ui.Label1.value", "Repos") -- Second bouton du VD local deviceId = fibaro:getSelfId(); fibaro:call(deviceId, "setProperty", "ui.Label1.value", "Alarme") fibaro:call(deviceId, "setProperty", "ui.Label2.value", os.date("%m %B %Y - %H:%M:%S")) -- Mainloop pour affichage persistent du log local deviceId = fibaro:getSelfId(); local value = fibaro:getValue(deviceId, "ui.Label2.value") fibaro:log(value) fibaro:call(fibaro:getSelfId(), "setProperty", "logTemp", "TxtGray" ) Affichage persistent HORS MAIN-LOOP fibaro:call(fibaro:getSelfId(), "setProperty", "log", "blablabla" ) MISE à jour suite à la version stable 4.10 : Merci à @Steven fibaro:callGroupAction(action, filters) { "filter": "hasProperty", "value": ["configured", "dead", "model"] } { "filter": "interface", "value": ["Z-Wave", "levelChange"] } { "filter": "parentId", "value": [664] } { "filter": "type", "value": ["com.fibaro.multilevelSwitch"] } { "filter": "roomID", "value": [2, 3] } { "filter": "baseType", "value": ["com.fibaro.binarySwitch"] } { "filter": "isTypeOf", "value": ["com.fibaro.binarySwitch"] } { "filter": "isPlugin", "value": [true] } { "filter": "propertyEquals", "value": [ { "propertyName": "configured", "propertyValue": [true] }, { "propertyName": "dead", "propertyValue": [false] }, { "propertyName": "deviceIcon", "propertyValue": [15] }, { "propertyName": "deviceControlType", "propertyValue": [15,20,25] } ] } { "filter": "deviceID", "value": [55,120,902] } Parameters action: action name filters: filters object Returned values devices: array of device id's filtered by given rule. Code example --[[ %% properties %% events %% globals --]] local data = { args = { 1 }, filters = { { filter = "roomID", value = { 2 } }, { filter = "type", value = { "com.fibaro.motionSensor" } } } } local devices = fibaro:callGroupAction("setArmed", data) for k,v in ipairs(devices) do print (v) end HomeCenter.NotificationService.publish(payload) Name Function name must be always the same: HomeCenter.NotificationService.publish Application Publishes notification. Parameters request: request object Code example HomeCenter.NotificationService.publish({ type = "GenericDeviceNotification", priority = "warning", data = { deviceId = 2643, title = "foo", text = "bar" } }) HomeCenter.NotificationService.update(id, payload) Name Function name must be always the same: HomeCenter.NotificationService.update Application Updates notification. Parameters id: notification id request: request object Code example HomeCenter.NotificationService.update(7, { canBeDeleted = true, data = { title = "udapted foo", text = "udapted bar" } }) HomeCenter.NotificationService.remove(id) Name Function name must be always the same: HomeCenter.NotificationService.remove Application Removes notification. Parameters id: notification id Code example HomeCenter.NotificationService.remove(7) Info du jour concernant le centre de notification de la HC2, merci @tinman, c'est ici : - Pour utiliser le centre de notification avec des infos "perso" : Tester et aprouvé en 4.10 function doNotify(text, devid) api.post('/notificationCenter', { type = 'GenericDeviceNotification', canBeDeleted = true, -- priority can be -- alert -- red alert sign -- warning -- yellow warning sign -- info -- same as warning priority = 'alert', data = { deviceId = devid, text = text, title = text } }) end doNotify('Test notif HC2', 12 )
  3. Bonjour à tous, J'utilise le VD Philips Hue de @Talwayseb pour toutes mes ampoules Hues. Sur chacun des boutons du VD, les informations sont envoyées au pont Hue via ces commandes : HueCMD = Net.FHttp(HueIP,HuePort) HueCMD:PUT('/api/'..HueUser..'/lights/'..HueLampeId..'/state', '{"on":'..HueOn..', "sat":'..HueSat..', "bri":'..HueBri..', "hue":'..HueColor..', "ct":'..HueCT..'}') Pour le besoin de certaines de mes scènes, j'aimerais pouvoir effectuer cette commande directement, sans avoir à appuyer sur les boutons du VD (et éviter de les créer un par un évidemment). La fonction étant différente pour être utilisée dans les scènes, pouvez-vous, s'il-vous-plaît, me dire comment la transcrire pour une utilisation directement dans une scène ? Ou me mettre sur la bonne voie ? J'ai essayé ceci (en ayant bien entendu déclaré correctement les variables auparavant), mais en vain... local http = net.HTTPClient(); local body = ''; url = 'http://'..HueIP..'/api/'..HueUser..'/lights/'..HueLampeId..'/state', '{"on":'..HueOn..', "sat":'..HueSat..', "bri":'..HueBri..', "hue":'..HueColor..', "ct":'..HueCT..'}'; http:request(url, { options = { method = 'PUT', headers = { ["Content-Type"] = "application/x-www-form-urlencoded", ["Content-length"] = string.format("%d", body:len())}, }, }) Merci d'avance du temps accordé à ma demande
  4. Bonjour à tous, J'utilise la fonction net.HTTPClient() dans mes scènes de pièces afin de m'envoyer des SMS via une passerelle. Cependant, depuis quelques jours, j'ai remarqué que cette requête, bien que placée en début de script, n'est pas exécutée avant la fin du script de ma scène. En effet, j'ai remarqué que si je mettais un fibaro:sleep(10000) bien après cette commande net.HTTPClient(), je recevais le SMS 10 secondes plus tard. Le problème étant que, dans mes scènes de pièce, je suis amené à les annuler en cours si elle ne sont plus nécessaires avec fibaro:abort(). Ce qui fait que je ne reçois jamais les SMS... Dans ces conditions, comment forcer l'exécution de cette commande en début de scène ? Pour moi, le LUA était un langage qui s’éxécutait au fur et à mesure. Merci d'avance de vos réponses !
  5. Bonjour J'ai eu beau chercher partout, je ne trouve pas la solution. Si une bonne âme peut me conseiller ! Je ne comprends pas pourquoi dans une scène ma requête ne passe pas. Pourtant il y en a d'autres qui passent alors qu'elle ont la même "forme" dans un browser (OK) : http://192.168.9.99:5099/salon/stop dans un VD (OK): http = Net.FHttp(ipaddress, port) response = http:GET("/"..zonename.."/stop") dans une scène (KO): http = net.HTTPClient() http:request("http://"..ipaddress..":"..port.."/"..zonename.."/stop") ou (KO et aucun debug) http = net.HTTPClient() http:request("http://"..ipaddress..":"..port.."/"..zonename.."/stop", { options = { method = 'GET' }, success = function(p) fibaro:debug(p.status) fibaro:debug(p.data) end, error = function(err) fibaro:debug(err) end }) PS: @Yohan,je n'ai pas réussit à insérer le code dans mon message, il y avait un sablier permanent ! Merci.
  6. pepite

    Liste Api-Http Pour Hcl Et Hc2

    Bonjour, Voici une liste non exhaustive de l'API HTTP pour HOME CENTER 2 et HOME CENTER LITE A compléter si vous en connaissez d'autres !! - filters in /api/devices that allows for filtering out devices that meet some requirements, examples: HC IP/api/devices?visible=true returns devices with visible equal to 'true' HC IP/api/devices?property=[batteryLevel,100] returns devices with property batteryLevel equal to 100 HC IP/api/devices?interface=light returns devices with light interface Multiple filters can be used together, for example: HC IP/api/devices?visible=true&interface=light returns devices with visible equal to 'true' and with 'light' interface Suite à une Mise à jour, revenir à un firmware précédent http://ip_HC2/services/startUpgrade.php Relancer la fin de l'installation suite à une erreur 503 http://<IP hc2>/services/finishUpgradeAfterError.php
  7. robisette

    Hc2 Raspberry

    Bonjour àtous, avec la version 4082 de HC2 ne me travaille pas plus cette VD: local msg = fibaro:getGlobal("Karotz") local ip_module = fibaro:get(fibaro:getSelfId(), "IPAddress") local port = fibaro:get(fibaro:getSelfId(), "TCPPort") Karotz = Net.FHttp(ip_module, port) msg = msg:gsub("'","%%27") msg = msg:gsub(" ","%%20") response = Karotz:GET("/cgi-bin/speak.cgi?text="..msg:gsub(" ", "+").."\&cache=1\?=fr-FR") if (string.find(response, "return\":\"0")) then fibaro:log("OK") else fibaro:debug("ERROR") end ces minerais me permettent d'envoyer une chaîne àune framboise pour tts, il ne fonctionne pas, et je mis le navigateur de chaîne pour aller, donc il y a quelque chose a changé sur la VD Je ne comprends pas. Que dois-je changer? merci
  8. Bonjour, j'ai un souci avec les request http déclenchant des action de l'HC2, pour faire simple sur mon pc j'ai des .bat que j'utilisais avec ma zibase lançant des scènes cela marchait très bien utilisant curl.exe ex: start /B C:\curl http://192.168.1.xx/cgi-bin/domo.cgi?cmd=LM%2066 mais je voulais passer tous sur mon HC2 mais l'adressage des requests de HC2 me bloque à cause du & dans l'adresse start /B C:\curl http://Login:Pass@192.168.1.xx/api/callAction?deviceID=66&name=pressButton&arg1=6 voila ce que dit mon bat C:\Test\Commande>start /B C:\curl http://Login:Pass@192.168.1.xx/api/callAction?deviceID=66 & name=pressButton & arg1=6 'name' n’est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes. 'arg1' n’est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes. Appuyez sur une touche pour continuer... {"type":"ERROR","reason":"MISSING_PARAMETER","message":"name: missing required parameter"} Quelqu'un serait pourquoi & fait bloquer l'adresse et si il y a une solution? Merci
  9. Salut, Un petit article à méditer : L’interface IFTTT générique est arrivée : les requêtes HTTP pour les MAKERS
  10. hexan79

    Getvalue Dans Api Http?

    Bonjour, Savez-vous s'il y a moyen de récupérer la valeur d'un module (un capteur de température par exemple) directement avec une requête de l'API HTTP du HCL? Pour fixer une valeur j'ai vu qu'on pouvait utiliser cette requête: http://<LOGIN>:<PASS>@<IP>/api/callAction?deviceID=<ID>&name=setValue&arg1=<VALUE> Y'aurait-il une action getValue?
  11. cdlsal

    Api Requêtes Http (Contrôle Distant)

    Bonjour, Je souhaite contrôler ma box à distance via l'api de requête HTTP décrite ici : http://tutoriels.domotique-store.fr/content/49/45/fr/api-commander-le-home-center-par-des-requ%C3%AAtes-http.html Cela fonctionne t-il qu'en local? Ou existe-t-il un moyen de le faire à distance depuis une machine via l'adresse ip publique de ma box? Merci d'avance, Camille
×