AbfallentsorgungBerlin BSR, ALBA und BerlinRecycling - neue Module

Begonnen von RomanticBoy83, 17 Juni 2017, 00:32:23

Vorheriges Thema - Nächstes Thema

mfeske

#135
Super Erklärung das hat für mich etwas Licht ins Dunkel gebracht auch wenn ich es alleine nicht zustande bekommen würde.
Ich muss also eigentlich nur den einen Block anpassen. Bei dem verstehe ich aber nicht woher der Raum Info kommt (hab ich jetzt beim machen gefunden) der bei mir Kalender wäre.
Auch nicht ganz klar um welche Uhrzeit die Nachricht kommt.

my $display = join(", ",@morgen);;\
 my $pushmsg = 'Morgen: '.$display;;\
 fhem("attr -silent Abfall stateFormat <span style='color:#cc0000'>$display</span>");;\
 fhem("attr -silent Abfall room Kalender");;;;fhem("set pushmsg msg 🚮: $pushmsg");;\
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

andies

Ich habe diese Infos bei mir im Raum Info, du eben in Kalender. Ansonsten sieht das gut aus!

Du musst noch ein at definieren, das um 6 Uhr morgens Abfall aktualisiert. Erst dann ist das Ereignis da, welches die pushmsg usw auslöst. Ich löse das mit eine Modul von Peter A Henning, YAAHM. Sonst frage einfach ChatGPT, dass er dir ein at bastelt, das jeden Morgen 6 Uhr auslöst. Irgendwie so
defmod AbfallAusloeser at *06:00:00 set Abfall update
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

mfeske

so habe fertig und bin gespannt ob es morgen funktioniert. Die at´s habe ich leider nicht in eins vereint bekommen.
define Abfall BSR
attr Abfall addrKey 0490
attr Abfall comment HM = Hausmüll (Restmüll)\
BI = Biotonne\
WS = Wertstofftonne (Gelber Sack/Tonne)\
LT = Laubtonne (falls vorhanden)\
WB = Weihnachtsbaum
attr Abfall intervalDays 14
attr Abfall room Kalender

define Abfall_notify notify Abfall:next_BI:.* {\
use POSIX qw(strftime);;\
\
my $today    = strftime("%Y-%m-%d", localtime(time));;\
my $tomorrow = strftime("%Y-%m-%d", localtime(time + 86400));;\
\
my @cats  = ('HM','BI','WS','LT','WB');;\
my %names = (\
  HM => "Hausmüll",\
  BI => "Biotonne",\
  WS => "Wertstofftonne",\
  LT => "Laubtonne",\
  WB => "Weihnachtsbaum"\
);;\
\
my (@heute, @morgen);;\
\
foreach my $c (@cats) {\
  my $v = ReadingsVal("Abfall","next_$c","");;\
  push @heute,  $names{$c} if $v eq $today;;\
  push @morgen, $names{$c} if $v eq $tomorrow;;\
}\
\

if (@heute) {\
  my $display = join(", ", @heute);;\
  my $pushmsg = "Heute: $display";;\
  fhem("attr -silent Abfall stateFormat <span style='color:#00aa00'>$display</span>");;\
  fhem("attr -silent Abfall room Kalender");;\
  fhem("set pushmsg msg 🚮 $pushmsg");;\
}\
\

elsif (@morgen) {\
  my $display = join(", ", @morgen);;\
  my $pushmsg = "Morgen: $display";;\
  fhem("attr -silent Abfall stateFormat <span style='color:#cc0000'>$display</span>");;\
  fhem("attr -silent Abfall room Kalender");;\
  fhem("set pushmsg msg 🚮 $pushmsg");;\
}\
\

else {\
  fhem("attr -silent Abfall stateFormat -");;\
  fhem("deleteattr -silent Abfall room");;\
}\
}\

attr Abfall_notify event-min-interval .*:7200
attr Abfall_notify room Kalender
define Abfall_at_06 at *06:00 set Abfall update
attr Abfall_at_06 room Kalender
attr Abfall_at_06 verbose 0
define Abfall_at_18 at *18:00 set Abfall update
attr Abfall_at_18 room Kalender
attr Abfall_at_18 verbose 0
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

mfeske

#138
schade das hat nicht geklappt, um 6 Uhr gab es heute keine Pushnachricht. Die abzuholende Tonne wird auch nicht mehr angezeigt.
Calendar
BSR
triggered
3: VEVENT @5 [obsolete, modified-old, refers to 10]
    DESCRIPTION: Abholung Biogut
    DTSTAMP: 20260101T192915Z
    DTSTART: 20260102
    LOCATION:
    SUMMARY: Abholung Biogut
    UID: DDF255E169B00A91CE9AF13115B75BC1AF31BA8A
    >>> Events:
    >>> Skipped events:

4: VEVENT @13 [obsolete, modified-old, refers to 11]
    DESCRIPTION: Abholung Wertstoffe (Abholung durch ALBA)
    DTSTAMP: 20260101T192915Z
    DTSTART: 20260106
    LOCATION:
    SUMMARY: Abholung Wertstoffe (Abholung durch ALBA)
    UID: D65CE2001471E4C7C3874BECCD73D53D1C2E08D8
    >>> Events:
    >>> Skipped events:

5: VEVENT @21 [obsolete, modified-old, refers to 12]
    DESCRIPTION: Abholung Weihnachtsbäume
    DTSTAMP: 20260101T192915Z
    DTSTART: 20260110
    LOCATION:
    SUMMARY: Abholung Weihnachtsbäume
    UID: 38BC0C1872815DAF3A05D1D78DE146C1461E7808
    >>> Events:
    >>> Skipped events:

6: VEVENT @29 [obsolete, modified-old, refers to 13]
    DESCRIPTION: Abholung Biogut
    DTSTAMP: 20260101T192915Z
    DTSTART: 20260115
    LOCATION:
    SUMMARY: Abholung Biogut
    UID: 6E926B8AD56824CE43926D0782B9F2AF232FD08C
    >>> Events:
    >>> Skipped events:

7: VEVENT @37 [obsolete, modified-old, refers to 14]
    DESCRIPTION: Abholung Wertstoffe (Abholung durch ALBA)
    DTSTAMP: 20260101T192915Z
    DTSTART: 20260120
    LOCATION:
    SUMMARY: Abholung Wertstoffe (Abholung durch ALBA)
    UID: 9261CD36256294935A001BDC6706272E1EBFF29A
    >>> Events:
    >>> Skipped events:

8: VEVENT @45 [obsolete, modified-old, refers to 15]
    DESCRIPTION: Abholung Weihnachtsbäume
    DTSTAMP: 20260101T192915Z
    DTSTART: 20260124
    LOCATION:
    SUMMARY: Abholung Weihnachtsbäume
    UID: 3EFD17C54BECBDA0288CB50D294F07AB7E6EF4C3
    >>> Events:
    >>> Skipped events:

9: VEVENT @53 [obsolete, modified-old, refers to 16]
    DESCRIPTION: Abholung Biogut
    DTSTAMP: 20260101T192915Z
    DTSTART: 20260129
    LOCATION:
    SUMMARY: Abholung Biogut
    UID: 9508F69B6CFD88AFD1DE355F7A3FD759B932EF3B
    >>> Events:
    >>> Skipped events:

10: VEVENT @5 [modified-new, refers to 3]
    DESCRIPTION: Abholung Biogut
    DTSTAMP: 20260102T120814Z
    DTSTART: 20260102
    LOCATION:
    SUMMARY: Abholung Biogut
    UID: DDF255E169B00A91CE9AF13115B75BC1AF31BA8A
    >>> Events:
      DDF255E169B00A91CE9AF13115B75BC1AF31BA8A       start                     02.01.2026 00:00-03.01.2026 00:00 Abholung Biogut   
    >>> Skipped events:

11: VEVENT @13 [modified-new, refers to 4]
    DESCRIPTION: Abholung Wertstoffe (Abholung durch ALBA)
    DTSTAMP: 20260102T120814Z
    DTSTART: 20260106
    LOCATION:
    SUMMARY: Abholung Wertstoffe (Abholung durch ALBA)
    UID: D65CE2001471E4C7C3874BECCD73D53D1C2E08D8
    >>> Events:
      D65CE2001471E4C7C3874BECCD73D53D1C2E08D8    upcoming                     06.01.2026 00:00-07.01.2026 00:00 Abholung Wertstoffe (Abholung durch ALBA)   
    >>> Skipped events:

12: VEVENT @21 [modified-new, refers to 5]
    DESCRIPTION: Abholung Weihnachtsbäume
    DTSTAMP: 20260102T120814Z
    DTSTART: 20260110
    LOCATION:
    SUMMARY: Abholung Weihnachtsbäume
    UID: 38BC0C1872815DAF3A05D1D78DE146C1461E7808
    >>> Events:
      38BC0C1872815DAF3A05D1D78DE146C1461E7808    upcoming                     10.01.2026 00:00-11.01.2026 00:00 Abholung Weihnachtsbäume   
    >>> Skipped events:

13: VEVENT @29 [modified-new, refers to 6]
    DESCRIPTION: Abholung Biogut
    DTSTAMP: 20260102T120814Z
    DTSTART: 20260115
    LOCATION:
    SUMMARY: Abholung Biogut
    UID: 6E926B8AD56824CE43926D0782B9F2AF232FD08C
    >>> Events:
      6E926B8AD56824CE43926D0782B9F2AF232FD08C    upcoming                     15.01.2026 00:00-16.01.2026 00:00 Abholung Biogut   
    >>> Skipped events:
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

andies

Stell mal bei dem Notify und bei dem eigentlichen Device verbose gleich fünf, mach ein Update und postet den Log File hier. (Adresskey vorher entfernen)
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

mfeske

Hallo andies, in den logs sieht es für mich fast so aus als ob heute früh um 6 ein Update stattgefunden hat.

2026.01.02 06:00:02 3: BSR: Termine aktualisiert
2026.01.02 11:59:51 3: ROOMMATE rr_location_tania: AutoGone timer changed state to 'gone'
2026.01.02 11:59:53 3: ROOMMATE rr_location_michael: AutoGone timer changed state to 'gone'
2026.01.02 13:21:17 1: RMDIR: ./restoreDir/save/2025-10-28
2026.01.02 16:26:52 3: BSR: Lade Termine von https://umnewforms.bsr.de/p/de.bsr.adressen.app/abfuhrEvents?filter=AddrKey%20eq%20%27XXX%27%20and%20DateFrom%20eq%20datetime%272026-01-02T00%3A00%3A00%27%20and%20DateTo%20eq%20datetime%272026-01-16T00%3A00%3A00%27%20and%20%28Category%20eq%20%27HM%27%20or%20Category%20eq%20%27BI%27%20or%20Category%20eq%20%27WS%27%20or%20Category%20eq%20%27LT%27%20or%20Category%20eq%20%27WB%27%29
2026.01.02 16:26:55 5: Triggering Abfall_notify
2026.01.02 16:26:55 4: Abfall_notify exec {
use POSIX qw(strftime);;
my $today    = strftime("%Y-%m-%d", localtime(time));;
my $tomorrow = strftime("%Y-%m-%d", localtime(time + 86400));;
my @cats  = ('HM','BI','WS','LT','WB');;
my %names = (
  HM => "Hausmüll",
  BI => "Biotonne",
  WS => "Wertstofftonne",
  LT => "Laubtonne",
  WB => "Weihnachtsbaum"
);;
my (@heute, @morgen);;
foreach my $c (@cats) {
  my $v = ReadingsVal("Abfall","next_$c","");;
  push @heute,  $names{$c} if $v eq $today;;
  push @morgen, $names{$c} if $v eq $tomorrow;;
}
if (@heute) {
  my $display = join(", ", @heute);;
  my $pushmsg = "Heute: $display";;
  fhem("attr -silent Abfall stateFormat <span style='color:#00aa00'>$display</span>");;
  fhem("attr -silent Abfall room Kalender");;
  fhem("set pushmsg msg 🚮 $pushmsg");;
}
elsif (@morgen) {
  my $display = join(", ", @morgen);;
  my $pushmsg = "Morgen: $display";;
  fhem("attr -silent Abfall stateFormat <span style='color:#cc0000'>$display</span>");;
  fhem("attr -silent Abfall room Kalender");;
  fhem("set pushmsg msg 🚮 $pushmsg");;
}
else {
  fhem("attr -silent Abfall stateFormat -");;
  fhem("deleteattr -silent Abfall room");;
}
}

2026.01.02 16:26:55 3: BSR: Termine aktualisiert
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

andies

Kannst du mal sowohl das device Abfall mit den readings und das heutige notify posten? (Ohne addrkey)


Das device hat sich aktualisiert, aber beim notify scheint es Probleme gegeben zu haben
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

mfeske

das kann ich ;-)
Internals:
   CFGFN     
   FUUID      69569093-f33f-be1a-8daf-d8d95c173ff777f2
   NAME       Abfall
   NR         150
   STATE      -
   TYPE       BSR
   eventCount 12
   READINGS:
     2026-01-02 16:26:55   list_BI         2026-01-15
     2026-01-02 16:26:55   list_WB         2026-01-10
     2026-01-02 16:26:55   list_WS         2026-01-06
     2026-01-02 16:26:55   next_BI         2026-01-15
     2026-01-02 16:26:55   next_WB         2026-01-10
     2026-01-02 16:26:55   next_WS         2026-01-06
   hmccu:
Attributes:
   addrKey    0490
   comment    HM = Hausmüll (Restmüll)
BI = Biotonne
WS = Wertstofftonne (Gelber Sack/Tonne)
LT = Laubtonne (falls vorhanden)
WB = Weihnachtsbaum
   intervalDays 14
   stateFormat -

und
Internals:
   CFGFN     
   DEF        Abfall:next_BI:.* {
use POSIX qw(strftime);
my $today    = strftime("%Y-%m-%d", localtime(time));
my $tomorrow = strftime("%Y-%m-%d", localtime(time + 86400));
my @cats  = ('HM','BI','WS','LT','WB');
my %names = (
  HM => "Hausmüll",
  BI => "Biotonne",
  WS => "Wertstofftonne",
  LT => "Laubtonne",
  WB => "Weihnachtsbaum"
);
my (@heute, @morgen);
foreach my $c (@cats) {
  my $v = ReadingsVal("Abfall","next_$c","");
  push @heute,  $names{$c} if $v eq $today;
  push @morgen, $names{$c} if $v eq $tomorrow;
}
if (@heute) {
  my $display = join(", ", @heute);
  my $pushmsg = "Heute: $display";
  fhem("attr -silent Abfall stateFormat <span style='color:#00aa00'>$display</span>");
  fhem("attr -silent Abfall room Kalender");
  fhem("set pushmsg msg 🚮 $pushmsg");
}
elsif (@morgen) {
  my $display = join(", ", @morgen);
  my $pushmsg = "Morgen: $display";
  fhem("attr -silent Abfall stateFormat <span style='color:#cc0000'>$display</span>");
  fhem("attr -silent Abfall room Kalender");
  fhem("set pushmsg msg 🚮 $pushmsg");
}
else {
  fhem("attr -silent Abfall stateFormat -");
  fhem("deleteattr -silent Abfall room");
}
}

   FUUID      6956e8e4-f33f-be1a-39f7-6df553cd0cda5e21
   NAME       Abfall_notify
   NOTIFYDEV  Abfall
   NR         151
   NTFY_ORDER 50-Abfall_notify
   REGEXP     Abfall:next_BI:.*
   STATE      2026-01-02 16:26:55
   TRIGGERTIME 1767367615.20166
   TYPE       notify
   eventCount 3
   READINGS:
     2026-01-02 13:21:14   state           active
     2026-01-02 16:26:55   triggeredByDev  Abfall
     2026-01-02 16:26:55   triggeredByEvent next_BI: 2026-01-15
   hmccu:
Attributes:
   event-min-interval .*:7200
   room       Kalender
   verbose    0
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

andies

Also, die Daten wurden geholt:
READINGS:
     2026-01-02 16:26:55   list_BI         2026-01-15
     2026-01-02 16:26:55   list_WB         2026-01-10
zuletzt um 16:26. Die nächste Abholung ist am 6. Januar, vor dem 5. wirst du da nix sehen - nur am Tag davor wird gesendet und in "Kalender" geladen. Ansonsten schweigt das Gerät planmäßig (kann man natürlich ändern). Getriggered wurde auch,
     2026-01-02 16:26:55   triggeredByEvent next_BI: 2026-01-15Ich denke, du kannst "event-min-interval .*:7200" weglassen, weil du bei jedem Lesen von Abfall prüfen solltest, ob Müll fällig ist.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

mfeske

... aber die heutige Abholung hätte ich doch sehen müssen. In den ersten Versuchen wurde Sie ja auch in rot gestern angezeigt. Nach meinen Änderungen hätte ich sie heute in grün erwartet und um 6 Uhr eine push Nachricht :-(
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

andies

kann es sein, dass die heutige Abholung nicht mehr in der Datenbank der BSR angezeigt wurde? Dann holt er sie nicht, es gibt kein notify - denn das ist die einzige Erklärung, die ich habe. Alles andere geht ja.

Das hieße, dass du nur einmal am Tag BSR abrufen darfst und dann natürlich Probleme mit dem zweiten notify hast - da dafür keine Nachricht gesendet wird (ist ja kein Ereignis da). Eine Option ist DOIF und oder du definierst im notify eine zukünftige Nachricht, also sinngemäß (das habe ich jetzt nicht getestet) so was wie
defmod NeueNachrichtMorgen at +12:00:00 set pushmsg <und dann weiter>
Das definiert eine NeueNachricht als Gerät, das erst in zwölf Stundten auslöst (und sich dann löscht) und dann eine Nachricht oder was auch immer auslöst.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

mfeske

puh also doch alles komplizierter als gedacht :-( Ich bin über 50 da brauche ich eigentlich zwei erinnerungen. Eine am Tag vorher und eine am Tag selber. Ich glaube oben war der Tdermin noch drin, aber ja vermutlich wird er am gleichen Tag nicht mehr drin sein, kann ich jetzt natürlich schlecht nachvollziehen.
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)