Neues Modul für Abfallkalender ABFALL

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

Vorheriges Thema - Nächstes Thema

perseusarm

#465
Mir ist heute aufgefallen das beim Biobfall, der erst in 10 Tagen geholt wird, im F-TUI beim Icon eine 1 angezeigt wird anstelle von 10.

<header>nächster Abfall</header>
    <div class="cell">
<div data-device="Abfall"
                data-type="symbol"
                data-get="next"
                data-get-warn=".*(\d+).*"
data-get-on='["LKGBioabfall_1","LKGAltpapier_1","LKGRestabfall4-woechentlich_1","LKGGelberSack_1","LKGBioabfall_.*","LKGAltpapier_.*","LKGRestabfall.*","LKGGelberSack.*"]'
data-on-colors='["green","blue","grey","yellow","green","blue","grey","yellow"]'
data-icons='["fa-trash warn fa-spin","fa-trash warn fa-spin","fa-trash warn fa-spin","fa-trash warn fa-spin","fa-trash warn","fa-trash warn","fa-trash warn","fa-trash warn"]'>
</div>
                <div data-type="label"
                data-device="Abfall"
                data-get="next_datum"
                class="cell small"></div>
            </div>
</li>


List:

Internals:
   DEF        Abfallkalender 86400
   KALENDER   Abfallkalender
   NAME       Abfall
   NR         28
   NTFY_ORDER 50-Abfall
   STATE      10
   TYPE       ABFALL
   Readings:
     2016-07-15 00:05:00   LKGAltpapier_datum 11.08.16
     2016-07-15 00:05:00   LKGAltpapier_tage 27
     2016-07-15 00:05:00   LKGAltpapier_text   LKG Altpapier
     2016-07-15 00:05:00   LKGAltpapier_wochentag Donnerstag
     2016-07-15 00:05:00   LKGBioabfall_datum 25.07.16
     2016-07-15 00:05:00   LKGBioabfall_tage 10
     2016-07-15 00:05:00   LKGBioabfall_text   LKG Bioabfall
     2016-07-15 00:05:00   LKGBioabfall_wochentag Montag
     2016-07-15 00:05:00   LKGGelberSack_datum 05.08.16
     2016-07-15 00:05:00   LKGGelberSack_tage 21
     2016-07-15 00:05:00   LKGGelberSack_text   LKG Gelber Sack
     2016-07-15 00:05:00   LKGGelberSack_wochentag Freitag
     2016-07-15 00:05:00   LKGRestabfall4-woechentlich_datum 01.08.16
     2016-07-15 00:05:00   LKGRestabfall4-woechentlich_tage 17
     2016-07-15 00:05:00   LKGRestabfall4-woechentlich_text   LKG Restabfall 4-wöchentlich
     2016-07-15 00:05:00   LKGRestabfall4-woechentlich_wochentag Montag
     2016-07-15 00:05:00   next            LKGBioabfall_10
     2016-07-15 00:05:00   next_datum      25.07.16
     2016-07-15 00:05:00   next_tage       10
     2016-07-15 00:05:00   next_text         LKG Bioabfall
     2016-07-15 00:05:00   next_wochentag  Montag
     2016-07-15 00:05:00   state           10
Attributes:
   calendarname_praefix 0
   room       Abfallkalender

Wo mache ich denn da beim data-get-warn was falsch ? oder woanders ?
Schon mal vorab Danke, bin sich er das Ihr mir als Anfgänger da helfen könnt...  ;D


[EDIT]
Mein data-get-warn war falsch: So ist´s besser: data-get-warn=".*_(\d+).*"
FHEM auf NUC, CUL866, HM-.*, Raspimatc, ...

Tueftler1983

Hallo habe es jetzt endlich geschafft Calendar und das Modul ABFALL ans laufen zu bekommen.
Was mich stört als Reading Next steht bei mir MuellKalender_Biomuell_4
Kann der Kalendername MuellKalender nicht ausgeblendet werden?
Und kann als State nicht die Anzahl der Tage bis zur Abholung und Welche Tonne angezeigt werden?

Sonst schon ne super sache.

uniqueck

#467
Zitat von: Tueftler1983 am 05 August 2016, 23:04:55
Hallo habe es jetzt endlich geschafft Calendar und das Modul ABFALL ans laufen zu bekommen.
Was mich stört als Reading Next steht bei mir MuellKalender_Biomuell_4
Kann der Kalendername MuellKalender nicht ausgeblendet werden?
Und kann als State nicht die Anzahl der Tage bis zur Abholung und Welche Tonne angezeigt werden?

Sonst schon ne super sache.
Schaue mal unter den Attributen da kannst du das Kalender Präfix abstellen. Das mit State ist so nicht vorgesehen, du kannst dir aber ein Userreading anlegen.

Ich habe mal ein Beispiel vorbereitet, wie du das was du gerne hättest, umsetzen kannst.

nternals:
   CFGFN
   DEF        cal_Abfall
   KALENDER   cal_Abfall
   NAME       abfall_Bretten
   NR         27
   NTFY_ORDER 50-abfall_Bretten
   STATE      In 2 Tage(n) am Montag wird der   Wertstoff abgeholt
   TYPE       ABFALL
   Readings:
     2016-08-06 10:00:37   Restmuell_datum 15.08.16
     2016-08-06 10:00:37   Restmuell_tage  9
     2016-08-06 10:00:37   Restmuell_text    Restmüll
     2016-08-06 10:00:37   Restmuell_wochentag Montag
     2016-08-06 10:00:37   Wertstoff_datum 08.08.16
     2016-08-06 10:00:37   Wertstoff_tage  2
     2016-08-06 10:00:37   Wertstoff_text    Wertstoff
     2016-08-06 10:00:37   Wertstoff_wochentag Montag
     2016-08-06 10:00:37   next            Wertstoff_2
     2016-08-06 10:00:37   next_datum      08.08.16
     2016-08-06 10:00:37   next_tage       2
     2016-08-06 10:00:37   next_text         Wertstoff
     2016-08-06 10:00:37   next_wochentag  Montag
     2016-08-06 10:00:37   state           2
Attributes:
   calendarname_praefix 0
   stateFormat In next_tage Tage(n) am next_wochentag wird der next_text abgeholt



Gruß Constantin

Gesendet von meinem ONEPLUS A3003 mit Tapatalk


hmtec99

#468
Hallo uniqueck,

danke für das Modul. Für meinen Einsatzzweck hätte ich noch 2 Erweiterungswünsche (ich weiß nicht ob etwas davon bereits eingeflossen ist).

Da ich auch so einer bin der sich keine Termine merken kann und die Tonnen erst morgens rausstellt, habe ich den Abfuhrtermin vergessen, wenn
ich ihn nur am Vortag sehe. Deshalb wäre es gut (z.B. über ein Attribut) auch "modeStarted"-Termine in die Anzeige einzubeziehen.

Die 2te Erweiterung bezieht sich auf die Problemstoff-Sammeltermine in unserem Landkreis. Auch dafür gibt es einen Kalender im ical-Format.
Der nächste Termin wird zwar angezeigt - aber nicht der Ort (Parameter LOCATION: im Kalender).

Und jetzt habe ich gerade noch was gesehen. Im Abfuhrkalender gibt es auch noch den Parameter DESCRIPTION der eigentlich schon die relevanten
Informationen für die Anzeige der Abfuhrtermins (am Abfuhrtag!) enthält (Beispiel: DESCRIPTION:Heute\, Grüne Tonne nicht vergessen!) Vielleicht
könnte man diese Info für einen Datumsvergleich in einer Formel verwenden?

EDIT: Habe gerade gesehen, daß auch im Fall der Problemstoffsammlung der Inhalt von DESCRIPTION: besser geeignet wäre, da er neben dem Ort
auch die Uhrzeiten enthält (z.B. 10.00 - 12.00 Uhr).

Gruß, Oli

onkel-tobi

#469
Hi zusammen,

ich habe mal versucht das Modul einzubinden, leider schmiert fhem dann ab:
2016.08.21 16:48:23 1: Perfmon: possible freeze starting at 16:48:10, delay is 13.946
2016.08.21 16:48:23 3: ABFALL_UPDATE
2016.08.21 16:48:23 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/57_ABFALL.pm line 171.
2016.08.21 16:48:23 1: PERL WARNING: Use of uninitialized value $SplitDate[1] in subtraction (-) at ./FHEM/57_ABFALL.pm line 172.
Month '-1' out of range 0..11 at ./FHEM/57_ABFALL.pm line 172
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 505, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/opt/yowsup-master/yowsup/demos/cli/cli.py", line 153, in startInputThread
    cmd = self._queuedCmds.pop(0) if len(self._queuedCmds) else input(self.getPrompt()).strip()
IOError: [Errno 104] Connection reset by peer

Habe inzw. auch das update des Moduls deaktiviert, aber das bringt auch nichts. Das einzige was hilft ist das Modul wieder zu löschen.
Hat jemand einen Tipp für mich?

Danke & Gruß,

Tobi

Update:
Habe noch mal alles entfernt, aktualisiert und dann via github die aktuellste Abfall.pm eingespielt. Funktioniert jetzt einwandfrei. Nehme mal an, dass da beim ersten Update irgendwas schiefgelaufen ist.

jnewton957

Hallo,

das Modul Abfallkalender läuft hervorragend. Danke dafür.
Habe nachfolgende "Herausforderung".

Bei uns gibt es eine Bio-Zusatzleerung im Sommer. Diese Termine sind im Google Kalender entsprechend mit eigenen Werten eingetragen und werden auch korrekt angezeigt.
Nun ist die Zusatzleerung seit letzte Woche beendet. Somit findet er im Kalender auch keinen neuen Termin. (Der Kalender 2017 existiert ja noch nicht).

Wie kann ich das abfangen. Z.B. Wenn nächster Termin > 2 Monate dann zeige nicht den Wert (Resttage) sondern ein "x" ?
Danke für die Hilfe
Jörg
FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP

Snooper166

Hallo zusammen,

möchte das Modul hinzufügen, bekomme aber immer folgende Meldung:

2016.08.28 12:31:29 1 : https://github.com/uniqueck/fhem-abfall/blame/feature/counting-used-waste-events/controls_fhemabfall.txt: empty answer received

Eine Idee?

Danke

moonsorrox

Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

uniqueck

Nene die angehangenen Module habe ich nicht immer aktualisiert.  Ich prüfe das mal, aber es kann  sei  das ich den Branch schon auf den develop Strang gemerget habe.

Gruß Constantin

Gesendet von meinem ONEPLUS A3003 mit Tapatalk


uniqueck

Also ein  installieren sollte vom master develop und deinem besagten Strang möglich sein. Hast du mal die anderen Stränge probiert?

Gruß Constantin

Gesendet von meinem ONEPLUS A3003 mit Tapatalk


roadghost

Hallo,

ich möchte gern eine Funktion in FHEM programmieren, diese soll ein at werden.

Ich habe hierzu im fhem wiki eine vorlage gefunden die die Daten eines Abfallkalenders auswertet und in abhängigkeit einer bevorstehenden Mülltonnenleerung eine pushnachricht versendet.

http://www.fhemwiki.de/wiki/Pushover

Lässt sich das Abfallmodul und das at zusammenführen ?

Hier ist der Code des at:


*13:25:00 {my $Eventname;my $EventHeute;$EventHeute=fhem("get events today");print $EventHeute;if ($EventHeute ne "none"){$Eventname="Ereignis: $EventHeute";fhem("set pushmsg msg 'fhem' 'Erinnerung an: $Eventname' 0 ");}}


Das Abfallmodul gibt bei mir Readings aus, diese lauten als beispiel:

Abfall_Grau_tage 1

Sprich in 1 Tag(en) wird die Graue Tonne geleert.

Ich habe insg. 4 readings, es ist immer nur die Farbe unterschiedlich, Grau, Gelb, Gruen und Braun.

Das at soll nun jeden Tag um 19 Uhr prüfen, ob das Reading der jeweiligen Tonne auf 1 steht und soll, wenn dem so ist, eine pushnachricht versenden.

Leider sind meine Kenntnisse nicht so besonders, daher habe ich das erstmal mit DOIF gelöst:


define Alarm_Restmuell DOIF ([19:00-21:00] and [myAbfall:Abfall_Grau_tage] < 2) (set pushmsg msg 'Restmuelltonne rausstellen' )


Kann/soll ich das so lassen oder wäre eine Lösung mittels at besser ??

Gruß
NUC/Ubuntu 22.04 m. FHEM, div. Tasmota-Steckdosen, HMCFGUSB-2 für 12x HM-CC-RT-DN + 8x HM-TC-IT-WW
Rademacher DuoFern für 12 Jalousien, JeeLink für LaCrosse Temp.Sensor, WLAN-smart-Plugs, 
NUKI smartlock, 2xIP-CAM, Pylontech Speicher + Sungrow WR, Unifi-AP´s + Controller auf weiterem NUC

RaspiCOC

#476
Was willst Du da anders machen, wenn es funktioniert?

Weshalb hast Du da den Zeitraum 19 - 21 Uhr reingenommen? Wann willst Du die Pushover-Nachricht bekommen? Dann setze doch die genaue Uhrzeit. Dann würde ich das "<2" durch "eq 1" ersetzen und [myAbfall:Abfall_Grau_tage] durch [?myAbfall:Abfall_Grau_tage] ersetzen, damit der DOIF nur durch die Zeitangabe getriggert wird.

uniqueck

Zitat von: jnewton957 am 28 August 2016, 11:50:43
Hallo,

das Modul Abfallkalender läuft hervorragend. Danke dafür.
Habe nachfolgende "Herausforderung".

Bei uns gibt es eine Bio-Zusatzleerung im Sommer. Diese Termine sind im Google Kalender entsprechend mit eigenen Werten eingetragen und werden auch korrekt angezeigt.
Nun ist die Zusatzleerung seit letzte Woche beendet. Somit findet er im Kalender auch keinen neuen Termin. (Der Kalender 2017 existiert ja noch nicht).

Wie kann ich das abfangen. Z.B. Wenn nächster Termin > 2 Monate dann zeige nicht den Wert (Resttage) sondern ein "x" ?
Danke für die Hilfe
Jörg
Das geht mit dem Modul nicht, da bei jeder Aktualisierung alles gelöscht wird und daher kann ich nicht wissen das es keinen weiteren Termin gibt.

Müsste mir sonst was einfallen lassen, aber du könntest ja auch einfach selber einen weiteren Termin eintragen, welcher einfach ein Jahr in der Zukunft liegt, dann kannst du mit einem Userreading einfach abfragen wenn Tage größer als Schwellwert x ist, dann  setze x als Wert.

Gruß Constantin

Gesendet von meinem ONEPLUS A3003 mit Tapatalk


ArduPino

Hallo.
Kann mir jemand kurz erklären wie man den Kalender nun weiter benutzt ?
Leider findet man im Internet nur Anleitungen die diese 99_myUtils benutzen.
Ich habe zwei dummy devices mit je einer Tonne als Icon.
Wie bekomme ich nun bei dem einen device den nächsten Termin für die blaue Tonne und bei dem zweiten device die für die schwarze Tonne angezeigt.  :'(

uniqueck

Zitat von: ArduPino am 27 September 2016, 01:31:47
Hallo.
Kann mir jemand kurz erklären wie man den Kalender nun weiter benutzt ?
Leider findet man im Internet nur Anleitungen die diese 99_myUtils benutzen.
Ich habe zwei dummy devices mit je einer Tonne als Icon.
Wie bekomme ich nun bei dem einen device den nächsten Termin für die blaue Tonne und bei dem zweiten device die für die schwarze Tonne angezeigt.  :'(
Dazu ist genau dieses Modul da. Einfach per Calender Device einen Kalender mit Abfallterminen definieren und dann das Abfall Modul anlegen mit dem Name des Calender Device als Parameter.

define myAbfall Abfall Abfallcalender

Ich hoffe die Angabe ist richtig, wenn nicht schaue mal in den ersten Posts nach.

Gruß Constantin

Gesendet von meinem ONEPLUS A3003 mit Tapatalk