Neues Modul für Abfallkalender ABFALL

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

Vorheriges Thema - Nächstes Thema

Otto123

Zitat von: bartman121 am 13 November 2022, 20:47:54
Dafür brauche ich entsprechende readings.
Wenn Du sagst was Du da brauchst, könnte man Dir in einem Calendar Device helfen es zu bekommen ;) es steht alles dort drin. Alle anderen Module sind nur zusätzlicher Aufwand.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Sailor

#1396
Moin zusammen
Hallo Constantin

Ich habe hier eine Kleinigkeit beim 57_Abfall - Modul die ein wenig unschön aussieht:
2022.11.14 12:22:13.357 1: PERL WARNING: Prototype mismatch: sub main::memcmp ($$;$) vs none at .//FHEM/57_ABFALL.pm line 11.
Line 11 ist "use POSIX"

Funktioniert der Code auch ohne diesen Eintrag?

Beta=User hat dazu mal einen Beitrag geschrieben:

https://forum.fhem.de/index.php?topic=109509.0

Gruß
    Sailor

******************************
Man wird immer besser...

yersinia

Ich glaube, das Modul ist tot. uniqueck war im Januar 2020 das letzte mal hier im Forum und der letzte Commit ist von 2019.

Zitat von: Otto123 am 13 November 2022, 23:19:22Wenn Du sagst was Du da brauchst, könnte man Dir in einem Calendar Device helfen es zu bekommen ;) es steht alles dort drin. Alle anderen Module sind nur zusätzlicher Aufwand.
Interessant wäre es, wenn man gleiche/ähnliche Readings bekäme wie es das Abfall-Modul anbietet.
   READINGS:
     2022-11-14 10:12:28   Papier_date     24.11.2022
     2022-11-14 10:12:28   Papier_days     10
     2022-11-14 10:12:28   Papier_description Papier
     2022-11-14 10:12:28   Papier_location
     2022-11-14 10:12:28   Papier_text     Papier
     2022-11-14 10:12:28   Papier_weekday  Donnerstag
     2022-11-14 10:12:28   Restmuell_date 16.11.2022
     2022-11-14 10:12:28   Restmuell_days 2
     2022-11-14 10:12:28   Restmuell_description Restmüll
     2022-11-14 10:12:28   Restmuell_location
     2022-11-14 10:12:28   Restmuell_text Restmüll
     2022-11-14 10:12:28   Restmuell_weekday Mittwoch
     2022-11-14 10:12:28   gelberSack_date 16.11.2022
     2022-11-14 10:12:28   gelberSack_days 2
     2022-11-14 10:12:28   gelberSack_description gelber Sack
     2022-11-14 10:12:28   gelberSack_location
     2022-11-14 10:12:28   gelberSack_text gelber Sack
     2022-11-14 10:12:28   gelberSack_weekday Mittwoch
     2022-11-14 10:12:28   next            Restmuell|gelberSack_2
     2022-11-14 10:12:28   next_date       16.11.2022
     2022-11-14 10:12:28   next_days       2
     2022-11-14 10:12:28   next_description Restmüll und gelber Sack
     2022-11-14 10:12:28   next_location   
     2022-11-14 10:12:28   next_text       Restmüll und gelber Sack
     2022-11-14 10:12:28   next_weekday    Mittwoch
     2022-11-14 10:12:28   state           2

Die Intention war hier ursprünglich auch die vereinfachte Darstellung in FTUI.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

bartman121

Ja betateilchen und Otto, ich hatte auch Interesse die readings wie Yersinia zu erhalten.

Das Problem wird wohl sein, dass der Name der readings aus der "SUMMARY" generiert werden müsste. Besonders spannend wird es dann wenn mehrere Tonnen gleichzeitig abgeholt werden und eine Vielzahl an unterschiedlichen Trennzeichen das ganze kompliziert macht, dann muss man aus einem Event ggfs. Mehrere Events machen.

Daher hatte ich gehofft diese Modul macht das hier. Es tut ja auch seinen Dienst, denn es nützt mindestens Yersinia. Ich habe halt das Problem, dass mein Entsorger "," als delimiter gewählt hat. Das kann ich halt nicht ins Attribut schreiben. Da das Modul aber eher verwaist ist, werde ich wohl den Quellcode für meinen Fall anpassen.


Sailor

Hi yersinia

Zitat von: yersinia am 14 November 2022, 13:00:01
Ich glaube, das Modul ist tot. uniqueck war im Januar 2020 das letzte mal hier im Forum und der letzte Commit ist von 2019.

Hättest du nicht Lust das Modul zu übernehmen?

Gruß
    Sailor
******************************
Man wird immer besser...

Otto123

Naja mir war diese Unmenge an aus "Beschreibungstext" erzeugten Readings eh immer etwas suspekt. Ich habe mir deshalb nur was für next... gebaut:
attr AbfallKalender userReadings nextWasteDays:triggered {\
  my $t = fhem('get '.$name.' events timeFormat:"%F 00:00:00" format:custom="$T1" limit:from=43200,count=1',1);;\
  my $day = (time_str2num($t) - time_str2num(strftime('%F 00:00:00',localtime(time))))/86400;;\
  $day? ($day>1 ? $day:"morgen"):"heute"},\
Tonne:triggered {fhem('get '.$name.' events format:custom="$S" limit:from=43200,count=1',1)}
Das tut es für mich.
Für den Fall, dass ich wissen will ob in 2 Wochen eine Tonne raus muss, schau ich einfach in den Kalender. ;)
Man könnte ja eine eher allgemeine myUtils Routine bauen, die eine bestimmte (definierbar) Anzahl Tage abfragt und diese nach einem Schema als Readings schreibt. Das Komma im Summary kann man ja dabei ersetzen.

Wenn das Abfall Modul aber eine Lösung für FTUI war, warum baut man nicht eine Calendar Abfrage/Integration in FTUI ein?
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

ch.eick

Zitat von: Sailor am 14 November 2022, 13:42:51
Hi yersinia

Hättest du nicht Lust das Modul zu übernehmen?

Gruß
    Sailor
Moin,
also ich verwende das auch ohne FTUI, also bitte nicht einfach im FHEM entfernen.

VG  Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Otto123

Hallo Christian,

man kann nicht entfernen was nicht da ist. ;)
Das Modul ist mMn nicht Bestandteil der distribution, nicht mal contrib. Es ist nur extern einbindbar (siehe 1. Seite dieses Threads)
Oder liege ich da falsch?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

yersinia

Zitat von: Otto123 am 14 November 2022, 13:49:33Naja mir war diese Unmenge an aus "Beschreibungstext" erzeugten Readings eh immer etwas suspekt.
Nur weil es dich ängstigt, muss es anderen nicht so gehen. :P

Zitat von: Otto123 am 14 November 2022, 13:49:33Man könnte ja eine eher allgemeine myUtils Routine bauen, die eine bestimmte (definierbar) Anzahl Tage abfragt und diese nach einem Schema als Readings schreibt. Das Komma im Summary kann man ja dabei ersetzen.
::)
Zitat von: uniqueck am 27 Januar 2016, 01:02:41Ich wollte nicht wieder eine 99_myUtils anlegen, dann noch hier ein dummy und da ein dummy und ein dummy um den nächsten Abfalltermin in einem dummy bereitzustellen, sondern es einfach universell halten.

Zitat von: Otto123 am 14 November 2022, 13:49:33Wenn das Abfall Modul aber eine Lösung für FTUI war, warum baut man nicht eine Calendar Abfrage/Integration in FTUI ein?
Möglicherweise weil nicht jeder eine Kalenderansicht (es gibt ja calview widgets/componets) sondern eher icons haben möchte?

Ich warte immer noch auf einen brauchbaren Vorschlag, dem ABFALL-Modul ähnliche readings aus dem Calendar-Device zu bekommen. Im Prinzip den Inhalt aus Summary transponiert als Readingsnamen-prefix und dann weitere Daten wie date, days etc als suffix. Kann das Calendar mittels userReadings???
   READINGS:
     2022-11-14 10:12:28   Papier_date     24.11.2022
     2022-11-14 10:12:28   Papier_days     10
     2022-11-14 10:12:28   Papier_description Papier
     2022-11-14 10:12:28   Papier_location
     2022-11-14 10:12:28   Papier_text     Papier
     2022-11-14 10:12:28   Papier_weekday  Donnerstag
     2022-11-14 10:12:28   Restmuell_date 16.11.2022
     2022-11-14 10:12:28   Restmuell_days 2
     2022-11-14 10:12:28   Restmuell_description Restmüll
     2022-11-14 10:12:28   Restmuell_location
     2022-11-14 10:12:28   Restmuell_text Restmüll
     2022-11-14 10:12:28   Restmuell_weekday Mittwoch
     2022-11-14 10:12:28   gelberSack_date 16.11.2022
     2022-11-14 10:12:28   gelberSack_days 2
     2022-11-14 10:12:28   gelberSack_description gelber Sack
     2022-11-14 10:12:28   gelberSack_location
     2022-11-14 10:12:28   gelberSack_text gelber Sack
     2022-11-14 10:12:28   gelberSack_weekday Mittwoch
     2022-11-14 10:12:28   next            Restmuell|gelberSack_2
     2022-11-14 10:12:28   next_date       16.11.2022
     2022-11-14 10:12:28   next_days       2
     2022-11-14 10:12:28   next_description Restmüll und gelber Sack
     2022-11-14 10:12:28   next_location   
     2022-11-14 10:12:28   next_text       Restmüll und gelber Sack
     2022-11-14 10:12:28   next_weekday    Mittwoch
     2022-11-14 10:12:28   state           2
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

TomLee

ZitatKann das Calendar mittels userReadings???

Das Modul holt sich doch die Daten aus Calendar, warum soll das dann nicht gehen ?

yersinia

Soweit ich weiss, kann man per userReading keine weiteren Readings via zB
setreading CalendarDevice <reading_prefix_aus_summary>_date 16.11.2022
definieren kann.

Man müsste entweder die Abfallsorten einzeln als userReading definieren oder in myUtils eine Funktion basteln - oder man nutzt das ABFALL-Modul. Die Anfänger-/Einstiegshürde im ABFALL Modul ist wesentlich geringer als im Calendar-Device etwas zu basteln.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Otto123

Zitat von: yersinia am 14 November 2022, 15:14:20
Ich warte immer noch auf einen brauchbaren Vorschlag, dem ABFALL-Modul ähnliche readings aus dem Calendar-Device zu bekommen.
Aber nicht von mir  :P
Zitat von: yersinia am 14 November 2022, 16:59:43
Soweit ich weiss, kann man per userReading keine weiteren Readings via zB
setreading CalendarDevice <reading_prefix_aus_summary>_date 16.11.2022
definieren kann.
bedeutet aber nicht, dass es nicht geht.  :P
Die Diskussion wird gerade wieder nutzlos. Es kann doch jeder diese Modul nutzen, solange es lokal noch da ist, es auf github rumliegt oder sich jemand findet der es weiter pflegt.
Wenns schön ist ...  ;D ;D ;D
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

OdfFhem

@yersinia

Angenommen, Dich interessieren nur die Abfallsorten-Readings für die jeweils nächste Abholung, dann könnte CALVIEW hilfreich sein.

Hängst Du auch an den (taggenauen) next-Readings, dann wird's wohl schwieriger/aufwendiger ,,,

betateilchen

Zitat von: yersinia am 14 November 2022, 15:14:20
Ich warte immer noch auf einen brauchbaren Vorschlag, dem ABFALL-Modul ähnliche readings aus dem Calendar-Device zu bekommen.

Wo ist das Problem?

Prinzipbeschreibung mit Hilfe von onCreateEvent:


defmod dresden Calendar ical url https://stadtplan.dresden.de/project/cardo3Apps/IDU_DDStadtplan/abfall/ical.ashx?STANDORT=2380&DUMMY=638039200493997930&DATUM_VON=16.11.2022&DATUM_BIS=18.11.2022
attr dresden onCreateEvent {main::bt_calTest($e->start,$e->summary)}



#in 99_myUtils.pm
sub bt_calTest {
  use POSIX qw( strftime );
  my $e_start   = shift;
  my $e_summary = shift;
     $e_summary =~ s/,//g;
  my $dt = strftime("%d.%m.%Y", localtime($e_start));
  my @tonnen = split(/ /,$e_summary); shift @tonnen;
 
  foreach my $a (@tonnen) {
    Debug $a."_date $dt / ".$a."_description $a";
  }
}



2022.11.14 20:01:56 1: DEBUG>Bio-Tonne_date 18.11.2022 / Bio-Tonne_description Bio-Tonne
2022.11.14 20:01:56 1: DEBUG>Restabfall_date 18.11.2022 / Restabfall_description Restabfall


Statt mit "Debug" könnte man natürlich auch mit "setreading" arbeiten.

Was ich NICHT tun würde: den Kalender bis Ende 2030 in FHEM laden, wie hier vom Fragesteller getan...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

bartman121

Hallo,

vielen Dank für die Hilfreichen Antworten besonders gut gefällt mir der Vorschlag von Betateilchen, das werde ich wohl so umsetzen.

Ich möchte hier aber mal nachfragen, warum meine Frage dazu geführt hat, dass  gleich das gesamte Modul in Frage gestellt wird. Wenn es ein solches Modul gibt, dann spricht doch nichts dagegen es auch nutzen zu wollen.

Ansonsten evtl. auch Dank für den die Antwort von Betateilchen hinsichtlich des reinladen das gesamten Calenders. Ich hatte das Attribut hideLaterThan so verstanden, dass nur Einträge im Fhem generiert werden, die in diesem Zeitraum liegen.  Die Größe der Kalenderdatei ist vernachlässigbar gering, insbesondere, weil ich den Kalender nur alle 24Stunden aktualisiere.