mirror of
https://github.com/novatiq/packages.git
synced 2026-04-30 07:28:39 +01:00
domoticz: new package
Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
config domoticz
|
||||
option disabled '1'
|
||||
option loglevel '1'
|
||||
option syslog 'daemon'
|
||||
# option sslcert '/path/to/ssl.crt'
|
||||
# option sslkey '/path/to/ssl.key'
|
||||
# option sslpass 'passphrase'
|
||||
option sslwww '0'
|
||||
# CAUTION - by default, /var is not persistent accross reboots
|
||||
# Don't forget the trailing / - domoticz requires it
|
||||
option userdata '/var/lib/domoticz/'
|
||||
|
||||
#config device
|
||||
# option product '658/200/0'
|
||||
# option symlink 'ttyACM-aeotec-zstick-g5'
|
||||
|
||||
#config device
|
||||
# option serial '526359'
|
||||
# option symlink 'ttyUSB-serial'
|
||||
|
||||
#config device
|
||||
# option usbif '2-1:1.0'
|
||||
# option symlink 'ttyUSB-port1'
|
||||
|
||||
#config device
|
||||
# option product '67b/2303/202'
|
||||
# option usbif '2-2:1.0'
|
||||
# option symlink 'ttyUSB-port2'
|
||||
@@ -0,0 +1,44 @@
|
||||
#!/bin/sh
|
||||
|
||||
. /lib/functions.sh
|
||||
|
||||
[ "$SUBSYSTEM" = "tty" ] || exit 0
|
||||
|
||||
add() {
|
||||
local cfg="$1"
|
||||
local product serial symlink usbif
|
||||
|
||||
[ -c "/dev/$DEVICENAME" ] || return
|
||||
|
||||
config_get product "$cfg" product
|
||||
config_get serial "$cfg" serial
|
||||
config_get symlink "$cfg" symlink
|
||||
config_get usbif "$cfg" usbif
|
||||
|
||||
[ -z "$product" -a -z "$serial" -a -z "$usbif" ] && return
|
||||
|
||||
. "/sys/$DEVPATH/device/../uevent"
|
||||
SERIAL="$(cat /sys/$DEVPATH/device/../../serial)" 2>/dev/null
|
||||
USBIF="$(echo $DEVPATH | awk -F/ 'BEGIN {i=3}; /ACM/ {i=2}; END {print $(NF-i)}')"
|
||||
|
||||
[ -n "$product" -a "$product" != "$PRODUCT" ] && return
|
||||
[ -n "$serial" -a "$serial" != "$SERIAL" ] && return
|
||||
[ -n "$usbif" -a "$usbif" != "$USBIF" ] && return
|
||||
|
||||
chgrp domoticz "/dev/$DEVICENAME"
|
||||
chmod g+rw "/dev/$DEVICENAME"
|
||||
|
||||
[ -n "$symlink" ] && ln -s "/dev/$DEVICENAME" "/dev/$symlink"
|
||||
}
|
||||
|
||||
remove() {
|
||||
local cfg="$1"
|
||||
local symlink
|
||||
|
||||
config_get symlink "$cfg" symlink
|
||||
|
||||
[ "/dev/$DEVICENAME" = "$(readlink /dev/$symlink)" ] && rm "/dev/$symlink"
|
||||
}
|
||||
|
||||
config_load "domoticz"
|
||||
config_foreach "$ACTION" device
|
||||
@@ -0,0 +1,54 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
|
||||
START=99
|
||||
USE_PROCD=1
|
||||
PROG=/usr/bin/domoticz
|
||||
PIDFILE=/var/run/domoticz.pid
|
||||
|
||||
start_domoticz() {
|
||||
local section="$1"
|
||||
local loglevel sslcert sslpass sslwww syslog userdata
|
||||
|
||||
config_get loglevel "$section" "loglevel"
|
||||
config_get sslcert "$section" "sslcert"
|
||||
config_get sslkey "$section" "sslkey"
|
||||
config_get sslpass "$section" "sslpass"
|
||||
config_get sslwww "$section" "sslwww"
|
||||
config_get syslog "$section" "syslog"
|
||||
config_get userdata "$section" "userdata"
|
||||
|
||||
[ -n "$loglevel" ] && procd_append_param command -loglevel "$loglevel"
|
||||
[ -n "$syslog" ] && procd_append_param command -syslog "$syslog"
|
||||
[ -n "$userdata" ] && procd_append_param command -userdata "$userdata"
|
||||
[ -n "$sslcert" -a "${sslwww:-0}" -gt 0 ] && {
|
||||
procd_append_param command -sslcert "$sslcert"
|
||||
procd_append_param command -sslwww "$sslwww"
|
||||
[ -n "$sslkey" ] && procd_append_param command -sslkey "$sslkey"
|
||||
[ -n "$sslpass" ] && procd_append_param command -sslpass "$sslpass"
|
||||
} || procd_append_param command -sslwww 0
|
||||
}
|
||||
|
||||
start_service() {
|
||||
mkdir -p /var/lib/domoticz
|
||||
chmod 0770 /var/lib/domoticz
|
||||
chown domoticz:domoticz /var/lib/domoticz
|
||||
|
||||
procd_open_instance
|
||||
|
||||
procd_set_param command "$PROG"
|
||||
procd_append_param command -scripts /usr/share/domoticz/scripts/
|
||||
procd_append_param command -wwwroot /usr/share/domoticz/www/
|
||||
|
||||
config_load "domoticz"
|
||||
config_get_bool disabled "$section" "disabled" 0
|
||||
[ "$disabled" -gt 0 ] && return 1
|
||||
config_foreach start_domoticz domoticz
|
||||
|
||||
procd_set_param pidfile "$PIDFILE"
|
||||
procd_set_param respawn
|
||||
procd_set_param stdout 0
|
||||
procd_set_param term_timeout 10
|
||||
procd_set_param user "domoticz"
|
||||
|
||||
procd_close_instance
|
||||
}
|
||||
Reference in New Issue
Block a user