Ankündigung
Einklappen
Keine Ankündigung bisher.
Müllkalender in RGB LED
Einklappen
X
-
Ich hab hier ein neues Update hochgeladen, das auf Tester wartet.. https://github.com/onkelandy/plugins/tree/ical/ical
Bei mir kommt trotz 10 Sekunden Timeout beim erneuten Abrufen eines Onlinekalenders extrem oft ein Downloadfehler. Beim ersten Start funktioniert es hingegen immer. Keine Ahnung, ob es an mir liegt, zumal ich wohl generelle Netzprobleme zu haben scheine.
Einen Kommentar schreiben:
-
Hallo Andy, werde es am WE noch mal testen. ( hab es bisher noch nicht zum laufen gebracht )
Einen Kommentar schreiben:
-
Wie sieht es aus? Funzt alles? Hat sonst niemand Probleme mit https?
Einen Kommentar schreiben:
-
Kannst du es mal mit einem lokalen Kalender, also ohne https probieren? Du bräuchtest übrigens prio=1, da du ja die ersten Einträge nutzen willst.
Ich teste es dann mal mit deinem Kalender, wobei ich das eigentlich mit einem oben geposteten Eintrag schon gemacht hatte. Allerdings nur lokal.
Einen Kommentar schreiben:
-
Hallo Andy,
danke für Deine Unterstützung.....
Hab das Plugin mit Deinen Änderungen geladen
Nach jeder Änderung mach ich einen Neustart --> " sudo systemctl restart smarthome.service"
Wenn ich's richtig verstanden habe dann sollte es so aussehen:
Egal ob "prio=2" oder "prio=1" , der Kalender wird nicht gelesen.Code:kalender_abfall = sh.ical('http://192.168.178.44/smartVISU2.9/Glattbach-2019.ics', delta=30, offset=0, [MARKIEREN]prio=2[/MARKIEREN]) str_kalender_abfall = str(kalender_abfall) sh.kalender.abfall.text(str_kalender_abfall.lower())
Ohne "prio=x" wird der Kalender unverändert gelesen ( Problem: "Abfuhrtermin" und nix weiter )
Hab mal den Kalender angehängt ( *.ics umbenannt nach *.txt )Angehängte DateienZuletzt geändert von Haiphong; 04.02.2019, 00:54.
Einen Kommentar schreiben:
-
Ich denke, copy paste ist das Einfachste.
Habe nochmals ein Update hochgeladen: https://github.com/onkelandy/plugins/tree/ical/ical
Für Haiphong gibt es nun eine Lösung und zwar einen "prio" wert, der nach dem offset und delta angegeben werden kann. z.B. prio = 2, dann kommt die "schlechte" summary und description" Keine prio oder prio=1, dann bleibt der erste Eintrag erhalten.
Bezüglich des Linebreaks habe ich nun glaub auch eine gute Lösung, die sowohl auf Windows als auch Linux funktionieren sollte. Es ist bei manchen Einträgen bei mir tatsächlich so, dass eine Zeile mit "\n" anfängt. das wird nun glatt gebügelt. Falls es wo Probleme macht, schau ich nochmals drüber.
Wäre gut, ihr könntet die neue Version testen. Wenn alles klappt, kommt's in den offiziellen develop Zweig der Plugins.
Noch was anderes. Ich bekomme bei der Abfrage von https URLs folgenden Fehler: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1051). Der Server ist aber definitiv "sauber". Hat das Problem sonst noch jemand? Hätte schon eine Lösung parat.
Einen Kommentar schreiben:
-
Verstehe. Aber alle Linebreaks deshalb zu löschen macht auch wenig Sinn. Dazu müsste man einen iCal haben, der solche Breaks einfügt. Allerdings, und ich kenne das iCal-Format nicht so gut, sieht es so aus, dass das Format Zeilenbasiert ist, weil jede Zeile mit einem Kommando beginnt. Würde das anders sein, würde das alles durcheinanderbringen, spätestens dann, wenn zufällig ein "Kommando" gleichzeitig z.B. als Termin verwendet wird.Zitat von Onkelandy Beitrag anzeigenIch glaube zu wissen, wofür die eine Zeile mit dem Linebreak war. Eventuell gehen manche Einträge in der nächsten Zeile weiter, da sie sonst zu lang wären. Die werden aktuell ignoriert, ich schau mir das aber noch an.
Ich nutze im Übrigen auch dein Plugin jetzt. Die Installation ist allerdings etwas müßig. Geht das auch anders, also ohne Paste & Copy?
Einen Kommentar schreiben:
-
Haiphong Kuck nochmals in dein File. Da sind die letzten zwei Zeilen:
Woher auch immer die kommen. Jedenfalls wird vom Plugin nichts abgeschnitten. Das Einzige, was man machen könnte, wäre nur den ersten description-Eintrag heranzuziehen. Aber es könnte ja auch umgekehrt im ical drin stehen..? Oder vielleicht, dass der Eintrag mit "Language" Vorrang hat..? Besser wäre aber, das ical File zu korrigieren.Code:DESCRIPTION:ABFALLFRAKTION SUMMARY:ABFUHRTERMIN!
Einen Kommentar schreiben:
-
Was sehr schade ist.....
das Plugin wertet offensichtlich nach 'summary': / 'description':
nur das erste Wort nach dem Doppelpunkt und bis zum ersten Leerzeichen aus.
Was bei mir immer 'abfallfraktion', / 'abfuhrtermin!', ergibt.
Beispiel:
Im "iCal" Kalender steht folgendes:Code:tzinfo=tzfile('/usr/share/zoneinfo/europe/berlin')), 'categories': 'abfuhrtermine,'}], datetime.date(2019, 2, 25): [{'class': 'public', 'description': 'abfallfraktion', 'summary': 'abfuhrtermin!', 'location': 'glattbach', 'end': datetime.datetime(2019, 2, 25, 15, 0,
Code:DTSTART:20190225T050000Z DTEND:20190225T150000Z LOCATION;LANGUAGE=de:Glattbach TRANSP:OPAQUE SEQUENCE:0 UID:d6191b25babffd99b95d7abfb6440449 DTSTAMP:20190202T230700Z CATEGORIES;LANGUAGE=de:Abfuhrtermine, DESCRIPTION;LANGUAGE=de:[MARKIEREN]Abfuhrtermin [/MARKIEREN]Biomüllabfuhr in Glattbach am 25.02.2019 SUMMARY;LANGUAGE=de:[MARKIEREN]Abfuhrtermin[/MARKIEREN] Biomüllabfuhr am 25.02.2019 PRIORITY:5 CLASS:PUBLIC URL:http://paw-kuhs.de/ STATUS:CONFIRMED BEGIN:VALARM ACTION:DISPLAY TRIGGER:-PT1440M DESCRIPTION:ABFALLFRAKTION SUMMARY:ABFUHRTERMIN!
Einen Kommentar schreiben:
-
Man kann ja die Tage im Übrigen im Skript abfragen.
Ich habe das ein wenig anders gelöst. Deshalb gibt es hier mal mein Skript. Die Grundlage war sicherlich das Skript hier im Thread. Ich habe ein paar Änderungen vorgenommen. Folgendes habe ich angepasst:
- auch am Abholtag bis 8:00 Uhr wird die Farbe aktiviert
- da es sich um einen LED-Strip in meiner Diele ab Eingang handelt, leuchtet dieser nur, wenn die Tür geöffnet ist
- die vorherige Lichtfarbe wird zwischengespeichert und wieder hergestellt
- meine Items habe ich als Liste für RGB zusammengefasst
Hier die Logik, beide Varianten mit dem iCal funktionieren, also auch die auskommentierte. Bei der Variante ohne Pfad ist der Pfad in der plugin.yaml konfiguriert:
Hier das item mit relativen Einträgen:Code:if sh.EG.Diele.Tuer.geschlossen: if hasattr(logic, 'RGB_backup'): sh.EG.Diele.DALI.Decke.RGB.Farbwert(logic.RGB_backup) else: sh.EG.Diele.DALI.Decke.RGB.Farbwert([0, 0, 0]) else: logic.RGB_backup = [sh.EG.Diele.DALI.Decke.R.Dimmwert(), sh.EG.Diele.DALI.Decke.G.Dimmwert(), sh.EG.Diele.DALI.Decke.B.Dimmwert()] jetzt = sh.now() heute = jetzt.date() morgen = heute + datetime.timedelta(days=1) zeit = jetzt.time() zeitmax = zeit.replace(hour=8, minute=0, second=0, microsecond=0) #muellkalender = sh.ical('/usr/local/smarthome/muellkalender.ics', delta = 0, offset = 1) muellkalender = sh.ical('muell', delta=1, offset=0) for day in muellkalender: for event in muellkalender[day]: summary = event['Summary'] if day == heute and zeit < zeitmax or day == morgen and zeit >= zeitmax: # Papier: blau if 'Moselstraße - Papier' in str(summary): sh.EG.Diele.DALI.Decke.RGB.Farbwert([0, 0, 255]) # Restmüll: weiß if 'Moselstraße - Hausmüll' in str(summary): sh.EG.Diele.DALI.Decke.RGB.Farbwert([255, 255, 255]) # Biomüll: braun if 'Moselstraße - Biomüll' in str(summary): sh.EG.Diele.DALI.Decke.RGB.Farbwert([87, 35, 0]) # Gelber Sack: gelb if 'Moselstraße - Gelber Sack' in str(summary): sh.EG.Diele.DALI.Decke.RGB.Farbwert([255, 255, 0])
Code:Farbwert: type: list visu_acl: rw on_change: - ...R.Dimmwert = value[0] - ...G.Dimmwert = value[1] - ...B.Dimmwert = value[2] trigger: type: list eval: list([sh.....R.Dimmwert(), sh.....G.Dimmwert(), sh.....B.Dimmwert()]) eval_trigger: - ....R.Dimmwert - ....G.Dimmwert - ....B.Dimmwert on_change: ..self = value
Einen Kommentar schreiben:
-
Ich habe mir das auch noch mal genauer angesehen und auch meine ics-Datei (die enthält /n und /r). Die Zeile macht wirklich keinen Sinn. Evtl. könnte man da ein "\r" rein schreiben ... aber dann gehen möglicherweise MAC-Dateien nicht.Zitat von Onkelandy Beitrag anzeigenDas ical Plugin hab ich mir grad angesehen. Wozu die replace-Zeile gut ist/war, ist mir auch unklar.
Gut, dass du das Update gemacht hast bei github, dann brauche ich nicht darüber nachdenken, wie ich das da hochlade. ;-)
Einen Kommentar schreiben:


Einen Kommentar schreiben: