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


Recommended Posts

Guest Benrive
Posted (edited)
3 hours ago, cag014 said:

Looks like property value does exists... and no need to use +value.

As I understand you have an issue when the lock is open or close, I mean it takes uncertain time, correct?

Another observation, there is a property call secured. When the lock is open the secured=0. When lock closed secured=255.

May be, just may be this property could help you. I mean may be during the lock/unlock process the value of secured changed till reaches the final result  ( or 255), worth to try.

Please login or register to see this code.

I'm going to override my conditions and values to use the property secured = 0 & 255. I'll let you know the results when I test.

Could you take a look at the conditions? I don't have them right.


 

Edited by Benrive
Guest Benrive
Posted (edited)
On 4/13/2022 at 1:42 PM, Benrive said:

Ok, It's better but a i have a question witch a conditions.

 

{"`SalAbrePuerta`","turnOn","when {&GPSMariAsun:value=2}{&GPSBenja:value=2}{&GPSSofia:value=2} and {`cerraduraPuerta`:value=false}"}
 
I need the condition it's
 
When (&GPSMariAsun:value=2 or GPSBenja:value=2 or GPSSofia:value=2 ) And (`cerraduraPuerta`:value=false) 
It's true when cerraduraPuerta:value=false and any of the GPS variables = 2
 
What am I doing wrong?
 
You can see the webeye. All conditions are considered OR.

 

How should I use the brackets so that the condition `cerraduraPuerta`:secured=255 is mandatory and in the case of the &GPS**** variables take into account any of them?

 

This is the actual new line JM. It's Correct.

 

Please login or register to see this code.

 

I'm also thinking maybe I could use the new merge variables feature.

It's posible???

 

Please login or register to see this code.

 

 

 

 

Edited by Benrive
  • Topic Author
  • Posted
    6 hours ago, Benrive said:
    {"`SalAbrePuerta`","turnOn","when {&GPSMariAsun:value=2}{&GPSBenja:value=2}{&GPSSofia:value=2} and {`cerraduraPuerta`:value=false}"}
     
    I need the condition it's
     
    When (&GPSMariAsun:value=2 or GPSBenja:value=2 or GPSSofia:value=2 ) And (`cerraduraPuerta`:value=false) 
    It's true when cerraduraPuerta:value=false and any of the GPS variables = 2

    Although there is no indication about format error (will be fixed in next release) the above conditions won't work properly, mostly will be always false.

    the format is

    if {.... [ and/| ] .... [ and/| ]..} [or] {... [ and/| ]... } [or] ................

     

    7 hours ago, Benrive said:

    Please login or register to see this code.

     

    I don't think that what you need, because this will work based on last &geoUser update. In case anybody else is at home and the last $geoUser left, it will do nothing.

    In addition the command {"`SalAbrePuerta`","turnOff","3","when {`SalAbrePuerta`:state=true}"}}}}, will be always activated and runs in the background waiting for when condition.

     

    My suggestion is

    7 hours ago, Benrive said:

    Please login or register to see this code.

     

     

    Guest Benrive
    Posted
    2 hours ago, cag014 said:

    Although there is no indication about format error (will be fixed in next release) the above conditions won't work properly, mostly will be always false.

    the format is

    if {.... [ and/| ] .... [ and/| ]..} [or] {... [ and/| ]... } [or] ................

     

    I don't think that what you need, because this will work based on last &geoUser update. In case anybody else is at home and the last $geoUser left, it will do nothing.

    In addition the command {"`SalAbrePuerta`","turnOff","3","when {`SalAbrePuerta`:state=true}"}}}}, will be always activated and runs in the background waiting for when condition.

     

    My suggestion is

     


    ok, I understand what you have suggested. Tomorrow I will try it, it is raining a lot and anyone goes out to try.

    Just one question, when

    Please login or register to see this code.

    nothing would be executed right?.

    in that case this part should be executed.

    Please login or register to see this code.

    would i have to do it separately?

     

     

    Guest Benrive
    Posted
    2 hours ago, cag014 said:

    command {"`SalAbrePuerta`","turnOff","3","when {`SalAbrePuerta`:state=true}"}}}}, will be always activated and runs in the background waiting for when condition.

    Yes, It correct .first cerradurapuerta unsecure ,and only when it’s unsecure SalAbrepuerta turn on for 3 sec. 
     

    never before because people hear the noise of the coil and they start to push the door, this creates a problem because they don't let the door lock unlock well when pressing.

  • Topic Author
  • Posted (edited)

    @Benrive

    By the way the new version has some added value for you, no need to define properties for global variables and keywords in condition statements.

    (and some other improvements)

    For example instead of

    Please login or register to see this code.

    You can use

    Please login or register to see this code.

    Please download

    Please login or register to see this attachment.

     

    I'm about to release this version on Sunday. Just need to update few  documents and guides .

     

    Edited by cag014
    Guest Benrive
    Posted
    11 hours ago, cag014 said:

    @Benrive

    By the way the new version has some added value for you, no need to define properties for global variables and keywords in condition statements.

    (and some other improvements)

    For example instead of

    Please login or register to see this code.

    You can use

    Please login or register to see this code.

    Please download

    Please login or register to see this attachment.

     

    I'm about to release this version on Sunday. Just need to update few  documents and guides .

     

     

    Hello @cag014

    Thanks, I have already changed all the lines of the variables and it seems that they are working fine.

     

    Your suggestion,

     

    19 hours ago, cag014 said:

    Please login or register to see this code.

     

    How could your suggestion be adapted with this line of AOQ?.

    This Line Work fine.

    Please login or register to see this code.

     

    Is this possibly correct?

     

    Please login or register to see this code.

     

  • Topic Author
  • Posted (edited)
    On 4/20/2022 at 12:49 PM, Benrive said:

    this possibly correct?

     

    Please login or register to see this code.

    Not exactly, the LineState must be true to execute any action, means falseAct will be executed only if lineState condition is true.

    What should be the conditions the executed the falseAct? May be it worth to add a line for that?

    Edited by cag014
    Guest Benrive
    Posted
    9 hours ago, cag014 said:

    Not exactly, the LineState must be true to execute any action, means falseAct will be executed only if lineState condition is true.

    What should be the conditions the executed the falseAct? May be it worth to add a line for that?


    Then it would be correct, the only thing I see is that I would need to add a condition in FalseAct, so that the turnOn action starts when carradurapuerta : value false.

     

    but there is a problem, because initially cerradurapuerta can be false or true, its true no problem in this case it would execute falseAct and wait carradurapuerta:value=false to execute SalAbrepuerta, but if cerradurapuerta:value=false it would be waiting indefinitely for the cerradurapuerta condition: value=false.

     

    If I haven't explained myself well.  Tell me and I'll try to make a better explanation

  • Topic Author
  • Posted (edited)
    10 hours ago, Benrive said:


    Then it would be correct, the only thing I see is that I would need to add a condition in FalseAct, so that the turnOn action starts when carradurapuerta : value false.

     

    but there is a problem, because initially cerradurapuerta can be false or true, its true no problem in this case it would execute falseAct and wait carradurapuerta:value=false to execute SalAbrepuerta, but if cerradurapuerta:value=false it would be waiting indefinitely for the cerradurapuerta condition: value=false.

     

    If I haven't explained myself well.  Tell me and I'll try to make a better explanation

    If you refer to trueActState condition, then falseAct is not part of this condition.  I am trying to understand your action and wondering why you turning ON SalAbrePuerta when it's true (is ON!) 

    Please login or register to see this code.

     

    I think you can do something like that.. (Don't know how it's related to $geoUser state), but try to make a new line for that

     

    Please login or register to see this code.

     

    Edited by cag014
    Guest Benrive
    Posted
    7 hours ago, cag014 said:

    If you refer to trueActState condition, then falseAct is not part of this condition.  I am trying to understand your action and wondering why you turning ON SalAbrePuerta when it's true (is ON!) 

    Please login or register to see this code.

     

    I think you can do something like that.. (Don't know how it's related to $geoUser state), but try to make a new line for that

     

    Please login or register to see this code.

     

     

     

    Guest Benrive
    Posted

    Hello @cag014


    I will explain the functionality from the beginning step by step.

     

    1-. I have a danalock, its status is value: false (unlock) or true (lock). name: `cerraduraPuerta`

     

    2-. I have a 12v coil (it makes noise when it receives voltage. name:`EntAbrePuerta`

     

    What happens?:

    What if this coil is activated when `cerraduraPuerta` is value:true ( lock), people start to push the door because they hear the noise, but the danalock `cerraduraPuerta` needs a few seconds to open (3-5 seconds approximately)

     

    That's why `EntAbrePuerta` should only be activated once it receives the status update of `cerraduraPuerta`value:false .

    ( This way I make sure that until it is unlocked the coil is not activated )


    Then `EntAbrePuerta` turnOn for about 4 seconds and then if pushed during that time `EntAbrePuerta` turnOff

    Only then can it be opened.

     

    This is where people hear the coil and push the door. Like now `cerraduraPuerta`value:false.

    By pushing if they can open the door for 4 seconds.

     

    The conditions of GPSxxx, are because this is done through a fingerprint sensor and I want double security so that the action is true, and it is that one of the GPSxxx values = 2 (in home). This is the essential condition for all this to happen.

     

    This is the line that currently works for me, but I wanted to know if it is possible to simplify it.

     

    Please login or register to see this code.

     

    I'll explain it to you in parts:

    All the essential conditions, The door is only unlocked if one of us is at home GPSxxx=2 and the lock (`cerraduraPuerta`:value=true)

    If `cerraduraPuerta`:value=false False  don't need to do anything with `cerraduraPuerta`

    Please login or register to see this code.

     

     

    When `cerraduraPuerta`:value=false, it means that the state changes to , the coil that makes noise is activated.

     

    Here I think I have an error, when `cerraduraPuerta`:value=false, because if its initial state is false, it will not be executed and i would have to.

    Same as before, as long as GPSxxx=2 of any of us ( I don't know how to use when and GPSxxxx variables here )

     

    Please login or register to see this code.

     

    Here I simply give it a time from when it is activated to turn it off. ( I had problems using the delay "`SalAbrePuerta`","turnOn","4" )

     

    Please login or register to see this code.

     

    In short, I wanted to see if it is possible to simplify and solve the problem of the condition in the part of the use of when and include here all the conditions of GPSxxx=2.

    It works perfect when is previus state `cerraduraPuerta`:value=true

     

    {"`SalAbrePuerta`","turnOn","when {`cerraduraPuerta`:value=false}"}.
     
    Please, if you need to ask something specific to clarify it, ask anything you need please.
     
     
  • Topic Author
  • Posted (edited)

    So, why don't you  write down exactly as you explained

    Please login or register to see this code.

     

    In case you need not to execute the line on startup,

    Please login or register to see this code.

    That's all, isn't? very simple and exactly as you described.

    Edited by cag014
    Guest Benrive
    Posted
    8 hours ago, cag014 said:

    So, why don't you  write down exactly as you explained

    Please login or register to see this code.

    Hello @cag014

    If I put that line, a problem occurs, and it is that when you are inside the house and you move the lock manually (by hand) `CerraduraPuerta` to unlock it and then open it with the handle.
    It would execute the line when false and the coil `SalAbrepuerta` turnOn unnecessarily.

     

     

  • Topic Author
  • Posted (edited)
    18 hours ago, Benrive said:

    Hello @cag014

    If I put that line, a problem occurs, and it is that when you are inside the house and you move the lock manually (by hand) `CerraduraPuerta` to unlock it and then open it with the handle.
    It would execute the line when false and the coil `SalAbrepuerta` turnOn unnecessarily.

     

     

    You can set variable to indicate  if it's executed automatically or manually.

     

     I think you can skip `cerraduraPuerta`:value=true condition. 

     

    Please login or register to see this code.

    In worst case the "unsecure" command will be sent every time you press button 2 on EntAbrePuerta, that's all (no harm done).

    I believe to open the door (even if cerraduraPuerta=false / unlocked) you still need to activate the coil in order to open the door. That's why I assume you're using EntAbrePuerta (by pressing button 2) as well.

     

    Edited by cag014
    Guest Benrive
    Posted
    22 hours ago, cag014 said:

    You can set variable to indicate  if it's executed automatically or manually.

     

     I think you can skip `cerraduraPuerta`:value=true condition. 

     

    Please login or register to see this code.

    In worst case the "unsecure" command will be sent every time you press button 2 on EntAbrePuerta, that's all (no harm done).

    I believe to open the door (even if cerraduraPuerta=false / unlocked) you still need to activate the coil in order to open the door. That's why I assume you're using EntAbrePuerta (by pressing button 2) as well.

     

     

    Yes, we could force `cerraduraPuerta`:unsecure to go unsecure. It would not be a problem.
    But for the GPSxxx condition to be for all values could you use lineActState?. for example?

     

     

    Please login or register to see this code.

     

  • Topic Author
  • Posted
    8 hours ago, Benrive said:

     

    Yes, we could force `cerraduraPuerta`:unsecure to go unsecure. It would not be a problem.
    But for the GPSxxx condition to be for all values could you use lineActState?. for example?

     

     

    Please login or register to see this code.

     

    I understand to open the door you need to activate the coil also in addition to set Danalock to "unsecure" mode. So  if you at home and someone came, you still can open the door by pressing button 2 on remote (to activate the coil).

    But in this case when  lineState condition will be false, the trueAct won't executed and that includes the activation of the coil by SalAbrePuerta. 

     

    I think at any case you need to keep condition for

     {"`SalAbrePuerta`","turnOn","when {`cerraduraPuerta`:value=false}"},

    As you said it takes some time to Danalock to go to unsecure.

     

    Depends what you need.

    Guest Benrive
    Posted
    On 4/27/2022 at 6:13 PM, cag014 said:

    I understand to open the door you need to activate the coil also in addition to set Danalock to "unsecure" mode. So  if you at home and someone came, you still can open the door by pressing button 2 on remote (to activate the coil).

    But in this case when  lineState condition will be false, the trueAct won't executed and that includes the activation of the coil by SalAbrePuerta. 

     

    I think at any case you need to keep condition for

     {"`SalAbrePuerta`","turnOn","when {`cerraduraPuerta`:value=false}"},

    As you said it takes some time to Danalock to go to unsecure.

     

    Depends what you need.

    Hello @cag014


    true, you are absolutely right.  I will continue using the one that works for me although I will try to include the GPS conductions as well

    • 2 weeks later...
    Posted

    Hi cag!

     

    Can you help me?

     

    This line worked until this moorning. Why does it execute this line?

    It is likein the timeslot order it wouldn't consider the month.

     

    Here is the line:

     

    {0"`hallMS`",{state="value=true",timeSlot="m=9~12;1~2;$sunsetHour~19:00",trueAct={{"`hallLight`","turnOn","","{`hallLight`:value=false}"},{"`hallLight`","turnOff","","={`livingroomMS`:value=true|`hallLight`:value=true|`hallMS`:lastBreached>60|&HallLight:value=Automatic}"}}}},
  • Topic Author
  • Posted (edited)

    Interesting.... what do you see on webEye? Is this line green or yellow?

    Can you please post the line from debug console  when this command executed?

    For how long All-in-One runs continuously.

    Another question... I think sunsetHour is after 19:00, correct?

     

    By the way it could happen when you start the program (after making some changes) during initialization the timeSlot ignored to set correct states.

    To avoid execution on startup please add to the line as following

    {0"`hallMS`",{state="value=true", initOnStartup=false , timeSlot="m=9~12;1~2;$sunsetHour~19:00",trueAct={{"`hallLight`","turnOn","","{`hallLight`:value=false}"},{"`hallLight`","turnOff","","={`livingroomMS`:value=true|`hallLight`:value=true|`hallMS`:lastBreached>60|&HallLight:value=Automatic}"}}}},
    Edited by cag014

    Join the conversation

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

    Guest
    Reply to this topic...

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