From b2316e705cf742ac9e811d3c3e200a8f21547bab Mon Sep 17 00:00:00 2001 From: Keine_Ahnung Date: Tue, 5 Feb 2013 20:09:41 +0100 Subject: Added switch_tv_light example, fixed filenames and attributes --- script/uactivity/activity/#10-syslog_demo | 42 +++++++++ script/uactivity/activity/#20-graphlcd_dbus2vdr | 54 +++++++++++ script/uactivity/activity/#20-switch_tv | 38 ++++++++ script/uactivity/activity/#20-switch_tv_light | 116 ++++++++++++++++++++++++ script/uactivity/activity/-10-syslog_demo | 42 --------- script/uactivity/activity/-20-graphlcd_dbus2vdr | 54 ----------- script/uactivity/activity/-20-switch_tv | 38 -------- 7 files changed, 250 insertions(+), 134 deletions(-) create mode 100755 script/uactivity/activity/#10-syslog_demo create mode 100755 script/uactivity/activity/#20-graphlcd_dbus2vdr create mode 100755 script/uactivity/activity/#20-switch_tv create mode 100755 script/uactivity/activity/#20-switch_tv_light delete mode 100644 script/uactivity/activity/-10-syslog_demo delete mode 100644 script/uactivity/activity/-20-graphlcd_dbus2vdr delete mode 100644 script/uactivity/activity/-20-switch_tv (limited to 'script/uactivity/activity') diff --git a/script/uactivity/activity/#10-syslog_demo b/script/uactivity/activity/#10-syslog_demo new file mode 100755 index 0000000..c1d98ec --- /dev/null +++ b/script/uactivity/activity/#10-syslog_demo @@ -0,0 +1,42 @@ +#!/bin/sh + +case "${1}" in + startup) + logger -t "uactivity [activity/$(basename ${0})]" "activity starting up" + [ "${2}" = "true" ] \ + && logger -t "uactivity [activity/$(basename ${0})]" "status \"user active\"" \ + || logger -t "uactivity [activity/$(basename ${0})]" "status \"user inactive\"" + logger -t "uactivity [activity/$(basename ${0})]" "ConfigDirectory: ${3}" + logger -t "uactivity [activity/$(basename ${0})]" "CacheDirectory: ${4}" + logger -t "uactivity [activity/$(basename ${0})]" "ResourceDirectory: ${5}" + ;; + started) + logger -t "uactivity [activity/$(basename ${0})]" "activity started" + [ "${2}" = "true" ] \ + && logger -t "uactivity [activity/$(basename ${0})]" "status \"user active\"" \ + || logger -t "uactivity [activity/$(basename ${0})]" "status \"user inactive\"" + logger -t "uactivity [activity/$(basename ${0})]" "ConfigDirectory: ${3}" + logger -t "uactivity [activity/$(basename ${0})]" "CacheDirectory: ${4}" + logger -t "uactivity [activity/$(basename ${0})]" "ResourceDirectory: ${5}" + ;; + shutdown) + logger -t "uactivity [activity/$(basename ${0})]" "activity shutting down" + [ "${2}" = "true" ] \ + && logger -t "uactivity [activity/$(basename ${0})]" "status \"user active\"" \ + || logger -t "uactivity [activity/$(basename ${0})]" "status \"user inactive\"" + logger -t "uactivity [activity/$(basename ${0})]" "ConfigDirectory: ${3}" + logger -t "uactivity [activity/$(basename ${0})]" "CacheDirectory: ${4}" + logger -t "uactivity [activity/$(basename ${0})]" "ResourceDirectory: ${5}" + ;; + running) + logger -t "uactivity [activity/$(basename ${0})]" "activity status changed" + [ "${2}" = "true" ] \ + && logger -t "uactivity [activity/$(basename ${0})]" "status \"user active\"" \ + || logger -t "uactivity [activity/$(basename ${0})]" "status \"user inactive\"" + logger -t "uactivity [activity/$(basename ${0})]" "ConfigDirectory: ${3}" + logger -t "uactivity [activity/$(basename ${0})]" "CacheDirectory: ${4}" + logger -t "uactivity [activity/$(basename ${0})]" "ResourceDirectory: ${5}" + ;; +esac + +exit 0 diff --git a/script/uactivity/activity/#20-graphlcd_dbus2vdr b/script/uactivity/activity/#20-graphlcd_dbus2vdr new file mode 100755 index 0000000..010dfbe --- /dev/null +++ b/script/uactivity/activity/#20-graphlcd_dbus2vdr @@ -0,0 +1,54 @@ +#!/bin/sh + +# Do not use the graphlcd plugin commandline or udev to connect the display. +# The display will be controlled only by this Script based upton user activity + +# Enter here the display specific values +# +DISPLAY="serdisp" +SKIN="sdc_240x128" +SWITCH_OFF_CMD="sdcmegtron_tool -b 0" +SWITCH_ON_CMD="" +# +# END OF CONFIG SECTION + + + +switch_lcd(){ + if [ "${1}" = "on" ]; then + # switch display on + [ -n "${SWITCH_ON_CMD}" ] && ${SWITCH_ON_CMD} + # connect the display to graphlcd + /usr/bin/dbus-send --system --type=method_call --dest=de.tvdr.vdr /Plugins/graphlcd de.tvdr.vdr.plugin.SVDRPCommand string:"connect" string:"${DISPLAY} ${SKIN}" + else + # disconnect the display from graphlcd + # " > /dev/null" because "--print-reply" + # --print-reply return not before graphlcd ist done with disconn + /usr/bin/dbus-send --system --type=method_call --print-reply --dest=de.tvdr.vdr /Plugins/graphlcd de.tvdr.vdr.plugin.SVDRPCommand string:"disconn" string:"${DISPLAY}" > /dev/null + # switch display off + [ -n "${SWITCH_OFF_CMD}" ] && ${SWITCH_OFF_CMD} + fi +} + + + +case "${1}" in + startup) + true + ;; + started) + [ "${2}" = "true" ] && switch_lcd on + ;; + shutdown) + switch_lcd off + ;; + running) + if [ "${2}" = "true" ]; then + switch_lcd on + else + switch_lcd off + fi + ;; +esac + +exit 0 diff --git a/script/uactivity/activity/#20-switch_tv b/script/uactivity/activity/#20-switch_tv new file mode 100755 index 0000000..c9bbf57 --- /dev/null +++ b/script/uactivity/activity/#20-switch_tv @@ -0,0 +1,38 @@ +#!/bin/sh + +switch_tv(){ + if [ "${1}" = "on" ]; then + # yaUSBir sometimes ignore the first command, send an existing dummy ir code + irsend -d /var/run/lirc/ya_usbir SEND_ONCE TV_DUMMY dummy + sleep 0.5 + irsend -d /var/run/lirc/ya_usbir SEND_ONCE TV_REMOTE on + else + # yaUSBir sometimes ignore the first command, send an existing dummy ir code + irsend -d /var/run/lirc/ya_usbir SEND_ONCE TV_DUMMY dummy + sleep 0.5 + irsend -d /var/run/lirc/ya_usbir SEND_ONCE TV_REMOTE off + fi +} + + + +case "${1}" in + startup) + true + ;; + started) + [ "${2}" = "true" ] && switch_tv on + ;; + shutdown) + switch_tv off + ;; + running) + if [ "${2}" = "true" ]; then + switch_tv on + else + switch_tv off + fi + ;; +esac + +exit 0 diff --git a/script/uactivity/activity/#20-switch_tv_light b/script/uactivity/activity/#20-switch_tv_light new file mode 100755 index 0000000..baae21f --- /dev/null +++ b/script/uactivity/activity/#20-switch_tv_light @@ -0,0 +1,116 @@ +#!/bin/sh + +set -u +set -e + +# Your Settings +# +LATITUDE="52.000000" +LONGITUDE="11.000000" +# http://search.cpan.org/~rkhill/DateTime-Event-Sunrise-0.0501/lib/DateTime/Event/Sunrise.pm#METHODS +ALTITUDE="-0.833" +SWITCH_ON_CMD="touch /tmp/tv_light" +SWITCH_OFF_CMD="rm -f /tmp/tv_light" +# +# End of user config +# apt-get install libdatetime-event-sunrise-perl + + + +JOB_ID_FILE="${4}/activity/jobid.$(basename ${0})" + + + +daylight(){ + export LATITUDE + export LONGITUDE + export ALTITUDE + +sunset="$(perl <<'EOF' 2> /dev/null + use DateTime; + use DateTime::Event::Sunrise; + use DateTime::Format::Strptime; + + my $latitude = $ENV{'LATITUDE'}; + my $longitude = $ENV{'LONGITUDE'}; + my $altitude = $ENV{'ALTITUDE'}; + + my $sunrise = DateTime::Event::Sunrise ->sunrise (longitude => $longitude, latitude => $latitude, altitude => $altitude, iteration => '1'); + my $sunset = DateTime::Event::Sunrise ->sunset (longitude => $longitude, latitude => $latitude, altitude => $altitude, iteration => '1'); + + my $strp = DateTime::Format::Strptime->new(pattern => '%H:%M %Y-%m-%d'); + print $strp->format_datetime($sunset->next(DateTime->now(time_zone=>'local'))); + + my $day_set = DateTime::SpanSet->from_sets(start_set => $sunrise, end_set => $sunset); + $day_set->contains(DateTime->now()) ? exit 1 : exit 0; +EOF +)" + + err=$? + if [ ${err} = 0 ]; then + echo "" + return 0 + elif [ ${err} = 1 ]; then + echo "${sunset}" + return 1 + else + echo "" + return 2 + fi +} + + + +delete_job(){ + if [ -f "${JOB_ID_FILE}" ]; then + JOB_ID="$(cat ${JOB_ID_FILE})" + atrm ${JOB_ID} 2> /dev/null + rm -f "${JOB_ID_FILE}" + fi +} + + + +switch_tv_light(){ + delete_job + if [ "${1}" = "on" ]; then + sunset="$(daylight)" + light=$? + if [ "${light}" = "1" ]; then + # daylight now, shedule "light on" for later + JOB_ID_TMP="$(echo "rm -f "${JOB_ID_FILE}"; ${SWITCH_ON_CMD}" | at ${sunset} 2>&1)" + JOB_ID="$(echo "${JOB_ID_TMP}" | tr -d '\n' | sed 's/^.*job \([0-9]*\).*$/\1/')" + echo "${JOB_ID}" > ${JOB_ID_FILE} + elif [ "${light}" = "0" ]; then + eval ${SWITCH_ON_CMD} + else + # Some error + eval ${SWITCH_OFF_CMD} + fi + else + eval ${SWITCH_OFF_CMD} + fi +} + + + +case "${1}" in + startup) + delete_job + ;; + started) + [ "${2}" = "true" ] && switch_tv_light on + ;; + shutdown) + switch_tv_light off + ;; + running) + if [ "${2}" = "true" ]; then + switch_tv_light on + else + switch_tv_light off + fi + ;; +esac + +exit 0 diff --git a/script/uactivity/activity/-10-syslog_demo b/script/uactivity/activity/-10-syslog_demo deleted file mode 100644 index c1d98ec..0000000 --- a/script/uactivity/activity/-10-syslog_demo +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh - -case "${1}" in - startup) - logger -t "uactivity [activity/$(basename ${0})]" "activity starting up" - [ "${2}" = "true" ] \ - && logger -t "uactivity [activity/$(basename ${0})]" "status \"user active\"" \ - || logger -t "uactivity [activity/$(basename ${0})]" "status \"user inactive\"" - logger -t "uactivity [activity/$(basename ${0})]" "ConfigDirectory: ${3}" - logger -t "uactivity [activity/$(basename ${0})]" "CacheDirectory: ${4}" - logger -t "uactivity [activity/$(basename ${0})]" "ResourceDirectory: ${5}" - ;; - started) - logger -t "uactivity [activity/$(basename ${0})]" "activity started" - [ "${2}" = "true" ] \ - && logger -t "uactivity [activity/$(basename ${0})]" "status \"user active\"" \ - || logger -t "uactivity [activity/$(basename ${0})]" "status \"user inactive\"" - logger -t "uactivity [activity/$(basename ${0})]" "ConfigDirectory: ${3}" - logger -t "uactivity [activity/$(basename ${0})]" "CacheDirectory: ${4}" - logger -t "uactivity [activity/$(basename ${0})]" "ResourceDirectory: ${5}" - ;; - shutdown) - logger -t "uactivity [activity/$(basename ${0})]" "activity shutting down" - [ "${2}" = "true" ] \ - && logger -t "uactivity [activity/$(basename ${0})]" "status \"user active\"" \ - || logger -t "uactivity [activity/$(basename ${0})]" "status \"user inactive\"" - logger -t "uactivity [activity/$(basename ${0})]" "ConfigDirectory: ${3}" - logger -t "uactivity [activity/$(basename ${0})]" "CacheDirectory: ${4}" - logger -t "uactivity [activity/$(basename ${0})]" "ResourceDirectory: ${5}" - ;; - running) - logger -t "uactivity [activity/$(basename ${0})]" "activity status changed" - [ "${2}" = "true" ] \ - && logger -t "uactivity [activity/$(basename ${0})]" "status \"user active\"" \ - || logger -t "uactivity [activity/$(basename ${0})]" "status \"user inactive\"" - logger -t "uactivity [activity/$(basename ${0})]" "ConfigDirectory: ${3}" - logger -t "uactivity [activity/$(basename ${0})]" "CacheDirectory: ${4}" - logger -t "uactivity [activity/$(basename ${0})]" "ResourceDirectory: ${5}" - ;; -esac - -exit 0 diff --git a/script/uactivity/activity/-20-graphlcd_dbus2vdr b/script/uactivity/activity/-20-graphlcd_dbus2vdr deleted file mode 100644 index 010dfbe..0000000 --- a/script/uactivity/activity/-20-graphlcd_dbus2vdr +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh - -# Do not use the graphlcd plugin commandline or udev to connect the display. -# The display will be controlled only by this Script based upton user activity - -# Enter here the display specific values -# -DISPLAY="serdisp" -SKIN="sdc_240x128" -SWITCH_OFF_CMD="sdcmegtron_tool -b 0" -SWITCH_ON_CMD="" -# -# END OF CONFIG SECTION - - - -switch_lcd(){ - if [ "${1}" = "on" ]; then - # switch display on - [ -n "${SWITCH_ON_CMD}" ] && ${SWITCH_ON_CMD} - # connect the display to graphlcd - /usr/bin/dbus-send --system --type=method_call --dest=de.tvdr.vdr /Plugins/graphlcd de.tvdr.vdr.plugin.SVDRPCommand string:"connect" string:"${DISPLAY} ${SKIN}" - else - # disconnect the display from graphlcd - # " > /dev/null" because "--print-reply" - # --print-reply return not before graphlcd ist done with disconn - /usr/bin/dbus-send --system --type=method_call --print-reply --dest=de.tvdr.vdr /Plugins/graphlcd de.tvdr.vdr.plugin.SVDRPCommand string:"disconn" string:"${DISPLAY}" > /dev/null - # switch display off - [ -n "${SWITCH_OFF_CMD}" ] && ${SWITCH_OFF_CMD} - fi -} - - - -case "${1}" in - startup) - true - ;; - started) - [ "${2}" = "true" ] && switch_lcd on - ;; - shutdown) - switch_lcd off - ;; - running) - if [ "${2}" = "true" ]; then - switch_lcd on - else - switch_lcd off - fi - ;; -esac - -exit 0 diff --git a/script/uactivity/activity/-20-switch_tv b/script/uactivity/activity/-20-switch_tv deleted file mode 100644 index c9bbf57..0000000 --- a/script/uactivity/activity/-20-switch_tv +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh - -switch_tv(){ - if [ "${1}" = "on" ]; then - # yaUSBir sometimes ignore the first command, send an existing dummy ir code - irsend -d /var/run/lirc/ya_usbir SEND_ONCE TV_DUMMY dummy - sleep 0.5 - irsend -d /var/run/lirc/ya_usbir SEND_ONCE TV_REMOTE on - else - # yaUSBir sometimes ignore the first command, send an existing dummy ir code - irsend -d /var/run/lirc/ya_usbir SEND_ONCE TV_DUMMY dummy - sleep 0.5 - irsend -d /var/run/lirc/ya_usbir SEND_ONCE TV_REMOTE off - fi -} - - - -case "${1}" in - startup) - true - ;; - started) - [ "${2}" = "true" ] && switch_tv on - ;; - shutdown) - switch_tv off - ;; - running) - if [ "${2}" = "true" ]; then - switch_tv on - else - switch_tv off - fi - ;; -esac - -exit 0 -- cgit v1.2.3