![]() |
|
Announcing all open zones - Printable Version +- Comfort Automation/ Security System Forums (https://www.comfortforums.com) +-- Forum: Support (https://www.comfortforums.com/forum-2.html) +--- Forum: Questions on Programming Comfort (https://www.comfortforums.com/forum-83.html) +--- Thread: Announcing all open zones (/thread-2050.html) |
- ekarak - 11-22-2010 In a large installation with 48 zones I have a KNX weather sensor that informs me of bad weather (rain, wind etc). I need to announce a generic \"rain warning\" message, followed by an enumeration of the windows that are left open and need to be closed. Since there is no \"for\" loop in responses, do I need to code it by hand, one zone at a time? (that would make up a *big* response - some 20 windows in the house). Thanks in advance - ident - 11-22-2010 This is an interesting application You will need to code it by hand. It may be tedious but at least it can be done Take note that you can only announce 1 thing at a time eg Say \"Zone 1\" Say \"Zone 2\" Will announce \"Zone 2\" only unless a delay is inserted between the two announcements Hence to announce a series of zones ONLY if the zones are open, there will have to be a delay between each announcement. If the zone is closed, then there is no announcement and no delay This is an example for 4 zones, zone 10 to 13 to be announced only if open SayZ10 Response If Input Zone10 <> 0 Then Announce Upstairs Window Do SayOpenZ11 After 5 Seconds Using Timer01 Else Do SayOpenZ11 End If SayZ11 Response If Input Zone11 <> 0 Then Announce Zone 11 Do SayOpenZ12 After 5 Seconds Using Timer01 Else Do SayOpenZ12 End If SayZ12 Response If Input Zone12 <> 0 Then Announce Zone 12 Do SayOpenZ13 After 5 Seconds Using Timer01 Else Do SayOpenZ13 End If SayZ13 Response If Input Zone13 <> 0 Then Announce Zone 13 .. etc End If Calling the 1st zone Response will automatically announce each zone if it is open. This response can be called from the Rain sensor event from KNX You can also trigger it from the Control Menu at any time, since if many zones are announced you would not remebre all of them and may need to be able to hear the open zones on command A cclx file with the abive scenario is attached - ekarak - 11-30-2010 Thanks for your quick reply. It would be better to add enumerators in responses though. I understand the limitations of the hardware but it is would be much better (and cleaner) to write code like this: For Each Zone If Zone Type is DoorWindow then If Zone Input <> 0 then Say Zone Name Say \"is\" \"open\" End If End If End For And of course it would save lots of precious response memory. |