Die fressen ja kein Heu... 😀
HowTo: Müllabfuhrplan mit fixen Terminen Anzeige ww. in Stunden/Tagen
Einklappen
X
-
Hallo Sebastian,
habe jetzt meine neuen Kalender eingepflegt und in diesem Zug auch dein aktuelles Update der Berechnung übernommen.
Nur leider stimmt jetzt die Berechnung nicht mehr.
Normalerweise würde morgen früh 6:00uhr der Bio-Müll geholt werden, aber der Berechnungsbaustein bringt noch mehr als 2 Tage.
Würdest du dir dies bitte mal ansehen und mir sagen, wo ich den Fehler gemacht habe.
Vielen Dank schon mal im Vorraus
PHP-Code:// Müllabfuhr für loxforum.com by Sebastian //AI1: Minuten Aktualisierung //AQ1: Stunden bis Restmüllabholung //AQ2: Stunden bis Biomüllabholung //AQ3: Stunden bis Altpapierabholung //AQ4: Stunden bis Leichtstoffabholung float sleeptime, now, restleft, bioleft, papierleft, leichtleft; int rest[30], bio[55], papier[30], leicht[30]; //Arrays. Falls es mehr Termine sind, einfach die Klammerwerte erhöhen int lenrest, lenbio, lenpapier, lenleicht, i, k, year, hourrest, hourbio, hourpapier, hourleicht, minuterest, minutebio, minutepapier, minuteleicht, remtimerest, remtimebio, remtimepapier, remtimeleicht; year = 2016; //Jahr, für den der Müllkalender gilt hourrest = 6; //Stunde, an der die Müllabfuhr üblicherweise kommt (Restmüll) hourbio = 6; //Stunde, an der die Müllabfuhr üblicherweise kommt (Biomüll) hourpapier = 6; //Stunde, an der die Müllabfuhr üblicherweise kommt (Altpapier) hourleicht = 6; //Stunde, an der die Müllabfuhr üblicherweise kommt (Leichtstoff) minuterest = 0; //Minute, an der die Müllabfuhr üblicherweise kommt ;-) minutebio = 0; //Minute, an der die Müllabfuhr üblicherweise kommt ;-) minutepapier = 0; //Minute, an der die Müllabfuhr üblicherweise kommt ;-) minuteleicht = 0; //Minute, an der die Müllabfuhr üblicherweise kommt ;-) remtimerest = 12; //Stunden vor der Abholung bzgl. Erinnerung. IM STATUSBAUSTEIN ANPASSEN (oder umgekehrt)! remtimebio = 12; //Stunden vor der Abholung bzgl. Erinnerung. IM STATUSBAUSTEIN ANPASSEN (oder umgekehrt)! remtimepapier = 12; //Stunden vor der Abholung bzgl. Erinnerung. IM STATUSBAUSTEIN ANPASSEN (oder umgekehrt)! remtimeleicht = 12; //Stunden vor der Abholung bzgl. Erinnerung. IM STATUSBAUSTEIN ANPASSEN (oder umgekehrt)! while(TRUE) { sleeptime = 60*getinput(0); //Aktualisierungszeit in Sekunden now = getcurrenttime(); //aktuelle Zeit in Sekunden (seit 01.01.2009 0:00) //Daten der Restmüllabholung rest[0] = gettimeval(year-1, 12, 17, hourrest, minuterest, 0, 1); //Letzter Abfuhrtermin des alten Jahres rest[1] = gettimeval(year, 1, 14, hourrest, minuterest, 0, 1); //ab hier für das neue Jahr (Variable "year") rest[2] = gettimeval(year, 2, 10, hourrest, minuterest, 0, 1); rest[3] = gettimeval(year, 3, 9, hourrest, minuterest, 0, 1); rest[4] = gettimeval(year, 4, 6, hourrest, minuterest, 0, 1); rest[5] = gettimeval(year, 5, 4, hourrest, minuterest, 0, 1); rest[6] = gettimeval(year, 6, 1, hourrest, minuterest, 0, 1); rest[7] = gettimeval(year, 6, 29, hourrest, minuterest, 0, 1); rest[8] = gettimeval(year, 7, 27, hourrest, minuterest, 0, 1); rest[9] = gettimeval(year, 8, 24, hourrest, minuterest, 0, 1); rest[10] = gettimeval(year, 9, 21, hourrest, minuterest, 0, 1); rest[11] = gettimeval(year, 10, 19, hourrest, minuterest, 0, 1); rest[12] = gettimeval(year, 11, 17, hourrest, minuterest, 0, 1); rest[13] = gettimeval(year, 12, 14, hourrest, minuterest, 0, 1); rest[14] = gettimeval(year+1, 1, 11, hourrest, minuterest, 0, 1); //Schleife Zählen der vorh. Arrayelemente beim Restmüll lenrest=0; for(k=0; k<(sizeof(rest)/sizeof(int)); k++) { if(rest[k] > 0) { lenrest++; } } //Daten der Biomüllabholung bio[0] = gettimeval(year-1, 12, 23, hourbio, minutebio, 0, 1); //Letzter Abfuhrtermin des alten Jahres bio[1] = gettimeval(year, 1, 29, hourbio, minutebio, 0, 1); //ab hier für das neue Jahr (Variable "year") bio[2] = gettimeval(year, 2, 5, hourbio, minutebio, 0, 1); bio[3] = gettimeval(year, 2, 12, hourbio, minutebio, 0, 1); bio[4] = gettimeval(year, 2, 19, hourbio, minutebio, 0, 1); bio[5] = gettimeval(year, 2, 26, hourbio, minutebio, 0, 1); bio[6] = gettimeval(year, 3, 4, hourbio, minutebio, 0, 1); bio[7] = gettimeval(year, 3, 11, hourbio, minutebio, 0, 1); bio[8] = gettimeval(year, 3, 18, hourbio, minutebio, 0, 1); bio[9] = gettimeval(year, 3, 26, hourbio, minutebio, 0, 1); bio[10] = gettimeval(year, 4, 2, hourbio, minutebio, 0, 1); bio[11] = gettimeval(year, 4, 8, hourbio, minutebio, 0, 1); bio[12] = gettimeval(year, 4, 15, hourbio, minutebio, 0, 1); bio[13] = gettimeval(year, 4, 22, hourbio, minutebio, 0, 1); bio[14] = gettimeval(year, 4, 29, hourbio, minutebio, 0, 1); bio[15] = gettimeval(year, 5, 7, hourbio, minutebio, 0, 1); bio[16] = gettimeval(year, 5, 13, hourbio, minutebio, 0, 1); bio[17] = gettimeval(year, 5, 21, hourbio, minutebio, 0, 1); bio[18] = gettimeval(year, 5, 27, hourbio, minutebio, 0, 1); bio[19] = gettimeval(year, 6, 3, hourbio, minutebio, 0, 1); bio[20] = gettimeval(year, 6, 10, hourbio, minutebio, 0, 1); bio[21] = gettimeval(year, 6, 17, hourbio, minutebio, 0, 1); bio[22] = gettimeval(year, 6, 24, hourbio, minutebio, 0, 1); bio[23] = gettimeval(year, 7, 1, hourbio, minutebio, 0, 1); bio[24] = gettimeval(year, 7, 8, hourbio, minutebio, 0, 1); bio[25] = gettimeval(year, 7, 15, hourbio, minutebio, 0, 1); bio[26] = gettimeval(year, 7, 22, hourbio, minutebio, 0, 1); bio[27] = gettimeval(year, 7, 29, hourbio, minutebio, 0, 1); bio[28] = gettimeval(year, 8, 5, hourbio, minutebio, 0, 1); bio[29] = gettimeval(year, 8, 12, hourbio, minutebio, 0, 1); bio[30] = gettimeval(year, 8, 19, hourbio, minutebio, 0, 1); bio[31] = gettimeval(year, 8, 26, hourbio, minutebio, 0, 1); bio[32] = gettimeval(year, 9, 2, hourbio, minutebio, 0, 1); bio[33] = gettimeval(year, 9, 9, hourbio, minutebio, 0, 1); bio[34] = gettimeval(year, 9, 16, hourbio, minutebio, 0, 1); bio[35] = gettimeval(year, 9, 23, hourbio, minutebio, 0, 1); bio[36] = gettimeval(year, 9, 30, hourbio, minutebio, 0, 1); bio[37] = gettimeval(year, 10, 8, hourbio, minutebio, 0, 1); bio[38] = gettimeval(year, 10, 14, hourbio, minutebio, 0, 1); bio[39] = gettimeval(year, 10, 21, hourbio, minutebio, 0, 1); bio[40] = gettimeval(year, 10, 28, hourbio, minutebio, 0, 1); bio[41] = gettimeval(year, 11, 5, hourbio, minutebio, 0, 1); bio[42] = gettimeval(year, 11, 11, hourbio, minutebio, 0, 1); bio[43] = gettimeval(year, 11, 19, hourbio, minutebio, 0, 1); bio[44] = gettimeval(year, 11, 25, hourbio, minutebio, 0, 1); bio[45] = gettimeval(year, 12, 2, hourbio, minutebio, 0, 1); bio[46] = gettimeval(year, 12, 9, hourbio, minutebio, 0, 1); bio[47] = gettimeval(year, 12, 16, hourbio, minutebio, 0, 1); bio[48] = gettimeval(year, 12, 23, hourbio, minutebio, 0, 1); bio[49] = gettimeval(year, 12, 31, hourbio, minutebio, 0, 1); bio[50] = gettimeval(year+1, 1, 6, hourbio, minutebio, 0, 1); bio[51] = gettimeval(year+1, 1, 13, hourbio, minutebio, 0, 1); bio[52] = gettimeval(year+1, 1, 20, hourbio, minutebio, 0, 1); bio[53] = gettimeval(year+1, 1, 27, hourbio, minutebio, 0, 1); //Schleife Zählen der vorh. Arrayelemente beim Biomüll lenbio=0; for(k=0; k<(sizeof(bio)/sizeof(int)); k++) { if(rest[k] > 0) { lenbio++; } } //Daten der Papiermüllabholung papier[0] = gettimeval(year-1, 12, 31, hourpapier, minutepapier, 0, 1); //Letzter Abfuhrtermin des alten Jahres papier[1] = gettimeval(year, 1, 8, hourpapier, minutepapier, 0, 1); //ab hier für das neue Jahr (Variable "year") papier[2] = gettimeval(year, 2, 8, hourpapier, minutepapier, 0, 1); papier[3] = gettimeval(year, 3, 7, hourpapier, minutepapier, 0, 1); papier[4] = gettimeval(year, 4, 4, hourpapier, minutepapier, 0, 1); papier[5] = gettimeval(year, 5, 20, hourpapier, minutepapier, 0, 1); papier[6] = gettimeval(year, 5, 30, hourpapier, minutepapier, 0, 1); papier[7] = gettimeval(year, 6, 27, hourpapier, minutepapier, 0, 1); papier[8] = gettimeval(year, 7, 25, hourpapier, minutepapier, 0, 1); papier[9] = gettimeval(year, 8, 22, hourpapier, minutepapier, 0, 1); papier[10] = gettimeval(year, 9, 19, hourpapier, minutepapier, 0, 1); papier[11] = gettimeval(year, 10, 17, hourpapier, minutepapier, 0, 1); papier[12] = gettimeval(year, 11, 11, hourpapier, minutepapier, 0, 1); papier[13] = gettimeval(year, 12, 12, hourpapier, minutepapier, 0, 1); papier[14] = gettimeval(year+1, 1, 9, hourpapier, minutepapier, 0, 1); //Schleife Zählen der vorh. Arrayelemente beim Papiermüll lenpapier=0; for(k=0; k<(sizeof(papier)/sizeof(int)); k++) { if(rest[k] > 0) { lenpapier++; } } //Daten der Leichtstoffabholung leicht[0] = gettimeval(year-1, 12, 30, hourleicht, minuteleicht, 0, 1); //Letzter Abfuhrtermin des alten Jahres leicht[1] = gettimeval(year, 1, 20, hourleicht, minuteleicht, 0, 1); //ab hier für das neue Jahr (Variable "year") leicht[2] = gettimeval(year, 2, 4, hourleicht, minuteleicht, 0, 1); leicht[3] = gettimeval(year, 2, 18, hourleicht, minuteleicht, 0, 1); leicht[4] = gettimeval(year, 3, 3, hourleicht, minuteleicht, 0, 1); leicht[5] = gettimeval(year, 3, 17, hourleicht, minuteleicht, 0, 1); leicht[6] = gettimeval(year, 4, 1, hourleicht, minuteleicht, 0, 1); leicht[7] = gettimeval(year, 4, 14, hourleicht, minuteleicht, 0, 1); leicht[8] = gettimeval(year, 4, 28, hourleicht, minuteleicht, 0, 1); leicht[9] = gettimeval(year, 5, 12, hourleicht, minuteleicht, 0, 1); leicht[10] = gettimeval(year, 5, 26, hourleicht, minuteleicht, 0, 1); leicht[11] = gettimeval(year, 6, 9, hourleicht, minuteleicht, 0, 1); leicht[12] = gettimeval(year, 6, 23, hourleicht, minuteleicht, 0, 1); leicht[13] = gettimeval(year, 7, 7, hourleicht, minuteleicht, 0, 1); leicht[14] = gettimeval(year, 7, 21, hourleicht, minuteleicht, 0, 1); leicht[15] = gettimeval(year, 8, 4, hourleicht, minuteleicht, 0, 1); leicht[16] = gettimeval(year, 8, 18, hourleicht, minuteleicht, 0, 1); leicht[17] = gettimeval(year, 9, 1, hourleicht, minuteleicht, 0, 1); leicht[18] = gettimeval(year, 9, 15, hourleicht, minuteleicht, 0, 1); leicht[19] = gettimeval(year, 9, 29, hourleicht, minuteleicht, 0, 1); leicht[20] = gettimeval(year, 10, 13, hourleicht, minuteleicht, 0, 1); leicht[21] = gettimeval(year, 10, 27, hourleicht, minuteleicht, 0, 1); leicht[22] = gettimeval(year, 11, 10, hourleicht, minuteleicht, 0, 1); leicht[23] = gettimeval(year, 11, 24, hourleicht, minuteleicht, 0, 1); leicht[24] = gettimeval(year, 12, 8, hourleicht, minuteleicht, 0, 1); leicht[25] = gettimeval(year, 12, 22, hourleicht, minuteleicht, 0, 1); leicht[26] = gettimeval(year+1, 1, 5, hourleicht, minuteleicht, 0, 1); leicht[27] = gettimeval(year+1, 1, 19, hourleicht, minuteleicht, 0, 1); //Schleife Zählen der vorh. Arrayelemente beim Leichtstoffmüll lenleicht=0; for(k=0; k<(sizeof(leicht)/sizeof(int)); k++) { if(rest[k] > 0) { lenleicht++; } } //Schleife Restmüll for(i=0; i<lenrest; i++) { restleft = (rest[i]-now)/3600; if(restleft >= 0) { setoutput(0,restleft); i = lenrest-1; } } //Schleife Biomüll for(i=0; i<lenbio; i++) { bioleft = (bio[i]-now)/3600; if(bioleft >= 0) { setoutput(1,bioleft); i = lenbio-1; } } //Schleife Papiermüll for(i=0; i<lenpapier; i++) { papierleft = (papier[i]-now)/3600; if(papierleft >= 0) { setoutput(2,papierleft); i = lenpapier-1; } } //Schleife Leichtstoff for(i=0; i<lenleicht; i++) { leichtleft = (leicht[i]-now)/3600; if(leichtleft >= 0) { setoutput(3,leichtleft); i = lenleicht-1; } } //Schleife zur Überprüfung, ob die Erinnerungsuhrzeit ansteht (innerhalb 1 Stunde), wenn ja: Sleeptime verringern. if((restleft<(remtimerest+1) && restleft>=(remtimerest)) || (bioleft<(remtimebio+1) && bioleft>=(remtimebio)) || (papierleft<(remtimepapier+1) && papierleft>=(remtimepapier)) || (leichtleft<(remtimeleicht+1) && leichtleft>=(remtimeleicht))) { sleeptime = 120; } sleeps(sleeptime); //Sleep-Wert in Sekunden, um die CPU zu schonen..
1 BildGruß HRA
### MS Gen2 + Gen1, MultiExt, Ext, AirExt, DMXExt; DMX4ALL ###
### EnOcean, KNX, MDT GTII ###Kommentar
-
Hallo Sebastian,
also jeweils nach einem MS-Neustart wird die Zeit aktualisiert und es kommt auch die Benachrrichtigung. Aber ein zyklisches Berechnen (in Abhängigkeit der Intervalleinstellung) geschieht nicht mehr.
Habe es mehrmal versucht, jedesmal nur bei Neustart erfolgt eine Zeitenaktualisierung.Gruß HRA
### MS Gen2 + Gen1, MultiExt, Ext, AirExt, DMXExt; DMX4ALL ###
### EnOcean, KNX, MDT GTII ###Kommentar
-
Hallo Sebastian,
also das ist schon etwas merkwürdig.
Habe die Config ein zweites und drittes Mal geladen (ohne Änderungen) sowie den MS mehrfach neu gestartet und nun läuft es wieder seit 2 Tagen stabil.
Danke trotzdem für deine Bemühungen.Gruß HRA
### MS Gen2 + Gen1, MultiExt, Ext, AirExt, DMXExt; DMX4ALL ###
### EnOcean, KNX, MDT GTII ###Kommentar
-
Hallo Leute!
Danke erstmal für das Tool..ist echt der Hammer.
Leider funktioniert es bei mir noch nicht einwandfrei.
Vielleicht hat jemand einen Tipp woran es liegen kann.
Mfg Manuel
//AI1: Minuten Aktualisierung
//AQ1: Stunden bis Restmüllabholung
//AQ2: Stunden bis Biomüllabholung
//AQ3: Stunden bis Altpapierabholung
//AQ4: Stunden bis Leichtstoffabholung
float sleeptime, now, restleft, bioleft, papierleft, leichtleft;
int rest[30], bio[24], papier[9], leicht[10]; //Arrays. Falls es mehr Termine sind, einfach die Klammerwerte erhöhen
int lenrest, lenbio, lenpapier, lenleicht, i, k, year, hourrest, hourbio, hourpapier, hourleicht, minuterest, minutebio, minutepapier, minuteleicht, remtimerest, remtimebio, remtimepapier, remtimeleicht;
year = 2016; //Jahr, für den der Müllkalender gilt
hourrest = 6; //Stunde, an der die Müllabfuhr üblicherweise kommt (Restmüll)
hourbio = 6; //Stunde, an der die Müllabfuhr üblicherweise kommt (Biomüll)
hourpapier = 6; //Stunde, an der die Müllabfuhr üblicherweise kommt (Altpapier)
hourleicht = 6; //Stunde, an der die Müllabfuhr üblicherweise kommt (Leichtstoff)
minuterest = 0; //Minute, an der die Müllabfuhr üblicherweise kommt ;-)
minutebio = 0; //Minute, an der die Müllabfuhr üblicherweise kommt ;-)
minutepapier = 0; //Minute, an der die Müllabfuhr üblicherweise kommt ;-)
minuteleicht = 0; //Minute, an der die Müllabfuhr üblicherweise kommt ;-)
remtimerest = 12; //Stunden vor der Abholung bzgl. Erinnerung. IM STATUSBAUSTEIN ANPASSEN (oder umgekehrt)!
remtimebio = 12; //Stunden vor der Abholung bzgl. Erinnerung. IM STATUSBAUSTEIN ANPASSEN (oder umgekehrt)!
remtimepapier = 12; //Stunden vor der Abholung bzgl. Erinnerung. IM STATUSBAUSTEIN ANPASSEN (oder umgekehrt)!
remtimeleicht = 12; //Stunden vor der Abholung bzgl. Erinnerung. IM STATUSBAUSTEIN ANPASSEN (oder umgekehrt)!
while(TRUE)
{
sleeptime = 60*getinput(0); //Aktualisierungszeit in Sekunden
now = getcurrenttime(); //aktuelle Zeit in Sekunden (seit 01.01.2009 0:00)
//Daten der Restmüllabholung
rest[0] = gettimeval(year-1, 12, 17, hourrest, minuterest, 0, 1); //Letzter Abfuhrtermin des alten Jahres
rest[1] = gettimeval(year, 1, 14, hourrest, minuterest, 0, 1); //ab hier für das neue Jahr (Variable "year")
rest[2] = gettimeval(year, 2, 11, hourrest, minuterest, 0, 1);
rest[3] = gettimeval(year, 3, 1, hourrest, minuterest, 0, 1);
rest[4] = gettimeval(year, 3, 30, hourrest, minuterest, 0, 1);
rest[5] = gettimeval(year, 4, 26, hourrest, minuterest, 0, 1);
rest[6] = gettimeval(year, 5, 24, hourrest, minuterest, 0, 1);
rest[7] = gettimeval(year, 6, 21, hourrest, minuterest, 0, 1);
rest[8] = gettimeval(year, 7, 19, hourrest, minuterest, 0, 1);
rest[9] = gettimeval(year, 8, 17, hourrest, minuterest, 0, 1);
rest[10] = gettimeval(year, 9, 13, hourrest, minuterest, 0, 1);
rest[11] = gettimeval(year, 10, 11, hourrest, minuterest, 0, 1);
rest[12] = gettimeval(year, 11, 8, hourrest, minuterest, 0, 1);
rest[13] = gettimeval(year, 12, 6, hourrest, minuterest, 0, 1);
//Schleife Zählen der vorh. Arrayelemente beim Restmüll
lenrest=0;
for(k=0; k<(sizeof(rest)/sizeof(int)); k++) {
if(rest[k] > 0) {
lenrest++;
}
}
//Daten der Biomüllabholung
bio[0] = gettimeval(year-1, 12, 23, hourbio, minutebio, 0, 1); //Letzter Abfuhrtermin des alten Jahres
bio[1] = gettimeval(year, 1, 7, hourbio, minutebio, 0, 1); //ab hier für das neue Jahr (Variable "year")
bio[2] = gettimeval(year, 1, 21, hourbio, minutebio, 0, 1);
bio[3] = gettimeval(year, 2, 4, hourbio, minutebio, 0, 1);
bio[4] = gettimeval(year, 2, 8, hourbio, minutebio, 0, 1);
bio[5] = gettimeval(year, 3, 7, hourbio, minutebio, 0, 1);
bio[6] = gettimeval(year, 4, 4, hourbio, minutebio, 0, 1);
bio[7] = gettimeval(year, 4, 18, hourbio, minutebio, 0, 1);
bio[8] = gettimeval(year, 5, 2, hourbio, minutebio, 0, 1);
bio[9] = gettimeval(year, 5, 14, hourbio, minutebio, 0, 1);
bio[10] = gettimeval(year, 5, 30, hourbio, minutebio, 0, 1);
bio[11] = gettimeval(year, 6, 13, hourbio, minutebio, 0, 1);
bio[12] = gettimeval(year, 6, 27, hourbio, minutebio, 0, 1);
bio[13] = gettimeval(year, 7, 11, hourbio, minutebio, 0, 1);
bio[14] = gettimeval(year, 7, 25, hourbio, minutebio, 0, 1);
bio[15] = gettimeval(year, 8, 8, hourbio, minutebio, 0, 1);
bio[16] = gettimeval(year, 8, 22, hourbio, minutebio, 0, 1);
bio[17] = gettimeval(year, 9, 5, hourbio, minutebio, 0, 1);
bio[18] = gettimeval(year, 9, 19, hourbio, minutebio, 0, 1);
bio[19] = gettimeval(year, 10, 3, hourbio, minutebio, 0, 1);
bio[20] = gettimeval(year, 10, 17, hourbio, minutebio, 0, 1);
bio[21] = gettimeval(year, 10, 31, hourbio, minutebio, 0, 1);
bio[22] = gettimeval(year, 11, 14, hourbio, minutebio, 0, 1);
bio[23] = gettimeval(year, 12, 12, hourbio, minutebio, 0, 1);
//Schleife Zählen der vorh. Arrayelemente beim Biomüll
lenbio=0;
for(k=0; k<(sizeof(bio)/sizeof(int)); k++) {
if(rest[k] > 0) {
lenbio++;
}
}
//Daten der Papiermüllabholung
papier[0] = gettimeval(year-1, 12, 31, hourpapier, minutepapier, 0, 1); //Letzter Abfuhrtermin des alten Jahres
papier[1] = gettimeval(year, 1, 28, hourpapier, minutepapier, 0, 1); //ab hier für das neue Jahr (Variable "year")
papier[2] = gettimeval(year, 2, 1, hourpapier, minutepapier, 0, 1);
papier[3] = gettimeval(year, 3, 10, hourpapier, minutepapier, 0, 1);
papier[4] = gettimeval(year, 5, 6, hourpapier, minutepapier, 0, 1);
papier[5] = gettimeval(year, 6, 30, hourpapier, minutepapier, 0, 1);
papier[6] = gettimeval(year, 8, 25, hourpapier, minutepapier, 0, 1);
papier[7] = gettimeval(year, 10, 20, hourpapier, minutepapier, 0, 1);
papier[8] = gettimeval(year, 12, 15, hourpapier, minutepapier, 0, 1);
//Schleife Zählen der vorh. Arrayelemente beim Papiermüll
lenpapier=0;
for(k=0; k<(sizeof(papier)/sizeof(int)); k++) {
if(rest[k] > 0) {
lenpapier++;
}
}
//Daten der Leichtstoffabholung
leicht[0] = gettimeval(year-1, 12, 30, hourleicht, minuteleicht, 0, 1); //Letzter Abfuhrtermin des alten Jahres
leicht[1] = gettimeval(year, 1, 27, hourleicht, minuteleicht, 0, 1); //ab hier für das neue Jahr (Variable "year")
leicht[2] = gettimeval(year, 2, 23, hourleicht, minuteleicht, 0, 1);
leicht[3] = gettimeval(year, 4, 5, hourleicht, minuteleicht, 0, 1);
leicht[4] = gettimeval(year, 5, 18, hourleicht, minuteleicht, 0, 1);
leicht[5] = gettimeval(year, 6, 28, hourleicht, minuteleicht, 0, 1);
leicht[6] = gettimeval(year, 8, 9, hourleicht, minuteleicht, 0, 1);
leicht[7] = gettimeval(year, 9, 20, hourleicht, minuteleicht, 0, 1);
leicht[8] = gettimeval(year, 11, 2, hourleicht, minuteleicht, 0, 1);
leicht[9] = gettimeval(year, 12, 13, hourleicht, minuteleicht, 0, 1);
//Schleife Zählen der vorh. Arrayelemente beim Leichtstoffmüll
lenleicht=0;
for(k=0; k<(sizeof(leicht)/sizeof(int)); k++) {
if(rest[k] > 0) {
lenleicht++;
}
}
//Schleife Restmüll
for(i=0; i<30; i++) {
restleft = (rest[i]-now)/3600;
if(restleft >= 0) {
setoutput(0,restleft);
i = lenrest-1;
}
}
//Schleife Biomüll
for(i=0; i<24; i++) {
bioleft = (bio[i]-now)/3600;
if(bioleft >= 0) {
setoutput(1,bioleft);
i = lenbio-1;
}
}
//Schleife Papiermüll
for(i=0; i<9; i++) {
papierleft = (papier[i]-now)/3600;
if(papierleft >= 0) {
setoutput(2,papierleft);
i = lenpapier-1;
}
}
//Schleife Leichtstoff
for(i=0; i<10; i++) {
leichtleft = (leicht[i]-now)/3600;
if(leichtleft >= 0) {
setoutput(3,leichtleft);
i = lenleicht-1;
}
}
//Schleife zur Überprüfung, ob die Erinnerungsuhrzeit ansteht (innerhalb 1 Stunde), wenn ja: Sleeptime verringern.
if((restleft<(remtimerest+1) && restleft>=(remtimerest)) ||
(bioleft<(remtimebio+1) && bioleft>=(remtimebio)) ||
(papierleft<(remtimepapier+1) && papierleft>=(remtimepapier)) ||
(leichtleft<(remtimeleicht+1) && leichtleft>=(remtimeleicht))) {
sleeptime = 120;
}
sleeps(sleeptime); //Sleep-Wert in Sekunden, um die CPU zu schonen..
}
1 BildKommentar
-
Hallo hab euren müllabfuhrplan nachgebaut und ergenwo ist da ein Fehler könnt ihr mir weiter helfen?
Es wir nur ein benachrichtigen angezeigt und nicht drei warum?
Zuletzt geändert von Schurich83; 27.03.2016, 22:22.Kommentar
-
Hallo,
starker Thread und tolle Umsetzung von Sebastian. Ich hab das soweit erstmal am Laufen, jedoch stellen sich mir noch zwei Fragen die mir nicht ganz klar sind.
Frage 1: Wir haben teilweise am selben Tag die Abholung des Restmülls als auch die der Leichtstoffe. Beim Status wird aber dann nur eine Tonne zum Rausstellen angezeigt, oder?
Frage 2: Wir aktualisiert ihr das Programm? Per Stundenimpuls auf AI1?
Vielen Dank im Voraus
HabibKommentar
-
Kommentar
-
-
Hi hoschiman0,
guck auf meinen Screenshot. Ich denke der erklärt das. Solche bereiche gibt es dann für Restmüll, Altpapier, Bio Tonne und Leichstoffmüll.
1 BildKommentar
-
Kommentar
Kommentar