Aller au contenu

jack!

Membres confirmés
  • Compteur de contenus

    4
  • Inscription

  • Dernière visite

Messages posté(e)s par jack!


  1. Oui effectivement j'ai dû inverser, BLEU/ROUGE et les horaires à force  de changer dans tous les sens. Du coup j'ai simplifié mon code avec if...then...else..then par mieux pour autant. (même en changeant les horaires) 

    Effectivement, je vais m'y mettre à l'indentation, ça sera plus lisible, mais mon problème se situe peut-être dans la compréhension des blocs. (et oui je suis pas un pro du dev) 

    Ca n'a pas changé mise à part qu'il m'affiche bien ROUGE alors que je devrait être bleu vu qu'il est plus de 19H00.

    Merci de votre aide,,,, au pire je vais me pallucher la doc compléte...

    --[[
    %% autostart
    %% properties
    %% weather
    %% events
    %% globals
    --]]
    ----------------------
    local sourceTrigger = fibaro:getSourceTrigger();
      function tempFunc()
      local currentDate = os.date("*t");
      local startSource = fibaro:getSourceTrigger();
      setTimeout(tempFunc, 60*1000)
    end
      if (sourceTrigger["type"] == "autostart") then
      tempFunc()
    else
    end
    
    local currentDate = os.date("*t");
    local startSource = fibaro:getSourceTrigger();
    if ( startSource["type"] == "other") then
      fibaro:getGlobal("TARIF_EDF");
      fibaro:debug("on est ici get global EDF");
    end
    if ( ( (tonumber(os.date("%H%M")) >= tonumber(string.format("%02d%02d", "07", "00")) or tonumber(os.date("%H%M")) <= tonumber(string.format("%02d%02d", "19", "00"))) and (math.floor(os.time()/60)-math.floor(1530738000/60))%1 == 0 )
      )
      then
      fibaro:setGlobal("TARIF_EDF", "BLEU");
      fibaro:debug('on est bleu');
      local url = 'http://127.0.0.1:11111/api/scenes'
      local function putMethod(requestUrl, successCallback, errorCallback)
        local http = net.HTTPClient()
        http:request(requestUrl, {
            options = {
              method = 'PUT',
              data = message
    		 							},
            success = successCallback,
            error = errorCallback
          })
      end
      message = '{"id": 443, "iconID": 1009}' -- this scene id = 443 and new icon id = 1009 BLEU
      putMethod(url,
        function(resp)
          print('Status de la fonction HTTP PUT BLEU: ' .. resp.status)
        end,
        function(err)
          print('error' .. err)
        end
      )
    else
      fibaro:setGlobal("TARIF_EDF", "ROUGE");
      fibaro:debug("la on est rouge");
      fibaro:setGlobal("TARIF_EDF", "ROUGE");
      local url = 'http://127.0.0.1:11111/api/scenes'
      local function putMethod(requestUrl, successCallback, errorCallback)
        local http = net.HTTPClient()
        http:request(requestUrl, {
            options = {
              method = 'PUT', 
              data = message
            },
            success = successCallback,
            error = errorCallback
          })
      end
      message = '{"id": 441, "iconID": 1003}' -- this scene id = 441 and new icon id = 1003  ROUGE
      putMethod(url,
        function(resp)
          print('Status de la fonction HTTP PUT ROUGE: ' .. resp.status)
        end,
        function(err)
          print('error' .. err)
        end
      )
    end

     


  2. Bonjour à tous,   

     

    N’étant pas un pro du dev quel que soit le langage de programmation, je sollicite vos lumières;) !! 

    J'essaie de faire fonctionner ce code pour, en fonction de l'heure, passer ma variable globale en ROUGE ou BLEU.

    Ce qui déclenchera d'autres événements en fonction de cette globale (trigger) 

    Le problème que je rencontre est que cette fonction marche uniquement sur le bloc BLEU je n'arrive a passer au Bloc ROUGE et donc tester ma fonction jusqu'au bout.

    Voici mon debug pourant il devrait être en Rouge ... 

     

    Merci :) 

    Jack!

     

    image.png.74a616bb47adcdd7831bb81171b8c7a6.png

     

    --[[
    %% autostart
    %% properties
    %% weather
    %% events
    %% globals
    --]]
    ----------------------
    local sourceTrigger = fibaro:getSourceTrigger();
    function tempFunc()
    local currentDate = os.date("*t");
    local startSource = fibaro:getSourceTrigger();
     setTimeout(tempFunc, 60*1000)
    end
    -----------------------
    if (sourceTrigger["type"] == "autostart") then
    tempFunc()
    else
    end
    -----------------------------------------------
    local currentDate = os.date("*t");
    local startSource = fibaro:getSourceTrigger();
    if (
    startSource["type"] == "other"
    )
    then
    	fibaro:getGlobal("TARIF_EDF");
    fibaro:debug("on est ici get global EDF");
    end 
    ------------------------------------------------
    if (
     ( (tonumber(os.date("%H%M")) >= tonumber(string.format("%02d%02d", "07", "00")) or tonumber(os.date("%H%M")) <= tonumber(string.format("%02d%02d", "22", "59"))) and (math.floor(os.time()/60)-math.floor(1530738000/60))%1 == 0 )
    )
    then
    	fibaro:setGlobal("TARIF_EDF", "BLEU");
      	fibaro:debug('on est en tarif bleu');
     end 
        --------------------------affiche l'icone BLEU------------------ 
    local url = 'http://127.0.0.1:11111/api/scenes'
    local function putMethod(requestUrl, successCallback, errorCallback)
    local http = net.HTTPClient()
    http:request(requestUrl, {
    options = {
    method = 'PUT',
    data = message
    },
    success = successCallback,
    error = errorCallback
    })
    end
    
    message = '{"id": 443, "iconID": 1009}' -- this scene id = 443 and new icon id = 1009 BLEU
    putMethod(url,
    function(resp)
    print('Status de la fonction HTTP PUT BLEU: ' .. resp.status)
    end,
    function(err)
    print('error' .. err)
    end
    )
    --------------------------------------------------------------------- 
    if (
    
       ( (tonumber(os.date("%H%M")) >= tonumber(string.format("%02d%02d", "23", "00")) or tonumber(os.date("%H%M")) <= tonumber(string.format("%02d%02d", "06", "59"))) and (math.floor(os.time()/60)-math.floor(1530738000/60))%1 == 0 )
    )
    then
    	fibaro:setGlobal("TARIF_EDF", "ROUGE");
    	
      			fibaro:debug("la on est en tarif rouge");
    			fibaro:setGlobal("TARIF_EDF", "ROUGE");
            	--------------------------affiche l'icone EDF ROUGE------------------ 
    			local url = 'http://127.0.0.1:11111/api/scenes'
    			local function putMethod(requestUrl, successCallback, errorCallback)
    			local http = net.HTTPClient()
    			http:request(requestUrl, {
    			options = {
    			method = 'PUT',
    			data = message
    					},
    			success = successCallback,
    			error = errorCallback
    			})
    	end
    
    		message = '{"id": 441, "iconID": 1003}' -- this scene id = 441 and new icon id = 1003  ROUGE
    		putMethod(url,
    		function(resp)
    		print('Status de la fonction HTTP PUT ROUGE: ' .. resp.status)
    		end,
    			function(err)
    			print('error' .. err)
    				end
        	)
    
    -------------------------------------------------------------
    			end

     


  3. Hello 

    Je me présente, Jack , je travaille dans le milieu des réseaux informatiques, systèmes, sécurité. Une extension de mon metier...la domotique par passion tout comme mon travail. J'ai longtemps attendu des solutions stables, avec des technologies ne nécessitant pas de câblage particulier. 

    Cela m'a amené vers le Z-wave et une solution ouverte. Je me suis dirigé naturellement vers une HC2, trouvant cette box plutôt innovante et avec des "devices" aboutis. (malgré l'instabilité de celle-ci, parfois)

    Bref, ici pour progresser dans les développements en LUA et autre et faire part de mon experience! :D

     

    HC2 4.x avec une 20aine de module ( Fibaro, TBK, Everspring, Netatmo, ...)  

      

     

     

×