View single post by slychiu | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Posted: Saturday Mar 11th, 2017 05:41 am |
|
||||||||||||
slychiu
|
If we write a response with the wizard which uses a CBus command, does that CBus command needs to be in a response in order to use the ‘Do’ command? If I was to edit the command manually would it be permissible to write: Do Cbus RampInst UCM03 23 0 after 15 seconds using curtain2 or some similar statement?The Cbus actions must be part of a Response. Do Response will execute a Response. You can edit the Response manually, but make sure the syntax is corrrect, otherwise an error will be flagged The curtains we are using have toggle logic built in. So we apply a voltage for ~10 seconds, this drives the motor till the curtains are closed. It senses the end of travel and stops the motor. The next time the power is applied to the motor the curtains travel in the opposite direction till fully open, and so on back and forth each time power is supplied for a period. The only way to keep track of curtain position is to have a flag change state each time, which can sometimes get out of synch. My question is would it be better to use the blinds function for this purpose as that is, I believe, stateful? The Blinds Function in Comfigurator uses 2 outputs as Up and Down In your case there is only 1 button for up and down. The blinds has a controller which decides which direction to apply power based on its own logic, so the button does not apply the power to the motor directly So the best way is to use a flag which toggles every time. If you want to ensure synchronisation, install a switch or contact when the blinds is in 1 end or another This code unbypasses before the curtains have stopped moving, thus setting off the alarm: This is a common misunstanding of how the "Do Response after X seconds using Timer" works. This action starts the Timer and immediately continues to the next line, ie Unbypass Zone. The Timer thread will turn off the power after 15 seconds, so you have unbypassed the zone immediately after you bypass ie effectively no bypass at all Use the "WAIT for X seconds using Timer" action which waits inline before the next line.
|
||||||||||||
|