Skip to content

Instantly share code, notes, and snippets.

@daringer
Created October 21, 2018 11:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save daringer/49580328ca062e39ea2a902517333ee0 to your computer and use it in GitHub Desktop.
Save daringer/49580328ca062e39ea2a902517333ee0 to your computer and use it in GitHub Desktop.
#!/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