freebsd-ports/comms/zigbee2mqtt/files/z2m.in
Juraj Lutter 6ef0c15871 comms/zigbee2mqtt: Add new port
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.
2024-11-26 14:55:19 +01:00

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"