Aller au contenu

Rechercher dans la communauté: Affichage des résultats pour les étiquettes 'net.httpclient'.



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
  • Fibaro's Awards
    • Membre du mois
    • Jeux concours & Cadeaux
  • Les bonnes affaires
    • Sites internet
    • Petites annonces

Calendriers

Aucun résultat à afficher.


3 résultats trouvés

  1. Comportement du timeout dans les net.HTTPClient ?

    Bonjour à tous, Petite question : dans une scène : comment se comporte le timeout des requêtes http de ce type ? local http = net.HTTPClient({ timeout = 2000 }) http:request("blablabla...", { success = function(response) print("success") end, error = function(response) print("Error: " ..response) end, }) Le but serait d'exécuter une fonction si le timeout est atteint. La fonction error n'est pas appelée La scène plante tout simplement si le timeout est fini. J'ai essayé cela mais sans succès : local http = net.HTTPClient({ timeout = 2000 }) http:request("blablabla...", { success = function(response) print("success") end, error = function(response) print("Error: " ..response) end, timeout = function(response) print("Timeout") end, }) comme toujours, merci d'avance pour vos idées !!!!
  2. bonjour à tous, question de programmation pure et dure Je suis confronté à un problème plutôt bloquant me concernant. Dans une scène (gestion de 12 mi-flora avec VD, consignes d'humidité, alertes mail, ... bref), je souhaite créer des variables globales dynamiquement. j'utilise pour cela ce bout de code (simplifié), qui marche très bien, placé dans une fonction : function TestGlobal(id) local http = net.HTTPClient() if fibaro:getGlobal(id) == nil then --si pas de VG --nouvelle variable newVar = {} newVar.name = id newVar.value = "0" http:request("http://127.0.0.1:11111/api/globalVariables", { options = {method = 'POST', data = json.encode(newVar)}, success = function(response) print("Création de la variable "..id) end, error = function(response) print("Error: " ..response) end, }) end end MAIS cette fonction est appelée en premier, pour ensuite exécuter d'autres fonctions utilisant justement les VG créées. Et bien ça marche pô ! Si j'analyse bien mon script complet, les VG ne sont même pas créées !!!! J'ai pas le print du success !!!! ni celui du error... pourquoi ???? Et le plus dingue, c'est que si je n'exécute pas les fonctions qui suivent, celle de la création de VG fonctionne très bien, les VG sont alors crées !!! d'après mes recherches et essais cela viendrait du mode asynchrone de l'execution du net.HTTPClient. Mais alors comment le contourner ??? J'ai déjà été confronté à ce genre de soucis, que j'ai pu contourner en imbriquant les net.HTTPClient , mais le code devient très illisible et compliqué. (exemple pour des scènes qui gère la patrouille de caméras, 7 positions PTZ déterminées = 7 net.HTTPClient qui s'imbriquent ) Mais la clairement dans ma scène actuelle, je ne peux pas faire ce genre d'emboitement. Merci pour votre aide !!
  3. Bonjour j'ai enfin réussi à récupérer les infos de ma smappee à partir d'une interface REST. Malheureusement je galère à créer un module virtuel qui irait chercher ces infos automatiquement. Le problème est qu'il faut utiliser un Header pour la requête. Voici ce que j'ai trouvé et comment j'ai codé: local httpClient = net.HTTPClient(); httpclient:request('https://app1pub.smappee.net/dev/v1/servicelocation/[serviceLocationId]/consumption?aggregation=4&from=1423907904000&to=1426327104000', { success = successCallback, error = errorCallback, options = { method = 'GET' }, headers = { ['Authorization'] = 'bearer [ACCESS_TOKEN]' } } ) if (tonumber(errorCode) == 0) then jsonTable = json.decode(response); fibaro:debug("consumption" .. jsontable.consumptions.consumption); else fibaro:debug("error "..errorCode ) end la reponse étant { serviceLocationId: XXXX consumptions: [ 1] 0: { timestamp: 1425164400000 consumption: 721056.4 solar: 0 alwaysOn: 1408702 } - - } merci pour votre aide

Footer title

This content can be configured within your theme settings in your ACP. You can add any HTML including images, paragraphs and lists.

Footer title

This is an example of a list.

Footer title

This content can be configured within your theme settings in your ACP. You can add any HTML including images, paragraphs and lists.

Footer title

This content can be configured within your theme settings in your ACP. You can add any HTML including images, paragraphs and lists.

×
/* Navigation */ function ipsfocusNavigation() { var navwidth = 0; var morewidth = $('.ipsNavBar_primary .focus-nav-more').outerWidth(true); $('.ipsNavBar_primary > ul > li:not(.focus-nav-more)').each(function() { navwidth += $(this).outerWidth( true ) + 2; }); var availablespace = $('.ipsNavBar_primary').outerWidth(true) - morewidth; if (availablespace > 0 && navwidth > availablespace) { var lastItem = $('.ipsNavBar_primary > ul > li:not(.focus-nav-more)').last(); lastItem.attr('data-width', lastItem.outerWidth(true)); lastItem.prependTo($('.ipsNavBar_primary .focus-nav-more > ul')); ipsfocusNavigation(); } else { var firstMoreElement = $('.ipsNavBar_primary li.focus-nav-more li').first(); if (navwidth + firstMoreElement.data('width') < availablespace) { firstMoreElement.insertBefore($('.ipsNavBar_primary .focus-nav-more')); } } if ($('.focus-nav-more li').length > 0) { $('.focus-nav-more').removeClass('focus-nav-hidden'); } else { $('.focus-nav-more').addClass('focus-nav-hidden'); } } $(window).on('load',function(){ $(".ipsNavBar_primary").removeClass("focus-nav-loading"); ipsfocusNavigation(); }); $(window).on('resize',function(){ ipsfocusNavigation(); }); // Make hover navigation work with touch devices // http://osvaldas.info/drop-down-navigation-responsive-and-touch-friendly ;(function(e,t,n,r){e.fn.doubleTapToGo=function(r){if(!("ontouchstart"in t)&&!navigator.msMaxTouchPoints&&!navigator.userAgent.toLowerCase().match(/windows phone os 7/i))return false;this.each(function(){var t=false;e(this).on("click",function(n){var r=e(this);if(r[0]!=t[0]){n.preventDefault();t=r}});e(n).on("click touchstart MSPointerDown",function(n){var r=true,i=e(n.target).parents();for(var s=0;s ul > li:has(ul)').doubleTapToGo(); var browserResponsiveWidth = 980; var defaultBrowserWidth = $(window).width(); var headerHeight = $("#header").height(); var headerWrap = $(".headerWrap"); var headerBackgrounds = $(".headerBackgrounds"); var headerBlur = $(".headerBlur"); var blurEnd = 110; var headerEffects = function(){ var amountScrolled = $(window).scrollTop(); // Make navigation fixed if( amountScrolled >= headerHeight ){ headerWrap.addClass("fixedBlur"); } else { headerWrap.removeClass("fixedBlur"); } // Blur header if( (amountScrolled <= blurEnd) ){ headerWrap.removeClass("blurred"); } else { headerWrap.addClass("blurred"); } // Parallax effect var translateHeader = amountScrolled / 2; if( amountScrolled <= headerHeight ){ headerBackgrounds.css( "margin-top", translateHeader + "px" ); } else { headerBackgrounds.css( "margin-top", (headerHeight / 2) + "px" ); } } if( $('body').hasClass('wDesktop') ){ $(window).scroll(function(){ headerEffects(); }); }; });