Dienstag, 23. Oktober 2018

MediathekView - Online-Mediatheken öffentlich-rechtlicher Sender durchsuchen

Mit Hilfe der Anwendung MediathekView ist es möglich Online-Mediatheken verschiedener öffentlich-rechtlicher Sender zu durchsuchen.

Beim ersten Start dauert es etwas, bis die Datenbank aufgebaut ist. Mit jeweils einem Klick kann der Stream gestartet werden oder auch für später heruntergeladen werden.



Download unter https://mediathekview.de/download/ (Hinweis: Java 8 wird zusätzlich benötigt).

Samstag, 29. September 2018

Knoppix auf USB Stick installieren unter Windows

In diesem Beitrag will ich kurz erklären, wie man Knoppix auf einem USB Stick unter Windows installieren kann.
Knoppix ist eine kostenlose Open Source Live Linux-Kompilation. Es verfügt unter anderem über eine automatische Hardwareerkennung und basiert auf Debian GNU / Linux und verwendet eine LXDE-Desktop-Umgebung.


Folgende Komponenten sind notwendig:
Jetzt muss man nur noch den "Universal USB Installer" herunterladen und ausführen. Danach "KNOPPIX" auswählen und die zuvor heruntergeladene ISO-Datei auswählen.


Anschließend kann man seinen PC neustarten und vom USB-Gerät booten.

Sonntag, 23. September 2018

Push-Nachrichten von Webseiten im Firefox komplett abschalten

Jeder kennt das Problem, viele Webseiten fragen mittlerweile nach "Berechtigungen um Push-Nachrichten senden zu dürfen".

Eine schnelle Lösung um das Problem zu beheben, bietet jetzt der Firefox Browser von Mozilla:
  • Im Menü links "Einstellungen" wählen,
  • links "Datenschutz und Sicherheit" auswählen
  • und den Punkt "Benachrichtigungen" anklicken.

Montag, 27. August 2018

Regenradar - Bilder sammeln oder manuell abrufen

Auf der Internetseite des Bayerischen Rundfunk kann man sich für die jeweils letzten 3 Std. das aktuelle Regenradar anschauen. Auf dem Webserver selber werden aber die Daten der letzten 21 Tage zwischengespeichert.



Mit dem nachfolgenden Script getRadar.sh, kann man die Daten automatisch per Cron-Job oder manuell durch Parameter Übergabe abrufen.

wget http://www.shemel.de/download/bash/getRadar.sh
chmod +x getRadar.sh

Parameter Aufruf mit UTC Time
./getRadar.sh 2018-08-20 00:00:00

Cron-Job Aufruf (jede volle Std. mit 55min) für crontab -e
55  *  *  *  *       /home/pi/regen/getRadar.sh >> /home/pi/regen/myscript.log 2>&1



Quellcode: 


#!/bin/bash
#
echo '------------------------------------'
echo '| Hole Wetterradar-Daten von br.de |'
echo '| (c) Sebastian Hemel, 2018        |'
echo '------------------------------------'
echo ' '

#Aufruf per cron job am Besten jede volle Stunde mit 55min
#crontab -e
#55  *  *  *  *        /home/pi/regen/getRadar.sh >> /home/pi/regen/myscript.log 2>&1

#Beispiele der Dateien, Benamung erfolgt nach UTC (date -u), Bilder stehen ca. 10min nach der eigentlichern UTC Zeit zur Verfuegung
#http://www.br.de/wtr-data/img/radar_aroona/2018_08_08/aroona.radar.180808_0815.png
#http://www.br.de/wtr-data/img/radar_aroona/2018_08_08/aroona.radar.180808_0830.png
#http://www.br.de/wtr-data/img/radar_aroona/2018_08_09/aroona.radar.180809_1130.png
#
#Achtung beim Tageswechsel:
#http://www.br.de/wtr-data/img/radar_aroona/2018_08_20/aroona.radar.180820_2145.png => OK, 23:45
#http://www.br.de/wtr-data/img/radar_aroona/2018_08_20/aroona.radar.180820_2200.png => ERROR => http://www.br.de/wtr-data/img/radar_aroona/2018_08_21/aroona.radar.180820_2200.png

scriptFolder=/home/pi/aroona.radar.*
copyFolder=/home/pi/regen/radar

if [ $1 ]
  then
    echo Uebergabeparameter: $1 $2
    echo ' '
    Date=$1
    Time=$2
    DateTime=$Date' '$Time
    ##echo $DateTime
   
    DateArray=()
    for X in {00..59} ;                         # check every minute
    do
      # use manual date an time
      eval $(date -d "${DateTime}" -u +Y=%y\;m=%m\;d=%d\;H=%H\;M=%M)
      #eval $(date -d '2018-08-20 22:00:00' -u +Y=%y\;m=%m\;d=%d\;H=%H\;M=%M)
      M=$X
      [[ "$M" < "15" ]] && M=00                 # cater for octal clash
      M=$(((M/15)*15))
      ((M==0)) && M=00                             # the math returns 0, so make it 00
      ##echo $Y.$m.$d $H:$M
      DateArray+=($Y$m$d'_'$H$M)                # write in to array for the file name
    done
   
    #echo '--DateArray--'
    #for i in ${DateArray[@]}; do
    # echo $i
    #done
   
    # use manual date an time for the folder
    eval $(date -d "${DateTime}" -u +Y=%Y\;m=%m\;d=%d\;H=%H\;M=%M)
    DateTimePlusOneDay="${DateTime}+1 days"

    typeset -i i=0 max=${#DateArray[*]}
    while (( i < max ))
    do
        a=$( expr "$i" + 1 )
        # compare the array entries
        if [[ ${DateArray[$i]} != ${DateArray[$a]} ]]; then
            #catch error on midnight UTC
            if [ "$H" == "22" ]
                then
                    eval $(date -d "${DateTimePlusOneDay}" -u +Y=%Y\;m=%m\;d=%d\;H=%H\;M=%M)
                    echo "wget http://www.br.de/wtr-data/img/radar_aroona/"$Y"_"$m"_"$d"/aroona.radar."${DateArray[$i]}".png"
                    wget http://www.br.de/wtr-data/img/radar_aroona/"$Y"_"$m"_"$d"/aroona.radar."${DateArray[$i]}".png
                elif [ "$H" == "23" ]
                    then
                        eval $(date -d "${DateTimePlusOneDay}" -u +Y=%Y\;m=%m\;d=%d\;H=%H\;M=%M)
                        echo "wget http://www.br.de/wtr-data/img/radar_aroona/"$Y"_"$m"_"$d"/aroona.radar."${DateArray[$i]}".png"
                        wget http://www.br.de/wtr-data/img/radar_aroona/"$Y"_"$m"_"$d"/aroona.radar."${DateArray[$i]}".png
                    else
                        echo "wget http://www.br.de/wtr-data/img/radar_aroona/"$Y"_"$m"_"$d"/aroona.radar."${DateArray[$i]}".png"
                        wget http://www.br.de/wtr-data/img/radar_aroona/"$Y"_"$m"_"$d"/aroona.radar."${DateArray[$i]}".png
            fi      
            #echo "${DateArray[$i]}"
            #echo "wget http://www.br.de/wtr-data/img/radar_aroona/"$Y"_"$m"_"$d"/aroona.radar."${DateArray[$i]}".png"
            #wget http://www.br.de/wtr-data/img/radar_aroona/"$Y"_"$m"_"$d"/aroona.radar."${DateArray[$i]}".png
        fi
       i=i+1
    done  
   
########################################################################################################################################  
  else
    echo Es wurde kein Uebergabeparameter eingegeben! Verwenden Sie z.B. \"./getRadar.sh 2018-08-20 00:00:00\" UTC
    echo ' '
   
    DateArray=()
    for X in {00..59} ;                            # check every minute
    do
      eval $(date -u +Y=%y\;m=%m\;d=%d\;H=%H\;M=%M)
      M=$X
      [[ "$M" < "15" ]] && M=00                 # cater for octal clash
      M=$(((M/15)*15))
      ((M==0)) && M=00                             # the math returns 0, so make it 00
      ##echo $Y.$m.$d $H:$M
      DateArray+=($Y$m$d'_'$H$M)
    done
   
    # use manual date an time for the folder
    eval $(date -u +Y=%Y\;m=%m\;d=%d\;H=%H\;M=%M)

    typeset -i i=0 max=${#DateArray[*]}
    while (( i < max ))
    do
        a=$( expr "$i" + 1 )
        # compare the array entries
        if [[ ${DateArray[$i]} != ${DateArray[$a]} ]]; then
            #catch error on midnight UTC
            if [ "$H" == "22" ]
                then
                    eval $(date -d tomorrow -u +Y=%Y\;m=%m\;d=%d\;H=%H\;M=%M)
                    echo "wget http://www.br.de/wtr-data/img/radar_aroona/"$Y"_"$m"_"$d"/aroona.radar."${DateArray[$i]}".png"
                    wget http://www.br.de/wtr-data/img/radar_aroona/"$Y"_"$m"_"$d"/aroona.radar."${DateArray[$i]}".png
                elif [ "$H" == "23" ]
                    then
                        eval $(date -d tomorrow -u +Y=%Y\;m=%m\;d=%d\;H=%H\;M=%M)
                        echo "wget http://www.br.de/wtr-data/img/radar_aroona/"$Y"_"$m"_"$d"/aroona.radar."${DateArray[$i]}".png"
                        wget http://www.br.de/wtr-data/img/radar_aroona/"$Y"_"$m"_"$d"/aroona.radar."${DateArray[$i]}".png
                    else
                        eval $(date -u +Y=%Y\;m=%m\;d=%d\;H=%H\;M=%M)
                        echo "wget http://www.br.de/wtr-data/img/radar_aroona/"$Y"_"$m"_"$d"/aroona.radar."${DateArray[$i]}".png"
                        wget http://www.br.de/wtr-data/img/radar_aroona/"$Y"_"$m"_"$d"/aroona.radar."${DateArray[$i]}".png
            fi
        fi
       i=i+1
    done  
   
fi

#move files to folder
mv $scriptFolder $copyFolder

Sonntag, 19. August 2018

Raspberry Pi - automatischer reboot einmal am Tag

Mit dieser kurzen Anleitung startet der Raspberry Pi automatisch einmal am Tag neu.

Dies kann z.B. erforderlich sein, wenn gewisse Dienste nach einer längeren Laufzeit zum Absturz neigen.

Wechsel auf "root" Berechtigung vornehmen:
sudo su
Den crontab Editor vom root Benutzer öffnen:
sudo crontab -e
Hinweis: Evtl. kann anschließend eine Abfrage des zu verwendeten Editor erfolgen. Hier am besten 2 (nano) oder 3 (vim) auswählen.

Den folgenden Eintrag am Ende der Datei einfügen (der reboot erfolgt um 5 Uhr Nachts):
00 5 * * * sudo reboot
Hinweis: Alternative Ausführzeiten lassen sich schnell über crontab guru erstellen.

Die Datei mit "Ctrl" + "o" speichern ung mit "Ctrl" + "x" verlassen.

Jetzt den "root" Benutzer wieder verlassen mit "Ctrl" + "d".

Sonntag, 12. August 2018

Windows 10 - Cortana abschalten

Den digitalen Sprachassistenten von Microsoft kann man per Registry sehr schnell deaktivieren.

Editor mit dem folgenden Befehl aufrufen: regedit



Zu dem folgenden Schlüssel navigieren:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows
Jetzt muss ein neuer Schlüssel mit dem Namen Windows Search erstellt werden.


Über den DWORD Wert AllowCortana, lässt sich dann der Assistent Ein- (1) und Ausschalten (0).