OpenEPaperLink

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

galaxisspatz
Beiträge: 93
Registriert: 28. Jun 2020 19:42
Answers: 1

OpenEPaperLink

Beitrag von galaxisspatz »

Moin,
ich beschäfige mich gerade mit dem Projekt OpenEPaperLink (https://openepaperlink.de/). Das System selber läuft schon bei mir und jetzt geht es um das befüllen mit sinvollen Informationen. Es gibt eine Integration in Home Assistant (https://github.com/jonasniesner/open_ep ... eassistant), hat jemadn schon etwas gefunden womit die Displays von OpenHab befüllt werden können?
Wenn jemadn eine Idee oder ähnliches hat wäre ich dankbar.

Gruß
Olaf
OH 4 auf dem Raspberry 3b

jonas
Beiträge: 2
Registriert: 3. Jan 2022 13:45
Answers: 0

Re: OpenEPaperLink

Beitrag von jonas »

Wenn jemand Hilfe bei der Kommunikation mit dem AP braucht kann ich gerne helfen. Wenn nur fertige Bilder auf einer bekannten mac Adresse angezeigt werden sollen ist es zum Beispiel nur ein simpler http call

Gruß
Jonas

galaxisspatz
Beiträge: 93
Registriert: 28. Jun 2020 19:42
Answers: 1

Re: OpenEPaperLink

Beitrag von galaxisspatz »

Moin Jonas,
kannst du mir ein Beispiel geben wie ich aus Openhab herraus den diesen http call bewerkstellige?

Gruß
Olaf
OH 4 auf dem Raspberry 3b

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

Re: OpenEPaperLink

Beitrag von udo1toni »

Dafür gibt es das http Binding.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

galaxisspatz
Beiträge: 93
Registriert: 28. Jun 2020 19:42
Answers: 1

Re: OpenEPaperLink

Beitrag von galaxisspatz »

Moin,
also ich habe es jetzt ein file epaper.json unter html in openHAB-conf angelegt welches auch von AP regelmäßig gelesen (Json templete) wird.
[
{ "text": [5, 5, "nächster Müll", "fonts/bahnschrift20", 1] },
{ "box": [10, 30, 3, 20, 2] },
{ "box": [25, 30, 3, 20, 2] },
{ "box": [15, 35, 2, 12, 2] },
{ "box": [18, 35, 2, 12, 2] },
{ "box": [21, 35, 2, 12, 2] },
{ "box": [7, 30, 24, 3, 2] },
{ "box": [10, 50, 18, 3, 2] },
{ "text": [34, 50, "{naechstedatum}", "fonts/bahnschrift20", 1] },
{ "text": [34, 30, "{naechstermuell}", "fonts/bahnschrift20", 1] },
{ "text": [5, 78, "folgender Müll", "fonts/bahnschrift20", 1] },
{ "box": [10, 103, 3, 20, 1] },
{ "box": [25, 103, 3, 20, 1] },
{ "box": [15, 108, 2, 12, 1] },
{ "box": [18, 108, 2, 12, 1] },
{ "box": [21, 108, 2, 12, 1] },
{ "box": [7, 103, 24, 3, 1] },
{ "box": [10, 123, 18, 3, 1] },
{ "text": [34, 123, "{folgedatum}", "fonts/bahnschrift20", 1] },
{ "text": [34, 103, "{folgemuell}", "fonts/bahnschrift20", 1] },
{ "line": [1, 1, 152, 1, 2]},
{ "line": [1, 1, 1, 152, 2]},
{ "line": [152, 1, 152, 152, 2]},
{ "line": [1, 152, 152, 1, 2]}
]
kann mit jemand erklären wie ich die Platzhalter {naechstedatum}, {naechstermuell}, {folgedatum} und {folgemuell} mit einer Rule anspreche damit diese entsprechend geupdatet werden?

Gruß
Olaf
OH 4 auf dem Raspberry 3b

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

Re: OpenEPaperLink

Beitrag von udo1toni »

Das wird so nicht gehen. Du musst die Datei dann jeweils neu erzeugen. vermutlich wäre es das Einfachste, die Datei auf einem Webserver mit php on-the-fly zu erzeugen.
Nein, meines Wissens kann Jetty nicht mit php umgehen-
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Harka
Beiträge: 310
Registriert: 30. Apr 2021 13:13
Answers: 15

Re: OpenEPaperLink

Beitrag von Harka »

nur so ne Idee. Nicht so professionell aber relativ einfach zu handhaben sollte das nicht auch mit String-Verkettungen gehen? In Javascript könnte das das dann so aus sehen. (hier auf 2 Zeilen gekürzt)

Code: Alles auswählen

var Datum = 'Abholtag';
var Ausgabe = ['[ { "text": [5, 5, "nächster Müll", "fonts/bahnschrift20", 1] }, { "text": [34, 50, "',Datum,'", "fonts/bahnschrift20", 1] }]'].join('');
console.warn(Ausgabe);
//andere Version
var Ausgabe2 = '[ { "text": [5, 5, "nächster Müll", "fonts/bahnschrift20", 1] }, { "text": [34, 50, "';
Ausgabe2 += String(Datum);
Ausgabe2 += '", "fonts/bahnschrift20", 1] }]';
console.warn(Ausgabe2);
ergibt

Code: Alles auswählen

[
 { "text": [5, 5, "nächster Müll", "fonts/bahnschrift20", 1] }, 
 { "text": [34, 50, "Abholtag", "fonts/bahnschrift20", 1] }
]

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

Re: OpenEPaperLink

Beitrag von udo1toni »

Ja, das Zusammenstückeln des Textes ist jetzt nicht so kompliziert, das Ergebnis muss aber dann erst noch im html-Ordner gespeichert werden.

Ich habe nur sehr oberflächlich reingelesen, nach meinem Verständnis baut der AccessPoint aus dem angelieferten Input Bilder, die dann abhängig von der Adresse dem Gerät zugestellt werden.
Ich mutmaße, dass die ePaper "halt so funktionieren".
Die Frage ist, ob es einen Weg gibt, das Template und die enthaltenen Daten getrennt an den AP zu schicken. Das Template würde sich dann einfach nicht ändern und der AP würde die Platzhalter durch die separat empfangenen Daten ersetzen.
Aber wie gesagt, ich habe nur ganz oberflächlich quergelesen und auf Anhieb nichts dazu gefunden, vielleicht können @galaxisspatz oder @jonas was dazu sagen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

galaxisspatz
Beiträge: 93
Registriert: 28. Jun 2020 19:42
Answers: 1

Re: OpenEPaperLink

Beitrag von galaxisspatz »

Hallo Udo
Genau das war meine Idee. Entweder die Platzhalter regelmäßig updaten oder zur Not die ganze Datei neu schreiben. Ich finde aber nichts um die Datei zu schreiben aus openHAB heraus.

Gruß Olaf
OH 4 auf dem Raspberry 3b

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

Re: OpenEPaperLink

Beitrag von udo1toni »

Der Punkt ist, eigentlich handelt es sich um ein Template, das heißt, eigentlich sollte der AP sich darum kümmern, die Platzhalter mit konkreten Werten zu füllen.
Die Datei zu schreiben ist tatsächlich erst mal nicht vorgesehen, aber durchaus möglich, es ist nur... umständlich.

Aus einer DSL Rule heraus kann man externe Scripte ausführen lassen, das wäre vermutlich eine etwas elegantere Möglichkeit, wenn der AP die Werte nicht einsetzen kann.
Du baust in openHAB (meinetwegen über die DSL) ein JSON zusammen (oder einen anderen String, in dem die Daten in einem vernünftigen Format übergeben werden können) und sendest den String als Parameter an ein Bash Script.
Diese nimmt dann das Template, kopiert es in ein temporäres Verzeichnis, ersetzt dort z.B. mittels sed die Platzhalter durch die konkreten Werte aus dem übergebenen String und verschiebt anschließend die fertige Datei unter einem neuen Namen ins html-Verzeichnis, von wo sie dann über jetty für den AP bereitgestellt wird, der wiederum die Datei einliest, ein passendes Bild rendert und an das ePaper Display sendet.

Schade, ich habe momentan keine Verwendung bei mir, obwohl... eine besetzt Anzeige der Bäder... oder ein Stimmungs-Schild an den Zimmern der Teenies... hmm... :lol:
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten