Dies ist eine alte Version des Dokuments!
Siehe FHEM-Wiki http://www.fhemwiki.de/wiki/Digitaler_Bilderrahmen_mit_lcd4linux
Die Installation kann auf dem raspberry Pi selbst erfolgen oder auf einem dedizierten Rechner. Bei der Installation auf einem raspberry pi (2) sind mögliche Auswirkungen auf die Perfomance zu berücksichtigen.
Für diesen Fall benötigte Software:
lcd4linux sollte beim Hochfahren des Raspberry Pi automatisch starten.
In /opt/fhem wird zunächst die Datei getFHEM.sh angelegt und den individuellen Ansprüchen nach modifiziert:
#!/bin/bash # # script to read FHEM values # round() { echo $(LANG=C printf %.$2f $(echo "scale=$2;(((10^$2)*$1)+0.5)/(10^$2)" | bc)) }; # arg=$1 # #-- get FHEM values alarm='{Value("WZ.SPF.alarm")."|"}' warn='{Value("WZ.SPF.warn")."|"}' scharf='{AttrVal("AAA","level6xec","")}' aowb='{Value("A.OWB")}' aowbt='{Value("A.OWB.T")}' wzowm='{Value("WZ.OWM")}' nt5000a='{$defs{"nt5000"}{"STATE"}}' nt5000b='{$defs{"nt5000"}{"READINGS"}{"Wd"}{"VAL"}}' everb='{Value("E.Verb")}' gverb='{Value("G.Verb")}' FHEM=`echo -e "$alarm;$warn;$scharf;$aowb;$aowbt;$wzowm;$everb;$gverb;$nt5000b;$nt5000a" | socat -t50 - TCP:<IP-Adresse von FHEM> # #--isolate separate values alarm=`echo $FHEM | cut -d '|' -f1` warn=`echo $FHEM | cut -d '|' -f2 | sed 's/^ *//'` FHEM3=`echo $FHEM | cut -d '|' -f3` scharf=`echo $FHEM3 | awk '{print $1}' | sed 's/sharp/scharf/'` rHa=$(round `echo $FHEM3 | awk '{print $3}'` 0) Ta=$(round `echo $FHEM3 | awk '{print $15}'` 1) pa=$(round `echo $FHEM3 | awk '{print $12}'` 0) rHi=$(round `echo $FHEM3 | awk '{print $18}'` 0) Ti=$(round `echo $FHEM3 | awk '{print $21}'` 1) evp=$(round `echo $FHEM3 | awk '{print $27}'` 2) evw=$(round `echo $FHEM3 | awk '{print $24}'` 1) gvp=$(round `echo $FHEM3 | awk '{print $36}'` 2) gvw=$(round `echo $FHEM3 | awk '{print $33}'` 2) pvpraw=`echo $FHEM3 | awk '{print $42}'` pvp=$(round $pvpraw 2) pvw=$(round `echo $FHEM3 | awk '{print $41}'` 1) # if [ "$arg" == "show" ]; then echo "alarm=$alarm warn=$warn => $scharf; Climate=>$rHa $Ta $pa $rHi $Ti; PV=> $pvpraw $pvp $pvw; EV=> $evp $evw; GV=>$gvp $gvw" fi # #--create bar graphs ./createAlarm.sh "$alarm" "$warn" $scharf & ./createBar.sh $pvw 35 kWh $pvp kW 200x150 green PV solar.png & ./createBar.sh $evw 35 kWh $evp kW 200x150 blue EV strom.png & ./createBar.sh $gvw 20 m³ $gvp m³/h 200x150 red GV gas.png & ./createTemp.sh $Ti $rHi $Ta $rHa $pa & ./createDate.sh &
Diese Datei wird nun mit
crontab -e
in die Tabelle des cron-Dämons eingetragen (Ausführung hier minütlich):
/etc/lcd4linux.conf
Display dpf { Driver 'SamsungSPF' Port 'usb0' Model 'SPF-85H' Font '96x128' Foreground 'ffffff' Background '000000' Basecolor '000000' Backlight 7 Orientation 1 } Variables { tick 1000 dick 2000 pick 10000 minute 60000 hminute 30000 } Widget Foto { class 'Image' file '/root/back.png' update hminute reload 1 visible 1 inverted 0 } Widget Alarm { class 'Image' file '/root/alarm.png'+ update hminute reload 1 visible 1 inverted 0 } Widget Solar { class 'Image' file '/root/solar.png' update hminute reload 1 visible 1 inverted 0 } Widget Strom { class 'Image' file '/root/strom.png' update hminute reload 1 visible 1 inverted 0 } Widget Gas { class 'Image' file '/root/gas.png' update hminute reload 1 visible 1 inverted 0 Widget Temp { class 'Image' file '/root/temp.png' update hminute reload 1 visible 1 inverted 0 } Widget Date { class 'Image' file '/root/date.png' update hminute reload 1 visible 1 inverted 0 } ##################################################################### Display 'DPF' ##################################################################### Layout Normal { # X/Y exchanged !! Layer 1 { X0.Y0 'Foto' X450.Y0 'Alarm' X0.Y600 'Date' X150.Y600 'Temp' X450.Y600 'Strom' X450.Y400 'Solar' X450.Y200 'Gas' } }