diff options
-rw-r--r-- | config/templates/cyberdata-template.lua | 17 | ||||
-rw-r--r-- | provisioning-scripts.lua | 22 | ||||
-rwxr-xr-x | upgradeprovisioning | 28 |
3 files changed, 66 insertions, 1 deletions
diff --git a/config/templates/cyberdata-template.lua b/config/templates/cyberdata-template.lua index f144af6..98084d0 100644 --- a/config/templates/cyberdata-template.lua +++ b/config/templates/cyberdata-template.lua @@ -155,6 +155,23 @@ if values.device then yesno (ButtonSettings, "PlayToneWhileRelayActive", values.device.playtonewhilerelayactive) end +-- <SensorSettings> + +-- These parameters are used by CyberData Intercom +if values.device then + local SensorSettings = findOrAppendSection(cfg, "SensorSettings") + yesno (SensorSettings, "SensorNormallyClosed", values.device.sensornormallyclosed) + setValue (SensorSettings, "SensorTimeout", values.device.sensortimeout) + yesno (SensorSettings, "SensorFlashLED", values.device.sensorflashled) + yesno (SensorSettings, "SensorActivateRelay", values.device.sensoractivaterelay) + yesno (SensorSettings, "SensorPlayLocally", values.device.sensorplaylocally) + yesno (SensorSettings, "SensorCall", values.device.sensorcall) + setValue (SensorSettings, "SensorDialOutExtension", values.device.sensordialoutextension) + setValue (SensorSettings, "SensorDialOutID", values.device.sensordialoutid) + yesno (SensorSettings, "SensorRepeat", values.device.sensorrepeat) + yesno (SensorSettings, "SensorPlayRemotely", values.device.sensorplayremotely) +end + -- cfg:save("TEST-cyberdata.xml") print(cfg) diff --git a/provisioning-scripts.lua b/provisioning-scripts.lua index 680e8b6..6d65858 100644 --- a/provisioning-scripts.lua +++ b/provisioning-scripts.lua @@ -530,6 +530,16 @@ mymodule.param_groups_to_params = { "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='activaterelayduringring'), null, true)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='activaterelayduringcall'), null, true)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='autoanswerincomingcalls'), null, true)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='sensornormallyclosed'), null, true)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='sensortimeout'), null, true)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='sensorflashled'), null, true)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='sensoractivaterelay'), null, true)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='sensorplaylocally'), null, true)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='sensorcall'), null, true)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='sensordialoutextension'), null, true)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='sensordialoutid'), null, true)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='sensorrepeat'), null, true)", + "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='sensorplayremotely'), null, true)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Grandstream Device'), (SELECT param_id FROM provisioning_params WHERE name='template'), '/etc/provisioning/templates/grandstream-template.lua', false)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Grandstream Device'), (SELECT param_id FROM provisioning_params WHERE name='mac'), null, true)", "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='Grandstream Device'), (SELECT param_id FROM provisioning_params WHERE name='registrar'), null, false)", @@ -1241,6 +1251,16 @@ mymodule.provisioning_params = { "INSERT INTO provisioning_params values(default, 'pagingport3', 'boolean', 'Paging Port 3 Enable', '', 'true', '33', '', null)", "INSERT INTO provisioning_params values(default, 'pagingport4', 'boolean', 'Paging Port 4 Enable', '', 'true', '34', '', null)", "INSERT INTO provisioning_params values(default, 'autoanswerincomingcalls', 'boolean', 'Auto Answer Incoming Calls Enable', '', 'true', '35', '', null)", + "INSERT INTO provisioning_params values(default, 'sensornormallyclosed', 'boolean', 'Door Sensor Normally Closed Enable', '', 'false', '36', '', null)", + "INSERT INTO provisioning_params values(default, 'sensortimeout', 'text', 'Door Sensor Open Timeout', 'Value in seconds', '0', '37', '^%d*$', E'local value, functions, params = ...\nif value == \\'\\' then\n return value, \\'Empty not accepted\\'\nend\nlocal value = tonumber(value)\nif value == nil then\n return value, \\'Only numbers are allowed\\'\nend\nif value >= 99999 then\n return value, \\'Maximum 99999\\'\nend\nreturn value')", + "INSERT INTO provisioning_params values(default, 'sensorflashled', 'boolean', 'Door Sensor Flash Button LED Enable', '', 'false', '38', '', null)", + "INSERT INTO provisioning_params values(default, 'sensoractivaterelay', 'boolean', 'Door Sensor Activate Relay Enable', '', 'false', '39', '', null)", + "INSERT INTO provisioning_params values(default, 'sensorplaylocally', 'boolean', 'Door Sensor Play Audio Locally Enable', '', 'false', '40', '', null)", + "INSERT INTO provisioning_params values(default, 'sensorcall', 'boolean', 'Door Sensor Call to Extension Enable', '', 'false', '41', '', null)", + "INSERT INTO provisioning_params values(default, 'sensordialoutextension', 'text', 'Door Sensor Dial Out Extension', '', '', '42', '^[*#0-9]*$', E'local value, functions, params = ...\nif value ~= \\'\\' then\nlocal len = string.len(value)\n if len >= 65 then\n return value, \\'Maximum 64 digits\\'\n end\nend\nreturn value')", + "INSERT INTO provisioning_params values(default, 'sensordialoutid', 'text', 'Door Sensor Dial Out ID', '', '', '43', '', E'local value, functions, params = ...\nif value ~= \\'\\' then\nlocal len = string.len(value)\n if len >= 65 then\n return value, \\'Maximum 64 characters\\'\n end\nend\nreturn value')", + "INSERT INTO provisioning_params values(default, 'sensorrepeat', 'text', 'Door Sensor Repeat Message', '', '1', '44', '', E'local value, functions, params = ...\nif value == \\'\\' then\n return value, \\'Empty not accepted\\'\nend\nlocal value = tonumber(value)\nif value == nil then\n return value, \\'Only numbers are allowed\\'\nend\nif value >= 65537 then\n return value, \\'Maximum 65536\\'\nend\nreturn value')", + "INSERT INTO provisioning_params values(default, 'sensorplayremotely', 'boolean', 'Door Sensor Play Audio Enable', '', 'false', '45', '', null)", "INSERT INTO provisioning_params VALUES(default, 'extension', 'text', 'Extension', '', '', '101', '^%d*$', null)", "INSERT INTO provisioning_params VALUES(default, 'password', 'text', 'Password', '', '', '102', '', null)", "INSERT INTO provisioning_params VALUES(default, 'forwardnoanswerenable', 'boolean', 'Forward on No-answer Enable', '', 'false', '103', '', null)", @@ -1273,7 +1293,7 @@ mymodule.provisioning_params = { "INSERT INTO provisioning_params VALUES(default, 'softkey8', 'boolean', 'Soft Key 8 Enable', '', 'false', '308', '', null)", "INSERT INTO provisioning_params VALUES(default, 'softkey9', 'boolean', 'Soft Key 9 Enable', '', 'false', '309', '', null)", "INSERT INTO provisioning_params VALUES(default, 'softkey10', 'boolean', 'Soft Key 10 Enable', '', 'false', '310', '', null)", - "INSERT INTO provisioning_params VALUES(default, 'databaseversion', 'text', 'Provisioning Database Version', 'Do not edit or delete!', '10', '999', '', null)", + "INSERT INTO provisioning_params VALUES(default, 'databaseversion', 'text', 'Provisioning Database Version', 'Do not edit or delete!', '11', '999', '', null)", } -- All of the (non-default) parameter values for all devices are stored here diff --git a/upgradeprovisioning b/upgradeprovisioning index 3d41489..9d69d96 100755 --- a/upgradeprovisioning +++ b/upgradeprovisioning @@ -710,4 +710,32 @@ if [ "$version" -lt "10" ]; then # database psql -U postgres -c "UPDATE provisioning_params SET value='10' WHERE name='databaseversion'" provisioning fi + +if [ "$version" -lt "11" ]; then + echo "Upgrading to database version 11" + + psql -U postgres -c "INSERT INTO provisioning_params values(default, 'sensornormallyclosed', 'boolean', 'Door Sensor Normally Closed Enable', '', 'false', '36', '', null)" provisioning + psql -U postgres -c "INSERT INTO provisioning_params values(default, 'sensortimeout', 'text', 'Door Sensor Open Timeout', 'Value in seconds', '0', '37', '^%d*\$', E'local value, functions, params = ...\nif value == \'\' then\n return value, \'Empty not accepted\'\nend\nlocal value = tonumber(value)\nif value == nil then\n return value, \'Only numbers are allowed\'\nend\nif value >= 99999 then\n return value, \'Maximum 99999\'\nend\nreturn value')" provisioning + psql -U postgres -c "INSERT INTO provisioning_params values(default, 'sensorflashled', 'boolean', 'Door Sensor Flash Button LED Enable', '', 'false', '38', '', null)" provisioning + psql -U postgres -c "INSERT INTO provisioning_params values(default, 'sensoractivaterelay', 'boolean', 'Door Sensor Activate Relay Enable', '', 'false', '39', '', null)" provisioning + psql -U postgres -c "INSERT INTO provisioning_params values(default, 'sensorplaylocally', 'boolean', 'Door Sensor Play Audio Locally Enable', '', 'false', '40', '', null)" provisioning + psql -U postgres -c "INSERT INTO provisioning_params values(default, 'sensorcall', 'boolean', 'Door Sensor Call to Extension Enable', '', 'false', '41', '', null)" provisioning + psql -U postgres -c "INSERT INTO provisioning_params values(default, 'sensordialoutextension', 'text', 'Door Sensor Dial Out Extension', '', '', '42', '^[*#0-9]*\$', E'local value, functions, params = ...\nif value ~= \'\' then\nlocal len = string.len(value)\n if len >= 65 then\n return value, \'Maximum 64 digits\'\n end\nend\nreturn value')" provisioning + psql -U postgres -c "INSERT INTO provisioning_params values(default, 'sensordialoutid', 'text', 'Door Sensor Dial Out ID', '', '', '43', '', E'local value, functions, params = ...\nif value ~= \'\' then\nlocal len = string.len(value)\n if len >= 65 then\n return value, \'Maximum 64 characters\'\n end\nend\nreturn value')" provisioning + psql -U postgres -c "INSERT INTO provisioning_params values(default, 'sensorrepeat', 'text', 'Door Sensor Repeat Message', '', '1', '44', '', E'local value, functions, params = ...\nif value == \'\' then\n return value, \'Empty not accepted\'\nend\nlocal value = tonumber(value)\nif value == nil then\n return value, \'Only numbers are allowed\'\nend\nif value >= 65537 then\n return value, \'Maximum 65536\'\nend\nreturn value')" provisioning + psql -U postgres -c "INSERT INTO provisioning_params values(default, 'sensorplayremotely', 'boolean', 'Door Sensor Play Audio Enable', '', 'false', '45', '', null)" provisioning + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='sensornormallyclosed'), null, true)" provisioning + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='sensortimeout'), null, true)" provisioning + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='sensorflashled'), null, true)" provisioning + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='sensoractivaterelay'), null, true)" provisioning + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='sensorplaylocally'), null, true)" provisioning + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='sensorcall'), null, true)" provisioning + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='sensordialoutextension'), null, true)" provisioning + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='sensordialoutid'), null, true)" provisioning + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='sensorrepeat'), null, true)" provisioning + psql -U postgres -c "INSERT INTO param_groups_to_params VALUES((SELECT group_id FROM provisioning_groups WHERE label='CyberData Intercom Device'), (SELECT param_id FROM provisioning_params WHERE name='sensorplayremotely'), null, true)" provisioning + + # database + psql -U postgres -c "UPDATE provisioning_params SET value='11' WHERE name='databaseversion'" provisioning +fi exit 0 |