Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
hast du versucht, das über die REST-API in ein Text item zu schreiben?
Ich vermute mal, du meinst ein String-Item. Nein, habe ich nicht, da ich das Problem inzwischen lösen konnte: Ich führe das Skript einfach als CGI aus und habe in der Sitemap dann einen "iframe" deklariert. Funzt einwandfrei!
Hintergrund: Das Skript gibt mir die letzten tausend Zeilen des openHAB-Event-Logs in umgedrehter Reihenfolge aus (neueste Zeilen zuerst). Somit kann ich schnell mal über das Frontend nachschauen, was so die letzten Stunden HAB-mäßig so alles passiert ist.
Bei mir geht das, da ich noch einen Apache auf dem selben Server laufen habe, auf dem auch openHAB läuft. Dieser Apache ist quasi meine "CGI-Runtime".
Der Jetty, den openHAB verwendet, soll auch CGI's können. Leider weiss ich (noch) nicht wie das geht.
leider hab ich es auf die Schnelle nicht hinbekommen, den OpenHAB-Jetty zur Ausführung von CGI's zu ertüchtigen. Ihr benötigt also auf eurem System einen Webserver der CGI's ausführen kann. In das entsprechende CGI-Verzeichnis legt ihr folgende Datei:
openhab_events.pl
Code:
#!/usr/bin/perl -w
#
my $logfile = "/opt/openhab/logs/events.log";
my $nr_lines = 1000;
open(FILE, "<$logfile");
my @lines = reverse <FILE>;
close(FILE);
print "Content-type: text/plain\n\n";
for ($i = 0; $i < $nr_lines; $i++) {
print $lines[$i];
}
Dann noch die Sitemap entsprechen konfigurieren:
Code:
Text label="openHAB Eventlog" icon="office" {
Webview url="http://your.webserver.de/cgi-bin/openhab_events.pl" height=20
}
Screenshots, wie das Ganze aussieht, im Anhang (Sonstiges -> openHAB Eventlog).
Super Sache!!! Hat direkt geklappt.
Hab auf deinem Screenshot gesehen, dass du auch Wetter anzeigst, da hab ich bis jetzt keine Lösung gefunden, die ich so richtig gut finde. Würdest du uns diese auch zeigen?
- Im Opera bekomme foolgenden Fehler wenn ich anstatt des Namens des Webservers die IP angebe: "Die Website erlaubt es nicht, dass deren Inhalt in einem Frame angezeigt wird. Sie muss in einem separaten Fenster angezeigt werden." Mit "Dokument in neuem Fenster öffnen" ist es dann aber wieder korrekt
Im Log bin ich dabei auf folgenden Fehler gestoßen, weiss aber nicht ob es einen Zusammenhabg gibt:
Code:
2013-12-04 14:33:09.213 WARN o.e.j.servlet.ServletHandler[:553]- /openhab.app
org.eclipse.emf.common.util.BasicEList$BasicIndexOutOfBoundsException: index=7, size=7
at org.eclipse.emf.common.util.BasicEList.get(BasicEList.java:346)
at org.openhab.ui.internal.items.ItemUIRegistryImpl.getWidget(ItemUIRegistryImpl.java:431)
at org.openhab.ui.webapp.internal.servlet.WebAppServlet.service(WebAppServlet.java:149)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:60)
Mir gehen da leider recht schnell die Ideen aus...
hast du alle Tests von derselben Maschine aus ausgeführt?
Irgendwie hört sich das so an, als wäre deine Webserverkonfiguration nicht korrekt und du überdies auch noch von unterschiedlichen Systemen bzw. aus verschiedenen Netzwerksegmenten testest.
Zur Fehlereingrenzung teste erst einmal nur von der Maschine wo der direkte Aufruf des CGI's im Browser funktioniert.
Das hatte ich auch schon gedacht, aber es war alles vom gleichen Rechner aus.
Eben noch mal probiert: Opera tut es so wie er soll, Safari und Firefox zeigen nur einen leeren Webview. Der direkte Link zum cgi funktioniert aber aus allen drei Browsern heraus...
Der Webserver (Apache) läuft auf dem gleichen Rechner wie openHAB. Er liefert auch noch ein Bild aus was ich in der Oberfläche anzeige, dass wiederum funktioniert in allen Browsern...
Das Classic UI nutze ich auch! Safari ist ja auch ein Webkit Browser, da hätte ich eher erwartet dass es im Opera nicht hinhaut. Merkwürdig ist ja auch, dass es mit der Heise Seite im Webview hinhaut.
Der Safari auf dem iPad tut es übrigens auch nicht.
Ich hab jetzt noch einen Update auf den aktuellen Snapshot Build durchgeführt und es auch mit Chrome getestet, bringt aber leider keine Änderung.
Auch mit Chrome wird nur ein leerer Webview angezeigt, beim direkten Aufruf des CGIs kommt aber das korrekte Ergebnis
Ich glaube ja gerne, dass das an meiner Apache Konfiguration liegt (auch wenn ich dann nicht verstehe warum es in Opera funktioniert), bin aber für jede Idee was es sein könnte dankbar!
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar