Autor Thema: Kindle als Fhem-Display  (Gelesen 86924 mal)

Offline subseven

  • New Member
  • *
  • Beiträge: 5
Antw:Kindle als Fhem-Display
« Antwort #465 am: 17 Oktober 2017, 12:02:48 »
Wie viele Andere habe ich das Kindle (bzw. zwei davo K4/PW2) Als FHEM-Display.
Andieser Stelle aller besten Dank!

Bei meinem Layourt lasse ich mir unter anderen die fünf nächsten anstehenden Termine ausgeben. Jetzt ist mit aufgefallen, dass das Postcommand beim "convert" in einen Fehler läuft und ein leere PNG erstellt sobald verschiedene Sonderzeichen in den Terminen verwendet werden.

Bei meinem Beispiel ist es ein &-Zeichen gewesen. Lässt sich dieser Fehler abfangen, dass der FReplacer das anders in die SVG einbaut?

Offline Gernott

  • Full Member
  • ***
  • Beiträge: 289
Antw:Kindle als Fhem-Display
« Antwort #466 am: 17 Oktober 2017, 21:20:30 »
Bei meinem Beispiel ist es ein &-Zeichen gewesen. Lässt sich dieser Fehler abfangen, dass der FReplacer das anders in die SVG einbaut?
Ja, mit dem Attribut Rep[0-9]+Tidy, siehe Commandref.

Offline subseven

  • New Member
  • *
  • Beiträge: 5
Antw:Kindle als Fhem-Display
« Antwort #467 am: 18 Oktober 2017, 10:58:14 »
Super vielen Dank, hat funktioniert!

Online bismosa

  • Jr. Member
  • **
  • Beiträge: 63
Antw:Kindle als Fhem-Display
« Antwort #468 am: 25 Oktober 2017, 20:54:54 »
Hallo,

ich habe meinen alten Kindle nun auch wieder zum Leben erweckt. Vielen Dank für die Bemühungen hier!

Ich habe noch etwas schwierigkeiten mit den Umlauten. Wenn in meinem Reading Sonderzeichen sind, werden diese nicht korrekt dargestellt. Trotz "ReplacementEncode UTF-8".
Mein Postcommand sieht so aus:
attr kindledisplay PostCommand convert MSVG:/opt/fhem/www/images/status1.svg -type GrayScale -depth 8 /opt/fhem/www/images/status.png 2>/dev/null &
Was mich aber eigentlich viel mehr interessiert: Wie kann ich einen Fließtext in die SVG einfügen? Sobald ich irgendetwas in diese Richtung in die SVG mit Inkscape einfüge (flowRoot), wird mir das ganze in der png nicht mehr angezeigt.
Hilfreich wäre es ja auch, wenn ich mit \r\n eine neue Zeile beginnen könnte. Aber auch das funktioniert nicht. Liegt das am Konverter?
Ich möchte gerne den Batteriestatus als Fehler (und auch eine Liste mit offenen Fenstern) mit anzeigen. Wenn ich hier nur eine Liste mache, dann wird die schnell zu lang. Daher möchte ich das gerne in 3 Zeilen aufteilen...

Hat schon jemand eine Art "Störmeldeliste" umgesetzt? Bisher bekomme ich Meldungen wie Heizung ausgefallen, Fenster zu lange offen etc. immer nur per Pushover auf mein Handy. Wäre irgendwie auch Cool diese Meldungen mit anzuzeigen. Wobei ich noch keine Idee habe, wie ich die Meldungen wieder zurücksetzen könnte... *grübel


Gruß
Bismosa
FHEM 14873 auf einem Raspberry PI 2 (B) Wheezy
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x 433MHz Sender an ESP (Jarolift Rolläden)
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

Online bismosa

  • Jr. Member
  • **
  • Beiträge: 63
Antw:Kindle als Fhem-Display
« Antwort #469 am: 28 Oktober 2017, 20:21:42 »
Hallo,

mittlerweile habe ich festgestellt, das es wohl nicht möglich ist einen Fließtext zu erstellen. Daher habe ich mir einfach ein kleines Script (myUtils.pm) gebastelt, das die Aufgabe für mich übernimmt:
#Parameter: <Text>, <max Zeilen>, <Zeile>
#({flowText("Guten Tag hier ist Hans Wurst",3,1)})
sub flowText($$$) {

my $text = shift;
my $MaxZeilen = shift;
my $RueckgabeZeile = shift;
#$RueckgabeZeile=$RueckgabeZeile -1;
#Log 1, "Text: $text";
#Log 1, "MaxZeilen: $MaxZeilen";
#Log 1, "RueckgabeZeile: $RueckgabeZeile";
#Text mit mehreren Zeilen erstellen
use Text::Wrap;
$Text::Wrap::columns = 40;
$Text::Wrap::separator="\n";
my $wrappedText = '';
$wrappedText = Text::Wrap::fill( '', '', join '', $text );
#Log 1, "wrappedText: $wrappedText";
#Einzelne Zeilen bekommen
my @lines=split /\n/, $wrappedText;

#Wenn angeforderte Zeile keinen Text enthällt, wird nur ein leerzeichen zurückgegeben
if (scalar(@lines) < $RueckgabeZeile){
#Log 1, "Rueckgabe1: .";
return " ";
}

#Wenn die letzte Zeile angefordert wird und es gibt mehrere Zeilen -> Infotext
if ($MaxZeilen==$RueckgabeZeile){
if (scalar(@lines) > $RueckgabeZeile){
#Log 1, "Rueckgabe2: ...und noch weitere...";
return "...und noch weitere...";
}
}

#Sonst die entsprechende Zeile Zurückgeben
#Log 1, "Rueckgabe3: $lines[$RueckgabeZeile -1]";
return $lines[$RueckgabeZeile -1];

}
Falls es noch jemand gebrauchen kann...ich denke eigentlich selbsterklärend.

Ich habe derzeit noch das Problem, das mein Kindle 4 sich nach 3 Tagen einfach aufgehängt hat. Ich nutze die aktuellste Version des Screensavers hier aus dem Thread mit dem rtcwake. Habe eine minütliche Aktualisierung (außer Nachts). Der Kindle hängt bei mir direkt an einem Netzteil (sonst Akkulaufzeit ca. 1 Tag). Logging war eingeschaltet...aber es wurde nichts geloggt.
Ich musste 20sek. den Power Button betätigen, um einen Neustart zu erzwingen. Anders war es nicht möglich.
Kennt ihr das? Habe ich etwas übersehen? Jetzt läuft der gerade wieder seit 24h problemlos. Mal schauen, ob es so bleibt.

Gruß
Bismosa
FHEM 14873 auf einem Raspberry PI 2 (B) Wheezy
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x 433MHz Sender an ESP (Jarolift Rolläden)
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

 

decade-submarginal