Kindle als Fhem-Display

Begonnen von alexmetz, 25 März 2014, 22:59:15

Vorheriges Thema - Nächstes Thema

Timmy.m

#285
So, ich habe es nun hin bekommen, dass ich über SSH mit den Befehlen

inkscape /opt/fhem/www/images/status.svg -e=tmp.png

und

convert tmp.png -type GrayScale -depth 8 /opt/fhem/www/images/status.png

Die gewünschte Datei zu erstellen... ohne Fehlermeldungen.


Jedoch klappt es immer noch nicht über FHEM, wenn ich dies verwende... es wird einfach keine PNG Datei erstellt.
attr fr PostCommand bash -c 'inkscape /opt/fhem/www/images/status.svg -e=tmp.png;; convert tmp.png -type GrayScale -depth 8 /opt/fhem/www/images/status.png' >/dev/null 2>&1 &

Wenn ich in FHEM FReplacer als "PostCommand" die folgende Einstellung verwende, dann wird die PNG Datei erstellt und im Kindle nach dem Reboot auch gut dargestellt, jedoch nach dem ersten Reload der Datei ist nur noch ein vergrößerter Ausschnitt verzerrt auf dem Kindle dargestellt.
bash -c 'inkscape /opt/fhem/www/images/status.svg -e=/opt/fhem/www/images/status1.png'


Wenn ich in FHEM FReplacer als "PostCommand" die folgende Einstellung verwende, dann fehlen die Wetter-Icons in der PNG und auf dem Kindle.
convert /opt/fhem/www/images/status.svg -type GrayScale -depth 8 /opt/fhem/www/images/status1.png 2>/dev/null &

Grüße Tim
FHEM5.9@RaspPi.3B|HMLAN|CUL868V3|1Wire|HUE|FritzBox|BotVacDconnected|3xKindleDisplay|
FHEM2FHEM|
FHEM5.9@RaspPi.2B|nanoCul868|TCM310|JeeLinkClone|RFXTRX433E|ZWave|Zigbee|xiaomi
RaspberryMatic@RaspPi.3B+ in Planung

mikeljo

Zitat von: Timmy.m am 03 Januar 2015, 17:17:11
Jedoch klappt es immer noch nicht über FHEM, wenn ich dies verwende... es wird einfach keine PNG Datei erstellt.
attr fr PostCommand bash -c 'inkscape /opt/fhem/www/images/status.svg -e=tmp.png;; convert tmp.png -type GrayScale -depth 8 /opt/fhem/www/images/status.png' >/dev/null 2>&1 &

Wenn ich in FHEM FReplacer als "PostCommand" die folgende Einstellung verwende, dann wird die PNG Datei erstellt und im Kindle nach dem Reboot auch gut dargestellt, jedoch nach dem ersten Reload der Datei ist nur noch ein vergrößerter Ausschnitt verzerrt auf dem Kindle dargestellt.
bash -c 'inkscape /opt/fhem/www/images/status.svg -e=/opt/fhem/www/images/status1.png'

Bei mir lautet das Commando so:
attr kindledisplayPW PostCommand bash -c 'inkscape /opt/fhem/www/images/KindleDisplayPW.svg -e=tmp.png -b=rgb\(255,255,255\) --export-height=1024 --export-width=758;; convert tmp.png -type GrayScale -depth 8 /opt/fhem/www/web/KindleDisplay-test.png' >/dev/null 2>&1 &

Hast du mal geschaut wie das tmp.png aussieht?

Bye
mikeljo

Timmy.m

Hallo mikeljo.

Vielen Dank für Deine Antwort.

Ich musste deinen Befehl etwas umschreiben, weil ich einen Kindle 4 verwende und dieser nur 800x600 kann. Du scheinst einen Paperwhite von Kindle zu haben.

attr fr PostCommand bash -c 'inkscape /opt/fhem/www/images/status.svg -e=/opt/fhem/www/images/tmp.png -b=rgb\(255,255,255\) --export-height=800 --export-width=600;; convert /opt/fhem/www/images/tmp.png -type GrayScale -depth 8 /opt/fhem/www/images/status1.png' >/dev/null 2>&1 &

Mit diesem Befehl wird weder die tmp.png angelegt und auch nicht die status1.png.

Grüße Tim
FHEM5.9@RaspPi.3B|HMLAN|CUL868V3|1Wire|HUE|FritzBox|BotVacDconnected|3xKindleDisplay|
FHEM2FHEM|
FHEM5.9@RaspPi.2B|nanoCul868|TCM310|JeeLinkClone|RFXTRX433E|ZWave|Zigbee|xiaomi
RaspberryMatic@RaspPi.3B+ in Planung

mikeljo

#288
Hi,

Was passiert wenn du den ersten Teil, also bis zu den Semikolons in der bash eingibst?
Wie bist du angemeldet?
Stimmen die Rechte für ALLE Verzeichnisse im Pfad?
Also kann der User "fhem" überall schreiben?
Kann er auch das Orginal svg lesen?

Bye
Mikeljo


Gesendet von meinem iPad mit Tapatalk HD

Timmy.m

Hallo Mikeljo.

Wenn ich über SSH den Befehl eingebe:

inkscape /opt/fhem/www/images/status.svg -e=/opt/fhem/www/images/tmp.png

Dann kommt folgende Meldung:

Broadcast message from root@raspberrypi (Sat Jan  3 20:20:56 2015):

The system is going down for system halt NOW!
Background RRGGBBAA: ffffff00
Area 0:0:600:800 exported to 600 x 800 pixels (90 dpi)
Bitmap saved as: /opt/fhem/www/images/tmp.png


Und der Raspberry Pi ist nicht mehr erreichbar für ein paar Minuten... mit Rechten kenne ich mich nicht so gut aus, kann also noch ein Problem sein.

Grüße Tim
FHEM5.9@RaspPi.3B|HMLAN|CUL868V3|1Wire|HUE|FritzBox|BotVacDconnected|3xKindleDisplay|
FHEM2FHEM|
FHEM5.9@RaspPi.2B|nanoCul868|TCM310|JeeLinkClone|RFXTRX433E|ZWave|Zigbee|xiaomi
RaspberryMatic@RaspPi.3B+ in Planung

StefanStrobel

Hallo Mattes,

Wie hast du denn den onlinescreensaver nach dem überschreiben der Dateien neu gestartet?
Damit die Änderungen aktiv werden, solltest du einmal disable.sh aufrufen unf danach enable.sh (jeweils aus dem bin Unterverzeichnis des onlinescreensavers).
Dadurch sollte scheduler.sh neu gestartet werden, utils.sh neu laden und dann im Hintergrund laufen. (Sieht man mit ps -ef)
Hast du eventuell noch eine crontab zum Aufruf von update.sh wie noch im wiki beschrieben? Das würde auch nicht passen.

Hast du mal logging in der config.sh angeschaltet? Im Logfile sieht man dann was passiert ...

Gruss
   Stefan


mikeljo

Zitat von: Timmy.m am 03 Januar 2015, 20:24:41
Hallo Mikeljo.

Wenn ich über SSH den Befehl eingebe:

inkscape /opt/fhem/www/images/status.svg -e=/opt/fhem/www/images/tmp.png

Dann kommt folgende Meldung:

Broadcast message from root@raspberrypi (Sat Jan  3 20:20:56 2015):

The system is going down for system halt NOW!
Background RRGGBBAA: ffffff00
Area 0:0:600:800 exported to 600 x 800 pixels (90 dpi)
Bitmap saved as: /opt/fhem/www/images/tmp.png


Und der Raspberry Pi ist nicht mehr erreichbar für ein paar Minuten... mit Rechten kenne ich mich nicht so gut aus, kann also noch ein Problem sein.

Grüße Tim

Hä? Der bootet.
Außerdem bist du als root angemeldet: böse!
Melde dich als normaler user (pi oder einen anderen selbstangelegten) an. Dann sollte eine Fehlermeldung kommen.
Hast du die Commandozeile kopiert oder selbst eingegeben?
Was passier wenn du nur "inkscape" ohne weitere Parameter eingibst?

Bye
mikeljo

Timmy.m

Als Benuter 'pi' ausgeführt, kommt folgendes:


pi@raspberrypi ~ $ inkscape /opt/fhem/www/images/status.svg -e=/opt/fhem/www/images/tmp.png
Background RRGGBBAA: ffffff00
Area 0:0:600:800 exported to 600 x 800 pixels (90 dpi)
Bitmap saved as: /opt/fhem/www/images/tmp.png


ZitatWas passier wenn du nur "inkscape" ohne weitere Parameter eingibst?

Wenn  ich nur inkscape eingebe, kommt folgendes:

pi@raspberrypi ~ $ inkscape
Nothing to do!


ZitatHast du die Commandozeile kopiert oder selbst eingegeben?
Ich tippe die Befehle per Hand ein...

Grüße Tim
FHEM5.9@RaspPi.3B|HMLAN|CUL868V3|1Wire|HUE|FritzBox|BotVacDconnected|3xKindleDisplay|
FHEM2FHEM|
FHEM5.9@RaspPi.2B|nanoCul868|TCM310|JeeLinkClone|RFXTRX433E|ZWave|Zigbee|xiaomi
RaspberryMatic@RaspPi.3B+ in Planung

mikeljo

Hi Tim,

Zitat von: Timmy.m am 04 Januar 2015, 11:03:57
Als Benuter 'pi' ausgeführt, kommt folgendes:


pi@raspberrypi ~ $ inkscape /opt/fhem/www/images/status.svg -e=/opt/fhem/www/images/tmp.png
Background RRGGBBAA: ffffff00
Area 0:0:600:800 exported to 600 x 800 pixels (90 dpi)
Bitmap saved as: /opt/fhem/www/images/tmp.png


Das ist ok. Dann wird auch die tmp.png erzeugt.
Schau in dem Verzeichnis nach ob sie auch da ist.
Nun kannst du den 2ten Teil, der nach den Semikolons eingeben. Dann sollte die Datei für den Kindle auch erzeugt werden.

Zitat von: Timmy.m am 04 Januar 2015, 11:03:57
Als Benuter 'pi' ausgeführt, kommt folgendes:
Wenn  ich nur inkscape eingebe, kommt folgendes:

pi@raspberrypi ~ $ inkscape
Nothing to do!


Auch richtig.
Allerdings meinte ich wenn du als root eingeloggt bist. My fault.
Was passiert dann?
Kannst du mal als root folgendes eingeben und die Ausgaben posten:
einmal: alias
und dann: whereis inkscape

Zitat von: Timmy.m am 04 Januar 2015, 11:03:57
Ich tippe die Befehle per Hand ein...
Ok. Dann auch keine verstecken Zeichen drin.

Bye
mikeljo

Timmy.m

Hi mikeljo.

Danke für Deine Hilfe.

Zitat von: mikeljo am 04 Januar 2015, 12:41:09
Das ist ok. Dann wird auch die tmp.png erzeugt.
Schau in dem Verzeichnis nach ob sie auch da ist.

Ja, die tmp.png ist da und sieht auch gut aus.

Zitat von: mikeljo am 04 Januar 2015, 12:41:09
Nun kannst du den 2ten Teil, der nach den Semikolons eingeben. Dann sollte die Datei für den Kindle auch erzeugt werden.

Wenn ich als Benutzer 'pi' dann den folgenden Befehl eingebe, wird die status.png generiert und nach dem Reload vom Kindle in Ordnung angezeigt.
convert /opt/fhem/www/images/tmp.png -type GrayScale -depth 8 /opt/fhem/www/images/status.png


Zitat von: mikeljo am 04 Januar 2015, 12:41:09
Allerdings meinte ich wenn du als root eingeloggt bist. My fault.
Was passiert dann?
Kannst du mal als root folgendes eingeben und die Ausgaben posten:
einmal: alias
und dann: whereis inkscape

Das ist mein Ergebnis nach Eingabe als root

root@raspberrypi:~# alias
root@raspberrypi:~# whereis inkscape
inkscape: /usr/bin/inkscape /usr/bin/X11/inkscape /usr/share/inkscape /usr/share/man/man1/inkscape.1.gz


Grüße Tim
FHEM5.9@RaspPi.3B|HMLAN|CUL868V3|1Wire|HUE|FritzBox|BotVacDconnected|3xKindleDisplay|
FHEM2FHEM|
FHEM5.9@RaspPi.2B|nanoCul868|TCM310|JeeLinkClone|RFXTRX433E|ZWave|Zigbee|xiaomi
RaspberryMatic@RaspPi.3B+ in Planung

Timmy.m

So, jetzt läuft es mit Wetter-Icons!!!

In das Attribut 'PostCommand' musste ich folgendes eingeben:

bash -c 'inkscape /opt/fhem/www/images/status.svg -e=/opt/fhem/www/images/tmp.png;convert /opt/fhem/www/images/tmp.png -type GrayScale -depth 8 /opt/fhem/www/images/status1.png' 2>/dev/null &

Falsch für meinen Raspberry waren zwei Semikolons und das Leerzeichen vor dem 'convert'. Vielleicht sollte man das Wiki mit diesem Tipp ausstatten, wenn es auch Andere betrifft.

Vielen Dank für Eure Hilfe!

Grüße Tim
FHEM5.9@RaspPi.3B|HMLAN|CUL868V3|1Wire|HUE|FritzBox|BotVacDconnected|3xKindleDisplay|
FHEM2FHEM|
FHEM5.9@RaspPi.2B|nanoCul868|TCM310|JeeLinkClone|RFXTRX433E|ZWave|Zigbee|xiaomi
RaspberryMatic@RaspPi.3B+ in Planung

mikeljo

Hi Tim,

super das es jetzt bei dir funktioniert.

Bye
miklejo

StefanStrobel

Hallo Tim,

Mit den Semikolons hat es folgendes auf sich:
Die Shell (hier bash) trennt die beiden Programm-Aufrufe (zuerst inkscape und dann convert) durch ein Semikolon.
Ob nach dem Semikolon noch ein Space kommt, sollte eigentlich egal sein.
Wenn man jedoch in der fhem.cfg ein Semikolon verwendet, dann trennt fhem damit die Zeile und erwartet nach dem Semikolon einen weiteren Fhem-Befehl.
Das würde zu einem Fehler führen, da hier ja eine Shell-Befehlskette mit einem Semikolon darin als ein Attribut gesetzt werden soll. Convert ist der zweite Teil der Shell-Befehlskette und kein weiterer Fhem-Befehl.

In der fhem.cfg kann man deshalb ein doppeltes Semikolon verwenden. Fhem erkennt das, lässt die Zeile zusammen und ersetzt das doppelte durch ein einfaches Semikolon.

In fhemweb siehst Du ein einfaches Semikolon, in der fhem.cfg wird es verdoppelt ...

In fhem.pl kannst Du das in der Funktion AnalyzeCommandChain ansehen. einfach nach ;; suchen ...

Gruß
   Stefan


StefanStrobel

Hallo Tim,

Deinen Hinweis mit den ##, die in 1 umgewandelt werden (Dein Posting vom 31.12.) verstehe ich leider nicht. Könntest Du da ein konkretes Beispiel posten?

Gruß
    Stefan

Timmy.m

Hallo Stefan.

Zitat von: StefanStrobel am 04 Januar 2015, 14:52:45
Deinen Hinweis mit den ##, die in 1 umgewandelt werden (Dein Posting vom 31.12.) verstehe ich leider nicht. Könntest Du da ein konkretes Beispiel posten?

attr kindledisplay Rep52Regex #M05
wird irgendwann zu

attr kindledisplay Rep52Regex 1

Grüße Tim
FHEM5.9@RaspPi.3B|HMLAN|CUL868V3|1Wire|HUE|FritzBox|BotVacDconnected|3xKindleDisplay|
FHEM2FHEM|
FHEM5.9@RaspPi.2B|nanoCul868|TCM310|JeeLinkClone|RFXTRX433E|ZWave|Zigbee|xiaomi
RaspberryMatic@RaspPi.3B+ in Planung