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