1
0
2025-07-12 12:16:28 +02:00
2025-07-07 16:25:22 +02:00
2025-07-15 16:29:51 +02:00
2025-07-07 16:25:22 +02:00
2025-07-07 20:48:12 +02:00
2025-07-15 16:29:51 +02:00
2025-07-07 15:57:44 +02:00
2025-07-07 16:27:19 +02:00
2025-07-07 16:25:22 +02:00

PlusLifeWeb

Dieses kleine PHP-Projekt bietet die Möglichkeit, Tests, die mit einem Pluslife-Gerät und dem Pluslife Analyzer durchgeführt wurden, zu speichern und später nochmals anzuschauen.

Außerdem können Benachrichtigungen via Webhook an Home Assistant geschickt werden, um diese weiter zu verarbeiten.

Hierfür wurden folgende Komponenten benutzt:

Wichtig: Es wird dringend davon abgeraten, PlusLifeWeb öffentlich zugänglich zu machen, da keinerlei Authentifizierung implementiert ist! Jede Person, die PlusLifeWeb aufrufen kann, kann die Testergebnisse anschauen und auch neue per Webhook hinzufügen!

Installation

PlusLifeWeb wurde unter Devuan 12 "Bookworm" entwickelt und getestet. Daher sollte es auch unter Debian 12 funktionieren.

Grundsätzlich wird ein Webserver, z.B. Apache, benötigt. Die Verbindung zum Webserver muß per HTTPS möglich sein, damit der Webhook von virus.sucks funktioniert.

Folgende PHP-Pakete werden benötigt:

  • php-pgsql
  • php-twig
  • php-json
  • php-curl

Zur Installation genügt es, die Dateien in einem Webserver-Verzeichnis abzulegen, in dem PHP funktioniert.

Datenbank

In PostgreSQL wird eine Datenbanktabelle für die Tests benötigt.

Die Datenbank wird als Benutzer postgres angelegt (Als root: su - postgres).

# createdb plweb

Anschließend, weiterhin als Benutzer postgres, das Kommando psql aufrufen:

# psql plweb

Mit folgenden SQL-Kommandos wird dann die Tabelle sowie ein Benutzer angelegt:

CREATE TABLE tests (
id SERIAL PRIMARY KEY,
timestamp TIMESTAMP NOT NULL,
data JSONB
);

CREATE USER plweb WITH ENCRYPTED PASSWORD 'plweb';

GRANT ALL PRIVILEGES ON DATABASE PLWEB TO plweb;
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA PUBLIC TO plweb;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA PUBLIC TO plweb;

Das Paßwort ist hier nur plweb - es sollte besser ein anderes benutzt werden.

Konfiguration

In der Datei config.php können folgende Parameter eingestellt werden:

$hawebhook = "http://homeassistant:8123/api/webhook/plweb";
$dbconnstring = "host=localhost dbname=plweb user=plweb password=plweb";
$test_url = "https://example.com/plweb/test.php?";

Die Variable hawebhook enthält die URL des Home Assistant-Webhooks, so wie dieser von PlusLifeWeb aus (serverseitig) aufgerufen wird.

Die Datenbankkonfiguration ist in dbconnstring enthalten. Hier ggf. das Paßwort anpassen.

Die test_url zeigt zum Script test.php der PlusLifeWeb-Installation. Diese URL wird, zusammen mit der ID des fertigen Tests, als Benachrichtigung an Home Assistant übertragen.

Description
PlusLifeWeb
Readme GPL-3.0 3.6 MiB
Languages
JavaScript 44.3%
PHP 32.4%
Twig 20.9%
CSS 2.4%