Neues Modul für Abfallkalender ABFALL

Begonnen von uniqueck, 27 Januar 2016, 01:02:41

Vorheriges Thema - Nächstes Thema

is2late

#1335
Guten Morgen,
kuriose Sache:

Mein Müllkalender zählt niemals auf "0" herunter. Er bleibt auch am Leerungstag bei "1" und springt dann am selben Tag frühmorgens unvermittelt auf das nächste Leerungsintervall.  Ich nutze das Calendar- und Abfall-Modul; der Kalender im Abfall-Modul heisst "Muelltonnen", Aktualisierung 3600. Das ical-File liegt lokal unter /home/pi/Downloads.  Dann gibt es noch zwei DOIF, die aber wohl (evtl wegen des Ausgangsproblems) nicht funktionieren: doif_Abfallheute und doif_Abfallmorgen.

Welches Listing wird benötigt, um das erste Problem eingrenzen zu können?

Vielen Dank,
is2late
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

amenomade

Fang mal mit dem "list" vom Abfall Device an
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

is2late

Gern:

Internals:
   DEF        Muelltonnen_Kalender 3600
   FUUID      5eb28432-f33f-a080-1a2a-0c2de312922d96aa
   KALENDER   Muelltonnen_Kalender
   NAME       Muelltonnen
   NOTIFYDEV  Muelltonnen_Kalender
   NR         178
   NTFY_ORDER 50-Muelltonnen
   STATE      Bioabfälle, Leichtverpackungen in 6 Tag(en)
   TYPE       ABFALL
   OLDREADINGS:
   READINGS:
     2020-06-05 22:21:53   BioabfaelleLeichtverpackungen_date 11.06.2020
     2020-06-05 22:21:53   BioabfaelleLeichtverpackungen_days 6
     2020-06-05 22:21:53   BioabfaelleLeichtverpackungen_description Bioabfälle, Leichtverpackungen
     2020-06-05 22:21:53   BioabfaelleLeichtverpackungen_location Samtgemeinde Rodenberg, Lauenau
     2020-06-05 22:21:53   BioabfaelleLeichtverpackungen_text Bioabfälle, Leichtverpackungen
     2020-06-05 22:21:53   BioabfaelleLeichtverpackungen_uid 20200610T220000Z2320201033abfuhrawsshgde
     2020-06-05 22:21:53   BioabfaelleLeichtverpackungen_weekday Donnerstag
     2020-06-05 22:21:53   RestmuellPapier_date 02.07.2020
     2020-06-05 22:21:53   RestmuellPapier_days 27
     2020-06-05 22:21:53   RestmuellPapier_description Restmüll, Papier
     2020-06-05 22:21:53   RestmuellPapier_location Samtgemeinde Rodenberg, Lauenau
     2020-06-05 22:21:53   RestmuellPapier_text Restmüll, Papier
     2020-06-05 22:21:53   RestmuellPapier_uid 20200701T220000Z2620201033abfuhrawsshgde
     2020-06-05 22:21:53   RestmuellPapier_weekday Donnerstag
     2020-06-05 22:21:53   Restmuell_date  18.06.2020
     2020-06-05 22:21:53   Restmuell_days  13
     2020-06-05 22:21:53   Restmuell_description Restmüll
     2020-06-05 22:21:53   Restmuell_location Samtgemeinde Rodenberg, Lauenau
     2020-06-05 22:21:53   Restmuell_text  Restmüll
     2020-06-05 22:21:53   Restmuell_uid   20200617T220000Z2420201033abfuhrawsshgde
     2020-06-05 22:21:53   Restmuell_weekday Donnerstag
     2020-06-05 22:21:53   next            BioabfaelleLeichtverpackungen_6
     2020-06-05 22:21:53   next_date       11.06.2020
     2020-06-05 22:21:53   next_days       6
     2020-06-05 22:21:53   next_description Bioabfälle, Leichtverpackungen
     2020-06-05 22:21:53   next_location   Samtgemeinde Rodenberg, Lauenau
     2020-06-05 22:21:53   next_text       Bioabfälle, Leichtverpackungen
     2020-06-05 22:21:53   next_weekday    Donnerstag
     2020-06-05 22:21:53   state           6
Attributes:
   calendarname_praefix 0
   date_style date
   delimiter_reading |
   delimiter_text_reading und
   event-on-change-reading 1
   room       Kalender
   stateFormat next_text in next_days Tag(en)
   weekday_mapping Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

amenomade

Jetzt wäre ein entspr. VEVENT aus dem ical interessant
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

is2late

Hi Amenomade,

hoffe, das ist das Gesuchte:

23: VEVENT @250 [known]
    DESCRIPTION: Restmüll\, Papier
    DTEND: 20200605T040001Z
    DTSTAMP: 20200604T220000Z
    DTSTART: 20200605T040000Z
    LOCATION: Samtgemeinde
    ORGANIZER: DoNotReply@aws-shg.de
    SUMMARY: Restmüll\, Papier
    TRANSP: OPAQUE
    UID: 20200604T220000Z-2220201033@abfuhr.aws-shg.de
    >>> Events:
      20200604T220000Z2220201033abfuhrawsshgde         end                     05.06.2020 06:00-05.06.2020 06:00 Restmüll\, Papier  Samtgemeinde 
    >>> Skipped events:

24: VEVENT @261 [known]
    DESCRIPTION: Bioabfälle\, Leichtverpackungen
    DTEND: 20200611T040001Z
    DTSTAMP: 20200610T220000Z
    DTSTART: 20200611T040000Z
    LOCATION: Samtgemeinde
    ORGANIZER: DoNotReply@aws-shg.de
    SUMMARY: Bioabfälle\, Leichtverpackungen
    TRANSP: OPAQUE
    UID: 20200610T220000Z-2320201033@abfuhr.aws-shg.de
    >>> Events:
      20200610T220000Z2320201033abfuhrawsshgde    upcoming                     11.06.2020 06:00-11.06.2020 06:00 Bioabfälle\, Leichtverpackungen  Samtgemeinde 
    >>> Skipped events:


LG is2late
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

amenomade

#1340
Zitat von: is2late am 05 Juni 2020, 06:25:12
Er bleibt auch am Leerungstag bei "1" und springt dann am selben Tag frühmorgens unvermittelt auf das nächste Leerungsintervall. 
"frühmorgens" heisst bestimmt um 4 Uhr morgens? ;)

ZitatDTSTART: 20200605T040000Z
    DTEND: 20200605T040001Z
Das Event dauert nur genau eine Sekunde. Ich vermute, er springt doch auf 0, aber nur während dieser einen Sekunde um 4 Uhr morgens

EDIT: 4 Uhr UTC Zeit (Z am Ende), sprich vermutlich 6 Uhr bei dir.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

is2late

Ja, das könnte zeitlich hinkommen. Damit fällt der Verdacht dann auf das DOIF:
defmod doif_Abfallheute DOIF ([06:00] and [Muelltonnen:now_text] ne "") (set <pushbullet_name> message Heute wird [Muelltonnen:now_text] abgeholt)
attr doif_Abfallheute checkReadingEvent 1
attr doif_Abfallheute do always
attr doif_Abfallheute room Kalender

setstate doif_Abfallheute initialized
setstate doif_Abfallheute 2020-06-05 06:00:00 Device Muelltonnen
setstate doif_Abfallheute 2020-05-06 11:42:43 cmd 0
setstate doif_Abfallheute 2020-06-05 06:00:00 e_Muelltonnen_now_text Restmüll, Papier
setstate doif_Abfallheute 2020-05-25 08:58:06 mode enabled
setstate doif_Abfallheute 2020-05-06 11:42:43 state initialized
setstate doif_Abfallheute 2020-06-06 17:46:03 timer_01_c01 07.06.2020 06:00:00


Wenn das obige DOIF falsch ist, dann wohl auch das zweite:

efmod doif_Abfallmorgen DOIF ([18:00] and [Muelltonnen:next_days] == 1) (set <pushbullet_name> message Morgen wird [Muelltonnen:next_text] abgeholt)
attr doif_Abfallmorgen checkReadingEvent 1
attr doif_Abfallmorgen do always
attr doif_Abfallmorgen room Kalender

setstate doif_Abfallmorgen cmd_1
setstate doif_Abfallmorgen 2020-06-05 14:40:59 Device Muelltonnen
setstate doif_Abfallmorgen 2020-06-04 18:00:00 cmd 1
setstate doif_Abfallmorgen 2020-06-04 18:00:00 cmd_event timer_1
setstate doif_Abfallmorgen 2020-06-04 18:00:00 cmd_nr 1
setstate doif_Abfallmorgen 2020-06-05 14:40:59 e_Muelltonnen_next_days 6
setstate doif_Abfallmorgen 2020-05-25 08:58:45 mode enabled
setstate doif_Abfallmorgen 2020-06-04 18:00:00 state cmd_1
setstate doif_Abfallmorgen 2020-06-06 18:00:00 timer_01_c01 07.06.2020 18:00:00


Jedenfalls funktionieren beide nicht im gewünschten Sinne...

LG is2late
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

amenomade

Also... mit meiner Aussage
ZitatIch vermute, er springt doch auf 0, aber nur während dieser einen Sekunde um 4 Uhr morgens
habe ich dich vielleicht verwirrt.

Korrektur: er würde doch auf 0 springen, wenn genau in diesem Moment, eine Aktualisierung von den Readings des Kalenders stattfinden würde. Dann würde das DOIF wahrscheinlich auch triggern.

Das Problem ist: dein Kalender Device aktualisiert sich nur jede Stunde. Und zwar gegen *:21 Uhr. Somit verpasst Du sicher die einzige Sekunde, wo das Event stattfindet.

Dein Kalender jede Sekunde zu aktualisieren wäre schlecht. Damit würdest Du Fhem lahmlegen. Du musst was anderes überlegen.

Vielleicht mit einem at einmal die Aktualisierung um 4 UTC (bzw 6 lokal) forcieren. Das halte ich aber für eine unsichere Lösung. Die wahrscheinlichkeit, dass es irgendwann wieder versetzt ist, ist hoch. Schon bei einem Neustart von Fhem.

Dann bleibt nur irgendeine Zeitkalkulation im DOIF. Wird aber kompliziert.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

is2late

Oje, kompliziert ist gar nicht gut für mich....
Woran liegt es denn wohl, dass das Event nur eine Sekunde dauert? Es kann ja eigentlich nur ein selbst gemachtes Problem auf meiner Seite sein, da die Vielzahl der Múllkalender zu funktionieren scheint. Vielleicht wäre es am einfachsten, wenn ich einen funktionierenden Kalender übernehmen würde...allerdings funktioniert meine derzeitige Variante anderswo wohl korrekt, was befürchten liesse, dass auch eine neue Variante bei mir nicht  richtig laufen würde... Schöner Mist!

LG is2late
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

KyleK

Mein DOIF sieht ähnlich aus, nur dass ich das Abfall-Device nicht triggern lasse:
([21:30] and [?Muell:next_days] == 1) (set Echo_Wohnzimmer speak "Morgen erfolgt die [Muell:next_text] .")

Damit ist der einzige Auslöser für das DOIF die Zeit.

Vielleicht hilft das ja schon?
FHEM on Raspberry Pi 3B+
CUL868
7x MAX! Thermostat, 8x MAX! Fensterkontakte
Conbee II + deConz, TradFri Lampen, Osram Smart+ Steckdosen

nils_

Zitat von: is2late am 07 Juni 2020, 14:52:41
Woran liegt es denn wohl, dass das Event nur eine Sekunde dauert? Es kann ja eigentlich nur ein selbst gemachtes Problem auf meiner Seite sein, da die Vielzahl der Múllkalender zu funktionieren scheint.
wo hast du den Müllkalender denn her??
erzeugt das Calender Device nicht einen Event?
dann könntest du mit einem DOIF/notify darauf reagieren....
viele Wege in FHEM es gibt!

is2late

@KyleK: Danke. Hab mal versuchsweise die Zeiten in den beiden DOIFs geändert.

@nils_: Naja, ABFALL und MUELLTONNEN-Kalender (CALENDAR) hab ich dem Wiki entnommen und die Umsetzung für das UI (FUIP) dem Seminar https://shop.haus-automatisierung.com/. Da fanden sich auch die beiden DOIFs.
Ich hatte bei Muelltonnen event-on-change "1" statt ".*" eingetragen; hab das mal versuchsweise geändert.

LG is2late
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

amenomade

Zitat von: is2late am 08 Juni 2020, 15:29:59
@KyleK: Danke. Hab mal versuchsweise die Zeiten in den beiden DOIFs geändert.

@nils_: Naja, ABFALL und MUELLTONNEN-Kalender (CALENDAR) hab ich dem Wiki entnommen und die Umsetzung für das UI (FUIP) dem Seminar https://shop.haus-automatisierung.com/. Da fanden sich auch die beiden DOIFs.
Ich hatte bei Muelltonnen event-on-change "1" statt ".*" eingetragen; hab das mal versuchsweise geändert.

LG is2late

event-on-change-reading 1 führt nur dazu, dass gar kein Event mehr generiert wird (es gibt ja kein Event mit Text "calendarname 1")
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Porsti

Hi,

ich habe es bei mir so gemacht und funktioniert ohne Probleme.
Das Event ist bei mir auch nur die Uhrzeit und dann wird geschaut ob Morgen eine Müllart abgeholt wird.


([21:00])
(
IF ([Muellkal:AbfallCalendar_Wertstofftonne_days] == 1)
(set PUSHOVER msg title="Müllkalender" device="Handy-Tom" message="Morgen wird die Gelbe Tonne abgeholt")

IF ([Muellkal:AbfallCalendar_Hausmuell_days] == 1)
(set PUSHOVER msg title="Müllkalender" device="Handy-Tom" message="Morgen wird der Hausmüll abgeholt")

IF ([Muellkal:AbfallCalendar_Altpapier_days] == 1)
(set PUSHOVER msg title="Müllkalender" device="Handy-Tom" message="Morgen wird das Altpapier abgeholt")
)


Gruß
Porsti
____________________________________
fhem 6.2  auf Raspberry 3b
Homematic HM-CC-RT-DN / HM-TC-IT-WM-W-EU / HM-SEC-SCo / HM-LC-SW1-PL2
SIGNALduino, KNX (Merten, MDT, Siemens, ABB)

is2late

Okay, vielen Dank für Aufklärung und Code; ich werde es ausprobieren und berichten.
Porsti, was ist das? Ein DOIF kanns ja nicht sein. Wo hast Du das platziert?

LG is2late
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox