From 357613b5f7b03da92a8c0555c6e81dc9b253d24d Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 27 Aug 2016 14:22:16 -0700 Subject: [PATCH] Added DKS 1819 configuration. --- README.md | 2 +- .../tesremoteprogrammer/MainActivity.kt | 7 +- app/src/main/res/raw/dks_1802.json | 106 +++++++--- app/src/main/res/raw/dks_1802_epd.json | 106 +++++++--- app/src/main/res/raw/dks_1803_1808_1810.json | 14 +- app/src/main/res/raw/dks_1812.json | 4 +- app/src/main/res/raw/dks_1819.json | 200 ++++++++++++++++++ 7 files changed, 379 insertions(+), 60 deletions(-) create mode 100644 app/src/main/res/raw/dks_1819.json diff --git a/README.md b/README.md index 09e6af5..ae86313 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Program your Telephone Entry System remotely (off-site) using your phone. Most Telephone Entry Systems can be programmed from the front keypad or remotely from an off-premise location using any touch-tone phone. TES Remote Programmer streamlines the often cumbersome remote programming process by providing data entry screens and automated dial-in options. -By default, TES Remote Programmer is configured to work with the [DoorKing (DKS) 1802, 1802-EPD. 1803, 1808 and 1810](http://www.doorking.com/telephone/) systems, additional [configurations](#configurations) can be created for most systems supporting remote programming. +By default, TES Remote Programmer is configured to work with the [DoorKing (DKS) 1802, 1802-EPD. 1803, 1808, 1810 and 1819](http://www.doorking.com/telephone/) systems, additional [configurations](#configurations) can be created for most systems supporting remote programming. Please note that all default configurations are set for 3-digits directory code length. If your system is setup differently, you will need to modify the [default configuration](app/src/main/res/raw/) and re-import it. Look for all `Directory Code` fields and modify their `size` attributes accordingly. diff --git a/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/MainActivity.kt b/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/MainActivity.kt index d6c16ff..6ae5db7 100644 --- a/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/MainActivity.kt +++ b/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/MainActivity.kt @@ -60,7 +60,12 @@ class MainActivity : AppCompatActivity(), AnkoLogger { lateinit var config: Config val configurations_data = "configurations.dat" val current_config_data = "config.dat" - val defaultConfigs = listOf(R.raw.dks_1802, R.raw.dks_1802_epd, R.raw.dks_1812, R.raw.dks_1803_1808_1810) + val defaultConfigs = listOf( + R.raw.dks_1802, + R.raw.dks_1802_epd, + R.raw.dks_1812, + R.raw.dks_1819, + R.raw.dks_1803_1808_1810) val read_request_code = 42 companion object { diff --git a/app/src/main/res/raw/dks_1802.json b/app/src/main/res/raw/dks_1802.json index 81fb3b6..c3a5afb 100644 --- a/app/src/main/res/raw/dks_1802.json +++ b/app/src/main/res/raw/dks_1802.json @@ -131,7 +131,7 @@ "title": "Remote Relay 2 Activation", "fields": [ { - "hint": "Open=5, Hold=4, Release=2, 1hr=2", + "hint": "Open=5, Hold=4, Release=3, 1hr=2", "size": 1, "min": 2, "max": 5 @@ -177,7 +177,7 @@ "dtmf": "*21[MASTER],[FIELD:1]*" }, { - "title": "Set Area Codes", + "title": "Set Area Code", "fields": [ { "hint": "2-Digit Area Code Ref Number", @@ -229,10 +229,8 @@ "max": 31 }, { - "hint": "Year (Even=00, Odd=01)", - "size": 2, - "min": 0, - "max": 1 + "hint": "Year", + "size": 2 }, { "hint": "Day of Week (Sun=1..Sat=7)", @@ -246,6 +244,18 @@ { "title": "Set Relay Activation Time Zone", "fields": [ + { + "hint": "Time Zone Number (1...4)", + "size": 1, + "min": 1, + "max": 4 + }, + { + "hint": "1=ON 0=OFF", + "size": 1, + "min": 0, + "max": 1 + }, { "hint": "Beginning Hour (01..12)", "size": 2, @@ -258,6 +268,12 @@ "min": 0, "max": 59 }, + { + "hint": "AM=0 PM=1", + "size": 1, + "min": 0, + "max": 1 + }, { "hint": "Ending Hour (01..12)", "size": 2, @@ -279,24 +295,46 @@ { "hint": "Days of Week (Sun=1, Sat=7 or #)", "size": 7, - "min": 1, - "max": 7, "hash": true } ], - "dtmf": "*35[MASTER],[FIELD:1][FIELD:2]*,[FIELD:3][FIELD:4]*,[FIELD:5]*,[FIELD:6]*" + "dtmf": "*35[MASTER],[FIELD:1]*,[FIELD:2]*,[FIELD:3][FIELD:4]*,[FIELD:5]*,[FIELD:6][FIELD:7]*,[FIELD:8]*,[FIELD:9]*" }, { "title": "Set 4-Digit Entry Code Time Zone", "fields": [ { - "hint": "Hour (01..12)", + "hint": "1=ON 0=OFF", + "size": 1, + "min": 0, + "max": 1 + }, + { + "hint": "Beginning Hour (01..12)", "size": 2, "min": 1, "max": 12 }, { - "hint": "Minutes (00..59)", + "hint": "Beginning Minutes (00..59)", + "size": 2, + "min": 0, + "max": 59 + }, + { + "hint": "AM=0 PM=1", + "size": 1, + "min": 0, + "max": 1 + }, + { + "hint": "Ending Hour (01..12)", + "size": 2, + "min": 1, + "max": 12 + }, + { + "hint": "Ending Minutes (00..59)", "size": 2, "min": 0, "max": 59 @@ -310,8 +348,6 @@ { "hint": "Days of Week (Sun=1..Sat=7 or #)", "size": 7, - "min": 1, - "max": 7, "hash": true }, { @@ -323,19 +359,25 @@ "size": 4 } ], - "dtmf": "*36[MASTER],[FIELD:1][FIELD:2]*,[FIELD:3]*,[FIELD:4]*,[FIELD:5]*,[FIELD:6]*" + "dtmf": "*36[MASTER],[FIELD:1]*,[FIELD:2][FIELD:3]*,[FIELD:4]*,[FIELD:5][FIELD:6]*,[FIELD:7]*,[FIELD:8]*,[FIELD:9]*,[FIELD:10]*" }, { "title": "Set 5-Digit Entry Code Time Zone", "fields": [ { - "hint": "Hour (01..12)", + "hint": "1=ON 0=OFF", + "size": 1, + "min": 0, + "max": 1 + }, + { + "hint": "Beginning Hour (01..12)", "size": 2, "min": 1, "max": 12 }, { - "hint": "Minutes (00..59)", + "hint": "Beginning Minutes (00..59)", "size": 2, "min": 0, "max": 59 @@ -347,22 +389,38 @@ "max": 1 }, { - "hint": "Days of Week (Sun=1, Sat=7 or #)", - "size": 7, + "hint": "Ending Hour (01..12)", + "size": 2, "min": 1, - "max": 7, + "max": 12 + }, + { + "hint": "Ending Minutes (00..59)", + "size": 2, + "min": 0, + "max": 59 + }, + { + "hint": "AM=0 PM=1", + "size": 1, + "min": 0, + "max": 1 + }, + { + "hint": "Days of Week (Sun=1..Sat=7 or #)", + "size": 7, "hash": true }, { - "hint": "Lower 5-Digit Boundary", - "size": 5 + "hint": "Lower 4-Digit Boundary", + "size": 4 }, { - "hint": "Upper 5-Digit Boundary", - "size": 5 + "hint": "Upper 4-Digit Boundary", + "size": 4 } ], - "dtmf": "*37[MASTER],[FIELD:1][FIELD:2]*,[FIELD:3]*,[FIELD:4]*,[FIELD:5]*,[FIELD:6]*" + "dtmf": "*37[MASTER],[FIELD:1]*,[FIELD:2][FIELD:3]*,[FIELD:4]*,[FIELD:5][FIELD:6]*,[FIELD:7]*,[FIELD:8]*,[FIELD:9]*,[FIELD:10]*" }, { "title": "Add Phone Number w/ Area Code", diff --git a/app/src/main/res/raw/dks_1802_epd.json b/app/src/main/res/raw/dks_1802_epd.json index 932bca0..be12555 100644 --- a/app/src/main/res/raw/dks_1802_epd.json +++ b/app/src/main/res/raw/dks_1802_epd.json @@ -131,7 +131,7 @@ "title": "Remote Relay 2 Activation", "fields": [ { - "hint": "Open=5, Hold=4, Release=2, 1hr=2", + "hint": "Open=5, Hold=4, Release=3, 1hr=2", "size": 1, "min": 2, "max": 5 @@ -177,7 +177,7 @@ "dtmf": "*21[MASTER],[FIELD:1]*" }, { - "title": "Set Area Codes", + "title": "Set Area Code", "fields": [ { "hint": "2-Digit Area Code Ref Number", @@ -229,10 +229,8 @@ "max": 31 }, { - "hint": "Year (Even=00, Odd=01)", - "size": 2, - "min": 0, - "max": 1 + "hint": "Year", + "size": 2 }, { "hint": "Day of Week (Sun=1..Sat=7)", @@ -246,6 +244,18 @@ { "title": "Set Relay Activation Time Zone", "fields": [ + { + "hint": "Time Zone Number (1...4)", + "size": 1, + "min": 1, + "max": 4 + }, + { + "hint": "1=ON 0=OFF", + "size": 1, + "min": 0, + "max": 1 + }, { "hint": "Beginning Hour (01..12)", "size": 2, @@ -258,6 +268,12 @@ "min": 0, "max": 59 }, + { + "hint": "AM=0 PM=1", + "size": 1, + "min": 0, + "max": 1 + }, { "hint": "Ending Hour (01..12)", "size": 2, @@ -279,24 +295,46 @@ { "hint": "Days of Week (Sun=1, Sat=7 or #)", "size": 7, - "min": 1, - "max": 7, "hash": true } ], - "dtmf": "*35[MASTER],[FIELD:1][FIELD:2]*,[FIELD:3][FIELD:4]*,[FIELD:5]*,[FIELD:6]*" + "dtmf": "*35[MASTER],[FIELD:1]*,[FIELD:2]*,[FIELD:3][FIELD:4]*,[FIELD:5]*,[FIELD:6][FIELD:7]*,[FIELD:8]*,[FIELD:9]*" }, { "title": "Set 4-Digit Entry Code Time Zone", "fields": [ { - "hint": "Hour (01..12)", + "hint": "1=ON 0=OFF", + "size": 1, + "min": 0, + "max": 1 + }, + { + "hint": "Beginning Hour (01..12)", "size": 2, "min": 1, "max": 12 }, { - "hint": "Minutes (00..59)", + "hint": "Beginning Minutes (00..59)", + "size": 2, + "min": 0, + "max": 59 + }, + { + "hint": "AM=0 PM=1", + "size": 1, + "min": 0, + "max": 1 + }, + { + "hint": "Ending Hour (01..12)", + "size": 2, + "min": 1, + "max": 12 + }, + { + "hint": "Ending Minutes (00..59)", "size": 2, "min": 0, "max": 59 @@ -310,8 +348,6 @@ { "hint": "Days of Week (Sun=1..Sat=7 or #)", "size": 7, - "min": 1, - "max": 7, "hash": true }, { @@ -323,19 +359,25 @@ "size": 4 } ], - "dtmf": "*36[MASTER],[FIELD:1][FIELD:2]*,[FIELD:3]*,[FIELD:4]*,[FIELD:5]*,[FIELD:6]*" + "dtmf": "*36[MASTER],[FIELD:1]*,[FIELD:2][FIELD:3]*,[FIELD:4]*,[FIELD:5][FIELD:6]*,[FIELD:7]*,[FIELD:8]*,[FIELD:9]*,[FIELD:10]*" }, { "title": "Set 5-Digit Entry Code Time Zone", "fields": [ { - "hint": "Hour (01..12)", + "hint": "1=ON 0=OFF", + "size": 1, + "min": 0, + "max": 1 + }, + { + "hint": "Beginning Hour (01..12)", "size": 2, "min": 1, "max": 12 }, { - "hint": "Minutes (00..59)", + "hint": "Beginning Minutes (00..59)", "size": 2, "min": 0, "max": 59 @@ -347,22 +389,38 @@ "max": 1 }, { - "hint": "Days of Week (Sun=1, Sat=7 or #)", - "size": 7, + "hint": "Ending Hour (01..12)", + "size": 2, "min": 1, - "max": 7, + "max": 12 + }, + { + "hint": "Ending Minutes (00..59)", + "size": 2, + "min": 0, + "max": 59 + }, + { + "hint": "AM=0 PM=1", + "size": 1, + "min": 0, + "max": 1 + }, + { + "hint": "Days of Week (Sun=1..Sat=7 or #)", + "size": 7, "hash": true }, { - "hint": "Lower 5-Digit Boundary", - "size": 5 + "hint": "Lower 4-Digit Boundary", + "size": 4 }, { - "hint": "Upper 5-Digit Boundary", - "size": 5 + "hint": "Upper 4-Digit Boundary", + "size": 4 } ], - "dtmf": "*37[MASTER],[FIELD:1][FIELD:2]*,[FIELD:3]*,[FIELD:4]*,[FIELD:5]*,[FIELD:6]*" + "dtmf": "*37[MASTER],[FIELD:1]*,[FIELD:2][FIELD:3]*,[FIELD:4]*,[FIELD:5][FIELD:6]*,[FIELD:7]*,[FIELD:8]*,[FIELD:9]*,[FIELD:10]*" }, { "title": "Add Phone Number w/ Area Code", diff --git a/app/src/main/res/raw/dks_1803_1808_1810.json b/app/src/main/res/raw/dks_1803_1808_1810.json index 8f22306..94a4c5a 100644 --- a/app/src/main/res/raw/dks_1803_1808_1810.json +++ b/app/src/main/res/raw/dks_1803_1808_1810.json @@ -175,6 +175,12 @@ "min": 0, "max": 59 }, + { + "hint": "AM=0 PM=1", + "size": 1, + "min": 0, + "max": 1 + }, { "hint": "Ending Hour (01..12)", "size": 2, @@ -196,8 +202,6 @@ { "hint": "Days of Week (Sun=1, Sat=7 or #)", "size": 7, - "min": 1, - "max": 7, "hash": true } ], @@ -227,8 +231,6 @@ { "hint": "Days of Week (Sun=1..Sat=7 or #)", "size": 7, - "min": 1, - "max": 7, "hash": true }, { @@ -266,8 +268,6 @@ { "hint": "Days of Week (Sun=1, Sat=7 or #)", "size": 7, - "min": 1, - "max": 7, "hash": true }, { @@ -320,7 +320,7 @@ "title": "Remote Relay 2 Activation", "fields": [ { - "hint": "Open=5, Hold=4, Release=2, 1hr=2", + "hint": "Open=5, Hold=4, Release=3, 1hr=2", "size": 1, "min": 2, "max": 5 diff --git a/app/src/main/res/raw/dks_1812.json b/app/src/main/res/raw/dks_1812.json index 2f6bdca..18f0acc 100644 --- a/app/src/main/res/raw/dks_1812.json +++ b/app/src/main/res/raw/dks_1812.json @@ -72,9 +72,7 @@ }, { "hint": "Year (00..99)", - "size": 2, - "min": 0, - "max": 99 + "size": 2 }, { "hint": "Day of Week (Sun=1..Sat=7)", diff --git a/app/src/main/res/raw/dks_1819.json b/app/src/main/res/raw/dks_1819.json new file mode 100644 index 0000000..d7bf8fe --- /dev/null +++ b/app/src/main/res/raw/dks_1819.json @@ -0,0 +1,200 @@ +{ + "params": { + "name": "DKS 1819", + "star": "*", + "hash": "#", + "end": "0 + #", + "size": 4 + }, + "opts": [ + { + "title": "Set Relay Strike Time", + "fields": [ + { + "hint": "Strike Time (00=1/4...99 seconds)", + "min": 0, + "max": 99, + "size": 2 + } + ], + "dtmf": "*03[MASTER],1*,[FIELD:1]*" + }, + { + "title": "Add 7-digit Phone Number", + "fields": [ + { + "hint": "Phone Number", + "size": 7, + "hash": true + } + ], + "dtmf": "*01[MASTER],001*,[FIELD:1]*" + }, + { + "title": "Set Area Code", + "fields": [ + { + "hint": "Area Code Ref Number", + "size": 2, + "min": 1, + "max": 15 + }, + { + "hint": "Area Code (e.g. 1800 or #800)", + "size": 4, + "min": 1, + "max": 15, + "hash": true + } + ], + "dtmf": "*24[MASTER],[FIELD:1]*,[FIELD:2]*" + }, + { + "title": "Add Phone Number w/ Area Code", + "fields": [ + { + "hint": "Area Code", + "size": 2, + "min": 1, + "max": 15 + }, + { + "hint": "Phone Number", + "size": 7, + "hash": true + } + ], + "dtmf": "*41[MASTER],001,[FIELD:1]*,[FIELD:2]*" + }, + { + "title": "Set Time Clock", + "fields": [ + { + "hint": "Hour (01..12)", + "size": 2, + "min": 1, + "max": 12 + }, + { + "hint": "Minutes (00..59)", + "size": 2, + "min": 0, + "max": 59 + }, + { + "hint": "AM=0 PM=1", + "size": 1, + "min": 0, + "max": 1 + }, + { + "hint": "Month (01..12)", + "size": 2, + "min": 1, + "max": 12 + }, + { + "hint": "Day of Month (01..31)", + "size": 2, + "min": 1, + "max": 31 + }, + { + "hint": "Year", + "size": 2 + }, + { + "hint": "Day of Week (Sun=1..Sat=7)", + "size": 1, + "min": 1, + "max": 7 + } + ], + "dtmf": "*33[MASTER],[FIELD:1][FIELD:2]*,[FIELD:3]*,[FIELD:4]*,[FIELD:5]*,[FIELD:6]*,[FIELD:7]*" + }, + { + "title": "Set Relay Activation Time Zone", + "fields": [ + { + "hint": "Time Zone Number (1 or 2)", + "size": 1, + "min": 1, + "max": 2 + }, + { + "hint": "1=ON 0=OFF", + "size": 1, + "min": 0, + "max": 1 + }, + { + "hint": "Beginning Hour (01..12)", + "size": 2, + "min": 1, + "max": 12 + }, + { + "hint": "Beginning Minutes (00..59)", + "size": 2, + "min": 0, + "max": 59 + }, + { + "hint": "Ending Hour (01..12)", + "size": 2, + "min": 1, + "max": 12 + }, + { + "hint": "Ending Minutes (00..59)", + "size": 2, + "min": 0, + "max": 59 + }, + { + "hint": "AM=0 PM=1", + "size": 1, + "min": 0, + "max": 1 + }, + { + "hint": "Days of Week (Sun=1, Sat=7 or #)", + "size": 7, + "hash": true + } + ], + "dtmf": "*35[MASTER],[FIELD:1]*,[FIELD:2]*,[FIELD:3][FIELD:4]*,[FIELD:5][FIELD:6]*,[FIELD:7]*,[FIELD:8]*" + }, + { + "title": "Remote Relay Activation", + "fields": [ + { + "hint": "Open=1, Hold=2, Release=4, 1hr=4", + "size": 1, + "min": 1, + "max": 4 + } + ], + "nosteps": true, + "dtmf": "*16[MASTER],[FIELD:1]*" + }, + { + "title": "Enable/Disable Auto Relay Time Zone", + "fields": [ + { + "hint": "Time Zone Number (1 or 2)", + "size": 2, + "min": 1, + "max": 2 + }, + { + "hint": "1=ON 0=OFF", + "size": 1, + "min": 0, + "max": 1 + } + ], + "dtmf": "*35[MASTER],[FIELD:1]*,[FIELD:2]*" + } + ] +} \ No newline at end of file