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
    • Annonces et suggestions
    • Nouveau ? Présentez-vous
    • Le bistrot
    • Mon installation domotique
    • Autres Solutions Domotiques
  • La HC2 et ses périphériques
    • La Home Center pour les nuls
    • Home Center 2 & Lite
    • Modules Fibaro
    • Modules Z-wave
    • Périphériques et matériels autres
    • Plugins
    • Alarme & Vidéo-surveillance
    • Multimédia
    • Chauffage et Energie
    • Actionneurs & Ouvrants (Portail, volets...)
    • Eclairage
    • Applications Smartphones et Tablettes
    • English Section
  • Les objets connectés
    • Les Assistants Vocaux
  • Fibaro's Awards
    • Membre du mois
    • Jeux concours & Cadeaux
  • Les bonnes affaires
    • Sites internet
    • Petites annonces

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

5 résultats trouvés

  1. 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 )
  2. 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
  3. 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.
  4. IPX800 V4 : Pilotage des relais Contexte : Après avoir galléré pour trouver un Tuto sur le Forum expliquant comment piloter un IPX800 V4, je partage avec vous un exemple d'usage de l'IPX. Mon exemple est de pouvoir modifier l'état d'un des relais de l'IPX qui active le relais d'une sirène d'alarme. Je suis parti de l'exemple de @Moicphil Utiliser Une Sirène Extérieure Filaire Avec La Hc2 / Hclite , mais dans son cas il utiliser un IPX800 V3 alors moi j'utilise un IPX800 V4 et pour lequel les commandes ne sont pas les mêmes. Voici un extrait de la documentation de l'API de l'IPX800V4 : L'ensemble de l'API est protégée par une clef secrète. Par défaut, cette clef est : « apikey ». Elle est bien sur paramétrable et il est également possible de supprimer cette protection. Lors de l'utilisation de l'API JSON, il sera nécessaire de renseigner cette clef à chaque commande. Pour cela, dans tous les cas, il vous suffira de la placer en premier argument de la manière suivante : « key=apikey ». Les requêtes JSON commenceront donc de la manière suivante : « http://IPX800_V4/api/xdevices.json?key=apikey&... ». Elles pourront également comprendre plusieurs commandes à la fois (même si cela aura un impact sur la réponse). Exemple 1 : commande qui met le relais 01 de l'IPX800V4 à 1 (fonction SetR=) http://192.168.0.10/api/xdevices.json?key=apikey&SetR=01 Exemple 2 : commande qui met le relais 01 de l'IPX800V4 à 0 (fonction ClearR=) http://192.168.0.10/api/xdevices.json?key=apikey&ClearR=01 Exécution de ces commandes sous son explorateur, avec le résultat suivant : { "product": "IPX800_V4", "status": "Success" } Transposition de ces commandes en LUA dans un VD qui déclenche/arrête la Sirène : Bouton On (déclenche la sirène) : local _deviceIp = fibaro:get(fibaro:getSelfId(), 'IPAddress') -- get the adress off ipx800V4 HC2 = Net.FHttp(_deviceIp) response = HC2:GET("/api/xdevices.json?key=apikey&ClearR=01") Bouton Off (arrête la sirène) : local _deviceIp = fibaro:get(fibaro:getSelfId(), 'IPAddress') -- get the adress off ipx800V4 HC2 = Net.FHttp(_deviceIp) response = HC2:GET("/api/xdevices.json?key=apikey&SetR=01") Documentations de l'IPX800 V4 : mode-d'emploiIPX800V4.pdf IPX_API.pdf
  5. 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
×