Ankündigung

Einklappen
Keine Ankündigung bisher.

Müllkalender in RGB LED

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

  • Onkelandy
    antwortet
    Am besten du machst einen fork von https://github.com/smarthomeNG/plugins im develop branch. Klonst den dann auf deinen Rechner, machst die Änderung im pluggit Plugin, push der Änderung und Pull Request. Ich empfehle Github Desktop oder was Ähnliches, dann brauchst auch keine Befehle können.

    Das ical Plugin hab ich mir grad angesehen. Wozu die replace-Zeile gut ist/war, ist mir auch unklar. Funzt jedenfalls auch bei Online-Feed mit gelöschter Zeile. Ich habe noch ein paar kleine Updates gemacht und PR erstellt: https://github.com/smarthomeNG/plugins/pull/210

    Das obige Problem, dass bei delta=0 und offset=1 auch heute mitkommt, kann ich bei ersten Tests nicht bestätigen.

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Schluss mit Lachen! :-) Ich habe den Fehler gefunden. Anscheinend funktioniert jedes plugin, was ich nutzen will nicht richtig. Wo postet man denn Updates, damit die in folgende Versionen auch repariert werden. Das pluggit-Plugin ging nämlich auch nicht.

    Bitte in der init-Datei des plugins (__init__.py) folgendes ändern, dann werden auch lokale Kalender geladen. Bitte aber auch noch mal mit "http:"-Kalendern testen.

    Code:
        def _parse_ical(self, ical, ics):
            #skip = False
            events = {}
            tzinfo = self._sh.tzinfo()
            #ical = ical.replace('\n', '')
            for line in ical.splitlines():
    Das "ical = ical.replace('\n', '')" muss auskommentiert werden, weil sonst der gesamte Kalender in eine einzelne Zeile gepackt wird und dann funktioniert das nicht. Mir ist der Sinn auch nicht ganz klar, weil ja wie gesagt der Kalender danach in mehrere Zeilen gesplittet wird, die nach dem replace nicht mehr existieren. Ich vermute aber mal das hat was mit dem "\r" und "\n" zu tun. Hier werde ich noch mal genau testen und mein Kalender-File mit einem Hex-Editor anschauen. Fürs erste geht das aber jetzt mit lokalen Dateien.

    Einen Kommentar schreiben:


  • Simml
    antwortet
    Zitat von Cannon Beitrag anzeigen
    Ich habe das auch auf verschiedenen Wegen lokal probiert. Es läuft einfach nicht. Es gibt keine Fehlermeldung, der Kalender wird aber lokal geladen - hat nur eben keine Werte. Irgendwas scheint da mit dem plugin nicht in Ordnung zu sein.
    Hm ok dann eben doch via Webserver. Danke fürs ausprobieren.

    Zitat von Allesreinwasgeht Beitrag anzeigen
    gibt es noch etwas "deutscheres" als die Mülltonnenfarbe per Status im Smarthome. Ich werde nich wieder
    Haha das hat der Menscheit schon lang gefehlt. Dieser Gestank wenn die Mülltonnen Monate lang nicht geleert werden weil die Besitzer wieder an einer smarthome Mülltonnen RGB Leiste sparen.
    Aber damit ist jetzt endlich Schluss.

    Einen Kommentar schreiben:


  • Allesreinwasgeht
    antwortet
    gibt es noch etwas "deutscheres" als die Mülltonnenfarbe per Status im Smarthome. Ich werde nich wieder

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Ich habe das auch auf verschiedenen Wegen lokal probiert. Es läuft einfach nicht. Es gibt keine Fehlermeldung, der Kalender wird aber lokal geladen - hat nur eben keine Werte. Irgendwas scheint da mit dem plugin nicht in Ordnung zu sein.

    Einen Kommentar schreiben:


  • greentux
    antwortet
    Ich habe auch festgestellt, dass es lokal im Filesystem nicht geht (obwohl Logging sagt, dass der Kalender gefunden und eingelesen wurde), remote geht es dann prima.

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Simml Beitrag anzeigen
    Ja habe ich probiert, geht leider auch nicht. Eine Möglichkeit sehe ich noch darin, es auf dem eignen (bei mir am Raspbery) laufenden Webserver abzurufen. Hab das mal mit
    Ich will das die Tage auch mal testen ... denn es kann ja nicht sein, dass man nur dafür einen WebServer braucht ... ;-)

    Einen Kommentar schreiben:


  • Simml
    antwortet
    Zitat von Onkelandy Beitrag anzeigen
    Ich hab nicht geschaut, wie ical den Kalender abruft, aber hast du schon mal mit
    file:///usr/local/smarthome/logics/Abfuhrkalender-Gaissach-2019.ics
    probiert? Oder generell halt dem absoluten Pfad?
    Ja habe ich probiert, geht leider auch nicht. Eine Möglichkeit sehe ich noch darin, es auf dem eignen (bei mir am Raspbery) laufenden Webserver abzurufen. Hab das mal mit

    Code:
     sh.ical('http://192.168.178.40/smartVISU2.9/Abfuhrkalender-Gaissach-2019.ics',delta = 0, offset = 1)
    versucht. Funktionierte aber leider auch nicht. Gibts vielleicht noch einen anderen Webserver der auf dem Raspberry läuft, den man dafür verwenden könnte?

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Ich hab nicht geschaut, wie ical den Kalender abruft, aber hast du schon mal mit
    file:///usr/local/smarthome/logics/Abfuhrkalender-Gaissach-2019.ics
    probiert? Oder generell halt dem absoluten Pfad?

    Einen Kommentar schreiben:


  • Simml
    antwortet
    Zitat von Cannon Beitrag anzeigen

    Ich wollte genau das auch lösen, allerdings bin ich bisher nur zum kopieren das Kalenders gekommen .... :-) Insofern echt großartig!!!

    Müsste laut Dokumentation delta = 1, sein und offset = 0, damit das wirklich funktioniert?
    Ich wollte eigentlich, dass er nur den morgigen Tag einließt. Aber irgendie ließt der auch mit delta = 0 zwei Tage ein. Ich schmeiss seit neuestem den aktuellen Tag wie folgt wieder raus:

    Code:
    heute = sh.now().date()
        Muellcheck = sh.ical('http://lubiag.de/Downloads/Abfuhrkalender-Gaissach-2019.ics',delta = 0, offset = 1)
        #Muellcheck = sh.ical('/logics/Abfuhrkalender-Gaissach-2019.ics',delta = 0, offset = 1)
        if heute in Muellcheck:
            del Muellcheck[heute]
    den Kalender lokal auf meinem Raspberry abzurufen gelingt mir leider immer noch nicht.

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Simml Beitrag anzeigen
    Es wäre mir aber lieber, wenn ich die Datei lokal abspeichern und aufrufen könnte. Ich habe das wie folgt versucht, kann aber auf die Datei nicht zugreifen:
    Ich wollte genau das auch lösen, allerdings bin ich bisher nur zum kopieren das Kalenders gekommen .... :-) Insofern echt großartig!!!

    Müsste laut Dokumentation delta = 1, sein und offset = 0, damit das wirklich funktioniert?

    Einen Kommentar schreiben:


  • Simml
    antwortet
    Eine Sache würde ich gerne noch optimieren. Und zwar ziehe ich mir die ics Datei aktuell von einem eigenen Webserver wie folgt herunter:
    Code:
    [Muellcheck = sh.ical('http://lubiag.de/Downloads/Abfuhrkalender-Gaissach-2019.ics',delta = 0, offset = 1)
    Es wäre mir aber lieber, wenn ich die Datei lokal abspeichern und aufrufen könnte. Ich habe das wie folgt versucht, kann aber auf die Datei nicht zugreifen:
    Code:
    Muellcheck = sh.ical('/usr/local/smarthome/etc/Abfuhrkalender-Gaissach-2019.ics',delta = 0, offset = 1)
    Hier scheint wohl einer das selbe Problem zu haben.
    https://knx-user-forum.de/forum/supp...36#post1309436

    Hat eine Idee wie man die Datei lokal einbinden könnte?
    Zuletzt geändert von Simml; 23.01.2019, 20:13.

    Einen Kommentar schreiben:


  • Simml
    antwortet

    Danke für die Rückmeldungen.
    Konnte Dank eurer Hilfen große Fortschritte erzielen. Der erste Test war erfolgreich. Morgen wird bei uns Papier geleert und siehe da, die LEDs leuchten grün.
    Hier wie versprochen der Code dazu:

    #!/usr/bin/env python3
    # muell_to_rgb.py
    if sh.EG.Eingang.Licht() == 1:
    Muellcheck = sh.ical('http://lubiag.de/Downloads/Abfuhrkalender-Gaissach-2019.ics',delta = 0, offset = 1)
    print("Beginn Müllcheck")
    StringMuellcheck = str(Muellcheck)
    sh.EG.Eingang.RGB.R
    if "Papier" in StringMuellcheck:
    #Farbe grün
    print('Papierabfall')
    sh.EG.Eingang.RGB.R(0)
    sh.EG.Eingang.RGB.G(255)
    sh.EG.Eingang.RGB.B(0)

    if "Restabfall" in StringMuellcheck:
    #Farbe weiss
    print('Restmüll')
    sh.EG.Eingang.RGB.R(255)
    sh.EG.Eingang.RGB.G(255)
    sh.EG.Eingang.RGB.B(255)

    if "Bioabfall" in StringMuellcheck:
    #Farbe braun
    print('Bioabfall')
    sh.EG.Eingang.RGB.R(87)
    sh.EG.Eingang.RGB.G(37)
    sh.EG.Eingang.RGB.B(4)

    if "Verpackungstonne" in StringMuellcheck:
    #Farbe gelb
    print('Verpackungstonne')
    sh.EG.Eingang.RGB.R(255)
    sh.EG.Eingang.RGB.G(255)
    sh.EG.Eingang.RGB.B(0)

    if len(Muellcheck) == 0:
    #Farbe Rosa
    print('Keine Müllabfuhr morgen')
    sh.EG.Eingang.RGB.R(255)
    sh.EG.Eingang.RGB.G(0)
    sh.EG.Eingang.RGB.B(255)

    if sh.EG.Eingang.Licht() == 0:
    #Ausschalten wenn keiner da!
    sh.EG.Eingang.RGB.R(0)
    sh.EG.Eingang.RGB.G(0)
    sh.EG.Eingang.RGB.B(0)
    Muellanzeige_RGB.JPG


    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Smarthome.py -d ist ein möglicher Weg zum Debugging, aber bei weitem nicht der Beste. Über eine Konfiguration im loggin.yaml kann man sehr filigran einstellen, aus welchen Plugins, Logiken oder auch libs Debug Einträge geloggt werden sollen. Dann gehen die gesuchten Informationen nicht in der gesamten Flut der Debug Ausgaben unter.

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Ich starte für zum Debuggen shNG immer mit -d auf der console. Dann sieht man auch die print()-Anweisungen.

    Einen Kommentar schreiben:

Lädt...
X