DSCAlarm creates multiple Inbox entries when OpenHAB is started

Tags: #<Tag:0x00007efecb8b19f8> #<Tag:0x00007efecb8b1908>

I’ve just installed an EnvisaLink 4 and the DSCAlarm binding. Everything seems to be working ok except that when OpenHAB starts it puts a lot of unneeded entries in the Inbox. My alarm system has one partition and six zones. After restarting OpenHAB the Inbox contains entries for partition 2 and zones 7 - 32 (but not partition 1 zones 1 - 6).

I am using .things and .item file examples from the bindings documentation, but I have removed the unneeded entries from the files.

How can i prevent these entries from showing up in the Inbox?

Thanks in advance,
Jim

  • Platform information:
    • Hardware: Intel Atom D2700 - Dual Core 2.13GHz, 3GB DDR3, 8TB
    • OS: DSM 6.2.3
    • Java Runtime Environment: Java 8.0.212
    • openHAB version: 2.5.0

.things file

Bridge dscalarm:envisalink:MyBridgeName [ ipAddress="192.168.0.230",password="user" ] {
    Thing panel panel
    Thing partition partition1 [ partitionNumber=1 ]
    Thing zone zone1 [ partitionNumber=1, zoneNumber=1 ]
    Thing zone zone2 [ partitionNumber=1, zoneNumber=2 ]
    Thing zone zone3 [ partitionNumber=1, zoneNumber=3 ]
    Thing zone zone4 [ partitionNumber=1, zoneNumber=4 ]
    Thing zone zone5 [ partitionNumber=1, zoneNumber=5 ]
    Thing zone zone6 [ partitionNumber=1, zoneNumber=6 ]
    Thing keypad keypad
}

.items file

Group DSCAlarm
Group DSCAlarmPanel (DSCAlarm)
Group DSCAlarmPartitions (DSCAlarm)
Group DSCAlarmZones (DSCAlarm)
Group DSCAlarmKeypads (DSCAlarm)

/* Groups By Device Type */
Group:Contact:OR(OPEN, CLOSED) DSCAlarmDoorWindow <door>
Group:Contact:OR(OPEN, CLOSED) DSCAlarmMotion     <motionDetector>
Group:Contact:OR(OPEN, CLOSED) DSCAlarmSmoke      <smokeDetector>

/* DSC Alarm Items */

Switch BRIDGE_CONNECTION                                 {channel="dscalarm:envisalink:MyBridgeName:bridge_reset"}
String SEND_DSC_ALARM_COMMAND "Send a DSC Alarm Command" {channel="dscalarm:envisalink:MyBridgeName:send_command"}

/* DSC Alarm Panel Items */
String PANEL_MESSAGE "Panel Message: [%s]"              (DSCAlarmPanel) {channel="dscalarm:panel:MyBridgeName:panel:panel_message"}
Number PANEL_COMMAND "Panel Commands"                   (DSCAlarmPanel) {channel="dscalarm:panel:MyBridgeName:panel:panel_command"}
String PANEL_SYSTEM_ERROR "Panel System Error: [%s]"    (DSCAlarmPanel) {channel="dscalarm:panel:MyBridgeName:panel:panel_system_error"}

String PANEL_TROUBLE_MESSAGE "Panel Trouble Message: [%s]" <"shieldGreen"> (DSCAlarmPanel) {channel="dscalarm:panel:MyBridgeName:panel:panel_trouble_message"}
Switch PANEL_TROUBLE_LED "Panel Trouble LED" <warning>  (DSCAlarmPanel) {channel="dscalarm:panel:MyBridgeName:panel:panel_trouble_led"}
Switch PANEL_SERVICE_REQUIRED <yellowLED>               (DSCAlarmPanel) {channel="dscalarm:panel:MyBridgeName:panel:panel_service_required"}
Switch PANEL_AC_TROUBLE <yellowLED>                     (DSCAlarmPanel) {channel="dscalarm:panel:MyBridgeName:panel:panel_ac_trouble"}
Switch PANEL_TELEPHONE_TROUBLE <yellowLED>              (DSCAlarmPanel) {channel="dscalarm:panel:MyBridgeName:panel:panel_telephone_trouble"}
Switch PANEL_FTC_TROUBLE <yellowLED>                    (DSCAlarmPanel) {channel="dscalarm:panel:MyBridgeName:panel:panel_ftc_trouble"}
Switch PANEL_ZONE_FAULT <yellowLED>                     (DSCAlarmPanel) {channel="dscalarm:panel:MyBridgeName:panel:panel_zone_fault"}
Switch PANEL_ZONE_TAMPER <yellowLED>                    (DSCAlarmPanel) {channel="dscalarm:panel:MyBridgeName:panel:panel_zone_tamper"}
Switch PANEL_ZONE_LOW_BATTERY <yellowLED>               (DSCAlarmPanel) {channel="dscalarm:panel:MyBridgeName:panel:panel_zone_low_battery"}
Switch PANEL_TIME_LOSS <yellowLED>                      (DSCAlarmPanel) {channel="dscalarm:panel:MyBridgeName:panel:panel_time_loss"}

DateTime PANEL_TIME "Panel Time [%1$tA, %1$tm/%1$td/%1$tY %1tT]" <calendar> (DSCAlarmPanel) {channel="dscalarm:panel:MyBridgeName:panel:panel_time"}
Switch PANEL_TIME_STAMP                                 (DSCAlarmPanel) {channel="dscalarm:panel:MyBridgeName:panel:panel_time_stamp"}
Switch PANEL_TIME_BROADCAST                             (DSCAlarmPanel) {channel="dscalarm:panel:MyBridgeName:panel:panel_time_broadcast"}
Switch PANEL_FIRE_KEY_ALARM                             (DSCAlarmPanel) {channel="dscalarm:panel:MyBridgeName:panel:panel_fire_key_alarm"}
Switch PANEL_PANIC_KEY_ALARM                            (DSCAlarmPanel) {channel="dscalarm:panel:MyBridgeName:panel:panel_panic_key_alarm"}
Switch PANEL_AUX_KEY_ALARM                              (DSCAlarmPanel) {channel="dscalarm:panel:MyBridgeName:panel:panel_aux_key_alarm"}
Switch PANEL_AUX_INPUT_ALARM                            (DSCAlarmPanel) {channel="dscalarm:panel:MyBridgeName:panel:panel_aux_input_alarm"}

/* DSC Alarm Partition Items */
String PARTITION1_STATUS "Partition 1 Status: [%s]"     (DSCAlarmPartitions) {channel="dscalarm:partition:MyBridgeName:partition1:partition_status"}
Number PARTITION1_ARM_MODE "Partition 1 Arm Mode: [%d]" (DSCAlarmPartitions) {channel="dscalarm:partition:MyBridgeName:partition1:partition_arm_mode"}
Switch PARTITION1_ARMED                                 (DSCAlarmPartitions) {channel="dscalarm:partition:MyBridgeName:partition1:partition_armed"}
Switch PARTITION1_ENTRY_DELAY                           (DSCAlarmPartitions) {channel="dscalarm:partition:MyBridgeName:partition1:partition_entry_delay"}
Switch PARTITION1_EXIT_DELAY                            (DSCAlarmPartitions) {channel="dscalarm:partition:MyBridgeName:partition1:partition_exit_delay"}
Switch PARTITION1_IN_ALARM                              (DSCAlarmPartitions) {channel="dscalarm:partition:MyBridgeName:partition1:partition_in_alarm"}
String PARTITION1_OPENING_CLOSING_MODE "Opening/Closing Mode: [%s]" (DSCAlarmPartitions) {channel="dscalarm:partition:MyBridgeName:partition1:partition_opening_closing_mode"}

/* DSC Alarm Zones Items */
Contact ZONE1_STATUS      "Tamper Switch (Zone 1)"      (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone1:zone_status"}
String  ZONE1_MESSAGE     "Zone Message: [%s]"          (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone1:zone_message"}
Switch  ZONE1_BYPASS_MODE "Tamper Switch Bypass Mode"   (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone1:zone_bypass_mode"}
Switch  ZONE1_IN_ALARM    "Zone 1 Alarm Condition"      (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone1:zone_in_alarm"}
Switch  ZONE1_TAMPER      "Zone 1 Tamper Condition"     (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone1:zone_tamper"}
Switch  ZONE1_FAULT       "Zone 1 Fault Condition"      (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone1:zone_fault"}
Switch  ZONE1_TRIPPED                                   (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone1:zone_tripped"}

Contact ZONE2_STATUS      "Tamper Switch (Zone 2)"      (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone2:zone_status"}
String  ZONE2_MESSAGE     "Zone Message: [%s]"          (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone2:zone_message"}
Switch  ZONE2_BYPASS_MODE "Tamper Switch Bypass Mode"   (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone2:zone_bypass_mode"}
Switch  ZONE2_IN_ALARM    "Zone 2 Alarm Condition"      (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone2:zone_in_alarm"}
Switch  ZONE2_TAMPER      "Zone 2 Tamper Condition"     (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone2:zone_tamper"}
Switch  ZONE2_FAULT       "Zone 2 Fault Condition"      (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone2:zone_fault"}
Switch  ZONE2_TRIPPED                                   (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone2:zone_tripped"}

Contact ZONE3_STATUS      "Tamper Switch (Zone 3)"      (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone3:zone_status"}
String  ZONE3_MESSAGE     "Zone Message: [%s]"          (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone3:zone_message"}
Switch  ZONE3_BYPASS_MODE "Tamper Switch Bypass Mode"   (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone3:zone_bypass_mode"}
Switch  ZONE3_IN_ALARM    "Zone 3 Alarm Condition"      (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone3:zone_in_alarm"}
Switch  ZONE3_TAMPER      "Zone 3 Tamper Condition"     (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone3:zone_tamper"}
Switch  ZONE3_FAULT       "Zone 3 Fault Condition"      (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone3:zone_fault"}
Switch  ZONE3_TRIPPED                                   (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone3:zone_tripped"}

Contact ZONE4_STATUS      "Tamper Switch (Zone 4)"      (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone4:zone_status"}
String  ZONE4_MESSAGE     "Zone Message: [%s]"          (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone4:zone_message"}
Switch  ZONE4_BYPASS_MODE "Tamper Switch Bypass Mode"   (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone4:zone_bypass_mode"}
Switch  ZONE4_IN_ALARM    "Zone 4 Alarm Condition"      (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone4:zone_in_alarm"}
Switch  ZONE4_TAMPER      "Zone 4 Tamper Condition"     (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone4:zone_tamper"}
Switch  ZONE4_FAULT       "Zone 4 Fault Condition"      (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone4:zone_fault"}
Switch  ZONE4_TRIPPED                                   (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone4:zone_tripped"}

Contact ZONE5_STATUS      "Tamper Switch (Zone 5)"      (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone5:zone_status"}
String  ZONE5_MESSAGE     "Zone Message: [%s]"          (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone5:zone_message"}
Switch  ZONE5_BYPASS_MODE "Tamper Switch Bypass Mode"   (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone5:zone_bypass_mode"}
Switch  ZONE5_IN_ALARM    "Zone 5 Alarm Condition"      (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone5:zone_in_alarm"}
Switch  ZONE5_TAMPER      "Zone 5 Tamper Condition"     (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone5:zone_tamper"}
Switch  ZONE5_FAULT       "Zone 5 Fault Condition"      (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone5:zone_fault"}
Switch  ZONE5_TRIPPED                                   (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone5:zone_tripped"}

Contact ZONE6_STATUS      "Tamper Switch (Zone 6)"      (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone6:zone_status"}
String  ZONE6_MESSAGE     "Zone Message: [%s]"          (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone6:zone_message"}
Switch  ZONE6_BYPASS_MODE "Tamper Switch Bypass Mode"   (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone6:zone_bypass_mode"}
Switch  ZONE6_IN_ALARM    "Zone 6 Alarm Condition"      (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone6:zone_in_alarm"}
Switch  ZONE6_TAMPER      "Zone 6 Tamper Condition"     (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone6:zone_tamper"}
Switch  ZONE6_FAULT       "Zone 6 Fault Condition"      (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone6:zone_fault"}
Switch  ZONE6_TRIPPED                                   (DSCAlarmZones) {channel="dscalarm:zone:MyBridgeName:zone6:zone_tripped"}

/* DSC Alarm Keypad Items */
Number KEYPAD_READY_LED   "Ready LED Status" <readyLED>     (DSCAlarmKeypads) {channel="dscalarm:keypad:MyBridgeName:keypad:keypad_ready_led"}
Number KEYPAD_ARMED_LED   "Armed LED Status" <armedLED>     (DSCAlarmKeypads) {channel="dscalarm:keypad:MyBridgeName:keypad:keypad_armed_led"}
Number KEYPAD_MEMORY_LED  "Memory LED Status" <memoryLED>   (DSCAlarmKeypads) {channel="dscalarm:keypad:MyBridgeName:keypad:keypad_memory_led"}
Number KEYPAD_BYPASS_LED  "Bypass LED Status" <bypassLED>   (DSCAlarmKeypads) {channel="dscalarm:keypad:MyBridgeName:keypad:keypad_bypass_led"}
Number KEYPAD_TROUBLE_LED "Trouble LED Status" <troubleLED> (DSCAlarmKeypads) {channel="dscalarm:keypad:MyBridgeName:keypad:keypad_trouble_led"}
Number KEYPAD_PROGRAM_LED "Program LED Status" <programLED> (DSCAlarmKeypads) {channel="dscalarm:keypad:MyBridgeName:keypad:keypad_program_led"}
Number KEYPAD_FIRE_LED    "Fire LED Status" <fireLED>       (DSCAlarmKeypads) {channel="dscalarm:keypad:MyBridgeName:keypad:keypad_fire_led"}
Number KEYPAD_BACKLIGHT_LED "Backlight LED Status" <backlightLED> (DSCAlarmKeypads) {channel="dscalarm:keypad:MyBridgeName:keypad:keypad_backlight_led"}
Number KEYPAD_AC_LED      "AC LED Status" <acLED>           (DSCAlarmKeypads) {channel="dscalarm:keypad:MyBridgeName:keypad:keypad_ac_led"}

I think you should file an issue in openhab-addons github repo. This is likely an enhancement on the representation property of the autodiscovery in the DSCAlarm binding.