forked from Lainports/freebsd-ports
zigbee2mqtt allows you to use your Zigbee devices without the vendor's bridge or gateway. It bridges events and allows you to control your Zigbee devices via MQTT. In this way you can integrate your Zigbee devices with whatever smart home infrastructure you are using.
62 lines
1.5 KiB
Bash
62 lines
1.5 KiB
Bash
#!/bin/sh
|
|
|
|
# PROVIDE: z2m
|
|
# REQUIRE: DAEMON
|
|
# KEYWORD: shutdown
|
|
|
|
# FreeBSD rc.d script for zigbee2mqtt
|
|
#
|
|
|
|
# The z2m service has the following rc.conf options:
|
|
#
|
|
# z2m_enable (bool): Set to YES to enable z2m
|
|
# Default: NO
|
|
# z2m_user (str): The user to run z2m as
|
|
# Default: z2m
|
|
# z2m_group (str): The group to run z2m as
|
|
# Default: z2m
|
|
# z2m_chdir (str): The directory where z2m is installed
|
|
# Default: %%PREFIX%%/z2m
|
|
# z2m_datadir (str): The directory where z2m's data is stored
|
|
# Default: /var/db/z2m
|
|
# z2m_restart (bool): Set to YES if z2m should be automatically
|
|
# restarted after it crashes.
|
|
# Default: NO
|
|
|
|
. /etc/rc.subr
|
|
|
|
name=z2m
|
|
desc="zigbee2mqtt service"
|
|
rcvar=z2m_enable
|
|
|
|
load_rc_config $name
|
|
|
|
: ${z2m_enable:=NO}
|
|
: ${z2m_group:=%%Z2M_GROUP%%}
|
|
: ${z2m_datadir:=%%Z2M_DATADIR%%}
|
|
: ${z2m_pidfile=/var/run/z2m/z2m.pid}
|
|
: ${z2m_restart=NO}
|
|
: ${z2m_user:=%%Z2M_USER%%}
|
|
: ${z2m_chdir=%%Z2M_HOME%%}
|
|
: ${z2m_env:="ZIGBEE2MQTT_DATA=${z2m_datadir}"}
|
|
|
|
# If z2m_restart is YES, then restart z2m when it crashes, otherwise
|
|
# daemon(8) will exit.
|
|
if checkyesno z2m_restart; then
|
|
_restartargs="-r"
|
|
else
|
|
_restartargs=""
|
|
fi
|
|
|
|
pidfile=${z2m_pidfile}
|
|
|
|
command=/usr/sbin/daemon
|
|
command_args="-f -H \
|
|
-P ${pidfile} -t ${name} -T ${name} \
|
|
${_restartargs} \
|
|
%%LOCALBASE%%/bin/node index.js"
|
|
required_files="${z2m_datadir}/configuration.yaml"
|
|
|
|
start_precmd="[ -d ${pidfile%/*} ] || install -d -o ${z2m_user} -g ${z2m_group} ${pidfile%/*}"
|
|
|
|
run_rc_command "$1"
|