HowTo: Müllabfuhrplan mit fixen Terminen Anzeige ww. in Stunden/Tagen

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • romildo
    Lebende Foren Legende
    • 25.08.2015
    • 5113

    Gast
    Du solltest die Merker für die Anzeige der Stunden schon mit den Ausgängen vom Programmbaustein verbinden.

    Nachtrag:
    Im Status wird das angezeigt was im Statustext steht.
    Zuletzt geändert von romildo; 24.05.2020, 13:43.
    lg Romildo

    Kommentar

    • Gast

      Zitat von romildo
      Gast
      Du solltest die Merker für die Anzeige der Stunden schon mit den Ausgängen vom Programmbaustein verbinden.
      tja, ich sollte mich nicht dazusetzen, wenn ich weniger als 6 Stunden Schlaf, nur einen Kaffee und die Kinder um mich hab

      Nachtrag:
      Im Status wird das angezeigt was im Statustext steht.
      siehe oben
      da muss ich mich eh noch spielen, als nächstes (von heute aus gerechnet) wär der Bio- und Restmüll dran...

      Kommentar

      • Davidmei
        MS Profi
        • 06.02.2017
        • 539

        Hallo Zusammen,

        leider berechnet der Kalender bei mir nichts mehr. Jemand eine Idee?


        // Müllabfuhr für loxforum.com by Sebastian, angepasst von Shen (Johannes Schirge)
        //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[30], 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 = 2020; //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, 23, hourrest, minuterest, 0, 1); //Letzter Abfuhrtermin des alten Jahres
        rest[1] = gettimeval(year, 1, 8, hourrest, minuterest, 0, 1); //ab hier für das neue Jahr (Variable "year")
        rest[2] = gettimeval(year, 1, 21, hourrest, minuterest, 0, 1);
        rest[3] = gettimeval(year, 2, 4, hourrest, minuterest, 0, 1);
        rest[4] = gettimeval(year, 2, 18, hourrest, minuterest, 0, 1);
        rest[5] = gettimeval(year, 3, 3, hourrest, minuterest, 0, 1);
        rest[6] = gettimeval(year, 3, 17, hourrest, minuterest, 0, 1);
        rest[7] = gettimeval(year, 4, 15, hourrest, minuterest, 0, 1);
        rest[8] = gettimeval(year, 4, 28, hourrest, minuterest, 0, 1);
        rest[9] = gettimeval(year, 5, 12, hourrest, minuterest, 0, 1);
        rest[10] = gettimeval(year, 5, 26, hourrest, minuterest, 0, 1);
        rest[11] = gettimeval(year, 6, 9, hourrest, minuterest, 0, 1);
        rest[12] = gettimeval(year, 6, 23, hourrest, minuterest, 0, 1);
        rest[13] = gettimeval(year, 7, 7, hourrest, minuterest, 0, 1);
        rest[14] = gettimeval(year, 7, 21, hourrest, minuterest, 0, 1);
        rest[15] = gettimeval(year, 8, 4, hourrest, minuterest, 0, 1);
        rest[16] = gettimeval(year, 8, 18, hourrest, minuterest, 0, 1);
        rest[17] = gettimeval(year, 9, 1, hourrest, minuterest, 0, 1);
        rest[18] = gettimeval(year, 9, 15, hourrest, minuterest, 0, 1);
        rest[19] = gettimeval(year, 9, 29, hourrest, minuterest, 0, 1);
        rest[20] = gettimeval(year, 10, 13, hourrest, minuterest, 0, 1);
        rest[21] = gettimeval(year, 10, 27, hourrest, minuterest, 0, 1);
        rest[22] = gettimeval(year, 11, 10, hourrest, minuterest, 0, 1);
        rest[23] = gettimeval(year, 11, 24, hourrest, minuterest, 0, 1);
        rest[24] = gettimeval(year, 12, 8, hourrest, minuterest, 0, 1);
        rest[25] = gettimeval(year, 12, 21, 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, 6, hourbio, minutebio, 0, 1); //ab hier für das neue Jahr (Variable "year")
        bio[2] = gettimeval(year, 1, 20, hourbio, minutebio, 0, 1);
        bio[3] = gettimeval(year, 2, 3, hourbio, minutebio, 0, 1);
        bio[4] = gettimeval(year, 2, 17, hourbio, minutebio, 0, 1);
        bio[5] = gettimeval(year, 3, 3, hourbio, minutebio, 0, 1);
        bio[6] = gettimeval(year, 3, 17, hourbio, minutebio, 0, 1);
        bio[7] = gettimeval(year, 3, 31, hourbio, minutebio, 0, 1);
        bio[8] = gettimeval(year, 4, 15, hourbio, minutebio, 0, 1);
        bio[9] = gettimeval(year, 4, 28, hourbio, minutebio, 0, 1);
        bio[10] = gettimeval(year, 5, 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(bio[k] > 0) {
        lenbio++;
        }
        }

        //Daten der Papiermüllabholung
        papier[0] = gettimeval(year-1, 12, 17, hourpapier, minutepapier, 0, 1); //Letzter Abfuhrtermin des alten Jahres
        papier[1] = gettimeval(year, 1, 14, hourpapier, minutepapier, 0, 1); //ab hier für das neue Jahr (Variable "year")
        papier[2] = gettimeval(year, 2, 11, hourpapier, minutepapier, 0, 1);
        papier[3] = gettimeval(year, 3, 10, hourpapier, minutepapier, 0, 1);
        papier[4] = gettimeval(year, 4, 6, hourpapier, minutepapier, 0, 1);
        papier[5] = gettimeval(year, 5, 5, hourpapier, minutepapier, 0, 1);
        papier[6] = gettimeval(year, 6, 3, hourpapier, minutepapier, 0, 1);
        papier[7] = gettimeval(year, 6, 30, hourpapier, minutepapier, 0, 1);
        papier[8] = gettimeval(year, 7, 28, hourpapier, minutepapier, 0, 1);
        papier[9] = gettimeval(year, 8, 25, hourpapier, minutepapier, 0, 1);
        papier[10] = gettimeval(year, 9,22, hourpapier, minutepapier, 0, 1);
        papier[11] = gettimeval(year, 10, 20, hourpapier, minutepapier, 0, 1);
        papier[12] = gettimeval(year, 11, 17, hourpapier, minutepapier, 0, 1);
        papier[13] = 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(papier[k] > 0) {
        lenpapier++;
        }
        }

        //Daten der Leichtstoffabholung
        leicht[1] = gettimeval(year, 1, 22, hourleicht, minuteleicht, 0, 1); //ab hier für das neue Jahr (Variable "year")
        leicht[2] = gettimeval(year, 2, 19, hourleicht, minuteleicht, 0, 1);
        leicht[3] = gettimeval(year, 3, 18, hourleicht, minuteleicht, 0, 1);
        leicht[4] = gettimeval(year, 4, 16, hourleicht, minuteleicht, 0, 1);
        leicht[5] = gettimeval(year, 5, 13, hourleicht, minuteleicht, 0, 1);
        leicht[6] = gettimeval(year, 6, 10, hourleicht, minuteleicht, 0, 1);
        leicht[7] = gettimeval(year, 7, 8, hourleicht, minuteleicht, 0, 1);
        leicht[8] = gettimeval(year, 8, 5, hourleicht, minuteleicht, 0, 1);
        leicht[9] = gettimeval(year, 9, 2, hourleicht, minuteleicht, 0, 1);
        leicht[10] = gettimeval(year, 9,30, hourleicht, minuteleicht, 0, 1);
        leicht[11] = gettimeval(year, 10, 28, hourleicht, minuteleicht, 0, 1);
        leicht[12] = gettimeval(year, 11, 25, hourleicht, minuteleicht, 0, 1);
        leicht[13] = gettimeval(year, 12, 22, 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(leicht[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..
        }

        Kommentar

        • romildo
          Lebende Foren Legende
          • 25.08.2015
          • 5113

          Antwort siehe hier
          lg Romildo

          Kommentar

          • Davidmei
            MS Profi
            • 06.02.2017
            • 539

            Leider hängt es schon am Programmbaustein.
            Anbei die Live-Ansicht.
            Wie man sieht, passen die Ausgaben nicht.
            AQ4 ist z.B. gelber Sack dieser kommt ja laut Code nochmal.
            Lt. Ausgabe aber nicht mehr.
            Angehängte Dateien

            Kommentar

            • romildo
              Lebende Foren Legende
              • 25.08.2015
              • 5113

              Davidmei
              bei den "Daten der Leichtstoffabholung" fehlt der Eintrag für "Letzter Abfuhrtermin des alten Jahres"
              Entweder eine Zeile einfügen Beispiel:
              leicht[0] = gettimeval(year-1, 12, 22, hourleicht, minuteleicht, 0, 1); //Letzter Abfuhrtermin des alten Jahres
              Oder alle Werte in den [ ] um 1 reduzieren.

              Bemerkung:
              Der Wert in der [ ] muss bei 0 beginnen und fortlaufend sein.
              Also:
              leicht[0].....
              leicht[1].....
              leicht[2].....
              usw. fortlaufend bis
              leicht[13]
              So sind das 14 Werte

              Ansonsten stimmt die Anzahl "lenleicht" nicht.
              In Deinem Fall ist lenleicht = 13, gleichbedeutend mit leicht[12]
              Der Dezemberwert ist aber in leicht[13] gespeichert.
              lg Romildo

              Kommentar

              • Davidmei
                MS Profi
                • 06.02.2017
                • 539

                Vielen Dank teste ich gleich morgen.
                Komisch das es vorher immer ging.

                Kommentar


                • romildo
                  romildo kommentierte
                  Kommentar bearbeiten
                  Was meinst Du mit immer ging?
                  So wie das jetzt im Programm steht, geht es halt bis zum Wert leicht[12] und somit geht nur der letzte Wert leicht[13] nicht mehr.
              • LoxBuddy
                Dumb Home'r
                • 19.09.2020
                • 14

                Hi zusammen, kurze Frage habe das Script um einen Müllplan erweitert - bekomme bei AQ5 immer 0 ? was habe ich übersehen?

                // 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

                //AQ5: stunden bis asz

                float sleeptime, now, restleft, bioleft, papierleft, leichtleft, aszleft;
                int rest[30], bio[30], papier[30], leicht[30], asz[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, lenasz, hourasz, minuteasz, remtimeasz;

                year = 2021; //Jahr, für den der Müllkalender gilt
                hourrest = 8; //Stunde, an der die Müllabfuhr üblicherweise kommt (Restmüll)
                hourasz = 12;
                hourbio = 12; //Stunde, an der die Müllabfuhr üblicherweise kommt (Biomüll)
                hourpapier = 8; //Stunde, an der die Müllabfuhr üblicherweise kommt (Altpapier)
                hourleicht = 8; //Stunde, an der die Müllabfuhr üblicherweise kommt (Leichtstoff)
                minuterest = 0; //Minute, an der die Müllabfuhr üblicherweise kommt ;-)
                minuteasz = 0;
                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)!
                remtimeasz =12;
                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, 25, hourrest, minuterest, 0, 1); //ab hier für das neue Jahr (Variable "year")
                rest[2] = gettimeval(year, 2, 22, hourrest, minuterest, 0, 1);
                rest[3] = gettimeval(year, 3, 22, hourrest, minuterest, 0, 1);
                rest[4] = gettimeval(year, 4, 19, hourrest, minuterest, 0, 1);
                rest[5] = gettimeval(year, 5, 17, hourrest, minuterest, 0, 1);
                rest[6] = gettimeval(year, 6, 14, hourrest, minuterest, 0, 1);
                rest[7] = gettimeval(year, 7, 12, hourrest, minuterest, 0, 1);
                rest[8] = gettimeval(year, 8, 9, hourrest, minuterest, 0, 1);
                rest[9] = gettimeval(year, 9, 6, hourrest, minuterest, 0, 1);
                rest[10] = gettimeval(year, 10, 4, hourrest, minuterest, 0, 1);
                rest[11] = gettimeval(year, 10, 29, hourrest, minuterest, 0, 1);
                rest[12] = gettimeval(year, 11, 29, hourrest, minuterest, 0, 1);
                rest[13] = gettimeval(year, 12, 27, 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, 15, hourbio, minutebio, 0, 1); //ab hier für das neue Jahr (Variable "year")
                bio[2] = gettimeval(year, 1, 29, hourbio, minutebio, 0, 1);
                bio[3] = gettimeval(year, 2, 12, hourbio, minutebio, 0, 1);
                bio[4] = gettimeval(year, 2, 16, hourbio, minutebio, 0, 1);
                bio[5] = gettimeval(year, 3, 12, hourbio, minutebio, 0, 1);
                bio[6] = gettimeval(year, 3, 26, hourbio, minutebio, 0, 1);
                bio[7] = gettimeval(year, 4, 9, hourbio, minutebio, 0, 1);
                bio[8] = gettimeval(year, 4, 23, hourbio, minutebio, 0, 1);
                bio[9] = gettimeval(year, 5, 7, hourbio, minutebio, 0, 1);
                bio[10] = gettimeval(year, 5, 21, hourbio, minutebio, 0, 1);
                bio[11] = gettimeval(year, 6, 4, hourbio, minutebio, 0, 1);
                bio[12] = gettimeval(year, 6, 18, hourbio, minutebio, 0, 1);
                bio[13] = gettimeval(year, 7, 2, hourbio, minutebio, 0, 1);
                bio[14] = gettimeval(year, 7, 16, hourbio, minutebio, 0, 1);
                bio[15] = gettimeval(year, 7, 30, hourbio, minutebio, 0, 1);
                bio[16] = gettimeval(year, 8, 13, hourbio, minutebio, 0, 1);
                bio[17] = gettimeval(year, 8, 27, hourbio, minutebio, 0, 1);
                bio[18] = gettimeval(year, 9, 10, hourbio, minutebio, 0, 1);
                bio[19] = gettimeval(year, 9, 24, hourbio, minutebio, 0, 1);
                bio[20] = gettimeval(year, 10, 8, hourbio, minutebio, 0, 1);
                bio[21] = gettimeval(year, 10, 22, hourbio, minutebio, 0, 1);
                bio[22] = gettimeval(year, 11, 5, hourbio, minutebio, 0, 1);
                bio[23] = gettimeval(year, 11, 19, hourbio, minutebio, 0, 1);
                bio[24] = gettimeval(year, 12, 3, hourbio, minutebio, 0, 1);
                bio[25] = gettimeval(year, 12, 17, hourbio, minutebio, 0, 1);
                bio[26] = gettimeval(year, 12, 30, 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, 11, 24, hourpapier, minutepapier, 0, 1); //Letzter Abfuhrtermin des alten Jahres
                papier[1] = gettimeval(year, 1, 13, hourpapier, minutepapier, 0, 1); //ab hier für das neue Jahr (Variable "year")
                papier[2] = gettimeval(year, 3, 5, hourpapier, minutepapier, 0, 1);
                papier[3] = gettimeval(year, 4, 22, hourpapier, minutepapier, 0, 1);
                papier[4] = gettimeval(year, 6, 15, hourpapier, minutepapier, 0, 1);
                papier[5] = gettimeval(year, 8, 6, hourpapier, minutepapier, 0, 1);
                papier[6] = gettimeval(year, 9, 27, hourpapier, minutepapier, 0, 1);
                papier[7] = gettimeval(year, 11, 24, 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, 11, 9, hourleicht, minuteleicht, 0, 1); //Letzter Abfuhrtermin des alten Jahres
                leicht[1] = gettimeval(year, 1, 12, hourleicht, minuteleicht, 0, 1); //ab hier für das neue Jahr (Variable "year")
                leicht[2] = gettimeval(year, 3, 11, hourleicht, minuteleicht, 0, 1);
                leicht[3] = gettimeval(year, 5, 3, hourleicht, minuteleicht, 0, 1);
                leicht[4] = gettimeval(year, 7, 1, hourleicht, minuteleicht, 0, 1);
                leicht[5] = gettimeval(year, 9, 10, hourleicht, minuteleicht, 0, 1);
                leicht[6] = gettimeval(year, 11, 9, 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++;
                }
                }

                //Daten ASZ
                asz[0] = gettimeval(year-1, 12, 9, hourasz, minuteasz, 0, 1); //Letzter Abfuhrtermin des alten Jahres
                asz[1] = gettimeval(year, 1, 25, hourasz, minuteasz, 0, 1); //ab hier für das neue Jahr (Variable "year")
                asz[2] = gettimeval(year, 3, 25, hourasz, minuteasz, 0, 1);
                asz[3] = gettimeval(year, 5, 3, hourasz, minuteasz, 0, 1);
                asz[4] = gettimeval(year, 7, 1, hourasz, minuteasz, 0, 1);
                asz[5] = gettimeval(year, 9, 10, hourasz, minuteasz, 0, 1);
                asz[6] = gettimeval(year, 11, 9, hourasz, minuteasz, 0, 1);



                //Schleife Zählen der vorh. Arrayelemente beim ASZ
                lenasz=0;
                for(k=0; k<(sizeof(asz)/sizeof(int)); k++) {
                if(rest[k] > 0) {
                lenasz++;
                }
                }


                //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 ASZ
                for(i=0; i<lenasz; i++) {
                restasz = (asz[i]-now)/3600;

                if(aszleft >= 0) {
                setoutput(4,aszleft);
                i = lenasz-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)) ||
                (aszleft<(remtimeasz+1) && aszleft>=(remtimeasz)) ||
                (leichtleft<(remtimeleicht+1) && leichtleft>=(remtimeleicht))) {
                sleeptime = 120;
                }
                sleeps(sleeptime); //Sleep-Wert in Sekunden, um die CPU zu schonen..
                }

                Kommentar

                • romildo
                  Lebende Foren Legende
                  • 25.08.2015
                  • 5113

                  LoxBuddy
                  Versuchs mal mit
                  Code:
                  //Schleife ASZ
                  for(i=0; i<lenasz; i++) {
                  [B]aszleft [/B]= (asz[i]-now)/3600;
                  lg Romildo

                  Kommentar

                  • LoxBuddy
                    Dumb Home'r
                    • 19.09.2020
                    • 14

                    danke - mega fail

                    Kommentar


                    • romildo
                      romildo kommentierte
                      Kommentar bearbeiten
                      Bitte gerne.
                  • orli
                    Lox Guru
                    • 13.11.2016
                    • 2548

                    Funktioniert dieser Müllkalender bei euch noch? Mit Version 14.5.12.7 kommt bei mir nur noch "0" am Pico-C Baustein raus. Wollte nämlich gerade die Termine fürs nächste Jahr eintragen, da fiel mir das auf.

                    Kommentar

                    • KaJu74
                      Extension Master
                      • 10.06.2017
                      • 166

                      Ich habe gerade das Update installiert.
                      Aktuell zeigt er natürlich oft 0 an, weil es keine Termine mehr gibt.
                      Ich habe jetzt alle Termine auf 2014 umgestellt und dann kommen auch wieder Werte:
                      Klicke auf die Grafik für eine vergrößerte Ansicht  Name: grafik.png Ansichten: 0 Größe: 41,4 KB ID: 416093

                      Kommentar

                      • orli
                        Lox Guru
                        • 13.11.2016
                        • 2548

                        Ich hab meinen Miniserver mal neu gestartet, jetzt kommen auch bei mir wieder Werte. Komisch, nicht erklärbar warum das bei mir bei zwei Installationen heute morgen nicht geklappt hat. Wie dem auch sei, geht wieder!

                        Kommentar

                        • Sebastian
                          LoxBus Spammer
                          • 28.08.2015
                          • 243

                          Ich denke, bei euren ( orli und KaJu74) Problemen handelt es sich um ein Layer-8-Problem. :-)

                          Wenn ihr die aktuelle Version nehmt, könnt ihr auch 3 Wochen vorher schon Termine eintragen, da jeweils die letzten Termine des auslaufenden Jahres auch enthalten sind.
                          Wenn richtig gepflegt, wird auch keine 0 angezeigt.

                          Code:
                          Zeile 12: year = 2024; //Jahr, für den der Müllkalender gilt
                          Zeile 32: rest[0] = gettimeval(year-1, 12, 7, hourrest, minuterest, 0, 1); //Letzter Abfuhrtermin des alten Jahres
                          Zeile 33: rest[1] = gettimeval(year, 1, 5, hourrest, minuterest, 0, 1); //ab hier für das neue Jahr (Variable "year")​

                          Kommentar


                          • KaJu74
                            KaJu74 kommentierte
                            Kommentar bearbeiten
                            Moin

                            Ich habe das bereits so gelöst, mit dem letzten Termin vom Vorjahr.
                            Nur war ich zu spät, mit dem Eintragen der neuen Termine.
                        • orli
                          Lox Guru
                          • 13.11.2016
                          • 2548

                          Ich glaube bei mir war es eine 0 beim Datum, also den 5. habe ich mit 05 eingetragen. Nachdem ich diese 0 entfernt habe, klappts auch nach mehrfachem neustart immer wieder.

                          Kommentar

                          Lädt...