You can use something like the following /etc/hotplug/attach code 
snippet to configure fhem for your devices as they are plugged in 
via hotplugd(8):
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DEVNUM=$(print "${DEVNAME}" | tr -dc "[:digit:]")
devpath="/dev/ttyU${DEVNUM}"
# get ATDEVLBLFN via usbdevs(8)
case "X${ATDEVLBLFN}" in
X"elvfhz1000pc0xf06felvag0x0403rev200iserialnumberelv6t2c0")
	print "elv fhz 1000 pc - at home"
	_cmds="delete fsctl"
	_cmds="${_cmds};define fsctl FHZ ${devpath}"
	_cmds="${_cmds};attr fsctl model fhz1000pc"
	_cmds="${_cmds};delete psock1"
	_cmds="${_cmds};define psock1 FS20 11234124 1112"
	_cmds="${_cmds};attr psock1 model fs20st"
	;;
X"elvem1010pc0xe0efelvag0x0403rev200")
	print "elv em 1010 pc - at home"
	_cmds="${_cmds}delete emctl"
	_cmds="${_cmds};define emctl EM ${devpath}"
	_cmds="${_cmds};attr emctl model em1010pc"
	_cmds="${_cmds};delete psens1"
	_cmds="${_cmds};define psens1 EMEM 5"
	_cmds="${_cmds};attr psens1 model em1000em"
	;;
esac
if ! /etc/rc.d/fhem start; then
	print FAIL: fhem rc start
	return 10
fi
i=0
while :; do
	i=$((i+1))
	if [[ i -ge 30 ]]; then
		print FAIL: fhem list
		return 20
	fi
	if defs=$(/usr/local/bin/fhem.pl 7072 list); then
		break
	fi
	/bin/sleep 1
done
if ! defs=$(print "${defs}" | /usr/bin/grep -A1 "^[A-Z0-9]*:$" | \
    /usr/bin/grep -v -e "^[A-Z0-9]*:$" | /usr/bin/tr -s " " | \
    /usr/bin/cut -d " " -f2); then
	print FAIL get defs from list
	return 30
fi
for def in ${defs}; do
	if /usr/local/bin/fhem.pl 7072 "list ${def}" | \
	    /usr/bin/grep "${devpath}" > /dev/null; then
		_cmdsprep="${_cmdsprep}delete ${def};"
	fi
done
_cmds="${_cmdsprep}${_cmds}"
i=0
while :; do
	i=$((i+1))
	if [[ i -ge 30 ]]; then
		print FAIL: send cmds to fhem
		return 40
	fi
	if /usr/local/bin/fhem.pl 7072 "${_cmds}"; then
		break
	fi
	/bin/sleep 1
done
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
