Home of the Squeezebox™ & Transporter® network music players.
Results 1 to 2 of 2
  1. #1
    Senior Member DJanGo's Avatar
    Join Date
    Sep 2005
    Location
    Germany
    Posts
    2,374

    Linux (debian) Kein Wecker (bzw. Alarm) an Feiertagen

    Die nächsten Feiertage stehen vor der Tür und ich bin ja bekanntlich ein ganz fauler Hund und dazu stehe ich (und der Rest der Bagage) ungern an Feiertagen frueher auf, als notwendig.

    Achtung: Dieses Script stellt alle Alarme an einem Feiertag aus und am naechsten nicht Feiertag gnadenlos auch alle wieder an!

    Nachtrag der lms unterscheidet offenbar nur zwischen 1 und anderen Zahlen - ich habe zum Spass einfach den Wert auf 99 gesetzt und die Alarme waren trotzdem aus ;-)
    Da der LMS selber den Wert 99 nicht benutzt, ist die obere Warnung theotretisch obsolet, denn jetzt stellt das Script nur die Alarme wieder an, die es am Vortag auch ausgeschaltet hat - nicht mehr alle vorhandenen Alarme...

    Fallls Ihr nachts vor einem Feiertag einen Rescan macht, das wird vom Script erkannt und stoppt den Vorgang - also sinnvollerweise eine Uhrzeit fuer den Cronjob nehmen, an dem garantiert kein rescan laeuft.

    Für wen könnte das noch interessant sein?

    • Wohnhaft in Deutschland (ich nutze diese quelle und die kennt nur die deutschen Feiertage)
    • LMS auf einem Linux Server
    • alle die ihre ganzen Alarme / Wecker der diversen Player nicht an Feiertagen aktiv haben moechten.


    Dieses Script in /usr/local/bin abspeichern und ausfuehrbar machen.
    In der Wget Url den Wert HE bei state=HE gegen das eigene Bundesland tauschen -> quelle http://www.feiertage.net/frei-tage.php

    Moegliche Bundeslaender:
    • BW -> Baden-Württemberg
    • BY -> Bayern
    • BE -> Berlin
    • BB -> Brandenburg
    • HB -> Bremen
    • HH -> Hamburg
    • HE -> Hessen
    • MV -> Mecklenburg-Vorpommern
    • NI -> Nieder Sachsen
    • NW -> Nordrhein-Westfalen
    • RP -> Rheinland-Pfalz
    • SL -> Saarland
    • SN -> Sachsen
    • ST -> Sachsen-Anhalt
    • SH -> Schleswig-Holstein
    • TH -> Thüringen

    Zum test die raute in der Zeile #today='31.10.2017' entfernen und das Script starten.
    Danach sollten alle Alarme ausgeschaltet sein.
    Nun wieder diese Zeile entfernen oder mit einer raute auskommentieren und einen Cronjob anlegen, der fruehestens um 00:01 und spaetestens vor dem ersten Alarm startet.

    Damit die Änderungen in der Server.prefs übernommen werden - muß vorher der LMS gestoppt werden !

    Fertig.

    Viel Spass

    \edit²
    Eine Control Datei /var/lib/squeezeboxserver/prefs/alarm_off.prefs wird an einem Feiertag angelegt, damit an einem nicht Feiertag nicht unnötig der Server gestoppt und alle Alarme wieder auf aktiv gestellt werden.
    /edit²
    Code:
    #!/bin/bash
    
    #vars
    today=`date +'%d'.'%m'.'%Y'`
    #today='31.10.2017'
    my_year=`date +'%Y'`
    feiertage=~/feiertage_$my_year.csv
    
    if [ ! -f "$feiertage" ]
       then
       wget 'www.feiertage.net/csvfile.php?state=HE&year='$my_year'&type=csv' -O ~/feiertage_$my_year.csv
    fi
    
    grep $today "$feiertage" && (
            scanstatus=$(printf "rescan ?\nexit\n"|nc 127.0.0.1 9090|cut -d ' ' -f2)
            if [ "$scanstatus" = "1" ]
               then
               echo "lms is scanning ..wait 2 hours"
               sleep 2h
            fi
            service logitechmediaserver stop
            sed -i 's= _enabled: '\''1'\''= _enabled: '\''99'\''=g' /var/lib/squeezeboxserver/prefs/server.prefs
            grep enabled /var/lib/squeezeboxserver/prefs/server.prefs>/var/lib/squeezeboxserver/prefs/alarm_off.prefs
            service logitechmediaserver start
            ) || (
            if [ -f "/var/lib/squeezeboxserver/prefs/alarm_off.prefs" ]
               then
               service logitechmediaserver stop
               sed -i 's= _enabled: '\''99'\''= _enabled: '\''1'\''=g' /var/lib/squ
               service logitechmediaserver start
               rm /var/lib/squeezeboxserver/prefs/alarm.prefs
            fi
            )
    Last edited by DJanGo; 2017-10-11 at 03:28. Reason: Code geändert statt dem Wert 0 wird jetzt 99 genutzt, um nur die Alarme zu reaktivieren, die an einem Feitrag davor auch ausg

  2. #2
    Senior Member DJanGo's Avatar
    Join Date
    Sep 2005
    Location
    Germany
    Posts
    2,374

    Deutsch Linux (debian) Kein Alarm an Feiertagen

    Nachtrag:

    Wie schön es ist, wenn man(n) nach einer spontan entschlossenen Idee namens "ich mach mal den LMS komplett neu mit 64bit" - hier sein "Backup" findet und sich den ganzen Kram nicht noch mal von der Seele schreiben muß

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •