Okay - I got it after reading nicos weather script a little deeper. And I can confirm that it works on my KT3 with Firmware 5.8.
If someone has problems with online screensaver and the KT3 - i use the following:
wait_for() in util.h
Code:
wait_for () {
logger "wait_for() started"
### Enable CPU Powersave
CHECKCPUMODE=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor | grep -i "powersave"`
if [ ${CHECKCPUMODE} -eq 0 ]; then
echo powersave > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
logger "CPU powersave mode"
fi
### Disable Screensaver, no energysaving by powerd
# powerd buggy since 5.4.5 - https://www.mobileread.com/forums/showthread.php?t=235821
CHECKSAVER=`lipc-get-prop com.lab126.powerd status | grep -i "prevent_screen_saver:0"`
if [ ${CHECKSAVER} -eq 0 ]; then
lipc-set-prop com.lab126.powerd preventScreenSaver 1
logger "Disabled buggy energy saving"
fi
# calculate the time we should return
ENDWAIT=$(( $(currentTime) + $1 ))
# disable/reset current wakeup alarm
echo 0 > /sys/class/rtc/rtc$RTC/wakealarm
# set new wakeup time
echo $ENDWAIT > /sys/class/rtc/rtc$RTC/wakealarm
# suspend
logger "wait for device to resume from sleep, or for time out"
echo "mem" > /sys/power/state
logger "wait_for() finished"
}
update.sh:
Code:
#!/bin/sh
#
##############################################################################
#
# Fetch weather screensaver from a configurable URL.
# change to directory of this script
cd "$(dirname "$0")"
# load configuration
if [ -e "config.sh" ]; then
source config.sh
else
TMPFILE=/tmp/tmp.onlinescreensaver.png
fi
# load utils
if [ -e "utils.sh" ]; then
source utils.sh
else
echo "Could not find utils.sh in `pwd`"
exit
fi
# do nothing if no URL is set
if [ -z $IMAGE_URI ]; then
logger "No image URL has been set. Please edit config.sh."
return
fi
# enable wireless if it is currently off
if [ 0 -eq `lipc-get-prop com.lab126.cmd wirelessEnable` ]; then
logger "WiFi is off, turning it on now"
lipc-set-prop com.lab126.cmd wirelessEnable 1
DISABLE_WIFI=1
fi
# wait for network to be up
TIMER=${NETWORK_TIMEOUT} # number of seconds to attempt a connection
CONNECTED=0 # whether we are currently connected
while [ 0 -eq $CONNECTED ]; do
# test whether we can ping outside
/bin/ping -c 1 -w 2 $TEST_DOMAIN > /dev/null && CONNECTED=1
# if we can't, checkout timeout or sleep for 1s
if [ 0 -eq $CONNECTED ]; then
TIMER=$(($TIMER-1))
if [ 0 -eq $TIMER ]; then
logger "No internet connection after ${NETWORK_TIMEOUT} seconds, aborting."
break
else
sleep 1
fi
fi
done
if [ 1 -eq $CONNECTED ]; then
if wget -q $IMAGE_URI -O $TMPFILE; then
mv $TMPFILE $SCREENSAVERFILE
logger "Screen saver image updated"
# refresh screen
logger "Updating image on screen"
eips -f -g $SCREENSAVERFILE
else
logger "Error updating screensaver"
if [ 1 -eq $DONOTRETRY ]; then
touch $SCREENSAVERFILE
fi
fi
fi
# disable wireless if necessary
if [ 1 -eq $DISABLE_WIFI ]; then
logger "Disabling WiFi"
lipc-set-prop com.lab126.cmd wirelessEnable 0
fi