Neues Modul für Abfallkalender ABFALL

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

Vorheriges Thema - Nächstes Thema

buchner51

Hallo ich benötige etwas Hilfe,

ich hab das Modul soweit am laufen und würde es gerne mit Tablet UI darstellen.

Meine Redings enthalten das Datum mitten drin wie kann ich dies ausblenden für die Darstellung im Tablet Ui


DeviceOverview
myABFALL
Bio-Abfall am 12.12.2017 in 2 Tag(en)

myABFALL

Internals
CFGFN

DEF
AbfallGoogleCalender

KALENDER
AbfallGoogleCalender
NAME
myABFALL
NOTIFYDEV
AbfallGoogleCalender
NR
247
NTFY_ORDER
50-myABFALL
STATE
Bio-Abfall am 12.12.2017 in 2 Tag(en)
TYPE
ABFALL
Readings
Bio-Abfallam12122017_date
12.12.2017
2017-12-10 21:16:30
Bio-Abfallam12122017_days
2
2017-12-10 21:16:30
Bio-Abfallam12122017_description
Abfuhrtermin Bio-Abfall in Mainzer Str. am 12.12.2017
2017-12-10 21:16:30
Bio-Abfallam12122017_location
Mainzer Str.
2017-12-10 21:16:30
Bio-Abfallam12122017_text
Bio-Abfall am 12.12.2017
2017-12-10 21:16:30
Bio-Abfallam12122017_uid
802184285ad4ba54e73c7ed98d4215fa
2017-12-10 21:16:30
Bio-Abfallam12122017_weekday
Dienstag
2017-12-10 21:16:30
Bio-Abfallam27122017_date
27.12.2017
2017-12-10 21:16:30
Bio-Abfallam27122017_days
17
2017-12-10 21:16:30
Bio-Abfallam27122017_description
Abfuhrtermin Bio-Abfall in Mainzer Str. am 27.12.2017
2017-12-10 21:16:30
Bio-Abfallam27122017_location
Mainzer Str.
2017-12-10 21:16:30
Bio-Abfallam27122017_text
Bio-Abfall am 27.12.2017
2017-12-10 21:16:30
Bio-Abfallam27122017_uid
b8f61a9cb91b1f2da0d2df4e2f198634
2017-12-10 21:16:30
Bio-Abfallam27122017_weekday
Mittwoch
2017-12-10 21:16:30
GelberSackam19122017_date
19.12.2017
2017-12-10 21:16:30
GelberSackam19122017_days
9
2017-12-10 21:16:30
GelberSackam19122017_description
Abfuhrtermin Gelber Sack in Mainzer Str. am 19.12.2017
2017-12-10 21:16:30
GelberSackam19122017_location
Mainzer Str.
2017-12-10 21:16:30
GelberSackam19122017_text
Gelber Sack am 19.12.2017
2017-12-10 21:16:30
GelberSackam19122017_uid
ee2065add6bd3e9d09266f3ed1932fd7
2017-12-10 21:16:30
GelberSackam19122017_weekday
Dienstag
2017-12-10 21:16:30
Rest-Abfallam19122017_date
19.12.2017
2017-12-10 21:16:30
Rest-Abfallam19122017_days
9
2017-12-10 21:16:30
Rest-Abfallam19122017_description
Abfuhrtermin Rest-Abfall in Mainzer Str. am 19.12.2017
2017-12-10 21:16:30
Rest-Abfallam19122017_location
Mainzer Str.
2017-12-10 21:16:30
Rest-Abfallam19122017_text
Rest-Abfall am 19.12.2017
2017-12-10 21:16:30
Rest-Abfallam19122017_uid
06ea230724ad0fa9c1f72c2a688113ca
2017-12-10 21:16:30
Rest-Abfallam19122017_weekday
Dienstag
2017-12-10 21:16:30
next
Bio-Abfallam12122017_2
2017-12-10 21:16:30
next_date
12.12.2017
2017-12-10 21:16:30
next_days
2
2017-12-10 21:16:30
next_description
Abfuhrtermin Bio-Abfall in Mainzer Str. am 12.12.2017
2017-12-10 21:16:30
next_location
Mainzer Str.
2017-12-10 21:16:30
next_text
Bio-Abfall am 12.12.2017
2017-12-10 21:16:30
next_weekday
Dienstag
2017-12-10 21:16:30
state
2
2017-12-10 21:16:30


Mein Tablet Code:
     
    <div data-device="myABFALL" data-type="symbol"
          data-get="Rest-Abfallam.*_.*_days" data-get-warn=".*(\d+).*"
          data-get-on='["0","1","2"]'
          data-on-colors='["#000","#A4A4A4","#A4A4A4"]'
          data-icons='["fa-trash-o","fa-trash-o"]'
          class="inline big"></div>
<div data-type="label" class="">schwarze</div> 

<div data-device="myABFALL" data-type="symbol"
          data-get="next_textblau" data-get-warn=".*(\d+).*"
          data-get-on='["0","1","2"]'
          data-on-colors='["#FAFAFA","#08088A","#08088A"]'
          data-icons='["fa-trash-o","fa-trash-o"]'
          class="inline big"></div>
<div data-type="label" class="">blaue</div>

<div data-device="myABFALL" data-type="symbol"
          data-get="Bio-Abfallam12122017_days" data-get-warn=".*(\d+).*"
          data-get-on='["0","1","2"]'
          data-on-colors='["#000","#8A4B08","#8A4B08"]'
          data-icons='["fa-trash-o","fa-trash-o"]'
          class="inline big"></div>
<div data-type="label" class="">braune</div>

<div data-device="myABFALL" data-type="symbol"
          data-get="GelberSackam19122017_days" data-get-warn=".*(\d+).*"
          data-get-on='["0","1","2"]'
          data-on-colors='["#000","#FFFF00","#FFFF00"]'
          data-icons='["fa-trash-o","fa-trash-o"]'
          class="inline big"></div>
<div data-type="label" class="">gelber</div>


Kann mir jemand helfen???
Danke
Raspberry pi 3+
KNX mit TUL, FHEM mit SMARTVISU 2.9

Darkmozart

Hallo,

schau dir mal das Attribut abfall_clear_reading_regex an, damit müsstest du weiter kommen.
RasPi3 mit aktuellem FHEM
CUL 433MHZ
Ne Menge Somfy Rollläden
Aktuelles Projekt: Sensoren (MySensors) für Helligkeit und Temperatur zur Rollladensteuerung
Diverse Spielereien...

buchner51

Hallo,

hast du auch ein Beispiel für mich, im WIKI und im Command steht nicht viel dazu.

Danke
Raspberry pi 3+
KNX mit TUL, FHEM mit SMARTVISU 2.9

Darkmozart

Also mein Entsorger nennt die Termine z.B.:
Biotonne in Holzheim-DLG
mein abfall_clear_reading_regex heisst dann:
in Holzheim-DLG
und der Termin-Text wird dann zu:
Biotonne

den Regex musst halt dann auf deine Bedürfnisse anpassen - kann ein wenig Spielerei werden bis es genau passt.
RasPi3 mit aktuellem FHEM
CUL 433MHZ
Ne Menge Somfy Rollläden
Aktuelles Projekt: Sensoren (MySensors) für Helligkeit und Temperatur zur Rollladensteuerung
Diverse Spielereien...

buchner51

Hallo,

kannst du mir mal ein
list ABFALL

und ein Auszug vom Tablet UI zuschicken.

Danke
Raspberry pi 3+
KNX mit TUL, FHEM mit SMARTVISU 2.9

Darkmozart

Tablett UI hab ich nicht, List kommt per PN
RasPi3 mit aktuellem FHEM
CUL 433MHZ
Ne Menge Somfy Rollläden
Aktuelles Projekt: Sensoren (MySensors) für Helligkeit und Temperatur zur Rollladensteuerung
Diverse Spielereien...

en-trust

was soll an der Programmierung falsch sein ?

2017.12.16 11:09:39.124 3: vCal_Abfallkalender.PushNotify return value: syntax error at (eval 441) line 1, near ") and"
syntax error at (eval 441) line 8, near "}}"

2017.12.16 11:09:39.097 1: ERROR evaluating my $TYPE='CALVIEW';my $SELF='vCal_Abfallkalender.PushNotify';my $EVTPART0='t_004_weekday:';my $NAME='vCal_Abfallkalender';my $EVTPART1='6';my $EVENT='t_004_weekday: 6';{if(Value("PushMessenger_OnOff") eq "on") and (ReadingsVal("vCal_Abfallkalender","t_001_daysleft",0) < 2){
my $temp_summary = ReadingsVal("vCal_Abfallkalender","t_001_summary","");
my $temp_weekdayname = ReadingsVal("vCal_Abfallkalender","t_001_weekdayname","");
my $temp_daysleftLong = ReadingsVal("vCal_Abfallkalender","t_001_daysleftLong",0);
my $temp_summary_2 = ReadingsVal("vCal_Abfallkalender","t_002_summary","");
my $temp_weekdayname_2 = ReadingsVal("vCal_Abfallkalender","t_002_weekdayname","");
my $temp_daysleftLong_2 = ReadingsVal("vCal_Abfallkalender","t_002_daysleftLong",0);
{fhem ("set PushMessenger msg '$temp_summary' 'Am $temp_weekdayname ($temp_daysleftLong) wird $temp_summary abgeholt.\nDie nächste Leerung ($temp_summary_2) ist am $temp_weekdayname_2.' '' 0 ''")}}}: syntax error at (eval 436) line 1, near ") and"
syntax error at (eval 436) line 8, near "}}"

2017.12.16 11:09:39.097 3: vCal_Abfallkalender.PushNotify return value: syntax error at (eval 436) line 1, near ") and"
syntax error at (eval 436) line 8, near "}}"

DeeSPe

Zitat von: en-trust am 16 Dezember 2017, 11:14:49
was soll an der Programmierung falsch sein ?

2017.12.16 11:09:39.124 3: vCal_Abfallkalender.PushNotify return value: syntax error at (eval 441) line 1, near ") and"
syntax error at (eval 441) line 8, near "}}"

2017.12.16 11:09:39.097 1: ERROR evaluating my $TYPE='CALVIEW';my $SELF='vCal_Abfallkalender.PushNotify';my $EVTPART0='t_004_weekday:';my $NAME='vCal_Abfallkalender';my $EVTPART1='6';my $EVENT='t_004_weekday: 6';{if(Value("PushMessenger_OnOff") eq "on") and (ReadingsVal("vCal_Abfallkalender","t_001_daysleft",0) < 2){
my $temp_summary = ReadingsVal("vCal_Abfallkalender","t_001_summary","");
my $temp_weekdayname = ReadingsVal("vCal_Abfallkalender","t_001_weekdayname","");
my $temp_daysleftLong = ReadingsVal("vCal_Abfallkalender","t_001_daysleftLong",0);
my $temp_summary_2 = ReadingsVal("vCal_Abfallkalender","t_002_summary","");
my $temp_weekdayname_2 = ReadingsVal("vCal_Abfallkalender","t_002_weekdayname","");
my $temp_daysleftLong_2 = ReadingsVal("vCal_Abfallkalender","t_002_daysleftLong",0);
{fhem ("set PushMessenger msg '$temp_summary' 'Am $temp_weekdayname ($temp_daysleftLong) wird $temp_summary abgeholt.\nDie nächste Leerung ($temp_summary_2) ist am $temp_weekdayname_2.' '' 0 ''")}}}: syntax error at (eval 436) line 1, near ") and"
syntax error at (eval 436) line 8, near "}}"

2017.12.16 11:09:39.097 3: vCal_Abfallkalender.PushNotify return value: syntax error at (eval 436) line 1, near ") and"
syntax error at (eval 436) line 8, near "}}"


Steht doch da!
Die Klammer vor ReadingsVal ist zu viel.
Zitat{if(Value("PushMessenger_OnOff") eq "on") and (ReadingsVal("vCal_Abfallkalender","t_001_daysleft",0) < 2)

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

en-trust

#1118
dann wäre aber eine ) zu viel.

{if(Value("PushMessenger_OnOff") eq "on"[b])[/b] and [b]([/b]ReadingsVal("vCal_Abfallkalender","t_001_daysleft",0) < 2)

nehm ich die beiden weg, meckert er zumindest nicht. Im Log steht aber immernoch...

2017.12.16 11:32:25.821 1: ERROR evaluating my $EVTPART4='5';my $EVTPART22='3';my $SELF='vCal_Abfallkalender.PushNotify';my $EVENT='1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0';my $EVTPART10='1';my $EVTPART7='8';my $EVTPART28='9';my $EVTPART20='1';my $EVTPART6='7';my $TYPE='vCal_Abfallkalender.PushNotify';my $EVTPART19='0';my $EVTPART17='8';my $EVTPART2='3';my $EVTPART15='6';my $EVTPART0='1';my $EVTPART12='3';my $EVTPART3='4';my $NAME='vCal_Abfallkalender.PushNotify';my $EVTPART5='6';my $EVTPART21='2';my $EVTPART29='0';my $EVTPART8='9';my $EVTPART27='8';my $EVTPART9='0';my $EVTPART26='7';my $EVTPART11='2';my $EVTPART13='4';my $EVTPART18='9';my $EVTPART23='4';my $EVTPART14='5';my $EVTPART25='6';my $EVTPART16='7';my $EVTPART1='2';my $EVTPART24='5';{return undef; {if(Value("PushMessenger_OnOff") eq "on") and ReadingsVal("vCal_Abfallkalender","t_001_daysleft",0) < 2){
my $temp_summary = ReadingsVal("vCal_Abfallkalender","t_001_summary","");
my $temp_weekdayname = ReadingsVal("vCal_Abfallkalender","t_001_weekdayname","");
my $temp_daysleftLong = ReadingsVal("vCal_Abfallkalender","t_001_daysleftLong",0);
my $temp_summary_2 = ReadingsVal("vCal_Abfallkalender","t_002_summary","");
my $temp_weekdayname_2 = ReadingsVal("vCal_Abfallkalender","t_002_weekdayname","");
my $temp_daysleftLong_2 = ReadingsVal("vCal_Abfallkalender","t_002_daysleftLong",0);
fhem ("set PushMessenger msg '$temp_summary' 'Am $temp_weekdayname ($temp_daysleftLong) wird $temp_summary abgeholt.\nDie nächste Leerung ($temp_summary_2) ist am $temp_weekdayname_2.'")}}}: syntax error at (eval 3892) line 1, near ") and"
syntax error at (eval 3892) line 8, near "}}"

DeeSPe

Zitat von: en-trust am 16 Dezember 2017, 11:32:13
dann wäre aber eine ) zu viel.

{if(Value("PushMessenger_OnOff") eq "on"[b])[/b] and [b]([/b]ReadingsVal("vCal_Abfallkalender","t_001_daysleft",0) < 2)

nehm ich die beiden weg, meckert er zumindest nicht.

Stimmt die nach "on" ist auch zu viel.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

en-trust

Jetzt klappt es. Alerdings erhalte ich die Message jetzt 10 jede Stunde. Kann man hier auch noch was optimieren, dass ich nur eine Message bekomme und vielleicht nur 20:00 ?

define vCal_Abfallkalender.PushNotify notify vCal_Abfallkalender {if(Value("PushMessenger_OnOff") eq "on" and ReadingsVal("vCal_Abfallkalender","t_001_daysleft",0) < 2){\
my $temp_summary = ReadingsVal("vCal_Abfallkalender","t_001_summary","");;\
my $temp_weekdayname = ReadingsVal("vCal_Abfallkalender","t_001_weekdayname","");;\
my $temp_daysleftLong = ReadingsVal("vCal_Abfallkalender","t_001_daysleftLong",0);;\
my $temp_summary_2 = ReadingsVal("vCal_Abfallkalender","t_002_summary","");;\
my $temp_weekdayname_2 = ReadingsVal("vCal_Abfallkalender","t_002_weekdayname","");;\
my $temp_daysleftLong_2 = ReadingsVal("vCal_Abfallkalender","t_002_daysleftLong",0);;\
fhem ("set PushMessenger msg '$temp_summary' 'Am $temp_weekdayname ($temp_daysleftLong) wird $temp_summary abgeholt.\nDie nächste Leerung ($temp_summary_2) ist am $temp_weekdayname_2.'")}}
attr vCal_Abfallkalender.PushNotify group Kalender
attr vCal_Abfallkalender.PushNotify room Status

DeeSPe

Zitat von: en-trust am 17 Dezember 2017, 16:17:47
Jetzt klappt es. Alerdings erhalte ich die Message jetzt 10 jede Stunde. Kann man hier auch noch was optimieren, dass ich nur eine Message bekomme und vielleicht nur 20:00 ?

Es fehlt dem notify der Trigger, somit wird auf jedes Event getriggert.
Wenn Du "t_001_daysleft" auswertest, solltest Du auch darauf triggern.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

en-trust

Du meinst mit Triggern das event-on-change-reading auf t_001_daysleft ?

DeeSPe

Zitat von: en-trust am 18 Dezember 2017, 10:07:31
Du meinst mit Triggern das event-on-change-reading auf t_001_daysleft ?

Nein!
Bitte (nochmal) zu notify in der commandref belesen.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

the ratman

#1124
hiho,

ich hab ein gar lustiges problemchen ...
mein abfall-modul macht eigentlich alles - schon seit 1 jahr - richtig, bis auf eines: ich hab die sperrmüllabfuhr händisch in das vom calendar-modul abzugrasende ics (original der gemeinde) gebastelt.
wenn ich den calendar update/reloade, wird auch alles 100% korrekt im abfall-modul angezeigt. restarte ich fhem oder updatwt abfall sich selber, dann verschwinden alle readings die den sperrmüll betreffen. der rest bleibt, wie er soll und ist auch aktuell.

woran könnts liegen? bin ein bissi ratlos.

nachtrag:
den sperrmüll-termin hab ich übrigens vom strauchgut-termin kopiert, der seit "anbeginn" problemlos gefunzt hat.
ist das richtig so? (ist mein erster ics-termin)BEGIN:VEVENT
DTSTART:20180425T050000
DTEND:20180425T070000
DTSTAMP:20180425T050000Z
UID:137073
CREATED:20130101T050000Z
DESCRIPTION:Sperrmuellabfuhr
LAST-MODIFIED:20130101T050000Z
LOCATION:xxx
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Sperrmuellabfuhr
TRANSP:TRANSPARENT
END:VEVENT
→do↑p!dnʇs↓shit←