knxd.init (1897B)
1 #!/bin/sh /etc/rc.common 2 # Copyright (C) 2016 OpenWrt.org 3 4 START=98 5 STOP=20 6 PROG=/usr/bin/knxd 7 USE_PROCD=1 8 9 append_bool() { 10 local section="$1" 11 local option="$2" 12 local value="$3" 13 local _loctmp 14 local default="$4" 15 config_get_bool _loctmp "$section" "$option" 16 [ -z "$_loctmp" ] && _loctmp="$default" 17 [ "$_loctmp" -gt 0 ] && append params "--$value" 18 } 19 20 append_parm() { 21 local section="$1" 22 local option="$2" 23 local switch="$3" 24 local _loctmp 25 local default="$4" 26 config_get _loctmp "$section" "$option" 27 [ -z "$_loctmp" ] && _loctmp="$default" 28 [ -z "$_loctmp" ] && return 0 29 append params "--$switch=$_loctmp" 30 } 31 32 start_service() { 33 local options url 34 config_load knxd 35 append_parm args eibaddr "eibaddr" "0.0.1" 36 append_parm args client-addrs "client-addrs" "0.0.2:10" 37 append_parm args layer2 "layer2" 38 append_bool args GroupCache "GroupCache" 0 39 append_parm args daemon "daemon" "/var/log/knxd.log" 40 append_bool args Discovery "Discovery" 1 41 append_parm args error "error" # "5" 42 append_parm args listen_tcp "listen-tcp" "6720" 43 append_parm args Interface "Interface" # "eth0" 44 append_parm args send-delay "send-delay" # "50" 45 append_parm args Name "Name" "OpenWrt" 46 append_bool args no_monitor "no-monitor" 0 47 append_bool args Routing "Routing" 0 48 append_parm args trace "trace" # "7" 49 append_bool args tpuarts_ack_all_group "tpuarts-ack-all-group" 0 50 append_bool args tpuarts_ack_all_individual "tpuarts-ack-all-individual" 0 51 append_bool args tpuarts_disch_reset "tpuarts-disch-reset" 0 52 append_bool args Tunnelling "Tunnelling" 1 53 append_bool args Server "Server" 1 54 append_parm args listen_local "listen-local" "/var/run/knxd" 55 config_get url args url 56 procd_open_instance 57 procd_set_param command $PROG $params $url 58 procd_set_param respawn 59 procd_close_instance 60 } 61 62 stop_service() { 63 killall knxd 64 } 65 66 reload_service() 67 { 68 restart 69 } 70 71 service_triggers() 72 { 73 procd_add_reload_trigger knxd 74 }