Ich habe es erst mit 1.6.1 und seit heute mit 1.6.2 am laufen und kann sagen es läuft. Habe auch noch ohne Probleme andere Trashs angelegt. Habe die Rule zwar etwas an mich angepasst aber das Grundgerüst ist 1:1 kopiert..
Kommen den Werte rein vom EXEC Item ?
Ankündigung
Einklappen
Keine Ankündigung bisher.
Müllentsorgung
Einklappen
X
-
Hallo,
wollte das ganze mal übernehmen und klappt leider nicht. Habe zwei Dateien trash_yellow und trash_blue mit den einzelnen Terminen angelegt. Die Dateien zusammen mit der trash.sh in das Verzeichnis /etc/openhab/configurations/shellscripts. Den Ordner Shellscripts habe ich vorher angelegt. Dann natürlich auch die Pfade in allen Dateien angepasst.
Habe auch eine zweite Rule für die blaue Tonne angelegt und abgeändert.
Sehe in der Sitemap nur einen Spiegelstrich. Im Log auch kein Fehler zu sehen.
Hat es vielleicht etwas mit dem Exec-Binding zu tun? Im Wiki steht etwas von old und new Format. Habe die 1.6.1 drauf.
Gruß Teasy
Einen Kommentar schreiben:
-
Das habe ich zuerst auch überlegt, mich dann aber dagegen entschieden. Wollte in jedem Fall das Datum in openhab haben, um hier alle Freiheiten zu haben. Ist aber im Prinzip Jacke wie Hose.Zitat von thoern Beitrag anzeigen@hannibal: eine Verbesserung hätte ich noch. Wenn du dein Shellskript gleich so geschrieben hättest, dass dieses die Strings "heute", "morgen" "übermorgen" bzw "<datum>" zurückgeben würde, könntest du dir die Rule sparen
Icons muss ich morgen mal schauen wenn ich zuhause bin. Bin aktuell unterwegs.
Einen Kommentar schreiben:
-
Stellst du uns die Icons zur Verfügung
? Wir hätten hier auch noche eine grüne Biotonne 
Gruß,
thoern
Einen Kommentar schreiben:
-
@hannibal: eine Verbesserung hätte ich noch. Wenn du dein Shellskript gleich so geschrieben hättest, dass dieses die Strings "heute", "morgen" "übermorgen" bzw "<datum>" zurückgeben würde, könntest du dir die Rule sparen.
Ist auf jeden Fall eine super Idee. Werde ich auch machen. Evtl lass ich mich noch per NotifyMyAndroid automatisch informieren.
Gruß,
thoern
Einen Kommentar schreiben:
-
Gibt es das bei Euch nicht von der Stadt als SMS Service? Wäre noch einfacher
Meine bietet das an Stadt Uster Online: SMS Dienste
Einen Kommentar schreiben:
-
Ja, Kalender ist nur ein Scan. Hier hab ich noch keine schönere Lösung gefunden.
Einen Kommentar schreiben:
-
Super,
genau so etwas habe ich gesucht. Hatte sowas Ähnliches schon in einem anderen Forum gesehen. Werde ich mal versuchen nachzubauen.
Vielen Dank.
Teasy
Einen Kommentar schreiben:
-
Das ist nett. Will ich auch haben...
Danke für die Beispiele. Läst sich der Kalender auch in HabDroid darstellen?
EDIT: Hab gerade gesehen, dass das nur ein JPG ist. Ist wahrscheinlich nur eine Kopie eines gedruckten Kalenders, oder?
Gruß,
thoern
Einen Kommentar schreiben:
-
Hi,
ich hol das Thema mal wieder hoch.
Stand vor kurzem vor dem gleichen Problem, dass ich gerne eine Anzeige auf meiner Visu haben wollte, wann welcher Müll geleert wird.
Habe mir dann mit einigen Beiträgen hier im Forum und etwas googlen auch eine 2-stufige Lösung mit Shellscript und Weiterverarbeitung in Openhab gebastelt.
Funktioniert für meine Zwecke aktuell super. Und da es evtl. dem ein oder anderen weiterhilft, will ich euch diese Lösung auch nicht vorenthalten. Vielleicht hat ja jemand auch noch ne Idee, wie man das ganze optimieren kann.
Et voila:
Termine der einzelnen Müllarten stehen je in einer Textdatei, z.B.
trash_yellow.txt
Diese Textdatei wird von einem Shellscript durchsucht und liefert das nächste gefundene Datum in der Liste zurück, über Parameter beim Aufruf wird dem Script übergeben, welche Datei (d.h. für welche Müllart) durchsucht werden sollCode:2015-01-02 2015-01-15 2015-01-29 ...
trash.sh
Dieses Script wird nun über Exec-Bindung aufgerufen und in einer Rule verarbeitet. Hier beispielhaft mal für die gelbe Tüte.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="/opt/openhab/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" exit 1;
*.items
*.rulesCode:String Exec_TrashYellow {exec="<[/opt/openhab/shellscripts/trash.sh yellow:60000:REGEX((.*?))]"} String TrashYellow "Gelbe Tüte [%s]"
Wie man das Datum in der Rule verarbeitet ist dabei grundsätzlich egal. Bei mir wird der nächste Termin ausgegeben, außer wenn der nächste Termin heute, morgen oder übermorgen ist. Dann wird der entsprechende Text ausgegeben und über die Sitemap farblich hervorgehoben.Code:rule "Calculate trash dates" //aus Exec-Input Anzeige für Mülltermine berechnen when Time cron "0 0 1 * * ?" then var DateTime date_yellow var DateTime date_now var String trash_yellow date_yellow = parse(""+Exec_TrashYellow.state) date_now = parse(""+now.getYear+"-"+now.getMonthOfYear+"-"+now.getDayOfMonth) if (date_now.equals(date_yellow)) { trash_yellow="heute" } else if (date_now.equals(date_yellow.minusDays(1))) { trash_yellow="morgen" } else if (date_now.equals(date_yellow.minusDays(2))) { trash_yellow="übermorgen" } else { trash_yellow=date_yellow.toString("dd.MM.yyyy") } TrashYellow.postUpdate(""+trash_yellow) end
*.sitemap
Damit sieht das Ganze bei mir wie folgt aus.Code:Text label="Müllabfuhr" icon="Trash_Brown" { Frame label="Nächste Termine" { Text item=NTP_Datum_Uhrzeit label="Datum [%1$td.%1$tm.%1$tY]" icon="calendar" Text item=TrashBrown icon="Trash_Brown" valuecolor=["heute"="red","morgen"="orange"] Text item=TrashYellow icon="Trash_Yellow" valuecolor=["heute"="red","morgen"="orange"] } Frame label="Müllkalender" { Image url="http://localhost:8080/images/myimages/trash_2015-01.jpg" } }
Zum Schluss hätte ich jetzt aber auch noch ein Frage:
Weiß jemand zufällig, ob es in OH möglich ist, dass wenn man das Bild in der Sitemap anklickt, dieses größer in einem Popup geöffnet wird?
Grüße
Hannibal
Einen Kommentar schreiben:
-
Hi,Zitat von hmerk Beitrag anzeigenHi,
meine Lösung sieht ähnlich aus.
Bei mir gibt es drei items (binToday, binTomorrow und binDayAfterTomorrow).
Ich lasse mit einem kleinen Javascript eine Textdatei mit Einträgen für Heute, Morgen und Übermorgen durchsuchen und bei gefundenem Wert die Farbe der Mülltonne an die items senden.
In der CometVisu lasse ich dann entsprechend der Farbwerte die farbigen Mülltonnen anzeigen.
Verspielt, aber sieht nett aus ;-)
Gruß
Hans-Jörg
coding Beispiele wären cool, danke!
Gruß
Einen Kommentar schreiben:
-
Hi,
meine Lösung sieht ähnlich aus.
Bei mir gibt es drei items (binToday, binTomorrow und binDayAfterTomorrow).
Ich lasse mit einem kleinen Javascript eine Textdatei mit Einträgen für Heute, Morgen und Übermorgen durchsuchen und bei gefundenem Wert die Farbe der Mülltonne an die items senden.
In der CometVisu lasse ich dann entsprechend der Farbwerte die farbigen Mülltonnen anzeigen.
Verspielt, aber sieht nett aus ;-)
Gruß
Hans-Jörg
Einen Kommentar schreiben:
-
Müllentsorgung
Hi,
ich wollte mal fragen, wie ihr die Smarterem-Müllfrage mit openhab abfangt.
Ich habe ein Item Trash, das von einem Shellskript gefüttert wird. In einer Datei sind die Termine:
Bei Änderung am Vortag gibt es dann eine Notification per habdroid und beim Verlassen eine Ansage, welcher Müll morgen geholt wird.Code:04.12. Grau 11.12. Bio 16.12. Gelb 18.12. Papier 24.12. Bio 30.12. Gelb 01.01. Grau
Wie macht ihr das denn? Google-Kalender?
IMHO wäre ein Binding für solch eine unsmarte Aufgabenstellung sinvoll. Wie seht ihr das?
Grüße
SaschaStichworte: -


Einen Kommentar schreiben: