Seite 3 von 6

Re: Erweiterung Infobar Tango Layout

Verfasst: So 18. Dez 2022, 09:29
von thc09
udog hat geschrieben: Sa 17. Dez 2022, 23:37 Nuklar
Ich bin doch froh, dass es jetzt doch so ganz ohne Key geht.
Danke nochmals.
Werde das mit dem Cron auch noch testen.
Wem das reicht und wo es passt, warum nicht.
Differenz ist hier bei 3-4 Grad.

Zwecks Cron ...

Code: Alles auswählen

@reboot              /var/bin/dwdwetter.sh
*/15 * * * *         /var/bin/dwdwetter.sh

Re: Erweiterung Infobar Tango Layout

Verfasst: So 18. Dez 2022, 11:20
von BPanther
Hmm, hier in Berlin ist das max. mal 1 °C Unterschied zu dem, was ich vom Radiosender hole.

Re: Erweiterung Infobar Tango Layout

Verfasst: So 18. Dez 2022, 14:05
von thc09
:D , naja - was die im Radio auch immer behaupten.

Ich hab 4 aussen Messtellen verteilt auf 1000 qm, der Rest liegt hier noch rum. gegengeprüft mit Infrarotthermometer.
Ich messe auf dem flachen Land :) , der Kanal tut auch seinen Dienst. Je nach Windrichtung.
Das maximum sind hier 2 Stockwerke.

Du bist ja nur nen Steinwurf 8) weg, aber deutlich dichter bebaut und höher da.

Re: Erweiterung Infobar Tango Layout

Verfasst: So 18. Dez 2022, 17:28
von udog
jetzt mal das openweather getestet, ist natürlich auch ne Wucht mit Komma anzeige

hier mal mein Script ( funktioniert )
Stadt und Api Key vorrausgesetzt.

Code: Alles auswählen

#!/bin/sh

while true
STADT=
KEY=

do

WETTER_URL="https://api.openweathermap.org/data/2.5/weather?q="$STADT",de&appid=$KEY&units=metric&lang=de&mode=html"
TMP_FILE="/tmp/wetter.xml"


wget -q -O - "$WETTER_URL" > $TMP_FILE

# Temperatur
echo -n "Temperatur in $STADT : " > /tmp/infobar.txt
echo -n `cat $TMP_FILE | grep "Temperature" | head -n 1 | cut -d "<" -f2 | cut -d ">" -f2` >> /tmp/infobar.txt
echo -n "   " >> /tmp/infobar.txt

# Wind
# echo -n ", Wind: " >> /tmp/infobar.txt
echo -n `cat $TMP_FILE | grep "Wind" | head -n 1 | cut -d "<" -f2 | cut -d ">" -f2` >> /tmp/infobar.txt

rm -f $TMP_FILE

sleep 900
rm /tmp/infobar.txt

done

exit 0
2022-12-18_17h24_48.png

Re: Erweiterung Infobar Tango Layout

Verfasst: So 18. Dez 2022, 21:07
von BPanther
@thc09: Hehe, jo. Nur wenn man von der Stadt ausgeht, dann ist es dicht bebaut und immer ein paar Grad höher durch die Aufheizung als auf dem Land. Das wird wohl das Problem sein.

Derzeit:
DWD: -6°C
RBB 88.8: -6 °C
Accuweather: -6 °C
OpenWeatherMap: -5.4 °C - https://api.openweathermap.org/data/2.5 ... &mode=html
OpenWeatherMap: -5.2 °C - https://api.openweathermap.org/data/2.5 ... &mode=html

Das passt also recht gut.

Re: Erweiterung Infobar Tango Layout

Verfasst: So 18. Dez 2022, 21:26
von Don de Deckelwech
Hi,
der Vorteil von den Services mit Anmeldung und Keys war/ist wohl, dass man dort auch Infos bekommt, die näher am eigenen Ort liegen (ob die dann dort auch genauer sind, lass ich mal dahingestellt).
Aber im Beispiel NRW gibts beim DWD ganze 7 Orte von denen! Dass du mit 3 Stationen in Berlin/Brandenburg gut dabei bist ist klar, aber zw zB in meinem Fall Wuppertal und Düsseldorf-Flughafen oder Köln ist schon ein Unterschied.
Aber nem geschenkten Gaul schaut man nicht ins Maul! :) Danke.

Ciao,
DdD.

Re: Erweiterung Infobar Tango Layout

Verfasst: So 18. Dez 2022, 22:42
von BPanther
Mal das Script erweitert, wahlweise openWeatherMap oder DWD. bei openWeatherMap ist noch die Stadt und der Key erforderlich, bei DWD weiterhin die passende URL.

Code: Alles auswählen

#!/bin/sh

OPENWEATHERMAP=0
TMP_FILE="/tmp/wetter.xml"
ZIEL="/tmp/infobar.txt"

if [ "$OPENWEATHERMAP" == "1" ]; then
	STADT="Berlin Tempelhof"
	LAND="DE"
	KEY="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
	WETTER_URL="http://api.openweathermap.org/data/2.5/weather?q="$STADT",$LAND&units=metric&lang=de&appid=$KEY&mode=html"
	wget -q -O - "$WETTER_URL" > $TMP_FILE

	# Temperatur
	echo -n "$STADT aktuell: " > $ZIEL
	echo -n `cat $TMP_FILE | grep " Temperature" | head -n 1 | cut -d "<" -f2 | cut -d ">" -f2` >> $ZIEL

	# Luftfeuchtigkeit
	echo -n ", " >> $ZIEL
	echo -n `cat $TMP_FILE | grep "Humidity" | head -n 1 | cut -d "<" -f2 | cut -d ">" -f2 | sed "s/Humidity/Luftfeuchtigkeit/"` >> $ZIEL

	# Wind
	echo -n ", " >> $ZIEL
	echo -n `cat $TMP_FILE | grep "Wind" | head -n 1 | cut -d "<" -f2 | cut -d ">" -f2 | sed "s/Wind/Wind/"` >> $ZIEL

	# Luftdruck
	echo -n ", " >> $ZIEL
	echo -n `cat $TMP_FILE | grep "Pressure" | head -n 1 | cut -d "<" -f2 | cut -d ">" -f2 | sed "s/Pressure/Luftdruck/"` >> $ZIEL
else
	WETTER_URL="https://www.dwd.de/DE/wetter/wetterundklima_vorort/berlin-brandenburg/berlin_tempelhof/_node.html"
	wget -q -O - "$WETTER_URL" > $TMP_FILE

	# Temperatur
	echo -n "Berlin (Tempelhof) aktuell: " > $ZIEL
	echo -n `cat $TMP_FILE | grep " Grad" | head -n 1 | cut -d " " -f1 | cut -d ">" -f2` >> $ZIEL
	echo -n " °C" >> $ZIEL

	# Luftfeuchtigkeit
	echo -n ", Luftfeuchtigkeit: " >> $ZIEL
	echo -n `cat $TMP_FILE | grep "Prozent" | head -n 1 | cut -d " " -f1 | cut -d ">" -f2` >> $ZIEL
	echo -n " %" >> $ZIEL

	# Wind
	echo -n ", Wind: " >> $ZIEL
	echo -n `cat $TMP_FILE | grep "Kilometer" | head -n 1 | cut -d "<" -f2 | cut -d ">" -f2` >> $ZIEL
	echo -n " km/h" >> $ZIEL

	# Luftdruck
	echo -n ", Luftdruck: " >> $ZIEL
	echo -n `cat $TMP_FILE | grep "Hektopascal" | head -n 1 | cut -d " " -f1 | cut -d ">" -f2` >> $ZIEL
	echo -n " hPa" >> $ZIEL
fi

rm -f $TMP_FILE
Schaut dann so aus mit openWeatherMap:
ib_wetter3.png

Re: Erweiterung Infobar Tango Layout

Verfasst: So 18. Dez 2022, 23:07
von udog
würde ja das mit dem Cron mal testen.
Kann mir denn jemand sagen, ob das im aktuellen Git ist ( ob ich das schon mit baue ? ), bzw, wo der Ordner dafür ist sein soll?
Einfach selbst anlegen bringt ja sicher nichts.

Re: Erweiterung Infobar Tango Layout

Verfasst: So 18. Dez 2022, 23:13
von BPanther
Das mit cron habe ich ja oben beschrieben - und ja, selbst ggf. anlegen. Gestartet wird crond dann z.B. in der rcS mit:

Code: Alles auswählen

		chmod 600 /var/spool/cron/crontabs/*
		crond -b -c /var/spool/cron/crontabs

Re: Erweiterung Infobar Tango Layout

Verfasst: So 18. Dez 2022, 23:27
von udog
Mal das Script erweitert, wahlweise openWeatherMap oder DWD. bei openWeatherMap ist noch die Stadt und der Key erforderlich, bei DWD weiterhin die passende URL.
Wenn jemand keinen Key hat, finde ich die Lösung gut.

Re: Erweiterung Infobar Tango Layout

Verfasst: So 18. Dez 2022, 23:39
von BPanther
Hatte auch keinen, einfach mit G suchen, dann findet man mehr als genug... :)

Re: Erweiterung Infobar Tango Layout

Verfasst: Di 20. Dez 2022, 15:19
von udog
Photomontage !
2022-12-20_14h43_12.png
Nur mal so...
gehen den Graphiken überhaupt einzubinden ?
Zumal man die Leiste in der Höhe verändern müsste :mrgreen:
Bei Openweather ist ja jede Menge Material.

https://openweathermap.org/weather-conditions

Auch könnte man aus dem Fenster schauen......... :totlach:

Re: Erweiterung Infobar Tango Layout

Verfasst: Di 20. Dez 2022, 16:19
von thc09
Da muss man erst die Eisblumen wegkratzen. :D

Eine Umrechnung nach Km/Stunde wäre auch schön.
Shell iss ja nicht, Müsste wieder AWK dran glauben.

Re: Erweiterung Infobar Tango Layout

Verfasst: Di 20. Dez 2022, 16:32
von BPanther
@udog: Nein, ist nur eine Text-Bar.

@thc09: Ja gut, das mit m/s -> km/h ist weniger das Problem, dazu muß man allerdings dann die komplette Zeile für den Wind zerlegen in Wert - der wird mit 3.6 multipliziert - und neu km/h als Anhang.

Re: Erweiterung Infobar Tango Layout

Verfasst: Di 20. Dez 2022, 16:59
von BPanther
Hier das fertige Script. :)

Code: Alles auswählen

#!/bin/sh

OPENWEATHERMAP=0
TMP_FILE="/tmp/wetter.xml"
ZIEL="/tmp/infobar.txt"
#ZIEL="/dev/stdout"

if [ "$OPENWEATHERMAP" == "1" ]; then
	STADT="Berlin Tempelhof"
	LAND="DE"
	KEY="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
	WETTER_URL="http://api.openweathermap.org/data/2.5/weather?q="$STADT",$LAND&units=metric&lang=de&appid=$KEY&mode=html"
	wget -q -O - "$WETTER_URL" > $TMP_FILE

	# Bild-URL
#	echo `cat $TMP_FILE | grep "url(&quot;http" | head -n 1 | cut -d "(" -f2 | cut -d ";" -f2 | cut -d "&" -f1`

	# Temperatur
	echo -n "$STADT aktuell: " > $ZIEL
	echo -n `cat $TMP_FILE | grep " Temperature" | head -n 1 | cut -d "<" -f2 | cut -d ">" -f2` >> $ZIEL

	# Luftfeuchtigkeit
	echo -n ", " >> $ZIEL
	echo -n `cat $TMP_FILE | grep "Humidity" | head -n 1 | cut -d "<" -f2 | cut -d ">" -f2 | sed "s/Humidity/Luftfeuchtigkeit/"` >> $ZIEL

	# Wind
	echo -n ", Wind: " >> $ZIEL
	echo -n `awk -v "a=$(cat $TMP_FILE | grep "Wind" | head -n 1 | cut -d "<" -f2 | cut -d ">" -f2 | cut -d " " -f2)" -v "b=3.6" 'BEGIN {printf "%.1f", a*b}'` >> $ZIEL
	echo -n " km/h" >> $ZIEL

	# Luftdruck
	echo -n ", " >> $ZIEL
	echo -n `cat $TMP_FILE | grep "Pressure" | head -n 1 | cut -d "<" -f2 | cut -d ">" -f2 | sed "s/Pressure/Luftdruck/"` >> $ZIEL
else
	WETTER_URL="https://www.dwd.de/DE/wetter/wetterundklima_vorort/berlin-brandenburg/berlin_tempelhof/_node.html"
	wget -q -O - "$WETTER_URL" > $TMP_FILE

	# Bild-URL
#	echo `echo -n "https://www.dwd.de" && cat $TMP_FILE | grep "piktogram" | head -n 1 | cut -d "\"" -f4 | cut -d ";" -f2 | cut -d "?" -f1`

	# Temperatur
	echo -n "Berlin (Tempelhof) aktuell: " > $ZIEL
	echo -n `cat $TMP_FILE | grep " Grad" | head -n 1 | cut -d " " -f1 | cut -d ">" -f2` >> $ZIEL
	echo -n " °C" >> $ZIEL

	# Luftfeuchtigkeit
	echo -n ", Luftfeuchtigkeit: " >> $ZIEL
	echo -n `cat $TMP_FILE | grep "Prozent" | head -n 1 | cut -d " " -f1 | cut -d ">" -f2` >> $ZIEL
	echo -n " %" >> $ZIEL

	# Wind
	echo -n ", Wind: " >> $ZIEL
	echo -n `cat $TMP_FILE | grep "Kilometer" | head -n 1 | cut -d "<" -f2 | cut -d ">" -f2` >> $ZIEL
	echo -n " km/h" >> $ZIEL

	# Luftdruck
	echo -n ", Luftdruck: " >> $ZIEL
	echo -n `cat $TMP_FILE | grep "Hektopascal" | head -n 1 | cut -d " " -f1 | cut -d ">" -f2` >> $ZIEL
	echo -n " hPa" >> $ZIEL
fi

[ "$ZIEL" == "/dev/stdout" ] && echo ""
rm -f $TMP_FILE
EDIT: Nochmal geändert, Variable entfernt und in eine Zeile gelegt.
EDIT2: Die URL des Bildes kann auch angezeigt werden, ist aber nichts für die Infobar!