Ankündigung

Einklappen
Keine Ankündigung bisher.

Müllentsorgung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • SpawnY0815
    antwortet
    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 ?

    Einen Kommentar schreiben:


  • teasy1
    antwortet
    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:


  • hannibal29
    antwortet
    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
    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.

    Icons muss ich morgen mal schauen wenn ich zuhause bin. Bin aktuell unterwegs.

    Einen Kommentar schreiben:


  • thoern
    antwortet
    Stellst du uns die Icons zur Verfügung ? Wir hätten hier auch noche eine grüne Biotonne

    Gruß,
    thoern

    Einen Kommentar schreiben:


  • SpawnY0815
    antwortet
    Danke dir hannibal29! habe das direkt übernommen!

    Einen Kommentar schreiben:


  • thoern
    antwortet
    @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:


  • SirClaude
    antwortet
    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:


  • hannibal29
    antwortet
    Ja, Kalender ist nur ein Scan. Hier hab ich noch keine schönere Lösung gefunden.

    Einen Kommentar schreiben:


  • teasy1
    antwortet
    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:


  • thoern
    antwortet
    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:


  • hannibal29
    antwortet
    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
    Code:
    2015-01-02
    2015-01-15
    2015-01-29
    ...
    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 soll

    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="/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;
    Dieses Script wird nun über Exec-Bindung aufgerufen und in einer Rule verarbeitet. Hier beispielhaft mal für die gelbe Tüte.

    *.items
    Code:
    String Exec_TrashYellow {exec="<[/opt/openhab/shellscripts/trash.sh yellow:60000:REGEX((.*?))]"}
    String TrashYellow "Gelbe Tüte [%s]"
    *.rules
    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
    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.

    *.sitemap
    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"
                }
            }
    Damit sieht das Ganze bei mir wie folgt aus.

    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
    Angehängte Dateien

    Einen Kommentar schreiben:


  • mm1804
    antwortet
    Zitat von hmerk Beitrag anzeigen
    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
    Hi,

    coding Beispiele wären cool, danke!

    Gruß

    Einen Kommentar schreiben:


  • hmerk
    antwortet
    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:


  • kuschelganxta
    hat ein Thema erstellt Müllentsorgung.

    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:
    Code:
    04.12.  Grau
    11.12.  Bio
    16.12.  Gelb
    18.12.  Papier
    24.12.  Bio
    30.12.  Gelb
    01.01.  Grau
    Bei Änderung am Vortag gibt es dann eine Notification per habdroid und beim Verlassen eine Ansage, welcher Müll morgen geholt wird.

    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
    Sascha
Lädt...
X