Kindle als Fhem-Display

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

Vorheriges Thema - Nächstes Thema

andi11

ich hatte nach meinem letzten Debian Update auch eine "komische Darstellung"
Hab da glaub ich den Befehl zur Konvertierung geändert:
(rsvg-convert --background-color=white /opt/fhem/www/images/try1out.svg -o /tmp/status.png && pngcrush -q -c 0 -m 4 -nofilecheck -warn /tmp/status.png /opt/fhem/www/images/status1.png > /dev/null) &

Gernott

Zitat von: kinghill am 26 Januar 2022, 15:51:06
Hallo Leute,
ich habe gestern meinen Raspberry auf Debian Bullseye geupdatet. Seitdem habe ich ein kurioses verhalten was die Image erzeugung für meinen Kindle angeht.
Never change a running system....
Wenn Du mal etwas zurückliest, war das Thema schon mehrfach da. Die Konvertierungsprogramme verhalten sich je nach Version teils unterschiedlich. Da bleibt nur probieren, ob es mit dem Setzen von Parametern behoben werden kann, oder man kopiert sich händisch die alte, funktionierende Version in das neue System.

kinghill

Zitat von: andi11 am 26 Januar 2022, 15:56:07
ich hatte nach meinem letzten Debian Update auch eine "komische Darstellung"
Hab da glaub ich den Befehl zur Konvertierung geändert:
(rsvg-convert --background-color=white /opt/fhem/www/images/try1out.svg -o /tmp/status.png && pngcrush -q -c 0 -m 4 -nofilecheck -warn /tmp/status.png /opt/fhem/www/images/status1.png > /dev/null) &

Hi,

Danke für den Tipp. Jetzt geht es nach dem Bullseye Update wieder perfekt. Die Schriftwart ist etwas anders und die Svg musste ein wenig angepasst werden. Das ist aber nicht so wild.
rsvg-convert macht den Job also Tiptop unter Bullseye
Mein Code sieht jetzt so aus:
(rsvg-convert --background-color=white /opt/fhem/www/images/status1.svg -o /opt/fhem/www/images/status1.png && pngcrush -q -c 0 -m 4 -nofilecheck -warn /opt/fhem/www/images//status1.png /opt/fhem/www/images/KindleDisplay.png > /dev/null)  &

LG Kinghill

Brad Majors

Hey,

nachdem hier seit fast einem Jahr nichts mehr geschrieben wurde, die Frage(n).

Funktioniert das Modul noch?
Welcher Kindle wäre zu empfehlen (sprich am einfachsten)?

Dann würde ich mal auf die Suche gehen.

Oder hat jemand einen der ihn evtl. schon eingerichtet hat und nicht mehr benötigt?
Falls ja könnt ihr gerne einem Preisvorschlag per PN an mich schicken.
Raspberry Pi. * Eigenbau Nano Cul 433 und 866 * EnOcean TCM_3 * Netatmo * Max! Thermostate * SMA PV Inverter * Zigbee über ConBeeII / Phoscon

karofant

FHEM auf RPi 2 Raspbian Buster l Fritzbox 7490 l 2 x Kindle 4 als FHEM Display

Brad Majors

#635
Danke schön. Habe mir auch den 4er besorgt. Allerdings läuft die png Erstellung noch nicht?

So wie es aussieht erstellt er das SVG je Minute 1x.

ich hatte das jetzt so verstanden das ich den Text der SVG hier definieren muß.

Sprich ich möchte anstelle des Status3 z.B. den Wert meiner PV Anlage haben.
Wenn ich mir aber das neu erstellte SVG > status.svg ansehe sieht das aus wie das Original template?
Und das PNG wird auch nicht erstellt? Fehlt noch was? Mein PI wurde erst vor kurzem mit Bulseye neu aufgesetzt.

Bin der FHEM Kindle Wiki gefolgt. Inklusive dem hier: apt-get install imagemagick

defmod kindledisplay FReplacer /opt/fhem/www/images/Kindle_Template.svg /opt/fhem/www/images/status.svg 60
attr kindledisplay PostCommand convert /opt/fhem/www/images/status.svg -type GrayScale -depth 8 /opt/fhem/www/images/status.png 2>/dev/null &
attr kindledisplay Rep01Format W.1f
attr kindledisplay Rep01Reading STP8000TL20:SPOT_PACTOT
attr kindledisplay Rep01Regex Status3
attr kindledisplay ReplacementEncode UTF-8
attr kindledisplay room 75_Display

setstate kindledisplay 2022-12-26 12:12:39 LastUpdate 26.12.2022 12:12:39
setstate kindledisplay 2022-12-26 12:12:39 LastUpdateSmall 26.12 12:12
Raspberry Pi. * Eigenbau Nano Cul 433 und 866 * EnOcean TCM_3 * Netatmo * Max! Thermostate * SMA PV Inverter * Zigbee über ConBeeII / Phoscon

karofant

Sieht bei mir nicht wesentlich anders aus, außer, dass ich wesentlich mehr Ersetzungen habe, so sieht der Anfang aus:


# - KindleDisplay
define KindleDisplay FReplacer /opt/fhem/www/images/KindleDisplayTemplate.svg /opt/fhem/www/images/KindleDisplay.svg 300
attr KindleDisplay userattr PostCommand Rep11Reading Rep16Reading Rep21Reading Rep26Reading Rep50Expr Rep50Reading Rep50Regex Rep60Format Rep60Reading Rep61Format Rep61Reading Rep63Reading Rep90Reading ReplacementEncode stateFormat
attr KindleDisplay PostCommand convert /opt/fhem/www/images/KindleDisplay.svg -type GrayScale -depth 8 /opt/fhem/www/images/KindleDisplay.png 2>/dev/null &
attr KindleDisplay Rep01Expr sprintf("%.2f", ReadingsVal("Spritpreis", "DieselPreis", 0) - 0.009)
attr KindleDisplay Rep01Regex D.IE
attr KindleDisplay Rep02Expr sprintf("%.2f", ReadingsVal("Spritpreis", "SuperE5Preis", 0) - 0.009)
attr KindleDisplay Rep02Regex S.5
attr KindleDisplay Rep03Expr sprintf("%.2f", ReadingsVal("Spritpreis", "SuperE10Preis", 0) - 0.009)
attr KindleDisplay Rep03Regex S.10
attr KindleDisplay Rep04Format %.1f
attr KindleDisplay Rep04Reading Wetter:temperature
attr KindleDisplay Rep04Regex T4.0
attr KindleDisplay Rep05Format %.1f
attr KindleDisplay Rep05Reading Wetter:humidity
attr KindleDisplay Rep05Regex H4
FHEM auf RPi 2 Raspbian Buster l Fritzbox 7490 l 2 x Kindle 4 als FHEM Display

Gernott

Zitat von: Brad Majors am 26 Dezember 2022, 12:17:47
Sprich ich möchte anstelle des Status3 z.B. den Wert meiner PV Anlage haben.
Wenn ich mir aber das neu erstellte SVG > status.svg ansehe sieht das aus wie das Original template?
Hast Du Dir überhaupt ein eigenes Template erstellt, in dem der Text "Status3" enthalten ist?

Brad Majors

Zitat von: Gernott am 26 Dezember 2022, 13:49:27
Hast Du Dir überhaupt ein eigenes Template erstellt, in dem der Text "Status3" enthalten ist?

In dem Original ist der drin, denke also ja.
Raspberry Pi. * Eigenbau Nano Cul 433 und 866 * EnOcean TCM_3 * Netatmo * Max! Thermostate * SMA PV Inverter * Zigbee über ConBeeII / Phoscon

Brad Majors

Zitat von: karofant am 26 Dezember 2022, 13:10:52
Sieht bei mir nicht wesentlich anders aus, außer, dass ich wesentlich mehr Ersetzungen habe, so sieht der Anfang aus:


# - KindleDisplay
define KindleDisplay FReplacer /opt/fhem/www/images/KindleDisplayTemplate.svg /opt/fhem/www/images/KindleDisplay.svg 300
attr KindleDisplay userattr PostCommand Rep11Reading Rep16Reading Rep21Reading Rep26Reading Rep50Expr Rep50Reading Rep50Regex Rep60Format Rep60Reading Rep61Format Rep61Reading Rep63Reading Rep90Reading ReplacementEncode stateFormat
attr KindleDisplay PostCommand convert /opt/fhem/www/images/KindleDisplay.svg -type GrayScale -depth 8 /opt/fhem/www/images/KindleDisplay.png 2>/dev/null &
attr KindleDisplay Rep01Expr sprintf("%.2f", ReadingsVal("Spritpreis", "DieselPreis", 0) - 0.009)
attr KindleDisplay Rep01Regex D.IE
attr KindleDisplay Rep02Expr sprintf("%.2f", ReadingsVal("Spritpreis", "SuperE5Preis", 0) - 0.009)
attr KindleDisplay Rep02Regex S.5
attr KindleDisplay Rep03Expr sprintf("%.2f", ReadingsVal("Spritpreis", "SuperE10Preis", 0) - 0.009)
attr KindleDisplay Rep03Regex S.10
attr KindleDisplay Rep04Format %.1f
attr KindleDisplay Rep04Reading Wetter:temperature
attr KindleDisplay Rep04Regex T4.0
attr KindleDisplay Rep05Format %.1f
attr KindleDisplay Rep05Reading Wetter:humidity
attr KindleDisplay Rep05Regex H4


Wollte erst einmal nur mit einem testen, daher gibts nur 1 im Moment.
Raspberry Pi. * Eigenbau Nano Cul 433 und 866 * EnOcean TCM_3 * Netatmo * Max! Thermostate * SMA PV Inverter * Zigbee über ConBeeII / Phoscon

Brad Majors

#640
Das ist die Vorlage und das von FHEM erzeugte File.

Vielleicht hilft das ja um das Problem einzugrenzen.
Hatte auch schon 2-3 unterschiedliche templates versucht.

Ich hatte irgendwann gesehen das bei mir Status3 klein geschrieben war im template aber STATUS3.
Habe es in FHEM korrigiert. Macht aber auch keinen Unterschied.

Möchte bevor ich das fehlende png angehe aber erst Wissen warum das svg leer bleibt.

Das template soll für einen Kindle 4 sein.

Zum Grundverständnis:

RepxxRegex > das ist der Text vom template in meinem Fall da wo der Wert vom reading hin soll > STATUS3
RepxxReading > reading von FHEM > STP8000TL20:SPOT_PACTOT   vom PV z.B. der aktuelle Wert was die PV Anlage bringt>
RepxxFormat > Format des Wertes > W.1f > habe % durch W ersetzt
Raspberry Pi. * Eigenbau Nano Cul 433 und 866 * EnOcean TCM_3 * Netatmo * Max! Thermostate * SMA PV Inverter * Zigbee über ConBeeII / Phoscon

karofant

Den Solarertrag gebe ich ebenso aus, der RegEx sieht dann so aus:


KindleDisplay Rep30Format Solarertrag: %d Wh
attr KindleDisplay Rep30Reading MQTT2_AHOY_DTU:YieldDay
attr KindleDisplay Rep30Regex SOLAR


Im .SVG Template wird dann der Text SOLAR durch das entsprechende Reading ersetzt.
Wird dann überhaupt auf Basis des Template eine neue Datei erstellt? Kann man dies am Dateitadum erkennen?
FHEM auf RPi 2 Raspbian Buster l Fritzbox 7490 l 2 x Kindle 4 als FHEM Display

Brad Majors

Ja, der Status wird schön alle Minute 1x neu erstellt.
Im oberen Post habe ich das Original und den Status angehangen.

Hier noch ein screenshot wie dann der erstellte Status in Inkscape aussieht.

Würdest du mir mal dein Template schicken? Gerne per PN?
Raspberry Pi. * Eigenbau Nano Cul 433 und 866 * EnOcean TCM_3 * Netatmo * Max! Thermostate * SMA PV Inverter * Zigbee über ConBeeII / Phoscon

karofant

Ja, kann ich später oder morgen machen, da ich noch zum Weihnachtsbesuch bei der Famile unterwegs bin.
FHEM auf RPi 2 Raspbian Buster l Fritzbox 7490 l 2 x Kindle 4 als FHEM Display

Brad Majors

Habe ich ggf. noch was vergessen?

Das PostCommand png Erzeugung macht er ja auch nicht.

Das hier ist alles erledigt.

Copy the Kindle_Template.svg to /opt/fhem/www/images/.

All we're doing now is using the FReplacer module which is part of Fhem to read the SVG template, replace a search pattern with our data and save it.

define kindledisplay FReplacer /opt/fhem/www/images/template1.svg /opt/fhem/www/images/status1.svg 60
attr kindledisplay PostCommand convert /opt/fhem/www/images/status.svg -type GrayScale -depth 8 /opt/fhem/www/images/status.png 2>/dev/null &
attr kindledisplay ReplacementEncode UTF-8
attr kindledisplay room Display
PostCommand defines that the external command will be issued after the replacement to convert the resulting SVG to a PNG in 8 bit GreyScale mode. UTF8-Encode might be needed to support special characters.


Now just create your mappings:

attr kindledisplay Rep01Regex XYZ
attr kindledisplay Rep01Reading Sensor1:Temp1
attr kindledisplay Rep01Format %.1f
attr kindledisplay Rep02Regex ABC
attr kindledisplay Rep02Reading Sensor1:Hum1
attr kindledisplay Rep01Format %.1f


Das hier auch:

apt-get install imagemagick

Er erstellt die neue status.svg aber ohne Daten.
Aber das .png macht er nicht?

Bin langsam am verzweifeln..... Arghhhhh.

Muß ich noch was zusätzlich in FHEM installieren? Oder sollte das OOTB funktionieren?
Raspberry Pi. * Eigenbau Nano Cul 433 und 866 * EnOcean TCM_3 * Netatmo * Max! Thermostate * SMA PV Inverter * Zigbee über ConBeeII / Phoscon