openwrt-packages/utils/domoticz/files/domoticz.hotplug

45 lines
1.0 KiB
Bash

#!/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 -sf "/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