Satel - arming different zones

Hi All,
I would like to have one switch to arm whole partition, selected zones and disarm. Is it possible ?
My current config :

sitemap:
Switch item=Satel_Arm mappings=[1="Czuwa", 2="Noc", 3="OFF"]
items:
Switch Satel_Arm { satel="1:partition:armed:1, 2:zone:armed:1, 3:partition:armed:) }

Unfortunately it is not working :frowning:

2016-04-13 13:53:25.771 [ERROR] [i.internal.GenericItemProvider] - Binding configuration of type 'satel' of item ‘Satel_Inputs‘ could not be parsed correctly.

Missing " at the end instead of ) ?

thanks, i’ve corrected it but with no results :confused: still same error.

items:
Switch Satel_Arm { satel="1:partition:armed:1, 2:zone:armed:1, 3:partition:armed:1" }

A Switch can only have two states, ON or OFF(three if you count Undefined). You need to use a Number or a String Item to represent more than two states. You can still use your sitemap approach on a Number Item.

1 Like

Than that because you are using a switch. That only can have ON or OFF as state. You need to use a Number item

Hi,
sorry for late answer, I am rarely on this forum last time…
First of all your item configuration is wrong and that’s why you’re getting errors in the log (however the one presented is for different item). The second thing is you cannot map a switch to number like you did. I assume you arm your partitions exclusively, so either part. #1 or part. #2.
You need to define an item for each partition you would like to assing a number:

Switch Satel_Arm1 "Armed partition 1" { satel="partition:armed:1" }
Switch Satel_Arm2 "Armed partition 2" { satel="partition:armed:2" }

(you could consider also “really_armed” instead of “armed”)
additionally you need an item for arm status (without any binding), it can be string or number:

String Satel_Arm "Armed [%s]"

and then a rule to compute current arm status:

rule "Satel_Arm computation"
when
    Item Satel_Arm1 changed or
    Item Satel_Arm2 changed or
    System started
then
    if (Satel_Arm1.state == ON)
        Satel_Arm.postUpdate("Partition1")
    else if (Satel_Arm2.state == ON)
        Satel_Arm.postUpdate("Partition2")
    else
        Satel_Arm.postUpdate("None")
end

Let me know if it worked.