Ankündigung
Einklappen
Keine Ankündigung bisher.
Müllentsorgung
Einklappen
X
-
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.
-
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.
Einen Kommentar schreiben:
-
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++
Einen Kommentar schreiben:
-
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.
Einen Kommentar schreiben:
-
Hmm dann wird es jetzt eng.
Die trash_yellow etc. sind auch im unix Format?
Ansonsten sind solche Probleme bei mir immer Tippfehler etc.
Einen Kommentar schreiben:
-
Gibt keine blöden Fragen. Hast mich schon unsicher gemacht. In den einzelnen trash-Dateien steht ntürlich Daten und zwar wie folgt:
Könnte das ein Formtierungsfehler sein ?? Aber ich habe ja nichts anderes gemacht, wie die anderen auch hier. Copypaste und die Pfade angepasst.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
Einen Kommentar schreiben:
-
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
Einen Kommentar schreiben:
-
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.
Einen Kommentar schreiben:
-
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.
Einen Kommentar schreiben:
-
Wie hast du deine trash.sh angefertigt? Über Windows?
Musst auch schauen das dein openhab Benutzer Zugriff darauf hat.
-Setzte durch z.b.deine Dateien auf den openhab Benutzer. in meinem Fall "openhab"Code:chown -R openhab:openhab /opt/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
Einen Kommentar schreiben:
-
Hallo,
ja, heißen sie auch.ich werde noch verrückt.Code:trash_black.txt, trash_yellow.txt und trash_blue.txt
Das hängt bestimmt mit meinem Linux-System zusammen. Habe Ubuntu 14.04 auf Odroid u3. Bin leider nicht der Linux-Fachmann.
Einen Kommentar schreiben:
-
Hi,
also ich verwende dieses Skript zwar nicht, aber wenn ich mir das so anschaue...Zitat von teasy1 Beitrag anzeigenHallo,
wollte das ganze mal übernehmen und klappt leider nicht. Habe zwei Dateien trash_yellow und trash_blue mit den einzelnen Terminen angelegt.
dann müssten die Datein so heissen: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"
Gruß,Code:trash_yellow.txt
thoern
Einen Kommentar schreiben:
-
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: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"
sitemap: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]"
Ruel für blaue Tonne: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
Einen Kommentar schreiben:
-
Habe jetzt in die events.log geschaut und dort steht
Heißen denn deine Dateien auch trash_yellow.txt, oder nur yellow.txt?Code:Exec_TrashBlue state updated to Exec_TrashYellow state updated to Exec_TrashBlack state updated to
Einen Kommentar schreiben:


Einen Kommentar schreiben: