Created
October 21, 2018 11:39
-
-
Save daringer/49580328ca062e39ea2a902517333ee0 to your computer and use it in GitHub Desktop.
This file contains hidden or 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 | |
URL="http://192.168.10.10:8123" | |
function set_config_param { | |
curl -X POST "${URL}/api/services/zwave/set_config_parameter" -H "Content-Type: application/json" --data "{ \"node_id\": ${1}, \"parameter\": ${2}, \"value\": ${3} }" | |
} | |
function set_wakeup { | |
curl -X POST "${URL}/api/services/zwave/set_wakeup" -H "Content-Type: application/json" --data "{\"node_id\": ${1}, \"value\": ${2}}" | |
} | |
function get_config { | |
curl -X POST "${URL}/api/services/zwave/print_config_parameter" -H "Content-Type: application/json" --data "{ \"node_id\": ${1}, \"parameter\": ${2} }" | |
} | |
function print_node { | |
curl -X POST "${URL}/api/services/zwave/print_node" -H "Content-Type: application/json" --data "{ \"node_id\": ${1} }" | |
} | |
arg_node=$1 | |
# accepted node ids (smoke sensors) | |
nodes="60 66 56 61 58 59 65 57 62" | |
echo "set firealarms" | |
for node in $nodes | |
do | |
[[ "$arg_node" != "" ]] && [[ "$node" != "$arg_node" ]] && continue | |
set_wakeup $node 26100 | |
sleep 1 | |
set_config_param $node 20 1 | |
sleep 1 | |
set_config_param $node 21 2 | |
sleep 1 | |
echo "done node id: $node" | |
done | |
#get_config $node 62 1200 | |
#sleep 1 | |
#get_config $node 64 1200 | |
#sleep 1 | |
# accepted node ids (motion sensors) | |
nodes="44 45 46 47 49 50" | |
echo "set motion sensors" | |
for node in $nodes | |
do | |
[[ "$arg_node" != "" ]] && [[ "$node" != "$arg_node" ]] && continue | |
set_wakeup $node 26100 | |
sleep 1 | |
set_config_param $node 40 250 # ( lumi threshold ) | |
sleep 1 | |
set_config_param $node 42 3600 # ( lumi report interval ) | |
sleep 1 | |
set_config_param $node 60 2 # ( temp threshold ) | |
sleep 1 | |
set_config_param $node 62 1200 # ( temp measure interval ) | |
sleep 1 | |
set_config_param $node 64 0 # ( temp report interval ) | |
sleep 1 | |
set_config_param $node 80 0 # ( visual LED indicator ) | |
sleep 1 | |
set_config_param $node 2 15 # ( blind after motion time 0-15secs ) | |
sleep 1 | |
set_config_param $node 1 8 # ( motion detect sensitivity 8-255, lower == more sensitive) | |
sleep 1 | |
set_config_param $node 3 0 # ( pulse counter, 0 - 3 (1 to 4 pulses needed) | |
sleep 1 | |
set_config_param $node 4 3 # ( window for the pulse(s) to occure, 0 - 3 (4 - 16 secs) | |
sleep 1 | |
set_config_param $node 8 2 # ( motion, op mode: 0=always, 1=day, 2=night | |
sleep 1 | |
set_config_param $node 18 0 # ( send all association groups as non-secure ) | |
sleep 1 | |
echo "done node id: $node" | |
done | |
# fire: 60 66 56 61 58 59 65 | |
# 20 temp report interval: 1 (min 10secs) | |
# 21 temp threshold: 2 (0.2°C) | |
# motion: 44 45 46 47 49 50 | |
# 42 = 2000 (luminance update) RIGHT???? | |
# 62 = 1200 (temp update) RIGHT???? | |
# 64 = 1200 (temp measure) RIGHT???? | |
# 2 = 15 (blind time) | |
# 1 = 8 (sensitivity) | |
# 3 = 0 (pulses needed) | |
# 4 = 3 (pulses window) | |
# 8 = 2 (when active, only nighttime) | |
######## wakeup parameter is at: 43200 -> half a day ;) | |
#### fibaro configuration parameters: | |
#### "1" := "10" (PIR sensitivity: 8 - 255, smaller->more sensitive, default="15") | |
#### "2" := "10" (blind time: 0 - 15, time [s] = 0.5 x (value + 1), default="15" (8secs), drains battery) | |
#### "3" := "1" (pulse counter, 0-3 (1-4 pulses needed for motion detection), default="1" (2 pulses)) | |
#### "4" := "3" (time window for pulses to occur, 0-3 (4-16secs), default="2" (12secs)) | |
#### "8" := "2" (when PIR shall be active, always (0), day(1) night(2), default="0" ) | |
#### "9" := "200" (lux to be used as day/night threshold, 1-32767lux, default="200") | |
#### "42" := "1200" (how often to report temperature, 0=no reports, 1-32767secs, default="3600") | |
#### "62" := "1200" (how often to measure luminance, 1-32676secs, 0=none, default="900") | |
#### "64" := "1200" (how often to report temperature, 0=no reports, 1-32767secs, default="0") | |
#42 -> illumination report interval -> 1 - 32767 (secs) | |
#62 -> temp measure interval -> 1 - 32767 (secs) | |
#64 -> temp report interval -> 1 - 32767 (secs) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment