Ankündigung

Einklappen
Keine Ankündigung bisher.

Müllentsorgung

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

    #16
    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
    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"
    Itemdatei:
    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]"
    sitemap:
    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"]
                }
    Ruel für blaue Tonne:
    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


      #17
      Hi,

      Zitat von teasy1 Beitrag anzeigen
      Hallo,

      wollte das ganze mal übernehmen und klappt leider nicht. Habe zwei Dateien trash_yellow und trash_blue mit den einzelnen Terminen angelegt.
      also ich verwende dieses Skript zwar nicht, aber wenn ich mir das so anschaue...

      Code:
      #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"
      dann müssten die Datein so heissen:

      Code:
      trash_yellow.txt
      Gruß,
      thoern

      Kommentar


        #18
        Hallo,

        ja, heißen sie auch.
        Code:
        trash_black.txt, trash_yellow.txt und trash_blue.txt
        ich werde noch verrückt.

        Das hängt bestimmt mit meinem Linux-System zusammen. Habe Ubuntu 14.04 auf Odroid u3. Bin leider nicht der Linux-Fachmann.

        Kommentar


          #19
          Wie hast du deine trash.sh angefertigt? Über Windows?
          Musst auch schauen das dein openhab Benutzer Zugriff darauf hat.

          -Setzte durch z.b.
          Code:
          chown -R openhab:openhab /opt/openhab
          deine Dateien auf den openhab Benutzer. in meinem Fall "openhab"
          -Erstelle die trash.sh unbedingt unter Linux sonst hast du eine falsche Kodierung/Zeichenende ... z.B. per touch im richtigen Verzeichnis:
          Code:
          touch trash.sh

          Kommentar


            #20
            Alles versucht. Datei trash.sh gelöscht mit WINSCP. Dann auf der Konsole mit Putty und touch eine neue Datei trash.sh erzeugt. Diese dann mit nano mit Leben gefüllt. Anschließend die Rechte mit WINSCP kontrolliert. Die Datei sowie das neue Verzeichnis "shellscripts" haben die gleichen Rechte wie alle anderen Dateien z.B. item, sitemap, rule und auch den gleichen User.

            Dann noch einmal openhab neu gestartet und leider funktioniert das immer noch nicht.

            Meine Frau flucht schon, weil ich den ganzen Sonntag vor der Kiste sitze.

            Kommentar


              #21
              Ich weiß überhaupt nicht mehr wo ich noch nachschauen kann. Was muss den in den Logs stehen?? Hat einer ein Beispiel?
              In der openhab.cfg muss ich doch nichts mehr konfigurieren oder? Habe zumindestens nichts über das EXEC-Binding dort gefunden.

              Kommentar


                #22
                Ne in der cfg musst du nichts machen. Blöde Frage... Aber die trash_yellow hast schon mit Inhalt (wie im Beispiel gezeigt) gefüllt?

                Bei mir sieht das so aus:
                Code:
                2015-02-01 15:16:45 - Exec_TrashPaper state updated to 2015-04-25
                2015-02-01 15:16:45 - Exec_TrashBlack state updated to 2015-02-03

                Kommentar


                  #23
                  Gibt keine blöden Fragen. Hast mich schon unsicher gemacht. In den einzelnen trash-Dateien steht ntürlich Daten und zwar wie folgt:

                  Code:
                  2015-01-13
                  2015-01-27
                  2015-02-10
                  2015-02-24
                  2015-03-10
                  2015-03-24
                  2015-04-08
                  2015-04-21
                  Könnte das ein Formtierungsfehler sein ?? Aber ich habe ja nichts anderes gemacht, wie die anderen auch hier. Copypaste und die Pfade angepasst.

                  Kommentar


                    #24
                    Hmm dann wird es jetzt eng.
                    Die trash_yellow etc. sind auch im unix Format?

                    Ansonsten sind solche Probleme bei mir immer Tippfehler etc.

                    Kommentar


                      #25
                      Ja und bei mir steht immer:

                      Exec_TrashBlack state updated to

                      da kommt nichts.

                      Die trash_yellow.txt Dateien habe ich auch in Windows mit Notepad angelegt mit UTF-8 und anschließend mit WINSCP auf den odroid geschoben.

                      Kommentar


                        #26
                        Mach das nicht. Vermutlich stimmt das Zeilenende nicht.
                        Erstelle die Datei trash_yellow.txt über touch nochmal neu und schreib einfach mal ein Datum wie z.b. 2015-03-01 rein

                        Und wenn nimm NotePad++

                        Kommentar


                          #27
                          Sch....
                          Habe ich gerade gemacht. Alle trash_.... Dateien gelöscht. Exemplarisch die trash_yellow mit touch angelegt und anschließend mit nano vier Datumsangaben rein geschrieben.
                          Sicherheitshalber openhab nochmal neu gestartet und wieder kein positives Ergebnis.

                          Kommentar


                            #28
                            Es kommt einfach im events.log nichts an.

                            Kommentar


                              #29
                              Hast du denn mal versucht, das Shellscript direkt auf der Konsole auszuführen? Mit dem entsprechenden Parameter, also z.B. "./trash.sh yellow". Damit ließe sich zumindest eingrenzen ob es am Script liegt oder am Exec-Binding.

                              Kommentar


                                #30
                                Zitat von thoern Beitrag anzeigen
                                Stellst du uns die Icons zur Verfügung ? Wir hätten hier auch noche eine grüne Biotonne
                                So, hier mal die Icons. Für andere Farben einfach mit GIMP etc und Füllwerkzeug ändern.
                                Angehängte Dateien

                                Kommentar

                                Lädt...
                                X