Notifications in Liste anzeigen

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
sonic
Beiträge: 74
Registriert: 19. Jan 2020 10:39
Answers: 0

Notifications in Liste anzeigen

Beitrag von sonic »

Hallo zusammen,

ich habe schon Google bemüht aber werde nicht wirklich fündig.
Ich habe in meinen Rules eine ganze Menge

Code: Alles auswählen

sendBroadcastNotification("Aktion")
Da auch die Brandmeldeanlage, Alarmanlage etc. Meldungen raushaut würde ich diese gerne in einer Liste anzeigen lassen.
Ist das möglich?

beste Grüße
Bernhard
---------------------------------
OpenHAB 3 auf Dell ThinClient unter Debian Bullseye und ConBee II
RaspberryPi 4b 2GB in Din Rail Gehäuse mit PiVCCU3
Allerlei Sonoff, Shelly, NodeMCU, Sensoren, Aqara Krams und und und.

sonic
Beiträge: 74
Registriert: 19. Jan 2020 10:39
Answers: 0

Re: Notifications in Liste anzeigen

Beitrag von sonic »

Ich habe eine Lösung gefunden :-)

Bin mal gespannt auf Eure Meinungen dazu oder ob ich mich da um die Ecke Programmiert habe :lol:

Um die einzelnen Notifications zu speichern, nutze ich eine MySQL Datenbank auf einem anderen Raspberry als OpenHAB. Die Datenbank dient aktull als Datenspeicher für allerlei Temperaturen etc.
Zum speichern der Notifications habe ich ein String Item angelegt:

xxx.items

Code: Alles auswählen

String M_Persist_Notify
Dieses Item fülle ich immer dann, wenn eine Notification rausgeworfen wird.

xxx.rules

Code: Alles auswählen

...
sendBroadcastNotification("Erinnerung - Kinderzimmerfenster seit 15 Minuten offen")
M_Persist_Notify.postUpdate("Erinnerung - Kinderzimmerfenster seit 15 Minuten offen")
...
Beim Update des Item speicher ich den String einfach weg in die MySQL Datenbank
mysql.persist

Code: Alles auswählen

M_Persist_Notify : strategy = everyUpdate
Hierbei ist es wichtig, in der jdbc.cfg folgenden Eintrag zu machen

Code: Alles auswählen

sqltype.STRING        =   VARCHAR(4096)
Ansonsten wird der Table in der MySQL Datenbank nicht angelegt. Warum auch immer, ich habe es mit sqltype.STRING = TEXT versucht. Klappt aber nicht.

Damit wird, wie für die MySQL Persistenz üblich "Time" und "Value" angelegt und die Daten weg gespeichert.
Bildschirmfoto 2021-02-16 um 20.01.38.png
Klappt super.

Jetzt habe ich unter /html eine Datei "notify.html angelegt mit folgendem Inhalt:

Code: Alles auswählen

<!DOCTYPE html>
<html>
<head>
<meta http-equiv=”Content-type” CONTENT=”text/html; charset=utf-8″>
</head>
<body>
   <iframe src="http://192.168.2.5/notify.php" width="100%"></iframe>
</body>
Auf dem Server wo die SQL Datenbank liegt (192.168.2.5 in meinem Fall) frage ich die gespeicherten Infos einfach via PHP ab.
notify.php

Code: Alles auswählen

<?php
$servername = "localhost";
$username = "openhab";
$password = "xxx!";
$dbname = "OpenHAB";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT * FROM Item15";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  while($row = $result->fetch_assoc()) {
    echo "Time: " . $row["Time"]. " - Message: " . $row["Value"];
  }
} else {
  echo "0 results";
}
$conn->close();
?>
In dem Beispiel zum Test werden die Daten einfach in einer while Schleife hintereinander "gerotzt". Das ganze muss natürlich noch in einer Tabelle grafisch etwas aufbereitet werden.

in meiner Sitemap füge ich unten einfach die notify.html ein:
xxx.sitemap

Code: Alles auswählen

Webview url="/static/notify.html" height=50 icon=none
Das ganze sieht dann so aus:
WIE GESAGT, AKTUELL NOCH NICHT GRAFISCH AUFBEREITET, NUR ZUM TEST
Bildschirmfoto 2021-02-16 um 20.07.15.png
Ich bin gespannt auf Eure Meinung zu meinem Workaround :-)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
---------------------------------
OpenHAB 3 auf Dell ThinClient unter Debian Bullseye und ConBee II
RaspberryPi 4b 2GB in Din Rail Gehäuse mit PiVCCU3
Allerlei Sonoff, Shelly, NodeMCU, Sensoren, Aqara Krams und und und.

Benutzeravatar
PeterA
Beiträge: 1106
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: Notifications in Liste anzeigen

Beitrag von PeterA »

Nice. So sind die Notifications auch in der Ui zu sehen.
Ich schau halt immer direkt auf myopenhab.org
Bild
- OpenHab 2.4
#PWRUP

Benutzeravatar
udo1toni
Beiträge: 15269
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Notifications in Liste anzeigen

Beitrag von udo1toni »

Ich nutze dazu Grafana (natürlich nur, weil Grafana eh da ist). Man kann in Grafana auch direkt auf MySQL oder MariaDB zugreifen und z.B. die neuesten 10 Datensätze tabellarisch darstellen. Die Seite wiederum kann man per webview darstellen, also ähnlich wie Deine Lösung.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Antworten