Kindle als Fhem-Display

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

Vorheriges Thema - Nächstes Thema

venuel79

#495
Bevor ich es aufgebe....
Also ich habe ein K4 laut wiki eigentlich ein Kindle5!?... egal..
Wenn ich OSS enable, und das update springt an, habe ich ein verzertes Bild :(
sobald ich den Knopf am kindle drücke ,und nochmal drücke ist das Bild wieder normal.
also hab ich das auto update ausgeschaltet und mache es über einen chron:
-----------------------------------------------------------------------------------
#!/bin/sh

/mnt/us/extensions/onlinescreensaver/bin/update.sh
sleep 2
/usr/bin/powerd_test -p
sleep 2
/usr/bin/powerd_test -p
sleep 10
gasgauge-info -s | xargs /usr/sbin/eips 47 39 > /dev/null;
-----------------------------------------------------------------------------------

der alle 20min ausgeführt wird, läuft eigentlich sehr gut, so wird das wlan wohl nicht abgeschaltet, und leider friert mir das irgendwann ein, natürlich bei dem verzerten Bild :(
Hat wer ne idee wo das Problem ist, wie kann ich den OSS nutzen? Ohne das das bild verzert?

Wenn ich die URL zum png im Broser aufruffe sieht alles gut aus!
in Fhem hab ich das so angelegt:

defmod kindledisplay FReplacer /opt/fhem/www/images/KindleDisplayVorlage.svg /opt/fhem/www/images/KindleDisplayState.svg 120
attr kindledisplay userattr PostCommand Rep010Format Rep011Format Rep01Format Rep01Reading Rep01Regex Rep02Format Rep02Reading Rep02Regex Rep03Format Rep03Reading Rep03Regex Rep04Format Rep04Reading Rep04Regex Rep05Format Rep05Reading Rep05Regex Rep06Format Rep06Reading Rep06Regex Rep07Format Rep07Reading Rep07Regex Rep08Format Rep08Reading Rep08Regex Rep09Reading Rep09Regex Rep10Format Rep10Reading Rep10Regex Rep11Format Rep11Reading Rep11Regex Rep12Reading Rep12Regex Rep14Reading Rep14Regex ReplacementEncode stateFormat
attr kindledisplay PostCommand rsvg-convert --background-color=white /opt/fhem/www/images/KindleDisplayState.svg -o /opt/fhem/www/images/KindleStatus.png
attr kindledisplay Rep01Format %.1f
attr kindledisplay Rep01Reading Hideki_31_1:temperature
attr kindledisplay Rep01Regex TEMP1
attr kindledisplay Rep02Reading Strom:StromverbrauchTag
attr kindledisplay Rep02Regex STROM
attr kindledisplay Rep03Format %.1f
attr kindledisplay Rep03Reading TCM21_151:humidity
attr kindledisplay Rep03Regex HUM1
attr kindledisplay Rep04Format %.1f
attr kindledisplay Rep04Reading X_temp_Buero_temp:temperature
attr kindledisplay Rep04Regex TEMP2
attr kindledisplay Rep05Format %.1f
attr kindledisplay Rep05Reading X_temp_Buero_humi:humidity
attr kindledisplay Rep05Regex HUM2
attr kindledisplay Rep06Format %.1f
attr kindledisplay Rep06Reading X_temp_WZ_temp:temperature
attr kindledisplay Rep06Regex TEMP3
attr kindledisplay Rep07Format %.1f
attr kindledisplay Rep07Reading X_temp_WZ_humi:humidity
attr kindledisplay Rep07Regex HUM3
attr kindledisplay Rep08Format %.1f
attr kindledisplay Rep08Reading X_temp_Schlafzimmer_temp:temperature
attr kindledisplay Rep08Regex TEMP4
attr kindledisplay Rep09Reading Rewe:SuperE5
attr kindledisplay Rep09Regex SPRIT
attr kindledisplay Rep10Format %.1f
attr kindledisplay Rep10Reading X_temp_Schlafzimmer_humi:humidity
attr kindledisplay Rep10Regex HUM4
attr kindledisplay Rep11Format %.2f
attr kindledisplay Rep11Reading StromkostenTag:Kosten
attr kindledisplay Rep11Regex KOSTEN
attr kindledisplay Rep12Reading Wetter_Pro:weather
attr kindledisplay Rep12Regex WETTER
attr kindledisplay Rep14Reading kindledisplay:LastUpdate:never
attr kindledisplay Rep14Regex lmtime123
attr kindledisplay ReplacementEncode 0
attr kindledisplay group Displays
attr kindledisplay room Devices
attr kindledisplay stateFormat LastUpdate

setstate kindledisplay 02.12.2018 13:43:34
setstate kindledisplay 2018-12-02 13:43:34 LastUpdate 02.12.2018 13:43:34
setstate kindledisplay 2018-12-02 13:43:34 LastUpdateSmall 02.12 13:43
-------------------------------------------------------------------------------------------------------

und so sieht meine config.sh im OSS aus:

#############################################################################
### ONLINE-SCREENSAVER CONFIGURATION SETTINGS
#############################################################################

# Interval in MINUTES in which to update the screensaver by default. This
# setting will only be used if no schedule (see below) fits. Note that if the
# update fails, the script is not updating again until INTERVAL minutes have
# passed again. So chose a good compromise between updating often (to make
# sure you always have the latest image) and rarely (to not waste battery).
#DEFAULTINTERVAL=5

# Schedule for updating the screensaver. Use checkschedule.sh to check whether
# the format is correctly understood.
#
# The format is a space separated list of settings for different times of day:
#       SCHEDULE="setting1 setting2 setting3 etc"
# where each setting is of the format
#       STARTHOUR:STARTMINUTE-ENDHOUR:ENDMINUTE=INTERVAL
# where
#       STARTHOUR:STARTMINUTE is the time this setting starts taking effect
#       ENDHOUR:ENDMINUTE is the time this setting stops being active
#       INTERVAL is the interval in MINUTES in which to update the screensaver
#
# Time values must be in 24 hour format and not wrap over midnight.
# EXAMPLE: "00:00-06:00=480 06:00-18:00=15 18:00-24:00=30"
#          -> Between midnight and 6am, update every 4 hours
#          -> Between 6am and 6pm (18 o'clock), update every 15 minutes
#          -> Between 6pm and midnight, update every 30 minutes
#
# Use the checkschedule.sh script to verify that the setting is correct and
# which would be the active interval.
#SCHEDULE="00:00-05:50=60 05:50-22:00=10 22:00-24:00=60"

# URL of screensaver image. This really must be in the EXACT resolution of
# your Kindle's screen (e.g. 600x800 or 758x1024) and really must be PNG.
#IMAGE_URI="http://enter.the.domain/here/and/the/path/to/the/image.png"
IMAGE_URI="http://XXXXXX:XXXXXXX@192.168.xxx.XX:8083/fhem/www/images/KindleStatus.png"

# folder that holds the screensavers
SCREENSAVERFOLDER=/mnt/us/linkss/screensavers/

# In which file to store the downloaded image. Make sure this is a valid
# screensaver file. E.g. check the current screensaver folder to see what
# the first filename is, then just use this. THIS FILE WILL BE OVERWRITTEN!
SCREENSAVERFILE=$SCREENSAVERFOLDER/bg_medium_ss00.png

# Whether to create log output (1) or not (0).
LOGGING=1

# Where to log to - either /dev/stderr for console output, or an absolute
# file path (beware that this may grow large over time!)
LOGFILE=/dev/stderr
#LOGFILE=/tmp/onlinescreensaver.log

# whether to disable WiFi after the script has finished (if WiFi was off
# when the script started, it will always turn it off)
DISABLE_WIFI=0

# Domain to ping to test network connectivity. Default should work, but in
# case some firewall blocks access, try a popular local website.
TEST_DOMAIN="www.google.com"

# How long (in seconds) to wait for an internet connection to be established
# (if you experience frequent timeouts when waking up from sleep, try to
# increase this value)
NETWORK_TIMEOUT=30



#############################################################################
# Advanced
#############################################################################

# the real-time clock to use (0, 1 or 2)
RTC=0

# the temporary file to download the screensaver image to
TMPFILE=/tmp/tmp.onlinescreensaver.png
-----------------------------------------------------------------------------------------------
hab das update und den scheduler auskommentiert, da ansonsten das verzerte bild wieder auftaucht, obwoh ich den OSS disabled habe!?
wie gesagt , mache es ja mit dem chron job wie oben beschrieben, würde aber gerne den normalen weg nutzen.
meine PNG wird auch urgendwie in 24 bit angelegt :( hab schon alle möglichen postcommand hier aus dem Beitrag versucht , aber komme nicht auf
8 bit. keine Ahnung warum das so ist, und ob es evtl auch meinen Fehler auslöst,würde mich freuen wenn mir jemand helfen kann.

habe auch noch einen Touch den mit der einen Taste unten (D01200).... der spint wiederrum noch schlimmer, sobald der screensaver anspringt, ist das bild auch verzert, aber er updatet sich in einer dec, 2x also flackert ohne ende, und den knopf 2 mal drücken bringt hier auch nichts.hab gelesen das hier 2 leute so ein ähnliches Problem hatten/haben,
Aber eine Lösung habe ich leider nicht gefunden (hab den Beitrag mehrmals durch gelesen...

Trotzdem erst mal ne super Arbeit, danke an alle mitdenker!!

Gruss Rico



Gernott

Zitat von: venuel79 am 02 Dezember 2018, 13:52:07
keine Ahnung warum das so ist, und ob es evtl auch meinen Fehler auslöst,würde mich freuen wenn mir jemand helfen kann.
Na dann:
Die Reduzierung auf 8 bit übernimmt bei mir pngcrush, als anhang im postcommand:

(rsvg-convert --background-color=white /opt/fhem/www/images/teststatus.svg -o /tmp/status.png && pngcrush -q -c 0 -m 4 -nofilecheck /tmp/status.png /tmp/status-output.png > /dev/null) &


Warum Dein Kindle das Bild verzerrt darstellt, hängt nicht mit den FHEM-Settings zusammen, die Du besser in Code-Tags (#) postest, damit der Beitrag nicht so lang wird.

Eventuell spielt die Version von rsvg-convert auch eine Rolle. Poste bitte mal Deine Version.

Meine ist:
rsvg-convert version 2.40.5

Gruß G.

venuel79

wie bekomme ich die version von rsvg-convert herraus?

wie gesagt hab schon viele dinge versucht,
du schreibst
(rsvg-convert --background-color=white /opt/fhem/www/images/teststatus.svg -o /tmp/status.png && pngcrush -q -c 0 -m 4 -nofilecheck /tmp/status.png /tmp/status-output.png > /dev/null) &

bei mir steht :
PostCommand           rsvg-convert --background-color=white /opt/fhem/www/images/KindleDisplayState.svg -o /opt/fhem/www/images/KindleStatus.png
warum hast du zb klammern? ist das aus der fhem config?

wie kann ich  Code-Tags (#) posten?
sorry für die ganzen Fragen!
Bin eigentlich  nur stiller Mitleser, aber manchmal muss man was fragen ;)

Gruss Rico

Gernott

Hallo

Nimm es mir nicht übel, aber Dir  fehlen die untersten Grundlagen für Linux. Wenn Du einen Programmaufruf an der Konsole eingibst, werden Dir i.d.R. die Befehlsoptionen aufgelistet. Wenn nicht, mußt Du -? oder --help anhängen. Die Version wird dann meist mit -v  abgefragt, also hier rsvg-convert -v.

Die Klammern sollen die Befehlskette für das angehängte & zusammenfassen.

Für die Codetags gibt es im Editierfenster oben einen Knopf mit #.

Gruß
G.

venuel79

#499
Danke für die Antwort, ich nehme dir nichts übel, denn du hast recht! Ich befasse mich noch nicht so lange mit Linux!!

rsvg-convert version 2.40.20
kommt bei mir raus .

Ich habe auch noch andere Hobbys, möchte aber schon verstehn wie es funktioniert, meistens bin ich mit viel lesen& copy&paste unterwegs( ich weis, ist nicht immer der richtiege Weg!)
Higlighting hat mir sehr in fhem geholfen, und ich denke meine Grundconfig von Fhem läuft gut(Homematic(fenstersensoren gepairt von xiaomi,6 Thermostate+1 Wandtermostat),Conbee,Yeelight,Xiaomi,slebst gebastelter cul433&868,TTS, Alexa Adaper, LCD, LEDS über MQTT per GPIO, und und und...läuft alles.Manchmal beschäftiege ich mich einfach mit zu vielen Sachen auf einmal... ;)
Darum blick ich das nicht immer sofort...
Wenn man nichts fragt, bekommt man auch keine Antworten, darum danke ich dir nochmals für DEINE Antwort ;)

Gruss Rico

Gernott

#500
(Deine schönen bunten Bilder haben nichts mit der Frage zu tun und sind daher hier überflüssig.)

Zurück zum Problem:
Die Programmversion ist mit meiner nicht identisch. Kann sein, daß es damit zusammenhängt, muß aber nicht.
Mache mal bitte folgendes:
Konvertiere Dein SVG (kann das Template sein) auf der Linux-Kommandozeile und bereinige es dann mit pngcrush, unter Verwendung der Schalter wie von mir oben angegeben.
Dann packst Du das Ergebnis dorthin wo der Kindle es abholt und schaust mal, was angezeigt wird.
Lade das Ergebnis (PNG) hier auch mal als Anhang hoch.

Bei solchen Sachen muß man sich schrittweise herantasten, um die Ursache einzugrenzen. Es liegt hier nicht an Fhem, sondern an den Convertern oder im Kindle selbst.

venuel79

#501
Es hat geklappt  ;D , zwar etwas abgewandelt, aber eigentlich so wie du es beschrieben hast!
Es wird jetzt im tmp ordner eine "staus.png" erstellt, dann habe ich es umgeleitet, und daraufhin wird eine 8bit "statusoutput.png" erstellt( hat auch vorher wie bei dir funktioniert, also war im tmp ordner erstellt,konnte es so aber nicht von der url abholen,keine ahnung warum, also hab ich es in den image ordner schreiben lassen.
Und was soll ich sagen....Es gibt sofort ein richtieges Bild, OHNE Verzerrung! Also lag es an den 24bit!
Danke dir 1000X !!! Hab jetzt den crohn job aus gestellt, OSS auf auto update, und sheduler+default wieder einkomentiert!
Und soeben, hat es das erste mal geupdatet ohne chron job :D!!!Und ohne verzertes Bild!!!!!DANKESCHÖÖÖNNN
Nun muss ich nur noch rausfinden ob das auch geht wenn er schlafen geht(hab die t2 noch auf 2000000)
Aber das mache ich morgen.
Denke nun solte beim Tocuh damit auch das Flackern weg sein.
Recht herzlichen dank!!!

DEF    
/opt/fhem/www/images/KindleDisplayVorlage.svg /opt/fhem/www/images/KindleDisplayState.svg 300


OSS :   IMAGE_URI="http://xxxx:xxxxxx@192.xxx.xxx.xx:8083/fhem/www/images/statusoutput.png"


PostCommand
   
(rsvg-convert --background-color=white /opt/fhem/www/images/KindleDisplayState.svg -o /tmp/status.png && pngcrush -q -c 0 -m 4 -nofilecheck /tmp/status.png /opt/fhem/www/images/statusoutput.png > /dev/null) &

venuel79

#502
ich bekomme das HTTPSRV nicht ans laufen :(
Hab eigentlich alles wie beschrieben gemacht.
Ausgangssituation ist:
/opt/fhem/kindle/KindleDisplayVorlage.svg /opt/fhem/kindle/KindleDisplayState.svg 300
und
(rsvg-convert --background-color=white /opt/fhem/kindle/KindleDisplayState.svg -o /tmp/status.png && pngcrush -q -c 0 -m 4 -nofilecheck /tmp/status.png /opt/fhem/kindle/statusoutput.png > /dev/null) &
und
kindle /opt/fhem/kindle Kindle Web
erzeugt bei mir leider nur eine weisse web seite auf der steht dann: File not found: /opt/fhem/kindle/index.html
wo bekomme ich diese index.html her, bzw wie wird diese eigentlich erzeugt?
Ansosnten läuft der Kindle jetzt echt gut mit dem OSS und der richtiegen bit grösse !! :) DANKE AN GERNOTT

UPDATE:
Hab mal weiter Probiert, jetzt wird bei Kindle Web angezeigt (siehe Bild unten, also die svg Ausgabe)
aber ich bekomme nirgends das KindleBatt reading angezeigt, habs auch mit " :8083/fhem/kindle?KindleBatt=43" versucht , dann wird mir wieder ein leere Seite angezeigt mit dem Text:
Illegal request: /kindle?KindleBatt=43

leider sind meine Kentnisse nicht so weitreichend, evtl kann mir jemand sagen was ich falsch mache.

Update, habs hinbekommen, das problem war im onlinescreensaver config stand KindleBatt2,
verwendet habe ich aber nur KindleBatt

venuel79

KindleBatt läuft jetzt, ABER wie bekomme ich es hin
einen Zweiten Kindle mit einer anderen SVG(wird bereits erzeugt)
auch damit zu verbinden?
wenn ich zb kindle web 2 anlege verschwindet Kindle web, auch weiteres umbenennen, hat nur dazu geführt das
auf dem ersten Kindle der Wert vom zweiten angezeigt wird...
hab beim zweiten auch die KindleBatt in KindleBattWZ umbenannt. hat auch nichts gebracht
Wie kann ich eine zweite kindle web anlegen ohne das die erste verschwindet, bzw alles dureinander kommt, oder geht das nur 1X
Anbei meine jetziege config für den ersten.damit funktioniert es super, steure mit einem doif einen osram plug zum laden an wenn unter 10%

Grüsse

venuel79

Beantworte ich mir mal meine frage selbst....
habe für die beiden anderen Kindle (jeweils ne eigene SVG Vorlage)
einfach jeweils noch ein HTTPSRV (kindlewebFLUR,kindlewebWZ) angelegt und in der OSS config den string dementsprechend benannt!

Jetzt geht es kann ich alle Kindle Batterie gesteuert laden, und die Ladung auch so wieder automatisch beenden.

Gruss

subseven

Gibt es für den KindlePW eigentlich auch einen gepatchten Screensaver, der den Batteriestatus an fhem schickt?

subseven

Zitat von: venuel79 am 25 Dezember 2018, 19:31:52
Beantworte ich mir mal meine frage selbst....
habe für die beiden anderen Kindle (jeweils ne eigene SVG Vorlage)
einfach jeweils noch ein HTTPSRV (kindlewebFLUR,kindlewebWZ) angelegt und in der OSS config den string dementsprechend benannt!

Jetzt geht es kann ich alle Kindle Batterie gesteuert laden, und die Ladung auch so wieder automatisch beenden.

Gruss

Bei mir hat es gereicht den QueryString einfach anzupassen. Dazu auf der fhem Seite das Attribut erweitern
attr kindleweb userattr readings
attr kindleweb readings KindleBatt1,KindleBatt2


und in der Config auf dem Kindle1 dann
QUERYSTRING=KindleBatt1

und in der Config auf dem Kindle2 dann
QUERYSTRING=KindleBatt2

er

Hallo Zusammen,

ich benötige etwas Unterstützung. Habe meinen Kindle Paperwhite soweit erfolgreich installiert, fhem läuft und die *.png wird korrekt erzeugt.
Soweit so gut.

Ich finde aber nicht die Datei config.sh auf dem Kindle zum Konfigurieren des onlinescreensaver.

Siehe unten.

Danke für eure Unterstützung
Grüßer ER



d) onlinescreensaver konfigurieren
Jetzt müsst ihr die config.sh Euren Bedürfnissen anpassen.

Wichtig: einen Linux-konformen Editor benutzen, zb. Notepad++, oder per ssh auf den Kindle und dort per vi

Hier sind insbesondere folgende Werte relevant:
  INTERVAL   ---> Aktualisierungsintervall in Minuten, z.B.
Code: [Auswählen]
INTERVAL=5
  IMAGE_URI ---> Pfad zur KindleDisplay.png, also
Code: [Auswählen]
IMAGE_URI="http://fhem-ip:8083/fhem/www/images/KindleDisplay.png"
  SCHEDULE  ---> Zeitplan, um die Updateintervalle für unterschiedliche Zeiträume zu definieren und so den Akku zu schonen


er

Hallo Zusammen,

hatte onlinescreensaver nicht in das Verzeichnis extensions kopiert.
Passt nun.

Gruß ER

er

Hallo Zusammen,

aktuell schläft mein Kindle paperwhite ohne Stromanschuss noch ein und aktuallisiert nicht mehr.
Dazu müsste ich die Datei t2_timeout ändert. Das funktioniert aber nicht.

Ich bekomme die Meldung: t2:timout: Read-only file system.
mntroot rw wirkt nicht. Das Laufwerk ist /etc/kdb.src/yoshime3/system/daemon/powerd.

Ein Tipp wäre toll

mfg

ER