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

Virtual button to start a scene


Question

Posted

I had a similar topic a few days ago, but I have still no idea, what LUA code I have to use in a virtual button to start a simple Scene.

 

I tried a lot, but it all didn´t work, although the scene works perfect when I start it manually - but not via a virtual button.

 

Could someone provide me with a screenshot of a virtual button / LUA Code to start a scene please?

Please login or register to see this image.

/emoticons/default_icon_rolleyes.gif" alt=":roll:" />

Recommended Posts

  • 0
Posted

Please login or register to see this link.

  • 0
  • Inquirer
  • Posted

    Thanks for this LUA command, but putting just this command in a virtual button

     

    fibaro:startScene(sceneID)

     

    didn´t work for me. Is there something else to trigger a scene via a virtual button or a workaround if you can´t trigger a scene directly?  Sorry for this very basic question...

    • 0
    Posted

    did you put the ip of your hc2 in VD? I just tried this command and its working without probs. 

    Please login or register to see this attachment.

    Please login or register to see this attachment.

    • 0
    Posted

    Scene that you want to start from virtual device (VD) MUST be checked active and should NOT be protected by PIN. fibaro:startScene(sceneID) is working for me from VD and from another scene so it should work for you if you do as instructed. I have HC2 on 4.080.

    • 0
  • Inquirer
  • Posted

    Thanks guys - that helped. I made both mistakes

    Please login or register to see this image.

    /emoticons/default_icon_redface.gif" alt=":oops:" />  - I forgot to put in the IP adress in the virtual device and I didn´t activate the Scenes which I tried to start via the VD.

     

    I thought it still didn´t work, because the pushnotifications where not send from the Scenes, but when I opened the Scene I could see in the debug window that the Scenes where started. It might be a general problem with push notifications now... 

     

    So thanks a lot for your thumbnails and detailed instructions

    Please login or register to see this image.

    /emoticons/default_icon_smile.gif" alt=":-)" /> 

    Please login or register to see this image.

    /emoticons/default_icon_smile.gif" alt=":-)" />

    • 0
    Posted

    Viel Spaß mit HC2

    Please login or register to see this image.

    /emoticons/default_smile.png" alt=":)" srcset="https://forum.fibaro.com/uploads/emoticons/[email protected] 2x" width="20" height="20" />

    • 0
    Posted (edited)

    If VD is not making any API calls to another device on the network then IP address and port can stay in default setting as on this picture:

     

    Please login or register to see this attachment.

     

    Only if you have API calls from VD to another device on network then is good practice to set IP address and TCP port as on this picture:

     

    Please login or register to see this attachment.

     

    But even that is not necessary because IP can be defined in LUA code.

    Edited by Sankotronic
    • 0
  • Inquirer
  • Posted

    My virtual button works fine now, but I´m still confused because the button triggeres the scene (I can see it in the debug window of the scene), but without the push notifications in the scene. When I start the scene manually with the Start-Button it starts as well but I get the push notification too. Any ideas?

    Please login or register to see this image.

    /emoticons/default_icon_eek.gif" alt=":shock:" />  

    • 0
    Posted

    is it possible that your scene was a block style and then you edited it in LUA?

    • 0
  • Inquirer
  • Posted

    No, it´s complete LUA. And everything works fine (except the positive Push-Mail that every window/door is closed at the end) when I start it directly

    Please login or register to see this image.

    /emoticons/default_icon_eek.gif" alt=":shock:" /> Here it is:

     

    --[[
    %% properties
    50 value
    67 value
    390 value
    53 value
    46 value
    49 value
    52 value
    66 value
    132 value
    61 value
    60 value
    126 value
    58 value
    57 value
    56 value
    69 value
    155 value
    93 value
    94 value
    127 value
    129 value
    74 value
    71 value
    95 value
    157 value
    517 value
    91 value
    92 value
    90 value
    145 value
    %% globals
    --]]
     
    -- Script läuft nur wenn die Szene gestartet wird
     
    -- Fenster/Tür Kontakte --

    -- Flur --
    local Haustuere = (tonumber(fibaro:getValue(50, "value")) == 0);
    local Fenster1Flur = (tonumber(fibaro:getValue(67, "value")) == 0);
    local Fenster2Flur = (tonumber(fibaro:getValue(390, "value")) == 0);

    -- Klo --
    local FensterKlo = (tonumber(fibaro:getValue(53, "value")) == 0);
     
    -- Küche --
    local Fenster1Kueche = (tonumber(fibaro:getValue(46, "value")) == 0);
    local Fenster2Kueche = (tonumber(fibaro:getValue(49, "value")) == 0);
    local Fenster3Kueche = (tonumber(fibaro:getValue(52, "value")) == 0);
     
    -- Gästezimmer --
    local FensterGaeste = (tonumber(fibaro:getValue(66, "value")) == 0);
     
    -- Wohnzimmer --
    local Fenster1Wohnzimmer = (tonumber(fibaro:getValue(132, "value")) == 0);
    local Fenster2Wohnzimmer = (tonumber(fibaro:getValue(61, "value")) == 0);
    local Fenster3u4Wohnzimmer = (tonumber(fibaro:getValue(60, "value")) == 0);
    local SchiebetuerWohnzimmer = (tonumber(fibaro:getValue(126, "value")) == 0);
    local Fenster6u7Wohnzimmer = (tonumber(fibaro:getValue(58, "value")) == 0);
    local Fenster8Wohnzimmer = (tonumber(fibaro:getValue(57, "value")) == 0);
    local Fenster9Wohnzimmer = (tonumber(fibaro:getValue(56, "value")) == 0);

    -- Heizung --
    local TuerHeizung = (tonumber(fibaro:getValue(69, "value")) == 0);

    -- Annika --
    local Fenster1Annika = (tonumber(fibaro:getValue(155, "value")) == 0);
    local Fenster2Annika = (tonumber(fibaro:getValue(93, "value")) == 0);
    local Fenster3Annika = (tonumber(fibaro:getValue(94, "value")) == 0);

    -- Schlafzimmer --
    local Fenster1Schlafzimmer = (tonumber(fibaro:getValue(127, "value")) == 0);
    local Fenster2Schlafzimmer = (tonumber(fibaro:getValue(129, "value")) == 0);
    local Fenster3Schlafzimmer = (tonumber(fibaro:getValue(74, "value")) == 0);

    -- Bad --
    local FensterBad = (tonumber(fibaro:getValue(71, "value")) == 0);
     
    -- Ankleide --
    local FensterAnkleide = (tonumber(fibaro:getValue(95, "value")) == 0);
     
    -- Marius --
    local Fenster3Marius = (tonumber(fibaro:getValue(157, "value")) == 0);
    local Fenster2Marius = (tonumber(fibaro:getValue(517, "value")) == 0);

    -- Fiona --
    local Fenster1u2Fiona = (tonumber(fibaro:getValue(91, "value")) == 0);
    local Fenster3Fiona = (tonumber(fibaro:getValue(92, "value")) == 0);
    local Fenster4Fiona = (tonumber(fibaro:getValue(90, "value")) == 0);

    -- Halle --
    local Hallentor = (tonumber(fibaro:getValue(145, "value")) == 0);

    --------------------------
     
    -- Script --
     
    local startSource = fibaro:getSourceTrigger();
     
    -- Fenster Status überprüfen --
    if startSource["type"] == "other"
       then

      -- Flur --
        if Haustuere then
         fibaro:debug('Haustuere ist geschlossen');
         else
         fibaro:debug('Haustuere ist geöffnet');
         fibaro:call(488, "sendPush", "Haustuere ist geöffnet");
     
        end
       
        if Fenster1Flur then
         fibaro:debug('Fenster1Flur ist geschlossen');
         else
         fibaro:debug('Fenster1Flur ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster1Flur ist geöffnet");
     
        end
       
        if Fenster2Flur then
         fibaro:debug('Fenster2Flur ist geschlossen');
         else
         fibaro:debug('Fenster2Flur ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster1Flur ist geöffnet");
     
        end
     
        -- Klo --
        if FensterKlo then
         fibaro:debug('FensterKlo ist geschlossen');
         else
         fibaro:debug('FensterKlo ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster Klo ist geöffnet");
     
        end
     
        -- Kueche --
        if Fenster1Kueche then
         fibaro:debug('Fenster1Kueche ist geschlossen');
         else
         fibaro:debug('Fenster1Kueche ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster1Kueche ist geöffnet");
     
        end
     
        if Fenster2Kueche then
         fibaro:debug('Fenster2Kueche ist geschlossen');
         else
         fibaro:debug('Fenster2Kueche ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster2Kueche ist geöffnet");
     
        end
     
      if Fenster3Kueche then
         fibaro:debug('Fenster3Kueche ist geschlossen');
         else
         fibaro:debug('Fenster3Kueche ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster3Kueche ist geöffnet");
     
        end
     
        -- Fenster Gaestezimmer --
        if FensterGaeste then
         fibaro:debug('FensterGaeste ist geschlossen');
         else
         fibaro:debug('FensterGaeste ist geöffnet');
         fibaro:call(488, "sendPush", "FensterGaeste ist geöffnet");
     
        end
     
        -- Wohnzimmer --
        if Fenster1Wohnzimmer then
         fibaro:debug('Fenster1Wohnzimmer ist geschlossen');
         else
         fibaro:debug('Fenster1Wohnzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster1Wohnzimmer ist geöffnet");
     
        end
     
        if Fenster2Wohnzimmer then
         fibaro:debug('Fenster2Wohnzimmer ist geschlossen');
         else
         fibaro:debug('Fenster2Wohnzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster2Wohnzimmer ist geöffnet");
     
        end
     
      if Fenster3u4Wohnzimmer then
         fibaro:debug('Fenster3u4Wohnzimmer ist geschlossen');
         else
         fibaro:debug('Fenster3u4Wohnzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster3u4Wohnzimmer ist geöffnet");
     
        end
     
      if SchiebetuerWohnzimmer then
         fibaro:debug('SchiebetuerWohnzimmer ist geschlossen');
         else
         fibaro:debug('SchiebetuerWohnzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "SchiebetuerWohnzimmer ist geöffnet");
     
        end
     
        if Fenster6u7Wohnzimmer then
         fibaro:debug('Fenster6u7Wohnzimmer ist geschlossen');
         else
         fibaro:debug('Fenster6u7Wohnzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster6u7Wohnzimmer ist geöffnet");
     
        end
     
      if Fenster8Wohnzimmer then
         fibaro:debug('Fenster8Wohnzimmer ist geschlossen');
         else
         fibaro:debug('Fenster8Wohnzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster8Wohnzimmer ist geöffnet");
     
        end
     
      if Fenster9Wohnzimmer then
         fibaro:debug('Fenster9Wohnzimmer ist geschlossen');
         else
         fibaro:debug('Fenster9Wohnzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster9Wohnzimmer ist geöffnet");
     
        end
     
       -- Heizung --
        if TuerHeizung then
         fibaro:debug('TuerHeizung ist geschlossen');
         else
         fibaro:debug('TuerHeizung ist geöffnet');
         fibaro:call(488, "sendPush", "TuerHeizung ist geöffnet");
     
        end
     
      -- Annika --
        if Fenster1Annika then
         fibaro:debug('Fenster1Annika ist geschlossen');
         else
         fibaro:debug('Fenster1Annika ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster1Annika ist geöffnet");
     
        end
     
        if Fenster2Annika then
         fibaro:debug('Fenster2Annika ist geschlossen');
         else
         fibaro:debug('Fenster2Annika ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster2Annika ist geöffnet");
     
        end
     
      if Fenster3Annika then
         fibaro:debug('Fenster3Annika ist geschlossen');
         else
         fibaro:debug('Fenster3Annika ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster3Annika ist geöffnet");
     
        end
     
      -- Fenster Schlafzimmer --
        if Fenster1Schlafzimmer then
         fibaro:debug('Fenster1Schlafzimmer ist geschlossen');
         else
         fibaro:debug('Fenster1Schlafzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster1Schlafzimmer ist geöffnet");
     
        end
     
      if Fenster2Schlafzimmer then
         fibaro:debug('Fenster2Schlafzimmer ist geschlossen');
         else
         fibaro:debug('Fenster2Schlafzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster2Schlafzimmer ist geöffnet");
     
        end
       
      if Fenster3Schlafzimmer then
         fibaro:debug('Fenster3Schlafzimmer ist geschlossen');
         else
         fibaro:debug('Fenster3Schlafzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster3Schlafzimmer ist geöffnet");
     
        end
       
        -- Bad --
        if FensterBad then
         fibaro:debug('FensterBad ist geschlossen');
         else
         fibaro:debug('FensterBad ist geöffnet');
         fibaro:call(488, "sendPush", "FensterBad ist geöffnet");
     
        end

      -- Ankleide --
        if FensterAnkleide then
         fibaro:debug('FensterAnkleide ist geschlossen');
         else
         fibaro:debug('FensterAnkleide ist geöffnet');
         fibaro:call(488, "sendPush", "FensterAnkleide ist geöffnet");
     
        end 
     
      -- Fenster Marius --
        if Fenster3Marius then
         fibaro:debug('Fenster3Marius ist geschlossen');
         else
         fibaro:debug('Fenster3Marius ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster3Marius ist geöffnet");
     
        end
     
      if Fenster2Marius then
         fibaro:debug('Fenster2Marius ist geschlossen');
         else
         fibaro:debug('Fenster2Marius ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster2Marius ist geöffnet");
     
        end
     
      -- Fenster Fiona --
        if Fenster1u2Fiona then
         fibaro:debug('Fenster1u2Fiona ist geschlossen');
         else
         fibaro:debug('Fenster1u2Fiona ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster1u2Fiona ist geöffnet");
     
        end
     
      if Fenster3Fiona then
         fibaro:debug('Fenster3Fiona ist geschlossen');
         else
         fibaro:debug('Fenster3Fiona ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster3Fiona ist geöffnet");
     
        end
     
      if Fenster4Fiona then
         fibaro:debug('Fenster4Fiona ist geschlossen');
         else
         fibaro:debug('Fenster4Fiona ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster4Fiona ist geöffnet");
     
        end
     
      -- Halle --
        if Hallentor then
         fibaro:debug('Hallentor ist geschlossen');
         else
         fibaro:debug('Hallentor ist geöffnet');
         fibaro:call(488, "sendPush", "Hallentor ist geöffnet");
       
        end
       
        if ((not Haustuere) and (not Fenster1Flur) and (not Fenster2Flur) and (not FensterKlo)
        and (not Fenster1Kueche) and (not Fenster2Kueche) and (not Fenster3Kueche)
        and (not FensterGaeste) and (not Fenster1Wohnzimmer) and (not Fenster2Wohnzimmer)
        and (not Fenster3u4Wohnzimmer) and (not SchiebetuerWohnzimmer) and (not Fenster6u7Wohnzimmer)
        and (not Fenster8Wohnzimmer) and (not Fenster9Wohnzimmer) and (not TuerHeizung)
        and (not Fenster1Annika) and (not Fenster2Annika) and (not Fenster3Annika)
        and (not Fenster1Schlafzimmer) and (not Fenster2Schlafzimmer) and (not Fenster3Schlafzimmer)
        and (not FensterBad) and (not FensterAnkleide) and (not Fenster3Marius)
        and (not Fenster2Marius) and (not Fenster1u2Fiona) and (not Fenster3Fiona)
        and (not Fenster4Fiona) and (not Hallentor))
        then
        fibaro:debug('Alle Fenster zu');
        fibaro:call(488, "sendPush", "Fenster und Türen sind geschlossen!");

        end
     fibaro:debug(" SCENE START ")
      if fibaro:countScenes() > 1 then
      fibaro:debug(" SCENE ABORT - too many instances ")
      fibaro:abort()   
        end
    end

    • 0
    Posted

    you do not need to check start source at the begining of your script. 

     

    if startSource["type"] == "other"

     

    looks like a block scene changed by fibaro  to LUA

    • 0
    Posted

    or change 'other' to 'property'. than it will run automatically and will not run started manually. 

    • 0
  • Inquirer
  • Posted

    Thank your for your idea, but I tried it without the if/then command and with "property" instead of "other" but the script didn´t work than anymore (no reaction even in the debug window and still no push notification

    Please login or register to see this image.

    /emoticons/default_icon_confused.gif" alt=":-?" /> )...

    • 0
    Posted

    I am sure it is a part of your problem. 

     

    This check :     if startSource["type"] == "other"  if answered "no" (automatic trigger) your scene jumps to last 'end' without doing anything.

    If answerd "yes" (manual trigger) - let's you go through and you are getting your push messages. 

    I would suggest to put some debug messages to check how the scene runs. 

    • 0
    Posted

    i just copied your scene into my system. if you take out this if, then and the end at the end of the scene the script runs when triggered manually. I could not test the automatic trigger but I am sure it will run,

     

    I woud also suggest to put the check of scenes running to the top.

     

    And one more question. Do you really want to get a push every time a window was opened or closed. is that the reason for so many triggers? if you want to check your sensors by pressing a VD button I would delete all of them.

     

    --[[
    %% properties
    50 value
    67 value
    390 value
    53 value
    46 value
    49 value
    52 value
    66 value
    132 value
    61 value
    60 value
    126 value
    58 value
    57 value
    56 value
    69 value
    155 value
    93 value
    94 value
    127 value
    129 value
    74 value
    71 value
    95 value
    157 value
    517 value
    91 value
    92 value
    90 value
    145 value
    %% globals
    --]]

    fibaro:debug(" SCENE START ")
      if fibaro:countScenes() > 1 then
      fibaro:debug(" SCENE ABORT - too many instances ")
      fibaro:abort()  
        end

    -- Script läuft nur wenn die Szene gestartet wird

    -- Fenster/Tür Kontakte --
    -- Flur --
    local Haustuere = (tonumber(fibaro:getValue(50, "value")) == 0);
    local Fenster1Flur = (tonumber(fibaro:getValue(67, "value")) == 0);
    local Fenster2Flur = (tonumber(fibaro:getValue(390, "value")) == 0);
    -- Klo --
    local FensterKlo = (tonumber(fibaro:getValue(53, "value")) == 0);

    -- Küche --
    local Fenster1Kueche = (tonumber(fibaro:getValue(46, "value")) == 0);
    local Fenster2Kueche = (tonumber(fibaro:getValue(49, "value")) == 0);
    local Fenster3Kueche = (tonumber(fibaro:getValue(52, "value")) == 0);

    -- Gästezimmer --
    local FensterGaeste = (tonumber(fibaro:getValue(66, "value")) == 0);

    -- Wohnzimmer --
    local Fenster1Wohnzimmer = (tonumber(fibaro:getValue(132, "value")) == 0);
    local Fenster2Wohnzimmer = (tonumber(fibaro:getValue(61, "value")) == 0);
    local Fenster3u4Wohnzimmer = (tonumber(fibaro:getValue(60, "value")) == 0);
    local SchiebetuerWohnzimmer = (tonumber(fibaro:getValue(126, "value")) == 0);
    local Fenster6u7Wohnzimmer = (tonumber(fibaro:getValue(58, "value")) == 0);
    local Fenster8Wohnzimmer = (tonumber(fibaro:getValue(57, "value")) == 0);
    local Fenster9Wohnzimmer = (tonumber(fibaro:getValue(56, "value")) == 0);
    -- Heizung --
    local TuerHeizung = (tonumber(fibaro:getValue(69, "value")) == 0);
    -- Annika --
    local Fenster1Annika = (tonumber(fibaro:getValue(155, "value")) == 0);
    local Fenster2Annika = (tonumber(fibaro:getValue(93, "value")) == 0);
    local Fenster3Annika = (tonumber(fibaro:getValue(94, "value")) == 0);
    -- Schlafzimmer --
    local Fenster1Schlafzimmer = (tonumber(fibaro:getValue(127, "value")) == 0);
    local Fenster2Schlafzimmer = (tonumber(fibaro:getValue(129, "value")) == 0);
    local Fenster3Schlafzimmer = (tonumber(fibaro:getValue(74, "value")) == 0);
    -- Bad --
    local FensterBad = (tonumber(fibaro:getValue(71, "value")) == 0);

    -- Ankleide --
    local FensterAnkleide = (tonumber(fibaro:getValue(95, "value")) == 0);

    -- Marius --
    local Fenster3Marius = (tonumber(fibaro:getValue(157, "value")) == 0);
    local Fenster2Marius = (tonumber(fibaro:getValue(517, "value")) == 0);
    -- Fiona --
    local Fenster1u2Fiona = (tonumber(fibaro:getValue(91, "value")) == 0);
    local Fenster3Fiona = (tonumber(fibaro:getValue(92, "value")) == 0);
    local Fenster4Fiona = (tonumber(fibaro:getValue(90, "value")) == 0);
    -- Halle --
    local Hallentor = (tonumber(fibaro:getValue(145, "value")) == 0);
    --------------------------

    -- Script --


    -- Fenster Status überprüfen --

    -- Flur --
        if Haustuere then
         fibaro:debug('Haustuere ist geschlossen');
         else
         fibaro:debug('Haustuere ist geöffnet');
         fibaro:call(488, "sendPush", "Haustuere ist geöffnet");

        end
      
        if Fenster1Flur then
         fibaro:debug('Fenster1Flur ist geschlossen');
         else
         fibaro:debug('Fenster1Flur ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster1Flur ist geöffnet");

        end
      
        if Fenster2Flur then
         fibaro:debug('Fenster2Flur ist geschlossen');
         else
         fibaro:debug('Fenster2Flur ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster1Flur ist geöffnet");

        end

        -- Klo --
        if FensterKlo then
         fibaro:debug('FensterKlo ist geschlossen');
         else
         fibaro:debug('FensterKlo ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster Klo ist geöffnet");

        end

        -- Kueche --
        if Fenster1Kueche then
         fibaro:debug('Fenster1Kueche ist geschlossen');
         else
         fibaro:debug('Fenster1Kueche ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster1Kueche ist geöffnet");

        end

        if Fenster2Kueche then
         fibaro:debug('Fenster2Kueche ist geschlossen');
         else
         fibaro:debug('Fenster2Kueche ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster2Kueche ist geöffnet");

        end

      if Fenster3Kueche then
         fibaro:debug('Fenster3Kueche ist geschlossen');
         else
         fibaro:debug('Fenster3Kueche ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster3Kueche ist geöffnet");

        end

        -- Fenster Gaestezimmer --
        if FensterGaeste then
         fibaro:debug('FensterGaeste ist geschlossen');
         else
         fibaro:debug('FensterGaeste ist geöffnet');
         fibaro:call(488, "sendPush", "FensterGaeste ist geöffnet");

        end

        -- Wohnzimmer --
        if Fenster1Wohnzimmer then
         fibaro:debug('Fenster1Wohnzimmer ist geschlossen');
         else
         fibaro:debug('Fenster1Wohnzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster1Wohnzimmer ist geöffnet");

        end

        if Fenster2Wohnzimmer then
         fibaro:debug('Fenster2Wohnzimmer ist geschlossen');
         else
         fibaro:debug('Fenster2Wohnzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster2Wohnzimmer ist geöffnet");

        end

      if Fenster3u4Wohnzimmer then
         fibaro:debug('Fenster3u4Wohnzimmer ist geschlossen');
         else
         fibaro:debug('Fenster3u4Wohnzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster3u4Wohnzimmer ist geöffnet");

        end

      if SchiebetuerWohnzimmer then
         fibaro:debug('SchiebetuerWohnzimmer ist geschlossen');
         else
         fibaro:debug('SchiebetuerWohnzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "SchiebetuerWohnzimmer ist geöffnet");

        end

        if Fenster6u7Wohnzimmer then
         fibaro:debug('Fenster6u7Wohnzimmer ist geschlossen');
         else
         fibaro:debug('Fenster6u7Wohnzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster6u7Wohnzimmer ist geöffnet");

        end

      if Fenster8Wohnzimmer then
         fibaro:debug('Fenster8Wohnzimmer ist geschlossen');
         else
         fibaro:debug('Fenster8Wohnzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster8Wohnzimmer ist geöffnet");

        end

      if Fenster9Wohnzimmer then
         fibaro:debug('Fenster9Wohnzimmer ist geschlossen');
         else
         fibaro:debug('Fenster9Wohnzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster9Wohnzimmer ist geöffnet");

        end

       -- Heizung --
        if TuerHeizung then
         fibaro:debug('TuerHeizung ist geschlossen');
         else
         fibaro:debug('TuerHeizung ist geöffnet');
         fibaro:call(488, "sendPush", "TuerHeizung ist geöffnet");

        end

      -- Annika --
        if Fenster1Annika then
         fibaro:debug('Fenster1Annika ist geschlossen');
         else
         fibaro:debug('Fenster1Annika ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster1Annika ist geöffnet");

        end

        if Fenster2Annika then
         fibaro:debug('Fenster2Annika ist geschlossen');
         else
         fibaro:debug('Fenster2Annika ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster2Annika ist geöffnet");

        end

      if Fenster3Annika then
         fibaro:debug('Fenster3Annika ist geschlossen');
         else
         fibaro:debug('Fenster3Annika ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster3Annika ist geöffnet");

        end

      -- Fenster Schlafzimmer --
        if Fenster1Schlafzimmer then
         fibaro:debug('Fenster1Schlafzimmer ist geschlossen');
         else
         fibaro:debug('Fenster1Schlafzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster1Schlafzimmer ist geöffnet");

        end

      if Fenster2Schlafzimmer then
         fibaro:debug('Fenster2Schlafzimmer ist geschlossen');
         else
         fibaro:debug('Fenster2Schlafzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster2Schlafzimmer ist geöffnet");

        end
      
      if Fenster3Schlafzimmer then
         fibaro:debug('Fenster3Schlafzimmer ist geschlossen');
         else
         fibaro:debug('Fenster3Schlafzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster3Schlafzimmer ist geöffnet");

        end
      
        -- Bad --
        if FensterBad then
         fibaro:debug('FensterBad ist geschlossen');
         else
         fibaro:debug('FensterBad ist geöffnet');
         fibaro:call(488, "sendPush", "FensterBad ist geöffnet");

        end
      -- Ankleide --
        if FensterAnkleide then
         fibaro:debug('FensterAnkleide ist geschlossen');
         else
         fibaro:debug('FensterAnkleide ist geöffnet');
         fibaro:call(488, "sendPush", "FensterAnkleide ist geöffnet");

        end

      -- Fenster Marius --
        if Fenster3Marius then
         fibaro:debug('Fenster3Marius ist geschlossen');
         else
         fibaro:debug('Fenster3Marius ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster3Marius ist geöffnet");

        end

      if Fenster2Marius then
         fibaro:debug('Fenster2Marius ist geschlossen');
         else
         fibaro:debug('Fenster2Marius ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster2Marius ist geöffnet");

        end

      -- Fenster Fiona --
        if Fenster1u2Fiona then
         fibaro:debug('Fenster1u2Fiona ist geschlossen');
         else
         fibaro:debug('Fenster1u2Fiona ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster1u2Fiona ist geöffnet");

        end

      if Fenster3Fiona then
         fibaro:debug('Fenster3Fiona ist geschlossen');
         else
         fibaro:debug('Fenster3Fiona ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster3Fiona ist geöffnet");

        end

      if Fenster4Fiona then
         fibaro:debug('Fenster4Fiona ist geschlossen');
         else
         fibaro:debug('Fenster4Fiona ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster4Fiona ist geöffnet");

        end

      -- Halle --
        if Hallentor then
         fibaro:debug('Hallentor ist geschlossen');
         else
         fibaro:debug('Hallentor ist geöffnet');
         fibaro:call(488, "sendPush", "Hallentor ist geöffnet");
      
        end
      
        if ((not Haustuere) and (not Fenster1Flur) and (not Fenster2Flur) and (not FensterKlo)
        and (not Fenster1Kueche) and (not Fenster2Kueche) and (not Fenster3Kueche)
        and (not FensterGaeste) and (not Fenster1Wohnzimmer) and (not Fenster2Wohnzimmer)
        and (not Fenster3u4Wohnzimmer) and (not SchiebetuerWohnzimmer) and (not Fenster6u7Wohnzimmer)
        and (not Fenster8Wohnzimmer) and (not Fenster9Wohnzimmer) and (not TuerHeizung)
        and (not Fenster1Annika) and (not Fenster2Annika) and (not Fenster3Annika)
        and (not Fenster1Schlafzimmer) and (not Fenster2Schlafzimmer) and (not Fenster3Schlafzimmer)
        and (not FensterBad) and (not FensterAnkleide) and (not Fenster3Marius)
        and (not Fenster2Marius) and (not Fenster1u2Fiona) and (not Fenster3Fiona)
        and (not Fenster4Fiona) and (not Hallentor))
        then
        fibaro:debug('Alle Fenster zu');
        fibaro:call(488, "sendPush", "Fenster und Türen sind geschlossen!");
        end

    • 0
  • Inquirer
  • Posted

    Thanks again for your efforts, but unfortunately it didn´t work for me. When I copied the Scene and acitvated it, I got endless push notifications (it started allways from the beginning) and I couldn´t stop the Scene....

    Please login or register to see this image.

    /emoticons/default_icon_sad.gif" alt=":-(" />

    • 0
    Posted

    because you have all these automatic triggers. So probably it is not endless but each trigger can start the scene. If you delete them and start the scene by VD button, then it should be OK. 

     

    --[[
    %% properties
    %% globals
    --]]

     

     

     

    -- Script läuft nur wenn die Szene gestartet wird

    -- Fenster/Tür Kontakte --
    -- Flur --
    local Haustuere = (tonumber(fibaro:getValue(50, "value")) == 0);
    local Fenster1Flur = (tonumber(fibaro:getValue(67, "value")) == 0);
    local Fenster2Flur = (tonumber(fibaro:getValue(390, "value")) == 0);
    -- Klo --
    local FensterKlo = (tonumber(fibaro:getValue(53, "value")) == 0);

    -- Küche --
    local Fenster1Kueche = (tonumber(fibaro:getValue(46, "value")) == 0);
    local Fenster2Kueche = (tonumber(fibaro:getValue(49, "value")) == 0);
    local Fenster3Kueche = (tonumber(fibaro:getValue(52, "value")) == 0);

    -- Gästezimmer --
    local FensterGaeste = (tonumber(fibaro:getValue(66, "value")) == 0);

    -- Wohnzimmer --
    local Fenster1Wohnzimmer = (tonumber(fibaro:getValue(132, "value")) == 0);
    local Fenster2Wohnzimmer = (tonumber(fibaro:getValue(61, "value")) == 0);
    local Fenster3u4Wohnzimmer = (tonumber(fibaro:getValue(60, "value")) == 0);
    local SchiebetuerWohnzimmer = (tonumber(fibaro:getValue(126, "value")) == 0);
    local Fenster6u7Wohnzimmer = (tonumber(fibaro:getValue(58, "value")) == 0);
    local Fenster8Wohnzimmer = (tonumber(fibaro:getValue(57, "value")) == 0);
    local Fenster9Wohnzimmer = (tonumber(fibaro:getValue(56, "value")) == 0);
    -- Heizung --
    local TuerHeizung = (tonumber(fibaro:getValue(69, "value")) == 0);
    -- Annika --
    local Fenster1Annika = (tonumber(fibaro:getValue(155, "value")) == 0);
    local Fenster2Annika = (tonumber(fibaro:getValue(93, "value")) == 0);
    local Fenster3Annika = (tonumber(fibaro:getValue(94, "value")) == 0);
    -- Schlafzimmer --
    local Fenster1Schlafzimmer = (tonumber(fibaro:getValue(127, "value")) == 0);
    local Fenster2Schlafzimmer = (tonumber(fibaro:getValue(129, "value")) == 0);
    local Fenster3Schlafzimmer = (tonumber(fibaro:getValue(74, "value")) == 0);
    -- Bad --
    local FensterBad = (tonumber(fibaro:getValue(71, "value")) == 0);

    -- Ankleide --
    local FensterAnkleide = (tonumber(fibaro:getValue(95, "value")) == 0);

    -- Marius --
    local Fenster3Marius = (tonumber(fibaro:getValue(157, "value")) == 0);
    local Fenster2Marius = (tonumber(fibaro:getValue(517, "value")) == 0);
    -- Fiona --
    local Fenster1u2Fiona = (tonumber(fibaro:getValue(91, "value")) == 0);
    local Fenster3Fiona = (tonumber(fibaro:getValue(92, "value")) == 0);
    local Fenster4Fiona = (tonumber(fibaro:getValue(90, "value")) == 0);
    -- Halle --
    local Hallentor = (tonumber(fibaro:getValue(145, "value")) == 0);
    --------------------------

    -- Script --

    -- Fenster Status überprüfen --
    -- Flur --
        if Haustuere then
         fibaro:debug('Haustuere ist geschlossen');
         else
         fibaro:debug('Haustuere ist geöffnet');
         fibaro:call(488, "sendPush", "Haustuere ist geöffnet");

        end
     
        if Fenster1Flur then
         fibaro:debug('Fenster1Flur ist geschlossen');
         else
         fibaro:debug('Fenster1Flur ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster1Flur ist geöffnet");

        end
     
        if Fenster2Flur then
         fibaro:debug('Fenster2Flur ist geschlossen');
         else
         fibaro:debug('Fenster2Flur ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster1Flur ist geöffnet");

        end

        -- Klo --
        if FensterKlo then
         fibaro:debug('FensterKlo ist geschlossen');
         else
         fibaro:debug('FensterKlo ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster Klo ist geöffnet");

        end

        -- Kueche --
        if Fenster1Kueche then
         fibaro:debug('Fenster1Kueche ist geschlossen');
         else
         fibaro:debug('Fenster1Kueche ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster1Kueche ist geöffnet");

        end

        if Fenster2Kueche then
         fibaro:debug('Fenster2Kueche ist geschlossen');
         else
         fibaro:debug('Fenster2Kueche ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster2Kueche ist geöffnet");

        end

      if Fenster3Kueche then
         fibaro:debug('Fenster3Kueche ist geschlossen');
         else
         fibaro:debug('Fenster3Kueche ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster3Kueche ist geöffnet");

        end

        -- Fenster Gaestezimmer --
        if FensterGaeste then
         fibaro:debug('FensterGaeste ist geschlossen');
         else
         fibaro:debug('FensterGaeste ist geöffnet');
         fibaro:call(488, "sendPush", "FensterGaeste ist geöffnet");

        end

        -- Wohnzimmer --
        if Fenster1Wohnzimmer then
         fibaro:debug('Fenster1Wohnzimmer ist geschlossen');
         else
         fibaro:debug('Fenster1Wohnzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster1Wohnzimmer ist geöffnet");

        end

        if Fenster2Wohnzimmer then
         fibaro:debug('Fenster2Wohnzimmer ist geschlossen');
         else
         fibaro:debug('Fenster2Wohnzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster2Wohnzimmer ist geöffnet");

        end

      if Fenster3u4Wohnzimmer then
         fibaro:debug('Fenster3u4Wohnzimmer ist geschlossen');
         else
         fibaro:debug('Fenster3u4Wohnzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster3u4Wohnzimmer ist geöffnet");

        end

      if SchiebetuerWohnzimmer then
         fibaro:debug('SchiebetuerWohnzimmer ist geschlossen');
         else
         fibaro:debug('SchiebetuerWohnzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "SchiebetuerWohnzimmer ist geöffnet");

        end

        if Fenster6u7Wohnzimmer then
         fibaro:debug('Fenster6u7Wohnzimmer ist geschlossen');
         else
         fibaro:debug('Fenster6u7Wohnzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster6u7Wohnzimmer ist geöffnet");

        end

      if Fenster8Wohnzimmer then
         fibaro:debug('Fenster8Wohnzimmer ist geschlossen');
         else
         fibaro:debug('Fenster8Wohnzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster8Wohnzimmer ist geöffnet");

        end

      if Fenster9Wohnzimmer then
         fibaro:debug('Fenster9Wohnzimmer ist geschlossen');
         else
         fibaro:debug('Fenster9Wohnzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster9Wohnzimmer ist geöffnet");

        end

       -- Heizung --
        if TuerHeizung then
         fibaro:debug('TuerHeizung ist geschlossen');
         else
         fibaro:debug('TuerHeizung ist geöffnet');
         fibaro:call(488, "sendPush", "TuerHeizung ist geöffnet");

        end

      -- Annika --
        if Fenster1Annika then
         fibaro:debug('Fenster1Annika ist geschlossen');
         else
         fibaro:debug('Fenster1Annika ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster1Annika ist geöffnet");

        end

        if Fenster2Annika then
         fibaro:debug('Fenster2Annika ist geschlossen');
         else
         fibaro:debug('Fenster2Annika ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster2Annika ist geöffnet");

        end

      if Fenster3Annika then
         fibaro:debug('Fenster3Annika ist geschlossen');
         else
         fibaro:debug('Fenster3Annika ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster3Annika ist geöffnet");

        end

      -- Fenster Schlafzimmer --
        if Fenster1Schlafzimmer then
         fibaro:debug('Fenster1Schlafzimmer ist geschlossen');
         else
         fibaro:debug('Fenster1Schlafzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster1Schlafzimmer ist geöffnet");

        end

      if Fenster2Schlafzimmer then
         fibaro:debug('Fenster2Schlafzimmer ist geschlossen');
         else
         fibaro:debug('Fenster2Schlafzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster2Schlafzimmer ist geöffnet");

        end
     
      if Fenster3Schlafzimmer then
         fibaro:debug('Fenster3Schlafzimmer ist geschlossen');
         else
         fibaro:debug('Fenster3Schlafzimmer ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster3Schlafzimmer ist geöffnet");

        end
     
        -- Bad --
        if FensterBad then
         fibaro:debug('FensterBad ist geschlossen');
         else
         fibaro:debug('FensterBad ist geöffnet');
         fibaro:call(488, "sendPush", "FensterBad ist geöffnet");

        end
      -- Ankleide --
        if FensterAnkleide then
         fibaro:debug('FensterAnkleide ist geschlossen');
         else
         fibaro:debug('FensterAnkleide ist geöffnet');
         fibaro:call(488, "sendPush", "FensterAnkleide ist geöffnet");

        end

      -- Fenster Marius --
        if Fenster3Marius then
         fibaro:debug('Fenster3Marius ist geschlossen');
         else
         fibaro:debug('Fenster3Marius ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster3Marius ist geöffnet");

        end

      if Fenster2Marius then
         fibaro:debug('Fenster2Marius ist geschlossen');
         else
         fibaro:debug('Fenster2Marius ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster2Marius ist geöffnet");

        end

      -- Fenster Fiona --
        if Fenster1u2Fiona then
         fibaro:debug('Fenster1u2Fiona ist geschlossen');
         else
         fibaro:debug('Fenster1u2Fiona ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster1u2Fiona ist geöffnet");

        end

      if Fenster3Fiona then
         fibaro:debug('Fenster3Fiona ist geschlossen');
         else
         fibaro:debug('Fenster3Fiona ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster3Fiona ist geöffnet");

        end

      if Fenster4Fiona then
         fibaro:debug('Fenster4Fiona ist geschlossen');
         else
         fibaro:debug('Fenster4Fiona ist geöffnet');
         fibaro:call(488, "sendPush", "Fenster4Fiona ist geöffnet");

        end

      -- Halle --
        if Hallentor then
         fibaro:debug('Hallentor ist geschlossen');
         else
         fibaro:debug('Hallentor ist geöffnet');
         fibaro:call(488, "sendPush", "Hallentor ist geöffnet");
     
        end
     
        if ((not Haustuere) and (not Fenster1Flur) and (not Fenster2Flur) and (not FensterKlo)
        and (not Fenster1Kueche) and (not Fenster2Kueche) and (not Fenster3Kueche)
        and (not FensterGaeste) and (not Fenster1Wohnzimmer) and (not Fenster2Wohnzimmer)
        and (not Fenster3u4Wohnzimmer) and (not SchiebetuerWohnzimmer) and (not Fenster6u7Wohnzimmer)
        and (not Fenster8Wohnzimmer) and (not Fenster9Wohnzimmer) and (not TuerHeizung)
        and (not Fenster1Annika) and (not Fenster2Annika) and (not Fenster3Annika)
        and (not Fenster1Schlafzimmer) and (not Fenster2Schlafzimmer) and (not Fenster3Schlafzimmer)
        and (not FensterBad) and (not FensterAnkleide) and (not Fenster3Marius)
        and (not Fenster2Marius) and (not Fenster1u2Fiona) and (not Fenster3Fiona)
        and (not Fenster4Fiona) and (not Hallentor))
        then
        fibaro:debug('Alle Fenster zu');
        fibaro:call(488, "sendPush", "Fenster und Türen sind geschlossen!");
        end

    • 0
  • Inquirer
  • Posted

    Yes, tried it and it worked if it is not acitvated and started via VD Button. But even then I still got no push notification

    • 0
  • Inquirer
  • Posted

    OK - I found out that it is a Problem of the iOS App. When I start the VD Button on my Desktop it works perfect, aber not from my IPhone.

    • 0
    Posted

    It is normal that you don't get message on iPhone if you are in Fibaro app. Try add delay before sending message in scene and then run it, close app or just put iPhone to sleep and message will arrive. In another topic I gave you solution but and if you don't need all the action from there but just to check if there is any window/door open then delete the rest. Still, if you want some feedback to iPhone after using it to start this scene then use pop up message because this always works. 

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