Created
November 10, 2012 21:14
-
-
Save elvisimprsntr/4052516 to your computer and use it in GitHub Desktop.
Bash scripts for the REST interface for the ISY99i
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
read -p "Enter ISY IP address or hostname: " ISYIP | |
read -p "Enter ISY user ID: " USER | |
read -p "Enter ISY password: " PASS | |
read -p "Enter Elk code: " CODE | |
# define variables | |
ISYRESTURL=http://$ISYIP/rest/elk | |
# define function | |
isyrestwget () { | |
wget -O $ISYLOG.xml --user=$USER --password=$PASS ${ISYRESTURL}${ISYCMD} >> elk_interrogate.log 2>&1 | |
} | |
echo "Begin Elk REST interrogation" > elk_interrogate.log 2>&1 | |
# Area Commands | |
ISYCMD=/areas/query | |
ISYLOG=elk_area_query | |
isyrestwget | |
ISYCMD=/area/1/get/status | |
ISYLOG=elk_area_1_status | |
isyrestwget | |
ISYCMD=/area/2/get/status | |
ISYLOG=elk_area_2_status | |
isyrestwget | |
ISYCMD=/area/3/get/status | |
ISYLOG=elk_area_3_status | |
isyrestwget | |
ISYCMD=/area/4/get/status | |
ISYLOG=elk_area_4_status | |
isyrestwget | |
# Zone Commands | |
ISYCMD=/zones/query | |
ISYLOG=elk_zones_query | |
isyrestwget | |
ISYCMD=/zone/0/query/voltage | |
ISYLOG=elk_zone_0_query_voltage | |
isyrestwget | |
ISYCMD=/zone/1/query/voltage | |
ISYLOG=elk_zone_1_voltage | |
isyrestwget | |
ISYCMD=/zone/16/query/voltage | |
ISYLOG=elk_zone_16_voltage | |
isyrestwget | |
# General Commands | |
ISYCMD=/query/all | |
ISYLOG=elk_query_all | |
isyrestwget | |
# depreciated | |
#ISYCMD=/get/config | |
#ISYLOG=elk_get_config | |
#isyrestwget | |
# depreciated | |
#ISYCMD=/get/connected | |
#ISYLOG=elk_get_connected | |
#isyrestwget | |
# depreciated | |
#ISYCMD=/get/enabled | |
#ISYLOG=elk_get_enabled | |
#isyrestwget | |
ISYCMD=/get/status | |
ISYLOG=elk_get_status | |
isyrestwget | |
# System Commands | |
ISYCMD=/system/get/status | |
ISYLOG=elk_system_get_status | |
isyrestwget | |
ISYCMD=/get/topology | |
ISYLOG=elk_get_topology | |
isyrestwget | |
ISYCMD=/refresh/topology | |
ISYLOG=elk_refresh_topology | |
isyrestwget | |
# Arm/Disarm Commands | |
ISYCMD="/area/1/cmd/arm?armType=2&code="$CODE | |
ISYLOG=elk_area_1_arm | |
isyrestwget | |
ISYCMD=/area/1/get/status | |
ISYLOG=elk_area_1_status_stay | |
isyrestwget | |
ISYCMD="/area/1/cmd/disarm?code="$CODE | |
ISYLOG=elk_area_1_disarm | |
isyrestwget | |
ISYCMD=/area/1/get/status | |
ISYLOG=elk_area_1_status_disarmed | |
isyrestwget | |
# Keypad Commands | |
ISYCMD=/keypad/1/get/status | |
ISYLOG=elk_keypad_1_status | |
isyrestwget | |
ISYCMD=/keypad/2/get/status | |
ISYLOG=elk_keypad_2_status | |
isyrestwget | |
# Output Commands | |
ISYCMD=/outputs/query | |
ISYLOG=elk_outputs_query | |
isyrestwget | |
# bug in 3.1.13 | |
ISYCMD=/output/3/get/status | |
ISYLOG=elk_output_3_status | |
isyrestwget | |
ISYCMD="/output/3/cmd/on?offTimerSeconds=2" | |
ISYLOG=elk_output_3_momentary | |
isyrestwget | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
read -p "Enter ISY IP address or hostname: " ISYIP | |
read -p "Enter ISY user ID: " USER | |
read -p "Enter ISY password: " PASS | |
# define variables | |
ISYRESTURL=http://$ISYIP/rest | |
# device/scene node IDs | |
LIVING=19496 | |
ALL=8730 | |
TSTAT="14%2066%20F4%201" | |
# program IDs | |
FLASH=0006 | |
# define function | |
isyrestwget () { | |
wget -O $ISYLOG.xml --user=$USER --password=$PASS ${ISYRESTURL}${ISYCMD} >> isy_interrogate.log 2>&1 | |
} | |
echo "Begin ISY REST interrogation" > isy_interrogate.log 2>&1 | |
# Batch Commands | |
ISYCMD=/batch | |
ISYLOG=isy_batch | |
isyrestwget | |
ISYCMD=/batteryPoweredWrites | |
ISYLOG=isy_batt_powered_writes | |
isyrestwget | |
# Configuration | |
ISYCMD=/config | |
ISYLOG=isy_config | |
isyrestwget | |
ISYCMD=/sys | |
ISYLOG=isy_sys | |
isyrestwget | |
ISYCMD=/time | |
ISYLOG=isy_time | |
isyrestwget | |
ISYCMD=/network | |
ISYLOG=isy_network | |
isyrestwget | |
ISYCMD=/subscriptions | |
ISYLOG=isy_subscriptions | |
isyrestwget | |
# Nodes | |
ISYCMD=/nodes | |
ISYLOG=isy_nodes | |
isyrestwget | |
ISYCMD=/nodes/devices | |
ISYLOG=isy_devices | |
isyrestwget | |
ISYCMD=/nodes/scenes | |
ISYLOG=isy_scenes | |
isyrestwget | |
ISYCMD=/nodes/$LIVING | |
ISYLOG=isy_node_living | |
isyrestwget | |
ISYCMD=/nodes/$TSTAT | |
ISYLOG=isy_node_tstat | |
isyrestwget | |
ISYCMD=/nodes/$TSTAT/CLIHUM | |
ISYLOG=isy_node_tstat_hum | |
isyrestwget | |
ISYCMD=/nodes/$LIVING?member=true | |
ISYLOG=isy_node_living_true | |
isyrestwget | |
ISYCMD=/nodes/$LIVING?member=false | |
ISYLOG=isy_node_living_false | |
isyrestwget | |
# Properties | |
ISYCMD=/nodes/$ALL/cmd/DON | |
ISYLOG=isy_all_on | |
isyrestwget | |
ISYCMD=/nodes/$LIVING/cmd/DOF | |
ISYLOG=isy_living_off | |
isyrestwget | |
ISYCMD=/nodes/$ALL/cmd/DOF | |
ISYLOG=isy_all_off | |
isyrestwget | |
ISYCMD=/nodes/$LIVING/cmd/DON | |
ISYLOG=isy_living_on | |
isyrestwget | |
ISYCMD=/nodes/$TSTAT/cmd/CLIMD/0 | |
ISYLOG=isy_tstat_off | |
isyrestwget | |
sleep 5 | |
ISYCMD=/nodes/$TSTAT/cmd/CLIMD/5 | |
ISYLOG=isy_tstat_prog_auto | |
isyrestwget | |
# Status | |
ISYCMD=/status | |
ISYLOG=isy_status | |
isyrestwget | |
ISYCMD=/status/$TSTAT | |
ISYLOG=isy_status_tstat | |
isyrestwget | |
# Query | |
# response timeout. UDI investigating | |
ISYCMD=/query | |
ISYLOG=isy_query | |
wget --tries=1 -T 30 -O $ISYLOG.xml --user=$USER --password=$PASS ${ISYRESTURL}${ISYCMD} >> isy_interrogate.log 2>&1 | |
ISYCMD=/query/$LIVING | |
ISYLOG=isy_query_living | |
isyrestwget | |
# Programs | |
ISYCMD=/programs/$FLASH/runThen | |
ISYLOG=isy_programs_flash_runthen | |
isyrestwget | |
sleep 5 | |
ISYCMD=/programs/$FLASH/stop | |
ISYLOG=isy_programs_flash_stop | |
isyrestwget | |
ISYCMD=/programs | |
ISYLOG=isy_programs | |
isyrestwget | |
ISYCMD="/programs?folderContents=false" | |
ISYLOG=isy_programs_foldercontents | |
isyrestwget | |
ISYCMD="/programs?subfolders=true" | |
ISYLOG=isy_programs_subfolders | |
isyrestwget | |
# Modules | |
ISYCMD=/electricity | |
ISYLOG=isy_electricity | |
isyrestwget | |
ISYCMD=/climate | |
ISYLOG=isy_climate | |
isyrestwget | |
ISYCMD=/networking/resources | |
ISYLOG=isy_networking_resources | |
isyrestwget | |
# UDI investigating | |
ISYCMD=/networking/wol | |
ISYLOG=isy_networking_wol | |
isyrestwget | |
# Logs | |
ISYCMD=/log | |
ISYLOG=isy_log | |
isyrestwget | |
ISYCMD="/log?reset=true" | |
ISYLOG=isy_log_reset | |
isyrestwget | |
ISYCMD=/log/error | |
ISYLOG=isy_log_error | |
isyrestwget | |
ISYCMD="/log/error?reset=true" | |
ISYLOG=isy_log_error_reset | |
isyrestwget | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment