Ich verzweifel so langsam.
Anbei einmal ein paar Auszüge aus meinen Dateien. Vielleicht sehe ich den Wald vor lauter Bäumen nicht mehr:
trash.sh
Itemdatei:
sitemap:
Ruel für blaue Tonne:
Anbei einmal ein paar Auszüge aus meinen Dateien. Vielleicht sehe ich den Wald vor lauter Bäumen nicht mehr:
trash.sh
Code:
#!/bin/bash #Aktuelles Datum einlesen (inkl. Uhrzeit) datum=$(date +%s) #Müllart aus 1. Argument einlesen trash_kind=$1 #entsprechend der gewählten Müllart die zu durchsuchende Datei festlegen trash_file="/etc/openhab/configurations/shellscripts/trash_$trash_kind.txt" #Schleife, die die Textdatei zeilenweise durchläuft, und beim 1. größeren Datum abbricht und dieses ausgibt #eingelesenes Datum ohne Zeit ist immer 00:00:00h #86399sec = 23:59:59h -> somit wird der aktuelle Tag mitgezählt while read datum_line do datum_line_sec=$(date -d $datum_line +%s) let datum_diff=$datum-$datum_line_sec if [ $datum_diff -lt 86399 ] then echo $datum_line exit 0 fi done < $trash_file echo "Error"
Code:
/* Muellabfuhr */ String Exec_TrashBlack {exec="<[/etc/openhab/configurations/shellscripts/trash.sh black:60000:REGEX((.*?))]"} String TrashBlack "Normaler Müll [%s]" String Exec_TrashYellow {exec="<[/etc/openhab/configurations/shellscripts/trash.sh yellow:60000:REGEX((.*?))]"} String TrashYellow "Gelber Sack [%s]" String Exec_TrashBlue {exec="<[/etc/openhab/configurations/shellscripts/trash.sh blue:60000:REGEX((.*?))]"} String TrashBlue "Blaue Tonne [%s]"
Code:
Frame label="Nächste Müll-Termine" { Text item=Datum Text item=TrashBlack icon="Trash_Black" valuecolor=["heute"="red","morgen"="orange"] Text item=TrashYellow icon="Trash_Yellow" valuecolor=["heute"="red","morgen"="orange"] Text item=TrashBlue icon="Trash_Blue" valuecolor=["heute"="red","morgen"="orange"] }
Code:
rule "Calculate trash dates blau" //aus Exec-Input Anzeige für Mülltermine berechnen when Time cron "0 0 1 * * ?" then var DateTime date_blue var DateTime date_now var String trash_blue date_blue = parse(""+Exec_TrashBlue.state) date_now = parse(""+now.getYear+"-"+now.getMonthOfYear+"-"+now.getDayOfMonth) if (date_now.equals(date_blue)) { trash_blue="heute" } else if (date_now.equals(date_blue.minusDays(1))) { trash_blue="morgen" } else if (date_now.equals(date_blue.minusDays(2))) { trash_blue="übermorgen" } else { trash_blue=date_blue.toString("dd.MM.yyyy") } TrashBlue.postUpdate(""+trash_blue) end
Kommentar