Skip to content
This repository has been archived by the owner on Oct 30, 2019. It is now read-only.

Adds hassbian manager script #233

Merged
merged 7 commits into from
Feb 5, 2019
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ below for usage and instructions.
- [Homebridge](/docs/homebridge.md)
- [HUE](/docs/hue.md)
- [LibCEC](/docs/libcec.md)
- [Manager](/docs/manager.md)
- [MariaDB](/docs/mariadb.md)
- [Monitor](/docs/monitor.md)
- [Mosquitto](/docs/mosquitto.md)
Expand Down
40 changes: 40 additions & 0 deletions docs/manager.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Hassbian manager

Hassbian manager is a web UI tool that can help you manage your suites.

When installed the WEB UI are running on port `9999`

## Installation

```bash
sudo hassbian-config install manager
```

## Upgrade

```bash
sudo hassbian-config upgrade manager
```

## Remove to beta channel

```bash
sudo hassbian-config remoev manager
```

## Additional info

Description | Command/value
:--- | :---
Running as: | homeassistant
Start service: | `sudo systemctl start hassbian-manager@homeassistant.service`
Stop service: | `sudo systemctl stop hassbian-manager@homeassistant.service`
Restart service: | `sudo systemctl restart hassbian-manager@homeassistant.service`
Service status: | `sudo systemctl status hassbian-manager@homeassistant.service`

***

The script was originally contributed by [@Ludeeus][ludeeus].

<!--- Links --->
[ludeeus]: https://github.com/ludeeus
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#
# Service file for systems with systemd to run Hassbian manager as the homeassistant user.
#

[Unit]
Description=Hassbian manager for %i
After=network.target

[Service]
Type=simple
User=%i
ExecStart=/usr/local/bin/pyhassbian
SendSIGKILL=no

[Install]
WantedBy=multi-user.target
83 changes: 83 additions & 0 deletions package/opt/hassbian/suites/manager.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
#!/bin/bash
function manager-show-short-info {
echo "Hassbian manager script."
}

function manager-show-long-info {
echo "Hassbian manager is a web UI tool that can help you manage your suites."
}

function manager-show-copyright-info {
echo "Original concept by Ludeeus <https://github.com/ludeeus>."
}

function manager-install-package {

echo "Installing latest version of Hassbian manager"
python3 -m pip install setuptools wheel
python3 -m pip install pyhassbian


echo "Enabling Hassbian manager service"
cp /opt/hassbian/suites/files/hassbian-manager@homeassistant.service /etc/systemd/system/hassbian-manager@homeassistant.service
systemctl enable hassbian-manager@homeassistant.service
sync

echo "Starting Hassbian manager"
systemctl start hassbian-manager@homeassistant.service

ip_address=$(ifconfig | grep "inet.*broadcast" | grep -v 0.0.0.0 | awk '{print $2}')

echo "Checking the installation..."
validation=$(pgrep -x pyhassbian)
if [ ! -z "${validation}" ]; then
echo
echo -e "\\e[32mInstallation done..\\e[0m"
echo "Hassbian manager installation is running at $ip_address:9999 or if preferred http://hassbian.local:9999"
echo
echo
else
echo
echo -e "\\e[31mInstallation failed..."
echo
return 1
fi
return 0
}

function manager-upgrade-package {
echo "Upgrading Hassbian manager"
python3 -m pip install --upgrade pyhassbian

echo "Restarting Hassbian manager"
systemctl start hassbian-manager@homeassistant.service

echo "Checking the installation..."
validation=$(pgrep -x pyhassbian)
if [ ! -z "${validation}" ]; then
echo
echo -e "\\e[32mUpgrade script completed..\\e[0m"
echo
else
echo
echo -e "\\e[31mUpgrade failed..."
echo
return 1
fi
return 0
}

function manager-remove-package {
printf "Removing Hassbian manager...\\n"
systemctl stop hassbian-manager@homeassistant.service
systemctl disable hassbian-manager@homeassistant.service
rm /etc/systemd/system/hassbian-manager@homeassistant.service
sync

echo "Removing Hassbian manager"
python3 -m pip uninstall pyhassbian

printf "\\e[32mRemoval done..\\e[0m\\n"
}

[[ "$_" == "$0" ]] && echo "hassbian-config helper script; do not run directly, use hassbian-config instead"