Skip to content

Commit

Permalink
Merge pull request #11 from Monstergerm/master
Browse files Browse the repository at this point in the history
version 2022.0.1 with Python 3 support
  • Loading branch information
Monstergerm authored May 24, 2022
2 parents 357c43e + 34d74fa commit c23cf29
Show file tree
Hide file tree
Showing 9 changed files with 649 additions and 756 deletions.
4 changes: 2 additions & 2 deletions DSC Alarm.indigoPlugin/Contents/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
<plist version="1.0">
<dict>
<key>PluginVersion</key>
<string>2.2.2</string>
<string>2022.0.1</string>
<key>ServerApiVersion</key>
<string>1.0</string>
<string>3.0</string>
<key>IwsApiVersion</key>
<string>1.0.0</string>
<key>CFBundleDisplayName</key>
Expand Down
12 changes: 6 additions & 6 deletions DSC Alarm.indigoPlugin/Contents/Server Plugin/Actions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -151,21 +151,21 @@
<CallbackMethod>methodDoorChimeDisable</CallbackMethod>
</Action>

<!--
<Action id="actionSyncTime" deviceFilter="self.alarmKeypad">
<Name>Sync Date/Time with Indigo</Name>

<Action id="actionSyncTime">
<Name>Sync Date/Time with Indigo Server</Name>
<CallbackMethod>methodSyncTime</CallbackMethod>
<ConfigUI>
<Field id="label1" type="label">
<Label>This sets the time and date on the alarm to be the same as the Indigo host computer. Run this once every night sometime after 2AM to automatically adjust for Daylight Savings Time and to make sure the clock is kept accurate.</Label>
<Label>This sets the time and date on the alarm to be the same as the Indigo host computer.</Label>
</Field>
<Field id="space0" type="label"><Label/></Field>
<Field id="label2" type="label">
<Label>NOTE: After executing this action it will take a few minutes for the new time to be reflected on your alarm keypads.</Label>
<Label>NOTE: After executing this action it will take up to 4 minutes for the new time to be reflected on your alarm keypads.</Label>
</Field>
</ConfigUI>
</Action>
-->


<Action id="actionAdjustThermostat" deviceFilter="self.alarmTemp">
<Name>Adjust Thermostat</Name>
Expand Down
5 changes: 4 additions & 1 deletion DSC Alarm.indigoPlugin/Contents/Server Plugin/Devices.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,14 @@
<Option value="zoneTypeFire">Fire</Option>
<Option value="zoneTypeWater">Water</Option>
<Option value="zoneTypeGas">Gas</Option>
<Option value="zoneTypeGlass">Glass Break</Option>
<Option value="zoneTypeShock">Shock</Option>
<Option value="zoneTypeCO">Carbon Monoxide</Option>
<Option value="zoneTypeOther">Other</Option>
</List>
</Field>
<Field id="zoneTypeHint" type="label" fontColor="darkgray" fontSize="small" alignWithControl="true">
<Label>The Zone Type has limited effect at the moment.</Label>
<Label>The Zone Type has limited effects at the moment (custom state image icons).</Label>
</Field>

<Field id="space1" type="label">
Expand Down
4 changes: 3 additions & 1 deletion DSC Alarm.indigoPlugin/Contents/Server Plugin/MenuItems.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
<?xml version="1.0"?>
<MenuItems>
<!--
<MenuItem id="menu1">
<Name>Check for Updates</Name>
<CallbackMethod>checkForUpdates</CallbackMethod>
</MenuItem>
</MenuItems>
-->
</MenuItems>
127 changes: 67 additions & 60 deletions DSC Alarm.indigoPlugin/Contents/Server Plugin/PluginConfig.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
<?xml version="1.0"?>
<PluginConfig>
<!-- You can add a SupportURL element inside here if you want a context
sensitive help link on the config UI - otherwise it will just link
to the URL specified in the Info.plist. -->
<!-- <SupportURL>http://www.frightideas.com</SupportURL> -->
<SupportURL>https://github.com/IndigoDomotics/DSC-Alarm</SupportURL>

<Field id="infoLabel" type="label">
<Label>DSC Alarm Plugin: Developed by Travis Cook; modified by Monstergerm</Label>
Expand All @@ -18,13 +15,13 @@
</List>
</Field>

<!-- serial specific settings -->
<!-- serial port specific settings -->
<Field type="menu" id="serialPort" visibleBindingId="configInterface" visibleBindingValue="serial">
<Label>Serial Port:</Label>
<List class="indigo.serialPorts" filter="indigo.ignoreBluetooth" />
</Field>

<!-- 2DS specific settings -->
<!-- Password specific settings -->

<Field id="TwoDS_Address" type="textfield" visibleBindingId="configInterface" visibleBindingValue="twods">
<Label>IP Address:</Label>
Expand All @@ -40,79 +37,90 @@
<Label>(default = user; max. 6 char.; except EVL-4 10 char.)</Label>
</Field>

<Field id="space5" type="label">
<Label></Label>
</Field>

<Field id="code" type="textfield" defaultValue="1234" secure="true">
<Label>Disarm Code:</Label>
</Field>
<Field id="codeLabel" type="label" visibleBindingId="code" fontColor="darkgray" fontSize="small" alignWithControl="true">
<Label>This can be a password unique for Indigo Users, as long as it is programmed into the DSC panel.</Label>
</Field>

<Field
id = "separator00"
type = "separator"/>

<Field id="emailUrgentNote" type="label" fontColor="darkgray" fontSize="small" alignWithControl="true">
<Label>Enter an address and subject below to receive an email when the alarm is tripped or panic/duress is triggered. Separate multiple email addresses with ;</Label>
<!-- email settings -->
<Field
id = "email" type = "checkbox" defaultValue="false">
<Label>Email Notifications:</Label>
<Description>Show/Hide</Description>
</Field>

<Field
id = "note00"
type = "label"
fontColor="darkgray" fontSize="small" alignWithControl="true">
<Label>Fill out email settings.</Label>
</Field>

<Field id="emailUrgentNote" type="label" visibleBindingId = "email" visibleBindingValue = "true" fontColor="darkgray" fontSize="small" alignWithControl="true">
<Label>Enter an address, subject and content below to receive an email when the alarm is tripped or panic/duress is triggered. Separate multiple email addresses with ;</Label>
</Field>
<Field id="emailUrgent" type="textfield">
<Label>Urgent Email:</Label>
<Field id="emailUrgent" type="textfield" visibleBindingId = "email" visibleBindingValue = "true" >
<Label>Urgent Email Recipient:</Label>
</Field>
<Field id="emailUrgentSubject" type="textfield" defaultValue="Alarm Tripped" >
<Field id="emailUrgentSubject" type="textfield" visibleBindingId = "email" visibleBindingValue = "true" defaultValue="Alarm Tripped" >
<Label>Urgent Email Subject:</Label>
</Field>
<!-- The setting below is for berkinet's use -->
<Field id="emailUrgentContent" type="textfield" hidden="true">
<!-- Optional; either hide or not -->
<Field id="emailUrgentContent" type="textfield" visibleBindingId = "email" visibleBindingValue = "true" hidden="false">
<Label>Urgent Email Content:</Label>
</Field>


<Field id="space7" type="label">
<Field id="space7" type="label" visibleBindingId = "email" visibleBindingValue = "true" >
<Label></Label>
</Field>


<Field id="emailNoticeNote" type="label" fontColor="darkgray" fontSize="small" alignWithControl="true">
<Label>Enter an address and subject below to receive an email for plugin updates and less critical alarm events (Power Failure, Low Battery, Trouble, Faults).</Label>
<Field id="emailNoticeNote" type="label" visibleBindingId = "email" visibleBindingValue = "true" fontColor="darkgray" fontSize="small" alignWithControl="true">
<Label>Email for less critical alarm events (Power Failure, Low Battery, Trouble, Faults).</Label>
</Field>
<!-- This is really the email text box for the updater but we'll share it this time -->
<Field id="updaterEmail" type="textfield">
<Label>Notice Email:</Label>
<Field id="emailNotice" type="textfield" visibleBindingId = "email" visibleBindingValue = "true" >
<Label>Notice Email Recipient:</Label>
</Field>
<Field id="updaterEmailSubject" type="textfield" defaultValue="Alarm Notice">
<Field id="emailNoticeSubject" type="textfield" visibleBindingId = "email" visibleBindingValue = "true" defaultValue="Alarm Notice">
<Label>Notice Email Subject:</Label>
</Field>

<!-- The setting below is for berkinet's use -->
<Field id="updaterEmailContent" type="textfield" hidden="true">
<!-- Optional; either hide or not -->
<Field id="emailNoticeContent" type="textfield" visibleBindingId = "email" visibleBindingValue = "true" hidden="false">
<Label>Notice Email Content:</Label>
</Field>

<Field id="space8" type="label">
<Field id="space8" type="label" visibleBindingId = "email" visibleBindingValue = "true" >
<Label></Label>
</Field>

########################################################################################
############# Kidney514 ########## Sending email of who is disarming
########################################################################################

<Field id="emailDisarmNote" type="label" fontColor="darkgray" fontSize="small" alignWithControl="true">
<Label>Enter an address and subject below to receive an email to know who is Disarming</Label>
<Field id="emailDisarmNote" type="label" visibleBindingId = "email" visibleBindingValue = "true" fontColor="darkgray" fontSize="small" alignWithControl="true">
<Label>Email about who is Disarming</Label>
</Field>
<!-- This is really the email text box for the updater but we'll share it this time -->
<Field id="EmailDisarm" type="textfield">
<Label>Disarm Email:</Label>
<Field id="EmailDisarm" type="textfield" visibleBindingId = "email" visibleBindingValue = "true" >
<Label>Disarm Email Recipient:</Label>
</Field>
<Field id="EmailDisarmSubject" type="textfield" defaultValue="Disarm Notice">
<Field id="EmailDisarmSubject" type="textfield" visibleBindingId = "email" visibleBindingValue = "true" defaultValue="Disarm Notice">
<Label>Disarm Email Subject:</Label>
</Field>

<!-- The setting below is for berkinet's use -->
<Field id="EmailDisarmContent" type="textfield" hidden="true">
<!-- Optional; either hide or not -->
<Field id="EmailDisarmContent" type="textfield" visibleBindingId = "email" visibleBindingValue = "true" hidden="false">
<Label>Disarm Email Content:</Label>
</Field>
########################################################################################

<!-- Time sync and Custom icon settings -->
<Field
id = "separator01"
type = "separator"/>
Expand All @@ -124,10 +132,18 @@
<Label>Indigo will update the alarm panel's time and date every night at 3am.</Label>
</Field>

<Field id="customStateIcons" type="checkbox" defaultValue="true">
<Label>Custom State Icons:</Label>
</Field>
<Field id="customStateNote" type="label" visibleBindingId="customStateIcons" visibleBindingValue="true" fontColor="darkgray" fontSize="small" alignWithControl="true">
<Label>Indigo client UI and Indigo Touch will show custom state image icons for alarm zones.</Label>
</Field>

<Field
id = "separator02"
type = "separator"/>

<!-- User code settings -->
<Field
id = "userCodeLabeling"
type = "checkbox">
Expand All @@ -139,7 +155,7 @@
id = "note0"
type = "label"
fontColor="darkgray" fontSize="small" alignWithControl="true">
<Label>Assign each user code a label.</Label>
<Label>Assign a descriptive user label to each user code.</Label>
</Field>

<Field
Expand Down Expand Up @@ -174,8 +190,9 @@
id = "separator03"
type = "separator"/>

<!-- Speaking and variable settings -->
<Field id="note5" type="label" alignWithControl="false">
<Label> Speak and Speak</Label>
<Label> Speaking and Speak</Label>
</Field>

<Field
Expand Down Expand Up @@ -255,32 +272,22 @@
<Field id="variableState" type="textfield" hidden="true"></Field>


<!-- Debug settings -->
<Field id="simpleSeparator2" type="separator"/>
<Field id="midLabel" type="label" fontColor="darkgray" fontSize="small" alignWithControl="true">
<Label>Set the level of information recorded to the Indigo log.</Label>
</Field>

<Field id="showDebugInfo1" type="menu" defaultValue="1">
<Label>Logging level</Label>
<List>
<Option value="0">None</Option>
<Option value="1">Normal</Option>
<Option value="2">Verbose</Option>
<Option value="3">Debug</Option>
<Option value="4">Intense Debug</Option>
</List>
</Field>
<Field id="logLevel" type="menu" defaultValue="20">
<Label>Event Logging Level:</Label>
<List>
<Option value="5">Detailed Debugging Messages</Option>
<Option value="10">Debugging Messages</Option>
<Option value="20">Informational Messages</Option>
<Option value="30">Warning Messages</Option>
<Option value="40">Error Messages</Option>
<Option value="50">Critical Errors Only</Option>
</List>
</Field>

<Field id="v0" type="label" visibleBindingId="showDebugInfo1" visibleBindingValue="0" fontColor="darkgray" fontSize="small" alignWithControl="true">
<Label>No logging at all (not suggested)</Label>
</Field>
<Field id="v1" type="label" visibleBindingId="showDebugInfo1" visibleBindingValue="1" fontColor="darkgray" fontSize="small" alignWithControl="true">
<Label>Normal operating events</Label>
</Field>
<Field id="v2" type="label" visibleBindingId="showDebugInfo1" visibleBindingValue="2" fontColor="darkgray" fontSize="small" alignWithControl="true">
<Label>Detailed information</Label>
</Field>
<Field id="v3" type="label" visibleBindingId="showDebugInfo1" visibleBindingValue="3,4" fontColor="darkgray" fontSize="small" alignWithControl="true">
<Label>If you are having problems with the plugin (or you are instructed by support), you can enable debugging Use with caution. This level is not suggested for regular operation.</Label>
</Field>
</PluginConfig>
Loading

0 comments on commit c23cf29

Please sign in to comment.