FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: freddie am 06 Mai 2018, 21:01:17

Titel: Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: freddie am 06 Mai 2018, 21:01:17
Ich bin gerade dabei, mein Fhem via Ftui zu visualisieren. Hierzu habe ich die Beschreibung aus dem Wiki genutzt. Dort werden in den userReadings unter Anderem auch die Readings "now und "now_text" abgefragt. Nur: ich habe keine Readings für "now und "now_text", jedoch für "next" und "next_text"!
Ich nehme mal an, daß das der Grund ist, daß sich hier nur eine Mülltonne dreht. Wie bekomme ich diese Readings?

CU Freddie
Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: nils_ am 07 Mai 2018, 11:22:24
zeig uns mal ein list vom abfall device :)
Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: Otto123 am 07 Mai 2018, 11:34:02
Hi,

manche Readings kommen und gehen. In next steht drin in wieviel Tagen Du ein now Reading hast  ;D

Gruß Otto
Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: nils_ am 07 Mai 2018, 12:52:57
Zitat von: Otto123 am 07 Mai 2018, 11:34:02
manche Readings kommen und gehen. In next steht drin in wieviel Tagen Du ein now Reading hast  ;D
;D ;D ;D


ein next _sollte_ es ja eigentlich immer geben, egal wieviele Tage bis zum now-Reading noch sind :)
(now dann entsprechend nur am Tag der Abholung!)
Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: marcel151 am 24 August 2018, 07:50:39
Ich greife dieses Thema einmal wieder auf. Gestern Abend kam prompt die eingestellte Erinnerung für die Altpapier-Abholung heute, getriggert durch "next_text".
Dann sollte heute morgen die "finale" Erinnerung kommen, getriggert durch "now_text". Die kam aber leider nicht. Es ist heute nämlich auch kein Reading mit "now_text" aufgetaucht. Das Altpapier wird definitiv heute abgeholt, daran hat sich ja nichts geändert.

Ist das "now_text" aktuell nicht verfügbar?
Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: nicf6 am 09 November 2018, 17:09:10
Hallo zusammen,

ich push das Thema mal wieder nach oben und muss mich meinen Vorrednern anschließen.
Ich bekomme am Tag der Abholung auch keine "now" readings...
Hat denn mitlerweile jemand ähnliche Erfahrungen gemacht und evtl sogar eine Lösung dafür gefunden?

Viele Grüße ;-)
Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: nicf6 am 01 Dezember 2018, 16:21:12
Hallo Leute,

also nach wie vor keine Now Readings.. ich kann mich alst leider nur am Tag vorher erinnern lassen.
Am Tag der Leerung gibt es kein Now Reading.
Kann mit nicht erklären wie es dazu kommt. Funktioniert ja auch alles mit diesem Modul nur eben dieses Spezielle Reading kommt nicht.

Viele Grüße an alle :-)
Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: Otto123 am 01 Dezember 2018, 19:14:27
Hallo nicf6,

ich bin durch das Abfallmodul zum Calendar Modul gekommen ohne etwas darüber zu wissen.  ;)
Der anhaltenden Zustand des Abfallmoduls hat mich näher zum Calendar Modul geführt und weg von sich selbst.  :-X

Es hat mir gezeigt, dass es nicht sinnvoll ist unnütze Abhängigkeiten in sein System zu bauen, wenn man sie einfacher bauen kann. Ich wollte nur am Tag vorher und am Morgen des Termins an sich eine Ansage "die xxx Tonne wird geholt".
Ich habe mir einfach das Calendar Modul näher angeschaut und habe das Abfallmodul einfach weggelassen. Hier  (https://heinz-otto.blogspot.com/2018/07/kalender-in-fhem-einbinden.html)die ganze Story.

Gruß Otto
Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: nicf6 am 02 Dezember 2018, 14:52:27
Hallo Otto,

ich danke dir für deine Hinweise und den Link.
Im Grunde hast du natürlich recht, man kann dieses Thema auch anders lösen.
Nur dachte ich einfach warum das Rad neu erfinen und nicht das bereits Vorhandene Modul nutzen. Eine Meldung am Tag vorher wird mir ja auch ausgegeben nur eben aben Ereignistag eben nicht.
Da es nicht ganz so tragisch ist werde ich jetzt einfach mit der Situation leben das es bei mit kein Now Reading gibt, warum auch immer.

BTW deine Umsetzung hilft mir aber sicher noch für andere Kalenderbezogenen Themen die ich umsetzen möchte.

Schönen 1. Advent an alle  ;-)
Gruß nicf6
Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: Otto123 am 02 Dezember 2018, 22:04:01
Naja um bei deinem Gleichnis zu bleiben: Warum mit Zwillingsrädern fahren wenn ein Rad reicht?  :D

Hier noch mal die ganze Sache mit der "Tonne" - es ist am Ende ja nur ein at und der ganze Abfall "Summs" fällt weg  ::)
Der Kalender ist gleich geblieben und ja quasi schon da.  ;)
defmod Tonne dummy
attr Tonne room Abfall

defmod a_Tonne at *12:00:00 set Tonne {(my $evt=fhem('get AbfallKalender events format:custom="$S" limit:from=1d,to=1d');;;;$evt?$evt:"0")}
attr a_Tonne room Abfall

defmod di_AbholungAnsage3 DOIF ([?17:00 - 20:00] and [PIR1:"motion: on"] and [?Tonne:state] ne "0") ( set MyTTS volume 30, set MyTTS tts Morgen wird [Tonne:state] abgeholt)
attr di_AbholungAnsage3 cmdpause 1800
attr di_AbholungAnsage3 do always
attr di_AbholungAnsage3 room Abfall

defmod di_AbholungAnsage4 DOIF ([?06:00 - 10:00] and [PIR1:"motion: on"] and [?Tonne:state] ne "0") ( set MyTTS volume 30, set MyTTS tts Heute wird [Tonne:state] abgeholt)
attr di_AbholungAnsage4 cmdpause 1800
attr di_AbholungAnsage4 do always
attr di_AbholungAnsage4 room Abfall
Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: mpierce am 03 Januar 2019, 10:05:37
Moin!

Das Problem ist offensichtlich, dass ABFALL kein "now" bzw. "now_text" für Ganztagsereignisse generiert. Die Lösung dafür ist alle Abfalltermine im Kalender mit Start- und Endzeit zu begrenzen, z.B. 00:00 bis 17:00. Dann werden die Readings wie erwartet erstellt.

Ich habe letztes Jahr den entscheidenden Hinweis irgendwo im Forum gefunden, aber den Beitrag finde ich jetzt nicht sofort. Hoffe, dass ich euch damit weiterhelfen konnte.

Gruß
Mark
Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: Otto123 am 03 Januar 2019, 10:28:59
Hallo Mark,

das hat früher aber funktioniert, ich hatte nie etwas anderes als Ganztagstermine. Auch heute nicht, ich habe den Kalender nie geändert.
Ich halte es für einen sinnlosen Aufwand die Termine umzumodeln. Obwohl das Calendar Modul das sicher sogar automatisch könnte. Aber es geht auch ohne...

Gruß Otto
Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: su.puk am 07 Januar 2019, 14:55:01
Ich suche auch schon die ganze Zeit nach diesem Problem und bin eben auf diesen Post gestoßen...

Zum Test habe ich nun mal den Kalender mit einem SED-Befehl geändert und warte nun auf morgen ab ;-)
Bei mir war es kein ganztägiger Termin, sondern Start und Stop auf 06:00 Uhr morgens, ich habe den nun auf 00:00 - 09:00 gestellt, mal schauen was das für eine Auswirkung hat.

Hier noch der SED-Befehl, falls es jemand brauchen kann:

sed "s/^\(DTSTART:[0-9]\{8\}\)T\([0-9]\{6\}\)Z/\1T000000Z/g" "/opt/fhem/dateien/kalender/abfall_kalender.ics_NEW" | sed "s/^\(DTEND:[0-9]\{8\}\)T\([0-9]\{6\}\)Z/\1T090000Z/g" > "/opt/fhem/dateien/kalender/abfall_kalender.ics"


Meine Kalender Einträge:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:regio iT
BEGIN:VEVENT
UID:1f3f4856-0828-4f88-bd74-4e52d1c92d35
DTSTAMP:20190107T133817Z
SUMMARY;LANGUAGE=de:Restmülltonne 80 l - 360 l\, 2-wö
[b]DTSTART:20190107T060000Z
DTEND:20190107T060000Z[/b]
DESCRIPTION:Restmülltonne 80 l - 360 l\, 2-wö
LOCATION:Schröderweg\, Radevormwald
BEGIN:VALARM
ACTION:DISPLAY
TRIGGER;RELATED=START:-PT15M
DESCRIPTION:Restmülltonne 80 l - 360 l\, 2-wö
END:VALARM
END:VEVENT





EDIT:
Nach nun einigen Tagen warten muss ich leider sagen, dass das Ändern der Termine auch nichts gebracht hat...
"now" und "now_text" erscheinen leider nicht.
Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: ValleBL am 04 Juni 2019, 16:15:47
Gibt es hier mittlerweile einen workaround?
Das Problem besteht leider nach wie vor und ich würde mich so gerne am Tag der Abholung nochmal benachrichtigen lassen

Viele Grüße
Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: nils_ am 05 Juni 2019, 08:06:23
für was genau?

ich sehe kein list von mindestens einem device und kein auszug aus dem kalender, und und und.....?!


ich wurde heute benachrichtigt, also scheint es wohl ein now-reading zu geben ?!
Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: CoolTux am 05 Juni 2019, 08:24:44
@ValleBL
Nils hat Recht. Ohne ein list kann man Dir nicht helfen. Das Modul wird ausserhalb des FHEM Cores gepflegt und scheint schon länger nicht mehr verändert worden zu sein. Im Code kann ich aber zu mindest das setzen eines Reading now und now_text finden. Voraussetzung ist das bis zum Termin 0 Tage sind.
Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: ValleBL am 05 Juni 2019, 12:10:01
Mein doif:
([6:30] and [Muelltonnen:now_text] ne "")
( set teleBot _msg Heute wird [Muelltonnen:now_text] abgeholt)


Readings vom Abfall Modul
Biomuell_date
14.06.2019
2019-06-05 11:21:34
Biomuell_days
9
2019-06-05 11:21:34
Biomuell_description
Leerungserinnerung
2019-06-05 11:21:34
Biomuell_location
REUTHSTRASSE
2019-06-05 11:21:34
Biomuell_text
Biomuell
2019-06-05 11:21:34
Biomuell_uid
908432
2019-06-05 11:21:34
Biomuell_weekday
Samstag
2019-06-05 11:21:34
Papier_date
25.06.2019
2019-06-05 11:21:34
Papier_days
20
2019-06-05 11:21:34
Papier_description
Leerungserinnerung
2019-06-05 11:21:34
Papier_location
REUTHSTRASSE
2019-06-05 11:21:34
Papier_text
Papier
2019-06-05 11:21:34
Papier_uid
908455
2019-06-05 11:21:34
Papier_weekday
Mittwoch
2019-06-05 11:21:34
Restmuell_date
17.06.2019
2019-06-05 11:21:34
Restmuell_days
12
2019-06-05 11:21:34
Restmuell_description
Leerungserinnerung
2019-06-05 11:21:34
Restmuell_location
REUTHSTRASSE
2019-06-05 11:21:34
Restmuell_text
Restmuell
2019-06-05 11:21:34
Restmuell_uid
90846
2019-06-05 11:21:34
Restmuell_weekday
Dienstag
2019-06-05 11:21:34
ftui_datum
14.06.2019
2019-06-05 11:21:34
ftui_next
Biomuell_9
2019-06-05 11:21:34
next
Biomuell_9
2019-06-05 11:21:34
next_date
14.06.2019
2019-06-05 11:21:34
next_days
9
2019-06-05 11:21:34
next_description
Leerungserinnerung
2019-06-05 11:21:34
next_location
REUTHSTRASSE
2019-06-05 11:21:34
next_text
Biomuell
2019-06-05 11:21:34
next_weekday
Samstag
2019-06-05 11:21:34
state
9
2019-06-05 11:21:34


Ich hab am Tag der Abholung alle Readings überprüft und konnte nichts von einem now reading finden...
Die Benachrichtigung am Vorabend funktioniert einwandfrei.

Viele Grüße
Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: CoolTux am 05 Juni 2019, 12:35:45
Leider kann man so nichts erkennen

list ist ein FHEM Befehl welcher im FHEMWEB Konsole eingegeben werden kann

list DEVICENAME

Bitte noch einmal.
Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: nils_ am 05 Juni 2019, 12:37:42
so ist es nicht wirklich lesbar... //cooltux war schneller


wie oft bzw. wann aktualisierst du dein calender device??
Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: ValleBL am 05 Juni 2019, 14:17:54
Hi,

der Befehl war mir leider noch nicht bewusst.
Hier nun die listen vom Abfallmodul (Muelltonnen) und dem doif für die morgendliche Benachrichtigung:



Internals:
   DEF        Muelltonnen_Kalender 3600
   FUUID      5c437226-f33f-c9fe-244c-29f017deec3f9b54
   KALENDER   Muelltonnen_Kalender
   NAME       Muelltonnen
   NOTIFYDEV  Muelltonnen_Kalender
   NR         38
   NTFY_ORDER 50-Muelltonnen
   STATE      Biomuell in 9 Tag(en)
   TYPE       ABFALL
   OLDREADINGS:
   READINGS:
     2019-06-05 13:21:34   Biomuell_date   14.06.2019
     2019-06-05 13:21:34   Biomuell_days   9
     2019-06-05 13:21:34   Biomuell_description Leerungserinnerung
     2019-06-05 13:21:34   Biomuell_location REUTHSTRASSE
     2019-06-05 13:21:34   Biomuell_text   Biomuell
     2019-06-05 13:21:34   Biomuell_uid    908432
     2019-06-05 13:21:34   Biomuell_weekday Samstag
     2019-06-05 13:21:34   Papier_date     25.06.2019
     2019-06-05 13:21:34   Papier_days     20
     2019-06-05 13:21:34   Papier_description Leerungserinnerung
     2019-06-05 13:21:34   Papier_location REUTHSTRASSE
     2019-06-05 13:21:34   Papier_text     Papier
     2019-06-05 13:21:34   Papier_uid      908455
     2019-06-05 13:21:34   Papier_weekday  Mittwoch
     2019-06-05 13:21:34   Restmuell_date  17.06.2019
     2019-06-05 13:21:34   Restmuell_days  12
     2019-06-05 13:21:34   Restmuell_description Leerungserinnerung
     2019-06-05 13:21:34   Restmuell_location REUTHSTRASSE
     2019-06-05 13:21:34   Restmuell_text  Restmuell
     2019-06-05 13:21:34   Restmuell_uid   90846
     2019-06-05 13:21:34   Restmuell_weekday Dienstag
     2019-06-05 13:21:34   ftui_datum      14.06.2019
     2019-06-05 13:21:34   ftui_next       Biomuell_9
     2019-06-05 13:21:34   next            Biomuell_9
     2019-06-05 13:21:34   next_date       14.06.2019
     2019-06-05 13:21:34   next_days       9
     2019-06-05 13:21:34   next_description Leerungserinnerung
     2019-06-05 13:21:34   next_location   REUTHSTRASSE
     2019-06-05 13:21:34   next_text       Biomuell
     2019-06-05 13:21:34   next_weekday    Samstag
     2019-06-05 13:21:34   state           9
Attributes:
   calendarname_praefix 0
   date_style date
   delimiter_reading |
   delimiter_text_reading und
   event-on-change-reading .*
   room       00_Outdoor
   stateFormat next_text in next_days Tag(en)
   userReadings ftui_datum {ReadingsVal("Muelltonnen","now_text","") eq "" ? datumHeuteMorgen(ReadingsVal("Muelltonnen","next_date","")) : "heute";},ftui_next {ReadingsVal("Muelltonnen","now_text","") eq "" ? ReadingsVal("Muelltonnen","next","") : ReadingsVal("Muelltonnen","now","")."_0";;}
   weekday_mapping Montag Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag


Internals:
   DEF        ([6:30] and [Muelltonnen:now_text] ne "")
(set teleBot _msg Heute wird [Muelltonnen:now_text] abgeholt)
   FUUID      5cae3f46-f33f-c9fe-d9f4-4b5d8a37b715e521
   MODEL      FHEM
   NAME       di_AbfallHeute
   NR         116
   NTFY_ORDER 50-di_AbfallHeute
   STATE      cmd_1
   TYPE       DOIF
   VERSION    19303 2019-05-01 08:47:16
   READINGS:
     2019-06-05 13:21:34   Device          Muelltonnen
     2019-06-05 12:25:34   cmd             1
     2019-06-05 12:25:34   cmd_event       set_cmd_1
     2019-06-05 12:25:34   cmd_nr          1
     2019-06-05 12:21:30   mode            enabled
     2019-06-05 12:25:34   state           cmd_1
     2019-06-05 12:21:30   timer_01_c01    06.06.2019 06:30:00
   Regex:
     accu:
   attr:
     cmdState:
   condition:
     0          ::DOIF_time_once($hash,0,$wday) and ::ReadingValDoIf($hash,'Muelltonnen','now_text') ne ""
   days:
   devices:
     0           Muelltonnen
     all         Muelltonnen
   do:
     0:
       0          set teleBot _msg Heute wird [Muelltonnen:now_text] abgeholt
     1:
   helper:
     event      Biomuell_days: 9,Biomuell_text: Biomuell,Biomuell_date: 14.06.2019,Biomuell_weekday: Samstag,Biomuell_location: REUTHSTRASSE,Biomuell_description: Leerungserinnerung,Biomuell_uid: 908432,next: Biomuell_9,next_days: 9,next_text: Biomuell,next_date: 14.06.2019,next_weekday: Samstag,next_location: REUTHSTRASSE,next_description: Leerungserinnerung,9,Papier_days: 20,Papier_text: Papier,Papier_date: 25.06.2019,Papier_weekday: Mittwoch,Papier_location: REUTHSTRASSE,Papier_description: Leerungserinnerung,Papier_uid: 908455,Restmuell_days: 12,Restmuell_text: Restmuell,Restmuell_date: 17.06.2019,Restmuell_weekday: Dienstag,Restmuell_location: REUTHSTRASSE,Restmuell_description: Leerungserinnerung,Restmuell_uid: 90846,ftui_datum: 14.06.2019
     globalinit 1
     last_timer 1
     sleeptimer -1
     triggerDev Muelltonnen
     DOIF_eventas:
       cmd_nr: 1
       cmd: 1
       cmd_event: set_cmd_1
       state: cmd_1
     triggerEvents:
       Biomuell_days: 9
       Biomuell_text: Biomuell
       Biomuell_date: 14.06.2019
       Biomuell_weekday: Samstag
       Biomuell_location: REUTHSTRASSE
       Biomuell_description: Leerungserinnerung
       Biomuell_uid: 908432
       next: Biomuell_9
       next_days: 9
       next_text: Biomuell
       next_date: 14.06.2019
       next_weekday: Samstag
       next_location: REUTHSTRASSE
       next_description: Leerungserinnerung
       9
       Papier_days: 20
       Papier_text: Papier
       Papier_date: 25.06.2019
       Papier_weekday: Mittwoch
       Papier_location: REUTHSTRASSE
       Papier_description: Leerungserinnerung
       Papier_uid: 908455
       Restmuell_days: 12
       Restmuell_text: Restmuell
       Restmuell_date: 17.06.2019
       Restmuell_weekday: Dienstag
       Restmuell_location: REUTHSTRASSE
       Restmuell_description: Leerungserinnerung
       Restmuell_uid: 90846
       ftui_datum: 14.06.2019
     triggerEventsState:
       Biomuell_days: 9
       Biomuell_text: Biomuell
       Biomuell_date: 14.06.2019
       Biomuell_weekday: Samstag
       Biomuell_location: REUTHSTRASSE
       Biomuell_description: Leerungserinnerung
       Biomuell_uid: 908432
       next: Biomuell_9
       next_days: 9
       next_text: Biomuell
       next_date: 14.06.2019
       next_weekday: Samstag
       next_location: REUTHSTRASSE
       next_description: Leerungserinnerung
       state: 9
       Papier_days: 20
       Papier_text: Papier
       Papier_date: 25.06.2019
       Papier_weekday: Mittwoch
       Papier_location: REUTHSTRASSE
       Papier_description: Leerungserinnerung
       Papier_uid: 908455
       Restmuell_days: 12
       Restmuell_text: Restmuell
       Restmuell_date: 17.06.2019
       Restmuell_weekday: Dienstag
       Restmuell_location: REUTHSTRASSE
       Restmuell_description: Leerungserinnerung
       Restmuell_uid: 90846
       ftui_datum: 14.06.2019
   internals:
   intervalfunc:
   itimer:
   localtime:
     0          1559795400
   readings:
     0           Muelltonnen:now_text
     all         Muelltonnen:now_text
   realtime:
     0          06:30:00
   time:
     0          6:30
   timeCond:
     0          0
   timer:
     0          0
   timers:
     0           0
   trigger:
   triggertime:
     1559795400:
       localtime  1559795400
       hash:
   uiState:
   uiTable:
Attributes:
   do         always
   room       92_System
Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: Guddi am 13 Februar 2021, 00:34:08
Guten Abend,

es wurde hier zwar lange nicht mehr über das Thema geschrieben, jedoch wurde es meiner Meinung nach auch nie zufriedenstellend beantwortet. Ich stand neulich vor dem gleichen Problem und meine, im Code des Moduls den Grund für das Fehlverhalten gefunden zu haben.

Zunächst einmal: Das Modul funktioniert wie gewünscht, solange die Abholzeiten der Mülltonnen eine zeitliche Ausdehnung haben, also zum Beispiel 21.02.2021 - 6-9 Uhr. "*_days" springt dann auf 0, sobald der Startzeitpunkt des Termins überschritten wird. Das steht in Modul "ABFALL_getEvents.pm" in den Zeilen 259, 514, 546 und 619:

my $dayDiff = floor(($eventDate - time) / 60 / 60 / 24 + 1);

Solange $eventDate weniger als einen Tag in der Vergangenheit liegt, bleibt der Wert in Klammern zwischen Null und eins und floormacht daraus dann eine Null.

Das Problem beginnt, wenn die Abholzeiten der Mülltonnen keine zeitliche Ausdehnung kennen. In meinem Kalender sieht das beispielsweise so aus:

BEGIN:VEVENT
[b]DTSTART;VALUE=DATE:20210211[/b]
SUMMARY:Biotonne
PRIORITY:0
[b]DTEND;VALUE=DATE:20210211[/b]
UID:44a010cdc602e50800699afea14b0389
X-ID:900011054
DTSTAMP:20210211T010000Z
CLASS:PUBLIC
TRANSP:TRANSPARENT
STATUS:CONFIRMED
X-NOLISEXPORT:1
X-EXTRAKATEGORIE-ID:
X-EXTRAKATEGORIE:
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:Erinnerung Biotonne
TRIGGER:-PT720M
END:VALARM
END:VEVENT


Die Code-Zeile weiter oben würde damit zurechtkommen, aber das Problem liegt daran, dass das Modul Termine, die in der Vergangenheit liegen, nicht mehr aus dem Kalender abruft. Das erkennt man in Zeile 111:

# Action A04: get next uids for events
@termine = split(/\n/,CallFn($calendername, "GetFn", $defs{$calendername},("-", 'events', 'format:custom="$U"', 'series:next')));


"series:next" sorgt nämlich dafür, dass nur das jeweils nächste und in der Zukunft liegende Element einer Terminserie aus dem Kalender abgerufen wird. Das lässt sich in der Dokumentation des Kalender-Moduls nachlesen.

In meinem Fall ist es also so, dass der Code bis zum 10.02.2021 um 23:59:59 Uhr eine "1" für $dayDiff errechnet und danach ab dem 11.02.2021 00:00:01 Uhr diesen Eintrag Kalendereintrag nicht mehr abruft, weil er in der Vergangenheit liegt. Stattdessen wird nur der nächste Eintrag der Serie abgerufen, der wiederum vier Wochen in der Zukunft liegt. Als Konsequenz springt der Wert direkt von 1 auf 28, ohne dass er über 0 gegangen wäre.

Als "dirty hack" für mich privat habe ich Zeile 111 also einfach entsprechend angepasst:

@termine = split(/\n/,CallFn($calendername, "GetFn", $defs{$calendername},("-", 'events', 'format:custom="$U")));

Das führt zwar dazu, dass das Modul nun immer alle im Kalender eingetragenen Termine einer Serie abruft und abarbeitet, doch das hat keine nennenswerten Geschwindigkeitseinbußen zur Folge. Außerdem werden in der Vergangenheit liegende Termine, d.h. solche mit "$dayDiff < 0" im Code nicht weiter berücksichtigt und beeinflussen daher das Ergebnis nicht weiter (Zeile 263ff).

# Condition C06: is start time in the past
if (
$dayDiff < 0
)
{
   # Rule R07 ---->
   
   # Trace ---->
   Log3 $name, 5, "ABFALL_getEvents($name) - ABFALL_getEvents, 20180613.123304, 7, 19";
   # Trace <----
   
   # Action A13/03: step / 3 / start time step
   $step =  3
   
   # Rule R07 <----
}


Die saubere Lösung wäre es, beispielsweise mithilfe eines Attributs zwischen diesen beiden Abrufmethoden aus dem Kalender zu unterscheiden. Dann könnten User mit Kalendern ohne zeitliche Ausdehnung der Termine einfach durch setzen eines Attributs die Logik anpassen. Ich verstehe dazu zu wenig von FHEM, Perl und GitHub, aber vielleicht liest ja der Autor von ABFALL.pm diesen Beitrag oder jemand anders fühlt sich berufen.
Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: maddhin am 11 März 2021, 08:50:22
Ich habe jetzt nicht den ganze Thread im Detail gelesen, aber gerade das gleiche Problem gehabt:

Die Lösung scheint zu sein, den Kalender (mindestens?) täglich zu updaten (3600). Ich hatte den Kalender davor nur jede Woche geupdatet (86400), da sich die Termine ja quasi 12 Monate nicht ändern.

Scheinbar wir das "now" Reading vom Abfallmodul nur bei Update des Kalenders getriggert! Eigentlich kurios, weil es dann ja wirklich fast sinnlos ist ein eigenes Abfallmodul zu haben...

Mal sehen, ob das bei mir jetzt funkt..:)

Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: Nobbynews am 11 März 2021, 09:48:25
Zitat von: maddhin am 11 März 2021, 08:50:22
Die Lösung scheint zu sein, den Kalender (mindestens?) täglich zu updaten (3600). Ich hatte den Kalender davor nur jede Woche geupdatet (86400), da sich die Termine ja quasi 12 Monate nicht ändern.
Beim Calender-Device bedeutet die Angabe des Intervalls:
86400 Sekunden sind 1 Tag
3600 Sekunden sind 1 Stunde

Die Readings now und now_text werden nur dann erzeugt, wenn es ein Ereignis an dem Tag gibt. Gibt es kein Ereignis, dass sind bei mir diese Readings nicht vorhanden.
Titel: Antw:Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: maddhin am 11 März 2021, 12:41:47
Zitat von: Nobbynews am 11 März 2021, 09:48:25
86400 Sekunden sind 1 Tag
3600 Sekunden sind 1 Stunde

stimmt  :-[

Aber irgendwie muss der Kalender (an dem Tag "0") wohl vor dem DOIF einmal geupdatet werden, damit das Abfallmodul funktioniert. 3600 wird ja im Wiki auch so angegeben und empfohlen.

Jedenfalls wurden bei mir die now Readings sofort erstellt, als ich ein Update des Kalenders durchgeführt habe. Wahrscheinlich war meine tägliches Update irgendwann am Nachmittag o.ä. und das 0700 DOIF wurde deswegen nicht getriggert.

Sind jetzt leider 19 Tage bis zum nächsten Event. Hoffe es funktioniert dann jetzt :)
Titel: Aw: Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: Jorche am 04 Februar 2024, 01:16:22
Hallo maddhin,
hat sich deine Lösung als gut erwiesen?
Ich habe gerade genau das Problem, dass bei mir nie 0 Tage kommen und damit auch nie das "now" Reading.
Leider zeigt es bei mir keinen Erfolg das Update auf 3600 ode 10800 ff zu stellen.
Bin für alle Tipps dankbar.
Grüße
Titel: Aw: Abfall-Modul: keine Readings für "now und "now_text"?
Beitrag von: maddhin am 06 Februar 2024, 00:40:01
Hm, kann ich jetzt leider im Detail nicht mehr nachvollziehen- im Moment steht es bei mir immer noch bei 3600.
Ich kann mich dunkel daran erinnern, dass es da irgendwie ein Timing Problem gab - dh wenn das Kalenderupdate nach der doif-Zeit kam ging es nicht.
Update jede Stunde ist eigentlich total übertrieben, aber bei mir geht es und stellt sicher, dass doif geht.
Ggf nochmal die ganze Konfig prüfen.