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

Single high/low notification real time power smar meter


GasDeKu

Question

Hi everyone, I need some advice.

I would like to ensure that when the power (watts) of a smart meter device (ID 855) falls below a threshold it is notified by a push/email notification and the same when the power falls within the set limits.

I made this script but unfortunately the notifications are continuous while I would like the notification to be only one. Could you give me a suggestion? Thanks

 

--[[
%% properties
855 power
%% weather
%% events
%% globals
--]]

local startSource = fibaro:getSourceTrigger();
if ( tonumber(fibaro:getValue(855, "power")) >= 10 ) then
    fibaro:call(2, "sendDefinedEmailNotification", "351");
    fibaro:call(859, "sendDefinedPushNotification", "351");
else
     fibaro:call(2, "sendDefinedEmailNotification", "350");
    fibaro:call(859, "sendDefinedPushNotification", "350");
end

 

 

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Just a quick idea:
I would store something in a global var and
then check what the last message was (before sending)

Link to comment
Share on other sites

  • 0
  • Inquirer
  • sorry but I'm not a lua code expert.

    What I wrote is the result of conversions from block diagram > lua plus something I found on the net.

    Could you be more specific, perhaps with an example.

    Link to comment
    Share on other sites

    • 0

    maybe like this:

    if ( tonumber(fibaro:getValue(855, "power")) >= 10 ) then
        if hub.getGlobalVariable("LastMessage") == "351" then
         -- do nothing
        else
           -- send something
           hub.setGlobalVariable("LastMessage", "351")  -- set Variable
        end
    else
        if hub.getGlobalVariable("LastMessage") == "350" then
         -- do nothing
        else
           -- send something
          hub.setGlobalVariable("LastMessage", "350")  -- set Variable

       end
    end

     

     

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • Unfortunately it continues to send more than one notification.

     

    --[[
    %% properties
    855 power
    %% weather
    %% events
    %% globals
    --]]

    local hubID = 855

    if tonumber(fibaro:getValue(hubID, "power")) >= 10 then
        if fibaro:getGlobal("LastMessage") == "351" then
            -- do nothing
        else
            -- send something
        fibaro:debug("Power OK")
            fibaro:setGlobal("LastMessage", "351")  -- set Variable
        end
    else
        if fibaro:getGlobal("LastMessage") == "350" then
            -- do nothing
        else
            -- send something
            fibaro:debug("Power DOWN")
            fibaro:setGlobal("LastMessage", "350")  -- set Variable
        end
    end

    Please login or register to see this attachment.

    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...