Jump to content

Welcome to Smart Home Forum by FIBARO

Dear Guest,

 

as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.

 

As a member you can:

  •     Start new topics and reply to others
  •     Follow topics and users to get email updates
  •     Get your own profile page and make new friends
  •     Send personal messages
  •     ... and learn a lot about our system!

 

Regards,

Smart Home Forum by FIBARO Team


  • 0

Help with FHttp


rajp

Question

Hi there. I am running 4.047 on my HC2. I am trying to use this command in LUA to see if there is rain forecast and if I have already set the rain delay to 24 hours then ignore the step. However it does not like the FHttp line.. What am I doing wrong?? The statement seems to work in a virtual device but not in a LUA scene. The error I get is

 

[ERROR] 22:22:46: line 11: attempt to index global 'Net' (a nil value)

--]]
local sourceTrigger = fibaro:getSourceTrigger();
-- Set authentication
HC2 = Net.FHttp("192.168.1.xxx",80)
HC2:setBasicAuthentication("admin", "password")

-- get data table from the Sprinklers Panel
response ,status, errorCode = HC2:GET("/api/panels/drenchers");
jsonTable = json.decode(response);
fibaro:debug('Rain Delay Value: ' ..jsonTable.rainDelay);

 

 

I even tried the following.

 

local HC2 = Net.FHttp("127.0.0.1", 11111);
-- get data table from the Sprinklers Panel
local response ,status, errorCode = HC2:GET("/api/panels/drenchers");
local jsonTable = json.decode(response);
fibaro:debug('Rain Delay Value: ' ..jsonTable.rainDelay);

 

still no joy.

 

This is my entire code.

----------------------------------------------------------------

--[[
%% autostart
%% properties
3 WeatherConditionConverted
%% globals
--]]

local sourceTrigger = fibaro:getSourceTrigger();

-- Set authentication
local HC2 = Net.FHttp("127.0.0.1", 11111);

-- get data table from the Sprinklers Panel
local response ,status, errorCode = HC2:GET("/api/panels/drenchers");
local jsonTable = json.decode(response);
fibaro:debug('Rain Delay Value: ' ..jsonTable.rainDelay);

function tempFunc()
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();

if ( ( fibaro:getValue(3, "WeatherConditionConverted") == "rain" ) or  ( fibaro:getValue(3, "WeatherConditionConverted") == "storm" )
 and  (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "12:01")
 and ( tonumber(jsonTable.rainDelay == 0 ) ) ) then
    fibaro:call(319, "pressButton", "2");
    fibaro:call(tonumber(fibaro:getGlobalValue("RajIphone")), 'sendPush', 'Sprinkler Delayed by 24 hours');
    fibaro:call(2, "sendEmail", "Sprinkler Delay", "Sprinkler Delay by 24 hours");
end

setTimeout(tempFunc, 60*1000)
end
if (sourceTrigger["type"] == "autostart") then
tempFunc()
else

local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (
startSource["type"] == "other" and ( tonumber(jsonTable.rainDelay == 0 ) )
)
then
    fibaro:call(319, "pressButton", "2");
    fibaro:call(tonumber(fibaro:getGlobalValue("RajIphone")), 'sendPush', 'Sprinkler Delayed by 24 hours');
    fibaro:call(2, "sendEmail", "Sprinkler Delay", "Sprinkler Delay by 24 hours");
end

end
----------------------------------------------------------------

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Hi,

Net.FHttp is not supported in scenes. I think at this moment only in VDs. You have to use net.HTTPClient()

Regards

Link to comment
Share on other sites

  • 0
  • Inquirer
  • Hi,

    Net.FHttp is not supported in scenes. I think at this moment only in VDs. You have to use net.HTTPClient()

    Regards

    Ahh,.. will try to use the net.HTTPClient command.. I believe you have put a scene together like that.. will follow that. Thanks

    Link to comment
    Share on other sites

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Answer this question...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

    ×
    ×
    • Create New...