Node.js new
Einige Software Pakete, die zusätzlich installiert werden um z.B. das Zigbee2Mqtt Gateway oder das MobileAlerts Gateway zu unterstützen, benötigen node.js. Deshalb wird für diejenigen, die es benötigen, im folgenden die Installation von Node.js und Node Packet Manager (npm) beschrieben.
Node.js Installation
Vor der Installation von Node.js und nvm sollte das Betriebssystem auf den aktuellen Stand gebracht werden. Dazu sollten die System Repositories auf den aktuellen Stand gebracht werden:
sudo apt update
Anschließend sollten die Pakete auf die aktuellste Version gebracht werden:
sudo apt upgrade
Anschließend können mit dem folgenden Kommando node.js und npm installiert werden:
sudo apt install nodejs npm -y
Anschließend kann die Installation mit den folgenden Kommandos überprüft werden, die die Versionen von node.js und npm ausgeben:
node -v
und
npm -v
Zigbee2MQTT Gateway installieren
… Dieser Abschnitt muss noch vervollständigt werden …
# Install pnpm
wget -qO- https://get.pnpm.io/install.sh | sh -
# Create a directory for zigbee2mqtt and set your user as owner of it
sudo mkdir /opt/zigbee2mqtt
sudo chown -R ${USER}: /opt/zigbee2mqtt
# Clone Zigbee2MQTT repository
git clone --depth 1 https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
# Install dependencies (as user "smarthome")
cd /opt/zigbee2mqtt
pnpm install --frozen-lockfile
MobileAlerts Proxy installieren
…
# Create a directory for mobile alerts proxy and set your user as owner of it
sudo mkdir /opt/ma
sudo chown -R ${USER}: /opt/ma
# Clone mobile alerts proxy repository
git clone https://github.com/sarnau/MMMMobileAlerts.git /opt/ma
MobileAlerts Proxy konfigurieren
Im Verzeichnis /opt/ms/maserver eine Datei mit dem Namen config.js anlegen und folgenden Inhalt einfügen
{
"localIPv4Address": "10.0.0.142",
"mqtt": "mqtt://<IP-Adresse des Brokers>",
"mqtt_home": "MobileAlerts/",
"mqtt_username": "<Username für den Broker>",
"mqtt_password": "<Password für den Broker>",
"publish_type": "default",
"sonoffPublish_prefix": null,
"logfile": "./MobileAlerts.log",
"logGatewayInfo": true,
"proxyServerPort": 8080,
"mobileAlertsCloudForward": true,
"serverPost": null,
"serverPostUser": null,
"serverPostPassword": null,
"locale": "en-US"
}
<Username für den Broker>
Nun noch die Angaben für mqtt
, mqtt_username
und mqtt_password
auf die eigene Umgebung anpassen. Wenn
der Broker auf dem selben System läuft, kann als IP Adresse in mqtt
der Wert 127.0.0.1
angegeben werden.
Weitere Informationen zur Konfiguration finden sich hier: https://github.com/sarnau/MMMMobileAlerts/blob/master/maserver/README.md
Nun mit dem Kommando
cd /opt/ma/maserver
npm install
die Abhängigkeiten installieren. Nun kann zum Test mit dem Befehl /usr/bin/node mobilealerts.js
der Proxy gestartet
werden. (mit Ctrl-C wieder beenden)
MobileAlerts Proxy als Dienst einrichten
Um den MobileAlerts Proxy als Dienst einzurichten muss die Konfiguration folgendermaßen eingerichtet werden:
Den Texteditor starten mit
sudo nano /etc/systemd/system/maserver.service
und den folgenden Text hinein kopieren:
[Unit]
Description=Mobile Alerts Proxy Server
Documentation=https://github.com/sarnau/MMMMobileAlerts/tree/master/maserver
After=network-online.target
StartLimitInterval=200
StartLimitBurst=5
[Service]
Type=simple
Restart=always
RestartSec=30
User=smarthome
WorkingDirectory=/opt/ma/maserver
ExecStart=/usr/bin/node /opt/ma/maserver/mobilealerts.js
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=maserver
[Install]
WantedBy=multi-user.target
Nun muss systemd neu geladen werden, damit der neue Service erkannt wird:
sudo systemctl daemon-reload
Mit
sudo systemctl start maserver.service
kann der Dienst nun gestartet werden. Damit der Service beim Neustart des Servers gestartet wird, muss noch
sudo systemctl enable maserver.service
eingegeben werden.