Neues Modul für Abfallkalender ABFALL

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

Vorheriges Thema - Nächstes Thema

BuBu79

Zitat von: Gisbert am 14 Februar 2017, 21:12:16

Mit der index.html weiß ich leider im Moment nichts anzufangen; hab ich da etwas übersehen bei der Einrichtung des Moduls?


Ich dachte es ging um die Visualisierung...aber wenn es läuft ist doch top ;)

Gruß Jan

Gisbert

Hallo Jan,
an die Visualisierung hab ich mich nicht rangetraut, ist für mich zu schwer. Ich habs per stateFormat textlich mit Zeilenumbruch für mich angepasst.
Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Christian72D

Ich bin gestern per Zufall auf das Modul gestossen, heute morgen eingebunden und LÄUFT!

Jetzt hätte ich einen kleinen Wunsch. :)

Mir gehört ein Haus mit drei Zusätzlichen Mietwohnungen, im 2 Wochen Rhytmus muß jede Partei die gelbe Tonne rausstellen.
Die Daten dazu habe ich drin, passt auch alles.

Ich würde gerne im Beschreibungsfeld die Partei eintragen die dran ist (steht bisher im Text, aber dann bekomme ich ja vier Readings).
Somit könnte ich mit einer Zeile eine Benachrichtigung aufsetzen in der dann steht wer dran ist.
Ansonsten müsste ich ja für jede Partei eine eigene machen...

uniqueck

Zitat von: Christian72D am 17 Februar 2017, 12:50:31
Ich bin gestern per Zufall auf das Modul gestossen, heute morgen eingebunden und LÄUFT!

Jetzt hätte ich einen kleinen Wunsch. :)

Mir gehört ein Haus mit drei Zusätzlichen Mietwohnungen, im 2 Wochen Rhytmus muß jede Partei die gelbe Tonne rausstellen.
Die Daten dazu habe ich drin, passt auch alles.

Ich würde gerne im Beschreibungsfeld die Partei eintragen die dran ist (steht bisher im Text, aber dann bekomme ich ja vier Readings).
Somit könnte ich mit einer Zeile eine Benachrichtigung aufsetzen in der dann steht wer dran ist.
Ansonsten müsste ich ja für jede Partei eine eigene machen...
Wäre das Feld Ort im Google Kalender noch ne Alternative?
Das könnte ich einfacher einbauen, bei dem anderen das wird schwierig.

Gruß Constantin

Gesendet von meinem ONEPLUS A3003 mit Tapatalk


Christian72D

Wenn es für DICH leichter ist: für MICH ist es dann kein Problem.

Wiesel

Hallo Zusammen,

ich stehe momentan etwas auf Kriegsfuß mit regex. >:(

Die Abfalltermine habe ich über das angebotene ICS File der Gemeinde in meinen Kalender importiert.
Meine next_text Readings sehen aber deshalb auch etwas unsauber aus.
: /blaue Tonne und : /Gelbe Tonne"

Nun habe ich versucht mittels UserReadings und regex ein neues Reading ohne die Sonderzeichen zu erstellen.
Über die Seite https://www.tutorialspoint.com/execute_perl_online.php habe ich mir nun ein funktionerendes Script erstellt, welches mir den Text wie gewünscht ausgibt.


#!/usr/bin/perl
use strict;
use warnings;

my $next_text = ": /blaue Tonne und : /Gelbe Tonne";
my $var = "";

while ($next_text =~ m/([a-zA-Z]+)/g) {
    $var = "$var $&";
}
print $var;


Ich habe nun versucht das Script auf das userReadings Attribut anzupassen aber FHEM ist dann zu 100% ausgelastet -_-

attr Abfallkalender userReadings naechste_leerung {my $var; while (ReadingsVal($NAME,"next_text",0) =~ m/([a-zA-Z]+)/g) { $var = "$var $&";}; return $var;}

Was mache ich falsch ?
Vielleicht wisst Ihr ja auch eine etwas einfachere Lösung :-)

Grüße
Wiesel
Raspi 4 mit FHEM und CUL / Conbee2

Esjay

Hallo zusammen,

ich lasse mir täglich vorlesen, welcher Müll als nächstes dran ist.
Vor kurzem habe ich entdeckt, dass es auch ein reading now_wochentag gibt, und habe das prompt in die Ausgabe mit rein genommen. Gestern Abend habe ich mich dann gewundert, dass die Ansage nach den Worten  "Heute ist" stumm blieb. Kurz Fhem aufgerufen, und festgestellt, dass das reading nicht mehr vorhanden war. Kann mir das einer erklären? Gab es da evtl. Änderungen am Modul zwischen 2 Updates?

Grüße

Otto123

#682
Hallo Wiesel,

ZitatVielleicht wisst Ihr ja auch eine etwas einfachere Lösung :-)
Ich will Deinen Wissendrang nach RegEx nicht ausbremsen, aber ich habe einen pragmatischen Ansatz:

Ich habe nämlich zusätzlich zu Deinem Problem beim Kalender meiner Gemeinde festgestellt, dass die keine Zeitzone und damit keine Sommer / Winterzeit richtig gesetzt haben.
Die Termine sind von 0:00 bis 0:00 und nicht als Ganzer Tag usw.

Ich habe von der Gemeinde das PDF aufgemacht (das haben sie hübsch gemacht) und habe im Kalender 3 Serientermine nach den Regeln gemacht (Müll  alle 14 Tage Donnerstag, Papier alle 4 Wochen Dienstag usw)
Dann habe ich die 3 oder 4 Ausnahmen zu den Feiertagen korrigiert.
Das dauert alles keine 5 Minuten.  8)

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

Wiesel

Zitat von: Otto123 am 23 Februar 2017, 14:30:23
Ich habe von der Gemeinde das PDF aufgemacht (das haben sie hübsch gemacht) und habe im Kalender 3 Serientermine nach den Regeln gemacht (Müll  alle 14 Tage Donnerstag, Papier alle 4 Wochen Dienstag usw)
Dann habe ich die 3 oder 4 Ausnahmen zu den Feiertagen korrigiert.
Das dauert alles keine 5 Minuten.  8)

Hallo Otto,

ich muss ehrlich gestehen, dass ich daran auch schon gedacht hatte aber keine Lust hatte es so zu lösen  ;D

Ich habe es jetzt über die 99_myUtilis.pm gelöst.

#################################################
######### userReading Abfallkalender  ###########
#################################################
sub ur_abfall($) {
my ($next_text) = @_;
my $var = "";
# Log 1, "$next_text";

while ($next_text =~ m/([a-zA-Z]+)/g) {
$var = "$var $&";
}
#return $var;
return sprintf($var);
# Log 1, "$var";
}


und der aufruf des userReadings

attr Abfallkalender naechste_leerung {ur_abfall(ReadingsVal($NAME,"next_text",0))}

Grüße
Wiesel
Raspi 4 mit FHEM und CUL / Conbee2

RoBra81

Hallo,

ich nutze das Modul schon eine ganze Weile und bin auch sehr zufrieden damit. Nun hätte ich allerdings einen Wunsch nach einem neuen Feature und wollte Fragen, ob dies von allgemeinem Interesse ist und ob es einbaubar wäre: Es kommt bei uns ab und zu mal vor, dass die Leerung in den nächsten Tagen ansteht, die Tonne aber noch nicht ganz voll ist. Dann stellt sich uns die Frage, ob wir noch bis zur nächsten Leerung auskommen, oder die Tonne doch schon rausstellen (um Weihnachten/Neujahr waren zum Beispiel drei Wochen Pause und wir haben erst im Nachhinein festgestellt, dass wir die Tonne mal hätten rausstellen sollen). Daher fände ich es praktisch, wenn es pro Abfallart einen Set-Befehl bzw. ein Attribut gäbe, um zwischen den beiden nächsten Terminen hin- und herzuschalten. So könnte ich über die Visu kurz vor Leerung auf den übernächsten Termin umschalten, wenn die Tonne noch nicht voll ist. Ist dieser zu weit weg, schalte ich zurück, anderenfalls würde er nach überschreiten des nächsten Termins zurückschalten. Diese Funktion könnte ich dann außerdem für die Ansage am Morgen beim Verlassen des Hauses nutzen: wenn eine Tonne zur Leerung ansteht, würde ich mir dies dann über eine Sprachansage mitteilen lassen.

Wäre so eine Funktion "Terminumschaltung" implementierbar?

Vielen Dank
Ronny

uniqueck

Zitat von: Wiesel am 23 Februar 2017, 13:26:23
Hallo Zusammen,

ich stehe momentan etwas auf Kriegsfuß mit regex. >:(

Die Abfalltermine habe ich über das angebotene ICS File der Gemeinde in meinen Kalender importiert.
Meine next_text Readings sehen aber deshalb auch etwas unsauber aus.
: /blaue Tonne und : /Gelbe Tonne"

Nun habe ich versucht mittels UserReadings und regex ein neues Reading ohne die Sonderzeichen zu erstellen.
Über die Seite https://www.tutorialspoint.com/execute_perl_online.php habe ich mir nun ein funktionerendes Script erstellt, welches mir den Text wie gewünscht ausgibt.


#!/usr/bin/perl
use strict;
use warnings;

my $next_text = ": /blaue Tonne und : /Gelbe Tonne";
my $var = "";

while ($next_text =~ m/([a-zA-Z]+)/g) {
    $var = "$var $&";
}
print $var;


Ich habe nun versucht das Script auf das userReadings Attribut anzupassen aber FHEM ist dann zu 100% ausgelastet -_-

attr Abfallkalender userReadings naechste_leerung {my $var; while (ReadingsVal($NAME,"next_text",0) =~ m/([a-zA-Z]+)/g) { $var = "$var $&";}; return $var;}

Was mache ich falsch ?
Vielleicht wisst Ihr ja auch eine etwas einfachere Lösung :-)

Grüße
Wiesel

Hallo Wiesel,

kannst du mir das ICS File mal zur Verfügung stellen, ich würde gerne mal etwas schauen, da ich denke das es aktuell alles mit den Mitteln des Moduls geht.

Gruß Constantin

uniqueck

Zitat von: Christian72D am 17 Februar 2017, 12:50:31
Ich bin gestern per Zufall auf das Modul gestossen, heute morgen eingebunden und LÄUFT!

Jetzt hätte ich einen kleinen Wunsch. :)

Mir gehört ein Haus mit drei Zusätzlichen Mietwohnungen, im 2 Wochen Rhytmus muß jede Partei die gelbe Tonne rausstellen.
Die Daten dazu habe ich drin, passt auch alles.

Ich würde gerne im Beschreibungsfeld die Partei eintragen die dran ist (steht bisher im Text, aber dann bekomme ich ja vier Readings).
Somit könnte ich mit einer Zeile eine Benachrichtigung aufsetzen in der dann steht wer dran ist.
Ansonsten müsste ich ja für jede Partei eine eigene machen...

So die Version ist fertig zum testen bitte nicht unbedingt gleich auf die produktiven Systeme ausrollen, lässt sich ja auch ganz gut auf einem Testsystem testen, hat ja keine große Abhängigkeit außer einen Calendar.

Installieren mit folgenden Befehl.

update all https://raw.githubusercontent.com/uniqueck/fhem-abfall/feature/location_support/controls_fhemabfall.txt

update add https://raw.githubusercontent.com/uniqueck/fhem-abfall/feature/location_support/controls_fhemabfall.txt

So ich habe das Modul etwas umgebaut, so dass nun auch Readings für die description und location angelegt werden, aktuell noch ohne Prüfung wenn sie leer sind oder so, aber darüber könnte man nochmal diskutieren, wenn jemand sagt er würde die nur haben wollen, wenn attribute auf 1 oder so sitzt.

Wo ich ein Problem sehe ist description und location bei den next und now readings, da hier wenn mehre Termin auf einen Tag fallen, dass dann doch recht unleserlich werden würde, aber wenn hierfür jemand eine Idee hat, gerne her damit oder auch direkt per code änderung github.

Des Weiteren habe ich die readings mal alle einheitlich auf englisch umbenannt, also den fixen Anteil, der anderen Anteil kommt ja quasi aus euren Kalendern, wenn jemand sehr an den deutschen readings noch hängt, gibt es hierfür das Attribute enable_old_readingnames, dieses einfach auf 1 setzen.

Den Support für das Zählen von Abholungen kann man aktivieren mit enable_counting_pickups.
So dann bitte einmal ausführlich testen und Bericht hier, es sind natürlich auch alle anderen dazu eingeladen, diese neue Version zu testen. Ich denke das ich sie auch recht kurzfristig dann auf den develop Strang mergen werde.

Gruß Constantin



Christian72D

Ich habe dein Update eingespielt, bekomme aber bisher weder Ort noch Beschreibung angezeigt.

Muß ich noch was beachten?

uniqueck

Zitat von: Christian72D am 03 März 2017, 09:21:45
Ich habe dein Update eingespielt, bekomme aber bisher weder Ort noch Beschreibung angezeigt.

Muß ich noch was beachten?
Hast du den neuen Link oben benutzt?
Wenn nicht schicke mir mal bitte ein list des Devices.

Gruß Constantin

Gesendet von meinem ONEPLUS A3003 mit Tapatalk


Christian72D

#689
Bei der zweiten Zeile kommt bei mir ein:

controls_fhemabfall.txt is already present in https://raw.githubusercontent.com/uniqueck/fhem-abfall/master/controls_fhemabfall.txt

List bringt:
Internals:
   DEF        Muelltonnen_Kalender 3600
   KALENDER   Muelltonnen_Kalender
   NAME       Muelltonnen
   NR         395
   NTFY_ORDER 50-Muelltonnen
   STATE      4
   TYPE       ABFALL
   Readings:
     2017-03-04 07:00:25   Muelltonnen_Kalender_Altpapier_datum 08.03.17
     2017-03-04 07:00:25   Muelltonnen_Kalender_Altpapier_tage 4
     2017-03-04 07:00:25   Muelltonnen_Kalender_Altpapier_text   Altpapier
     2017-03-04 07:00:25   Muelltonnen_Kalender_Altpapier_wochentag Mittwoch
     2017-03-04 07:00:25   Muelltonnen_Kalender_GelbeTonne_datum 16.03.17
     2017-03-04 07:00:25   Muelltonnen_Kalender_GelbeTonne_tage 12
     2017-03-04 07:00:25   Muelltonnen_Kalender_GelbeTonne_text   Gelbe Tonne
     2017-03-04 07:00:25   Muelltonnen_Kalender_GelbeTonne_wochentag Donnerstag
     2017-03-04 07:00:25   Muelltonnen_Kalender_SchwarzeTonne_datum 04.03.17
     2017-03-04 07:00:25   Muelltonnen_Kalender_SchwarzeTonne_tage 0
     2017-03-04 07:00:25   Muelltonnen_Kalender_SchwarzeTonne_text   Schwarze Tonne
     2017-03-04 07:00:25   Muelltonnen_Kalender_SchwarzeTonne_wochentag Samstag
     2017-03-04 07:00:25   next            Muelltonnen_Kalender_Altpapier_4
     2017-03-04 07:00:25   next_datum      08.03.17
     2017-03-04 07:00:25   next_tage       4
     2017-03-04 07:00:25   next_text         Altpapier
     2017-03-04 07:00:25   next_wochentag  Mittwoch
     2017-03-04 07:00:25   now             Muelltonnen_Kalender_SchwarzeTonne
     2017-03-04 07:00:25   now_datum       04.03.17
     2017-03-04 07:00:25   now_text          Schwarze Tonne
     2017-03-04 07:00:25   now_wochentag   Samstag
     2017-03-04 07:00:25   state           4
Attributes:
   event-on-change-reading .*
   room       Info


Version bringt:

Latest Revision: 13583

File                Rev   Last Change

57_ABFALL.pm        11019 2016-02-16 01:55:00Z uniqueck