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

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Davejje
    Extension Master
    • 24.11.2017
    • 173

    Ich leide unter dem gleichen Problem. Ich habe den Typ-2-Code bereits mehrmals überprüft, aber das Ergebnis bleibt 0.

    Wenn ich zum Beispiel die Daten vom Typ 3 eingebe, funktioniert es sofort.
    Ich halte es für falsch, wenn Regel 15 Abfall vom Typ 2 ist und ab diesem Zeitpunkt auch nicht mehr funktioniert.
    Wenn ich die aktuellen Daten von Typ 2 bis Typ 3 eingebe, funktioniert auch Typ 3 nicht mehr. Aus diesem Grund erwarte ich, dass es im Datumsbereich steht.


    Kommentar


    • Gast
      Gast kommentierte
      Kommentar bearbeiten
      Ich vermute zumindest mal einen Fehler.

      Zeile 118: //Loop Count the existing array elements in WasteTypeThree --> sollte WasteTypeTwo sein

    • Davejje
      Davejje kommentierte
      Kommentar bearbeiten
      das ist ein fehler im kommentar nicht im programm selbst.

    • Gast
      Gast kommentierte
      Kommentar bearbeiten
      Aja stimmt, sorry hatte ich übersehen.
  • romildo
    Lebende Foren Legende
    • 25.08.2015
    • 5126

    Davejje
    Es fehlt eine Klammer
    118: //Loop Count the existing array elements in WasteTypeThree
    119: ArrWasteTypeTwo=0;
    120: for(k=0; k<(sizeof(WasteTypeTwo)/sizeof(int)); k++) {
    121: if(WasteTypeTwo[k] > 0) {
    122: ArrWasteTypeTwo++;
    123: }
    124: }
    lg Romildo

    Kommentar


    • Davejje
      Davejje kommentierte
      Kommentar bearbeiten
      Vielen Dank
      Anscheinend immer drüber geschaut!
  • Duffy
    Smart Home'r
    • 17.08.2019
    • 91

    Super genau das was ich brauche. Danke an die Programmierer und Helferchen!

    Kommentar

    • Gast

      Hallo Zusammen,

      ich beschäftige mich jetzt schon länger hiermit und bekomme es einfach nicht ans "laufen".
      Bei Tagen und Stunden werden immer 0 angezeigt.

      Vielleicht sieht ja einer meinen Fehler und kann mir bitte helfen

      Vielen Dank!


      // 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[51], bio[46], papier[26], leicht[26]; //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, 30, hourrest, minuterest, 0, 1); //Letzter Abfuhrtermin des alten Jahres
      rest[1] = gettimeval(year, 1, 4, hourrest, minuterest, 0, 1); //ab hier für das neue Jahr (Variable "year")
      rest[2] = gettimeval(year, 1, 10, hourrest, minuterest, 0, 1);
      rest[3] = gettimeval(year, 1, 17, hourrest, minuterest, 0, 1);
      rest[4] = gettimeval(year, 1, 31, hourrest, minuterest, 0, 1);
      rest[5] = gettimeval(year, 2, 7, hourrest, minuterest, 0, 1);
      rest[6] = gettimeval(year, 2, 14, hourrest, minuterest, 0, 1);
      rest[7] = gettimeval(year, 2, 21, hourrest, minuterest, 0, 1);
      rest[8] = gettimeval(year, 2, 29, hourrest, minuterest, 0, 1);
      rest[9] = gettimeval(year, 3, 6, hourrest, minuterest, 0, 1);
      rest[10] = gettimeval(year, 3, 13, hourrest, minuterest, 0, 1);
      rest[11] = gettimeval(year, 3, 20, hourrest, minuterest, 0, 1);
      rest[12] = gettimeval(year, 3, 27, hourrest, minuterest, 0, 1);
      rest[13] = gettimeval(year, 4, 3, hourrest, minuterest, 0, 1);
      rest[14] = gettimeval(year, 4, 9, hourrest, minuterest, 0, 1);
      rest[15] = gettimeval(year, 4, 18, hourrest, minuterest, 0, 1);
      rest[16] = gettimeval(year, 4, 24, hourrest, minuterest, 0, 1);
      rest[17] = gettimeval(year, 5, 2, hourrest, minuterest, 0, 1);
      rest[18] = gettimeval(year, 5, 8, hourrest, minuterest, 0, 1);
      rest[19] = gettimeval(year, 5, 15, hourrest, minuterest, 0, 1);
      rest[20] = gettimeval(year, 5, 23, hourrest, minuterest, 0, 1);
      rest[21] = gettimeval(year, 5, 29, hourrest, minuterest, 0, 1);
      rest[22] = gettimeval(year, 6, 6, hourrest, minuterest, 0, 1);
      rest[23] = gettimeval(year, 6, 13, hourrest, minuterest, 0, 1);
      rest[24] = gettimeval(year, 6, 19, hourrest, minuterest, 0, 1);
      rest[25] = gettimeval(year, 6, 26, hourrest, minuterest, 0, 1);
      rest[26] = gettimeval(year, 7, 3, hourrest, minuterest, 0, 1);
      rest[27] = gettimeval(year, 7, 10, hourrest, minuterest, 0, 1);
      rest[28] = gettimeval(year, 7, 17, hourrest, minuterest, 0, 1);
      rest[29] = gettimeval(year, 7, 24, hourrest, minuterest, 0, 1);
      rest[30] = gettimeval(year, 7, 31, hourrest, minuterest, 0, 1);
      rest[31] = gettimeval(year, 8, 7, hourrest, minuterest, 0, 1);
      rest[32] = gettimeval(year, 8, 14, hourrest, minuterest, 0, 1);
      rest[33] = gettimeval(year, 8, 21, hourrest, minuterest, 0, 1);
      rest[34] = gettimeval(year, 8, 28, hourrest, minuterest, 0, 1);
      rest[35] = gettimeval(year, 9, 4, hourrest, minuterest, 0, 1);
      rest[36] = gettimeval(year, 9, 11, hourrest, minuterest, 0, 1);
      rest[37] = gettimeval(year, 9, 18, hourrest, minuterest, 0, 1);
      rest[38] = gettimeval(year, 9, 25, hourrest, minuterest, 0, 1);
      rest[39] = gettimeval(year, 10, 2, hourrest, minuterest, 0, 1);
      rest[40] = gettimeval(year, 10, 9, hourrest, minuterest, 0, 1);
      rest[41] = gettimeval(year, 10, 16, hourrest, minuterest, 0, 1);
      rest[42] = gettimeval(year, 10, 23, hourrest, minuterest, 0, 1);
      rest[43] = gettimeval(year, 10, 30, hourrest, minuterest, 0, 1);
      rest[44] = gettimeval(year, 11, 6, hourrest, minuterest, 0, 1);
      rest[45] = gettimeval(year, 11, 13, hourrest, minuterest, 0, 1);
      rest[46] = gettimeval(year, 11, 20, hourrest, minuterest, 0, 1);
      rest[47] = gettimeval(year, 11, 27, hourrest, minuterest, 0, 1);
      rest[48] = gettimeval(year, 12, 4, hourrest, minuterest, 0, 1);
      rest[49] = gettimeval(year, 12, 11, hourrest, minuterest, 0, 1);
      rest[50] = gettimeval(year, 12, 18, hourrest, minuterest, 0, 1);
      rest[51] = gettimeval(year, 12, 24, 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, 2, hourbio, minutebio, 0, 1);
      bio[6] = gettimeval(year, 3, 9, hourbio, minutebio, 0, 1);
      bio[7] = gettimeval(year, 3, 16, hourbio, minutebio, 0, 1);
      bio[8] = gettimeval(year, 3, 23, hourbio, minutebio, 0, 1);
      bio[9] = gettimeval(year, 3, 30, hourbio, minutebio, 0, 1);
      bio[10] = gettimeval(year, 4, 4, hourbio, minutebio, 0, 1);
      bio[11] = gettimeval(year, 4, 14, hourbio, minutebio, 0, 1);
      bio[12] = gettimeval(year, 4, 20, hourbio, minutebio, 0, 1);
      bio[13] = gettimeval(year, 4, 27, hourbio, minutebio, 0, 1);
      bio[14] = gettimeval(year, 5, 4, hourbio, minutebio, 0, 1);
      bio[15] = gettimeval(year, 5, 11, hourbio, minutebio, 0, 1);
      bio[16] = gettimeval(year, 5, 18, hourbio, minutebio, 0, 1);
      bio[17] = gettimeval(year, 5, 25, hourbio, minutebio, 0, 1);
      bio[18] = gettimeval(year, 6, 2, hourbio, minutebio, 0, 1);
      bio[19] = gettimeval(year, 6, 8, hourbio, minutebio, 0, 1);
      bio[20] = gettimeval(year, 6, 15, hourbio, minutebio, 0, 1);
      bio[21] = gettimeval(year, 6, 22, hourbio, minutebio, 0, 1);
      bio[22] = gettimeval(year, 6, 29, hourbio, minutebio, 0, 1);
      bio[23] = gettimeval(year, 7, 6, hourbio, minutebio, 0, 1);
      bio[24] = gettimeval(year, 7, 13, hourbio, minutebio, 0, 1);
      bio[25] = gettimeval(year, 7, 20, hourbio, minutebio, 0, 1);
      bio[26] = gettimeval(year, 7, 27, hourbio, minutebio, 0, 1);
      bio[27] = gettimeval(year, 8, 3, hourbio, minutebio, 0, 1);
      bio[28] = gettimeval(year, 8, 10, hourbio, minutebio, 0, 1);
      bio[29] = gettimeval(year, 8, 17, hourbio, minutebio, 0, 1);
      bio[30] = gettimeval(year, 8, 24, hourbio, minutebio, 0, 1);
      bio[31] = gettimeval(year, 8, 31, hourbio, minutebio, 0, 1);
      bio[32] = gettimeval(year, 9, 7, hourbio, minutebio, 0, 1);
      bio[33] = gettimeval(year, 9, 14, hourbio, minutebio, 0, 1);
      bio[34] = gettimeval(year, 9, 21, hourbio, minutebio, 0, 1);
      bio[35] = gettimeval(year, 9, 28, hourbio, minutebio, 0, 1);
      bio[36] = gettimeval(year, 10, 5, hourbio, minutebio, 0, 1);
      bio[37] = gettimeval(year, 10, 12, hourbio, minutebio, 0, 1);
      bio[38] = gettimeval(year, 10, 19, hourbio, minutebio, 0, 1);
      bio[39] = gettimeval(year, 10, 26, hourbio, minutebio, 0, 1);
      bio[40] = gettimeval(year, 11, 2, hourbio, minutebio, 0, 1);
      bio[41] = gettimeval(year, 11, 9, hourbio, minutebio, 0, 1);
      bio[42] = gettimeval(year, 11, 16, hourbio, minutebio, 0, 1);
      bio[43] = gettimeval(year, 11, 23, hourbio, minutebio, 0, 1);
      bio[44] = gettimeval(year, 11, 30, hourbio, minutebio, 0, 1);
      bio[45] = gettimeval(year, 12, 7, hourbio, minutebio, 0, 1);
      bio[46] = gettimeval(year, 12, 19, 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, 4, hourpapier, minutepapier, 0, 1); //ab hier für das neue Jahr (Variable "year")
      papier[2] = gettimeval(year, 1, 17, hourpapier, minutepapier, 0, 1);
      papier[3] = gettimeval(year, 1, 31, hourpapier, minutepapier, 0, 1);
      papier[4] = gettimeval(year, 2, 14, hourpapier, minutepapier, 0, 1);
      papier[5] = gettimeval(year, 2, 29, hourpapier, minutepapier, 0, 1);
      papier[6] = gettimeval(year, 3, 13, hourpapier, minutepapier, 0, 1);
      papier[7] = gettimeval(year, 3, 27, hourpapier, minutepapier, 0, 1);
      papier[8] = gettimeval(year, 4, 9, hourpapier, minutepapier, 0, 1);
      papier[9] = gettimeval(year, 4, 24, hourpapier, minutepapier, 0, 1);
      papier[10] = gettimeval(year, 5, 8, hourpapier, minutepapier, 0, 1);
      papier[11] = gettimeval(year, 5, 23, hourpapier, minutepapier, 0, 1);
      papier[12] = gettimeval(year, 6, 6, hourpapier, minutepapier, 0, 1);
      papier[13] = gettimeval(year, 6, 19, hourpapier, minutepapier, 0, 1);
      papier[14] = gettimeval(year, 7, 3, hourpapier, minutepapier, 0, 1);
      papier[15] = gettimeval(year, 7, 17, hourpapier, minutepapier, 0, 1);
      papier[16] = gettimeval(year, 7, 31, hourpapier, minutepapier, 0, 1);
      papier[17] = gettimeval(year, 8, 14, hourpapier, minutepapier, 0, 1);
      papier[18] = gettimeval(year, 8, 28, hourpapier, minutepapier, 0, 1);
      papier[19] = gettimeval(year, 9, 11, hourpapier, minutepapier, 0, 1);
      papier[20] = gettimeval(year, 9, 25, hourpapier, minutepapier, 0, 1);
      papier[21] = gettimeval(year, 10, 9, hourpapier, minutepapier, 0, 1);
      papier[22] = gettimeval(year, 10, 23, hourpapier, minutepapier, 0, 1);
      papier[23] = gettimeval(year, 11, 6, hourpapier, minutepapier, 0, 1);
      papier[24] = gettimeval(year, 11, 20, hourpapier, minutepapier, 0, 1);
      papier[25] = gettimeval(year, 12, 4, hourpapier, minutepapier, 0, 1);
      papier[26] = gettimeval(year, 12, 18, 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, 8, hourleicht, minuteleicht, 0, 1); //ab hier für das neue Jahr (Variable "year")
      leicht[2] = gettimeval(year, 1, 22, hourleicht, minuteleicht, 0, 1);
      leicht[3] = gettimeval(year, 2, 5, hourleicht, minuteleicht, 0, 1);
      leicht[4] = gettimeval(year, 2, 19, hourleicht, minuteleicht, 0, 1);
      leicht[5] = gettimeval(year, 3, 4, hourleicht, minuteleicht, 0, 1);
      leicht[6] = gettimeval(year, 3, 18, hourleicht, minuteleicht, 0, 1);
      leicht[7] = gettimeval(year, 4, 1, hourleicht, minuteleicht, 0, 1);
      leicht[8] = gettimeval(year, 4, 16, hourleicht, minuteleicht, 0, 1);
      leicht[9] = gettimeval(year, 4, 29, hourleicht, minuteleicht, 0, 1);
      leicht[10] = gettimeval(year, 5, 13, hourleicht, minuteleicht, 0, 1);
      leicht[11] = gettimeval(year, 5, 27, hourleicht, minuteleicht, 0, 1);
      leicht[12] = gettimeval(year, 6, 10, hourleicht, minuteleicht, 0, 1);
      leicht[13] = gettimeval(year, 6, 24, hourleicht, minuteleicht, 0, 1);
      leicht[14] = gettimeval(year, 7, 8, hourleicht, minuteleicht, 0, 1);
      leicht[15] = gettimeval(year, 7, 22, hourleicht, minuteleicht, 0, 1);
      leicht[16] = gettimeval(year, 8, 5, hourleicht, minuteleicht, 0, 1);
      leicht[17] = gettimeval(year, 8, 19, hourleicht, minuteleicht, 0, 1);
      leicht[18] = gettimeval(year, 9, 2, hourleicht, minuteleicht, 0, 1);
      leicht[19] = gettimeval(year, 9, 16, hourleicht, minuteleicht, 0, 1);
      leicht[20] = gettimeval(year, 9, 30, hourleicht, minuteleicht, 0, 1);
      leicht[21] = gettimeval(year, 10, 14, hourleicht, minuteleicht, 0, 1);
      leicht[22] = gettimeval(year, 10, 28, hourleicht, minuteleicht, 0, 1);
      leicht[23] = gettimeval(year, 11, 11, hourleicht, minuteleicht, 0, 1);
      leicht[24] = gettimeval(year, 11, 25, hourleicht, minuteleicht, 0, 1);
      leicht[25] = gettimeval(year, 12, 9, hourleicht, minuteleicht, 0, 1);
      leicht[26] = 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(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 = 51;
      }
      }
      //Schleife Biomüll
      for(i=0; i<lenbio; i++) {
      bioleft = (bio[i]-now)/3600;

      if(bioleft >= 0) {
      setoutput(1,bioleft);
      i = 46;
      }
      }
      //Schleife Papiermüll
      for(i=0; i<lenpapier; i++) {
      papierleft = (papier[i]-now)/3600;

      if(papierleft >= 0) {
      setoutput(2,papierleft);
      i = 26;
      }
      }
      //Schleife Leichtstoff
      for(i=0; i<lenleicht; i++) {
      leichtleft = (leicht[i]-now)/3600;

      if(leichtleft >= 0) {
      setoutput(3,leichtleft);
      i = 26;
      }
      }
      //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

      • Gast

        Hallo Chris,

        auf den ersten Blick ist mir folgendes eingefallen:

        //Schleife Zählen der vorh. Arrayelemente beim Biomüll
        lenbio=0;
        for(k=0; k<(sizeof(bio)/sizeof(int)); k++) {
        if(rest[k] > 0) { --> rest ist hier falsch, muss z.B bio rein
        lenbio++;
        }
        }

        //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++;
        }
        }

        //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++;
        }
        }


        if(restleft >= 0) {
        setoutput(0,restleft);
        i = 51; --> hier habe ich z.B.: i = lenrest-1;
        }
        }
        //Schleife Biomüll
        for(i=0; i<lenbio; i++) {
        bioleft = (bio[i]-now)/3600;

        if(bioleft >= 0) {
        setoutput(1,bioleft);
        i = 46;
        }
        }
        //Schleife Papiermüll
        for(i=0; i<lenpapier; i++) {
        papierleft = (papier[i]-now)/3600;

        if(papierleft >= 0) {
        setoutput(2,papierleft);
        i = 26;
        }
        }
        //Schleife Leichtstoff
        for(i=0; i<lenleicht; i++) {
        leichtleft = (leicht[i]-now)/3600;

        if(leichtleft >= 0) {
        setoutput(3,leichtleft);
        i = 26;
        }
        }

        Kommentar


        • Gast
          Gast kommentierte
          Kommentar bearbeiten
          VIELEN DANK!!! Jetzt funktioniert es!
      • Nick
        Smart Home'r
        • 03.03.2016
        • 57

        Ich habe das Problem, dass mein Status-Baustein keinerlei Daten ausgibt, Werte kommen an, aber in der Visu ist nix zu sehen!?
        Zuletzt geändert von Nick; 18.02.2020, 13:20.

        Kommentar

        • romildo
          Lebende Foren Legende
          • 25.08.2015
          • 5126

          Nick

          An Stelle von:
          Code:
          int Grau[30], Gruen[30], BlauContainer[30], BlauTonne[30]; Gelb[30];//Arrays. Falls es mehr Termine sind, einfach die Klammerwerte erhöhen
          kommt:
          Code:
          int Grau[30], Gruen[30], BlauContainer[30], BlauTonne[30][B],[/B] Gelb[30];  //Arrays. Falls es mehr Termine sind, einfach die Klammerwerte erhöhen
          Vor Gelb[30] kommt Komma, statt Strichpunkt
          Den Fehler hast Du ja bereits korrigiert.

          Du solltest dazuschreiben was denn nun noch falsch ist.
          Zuletzt geändert von romildo; 18.02.2020, 13:38.
          lg Romildo

          Kommentar

          • Nick
            Smart Home'r
            • 03.03.2016
            • 57

            Zitat von romildo
            Nick

            An Stelle von:
            Code:
            int Grau[30], Gruen[30], BlauContainer[30], BlauTonne[30]; Gelb[30];//Arrays. Falls es mehr Termine sind, einfach die Klammerwerte erhöhen
            kommt:
            Code:
            int Grau[30], Gruen[30], BlauContainer[30], BlauTonne[30][B],[/B] Gelb[30]; //Arrays. Falls es mehr Termine sind, einfach die Klammerwerte erhöhen
            Vor Gelb[30] kommt Komma, statt Strichpunkt
            Den Fehler hast Du ja bereits korrigiert.

            Du solltest dazuschreiben was denn nun noch falsch ist.
            Danke, ist mir irgendwie nach Posten ins Auge gesprungen.
            Habe aktuell nur noch Probleme mit dem Status-Baustein, habe die Config von hier importiert, der gibt aber in der Visu nix aus!?

            Kommentar

            • romildo
              Lebende Foren Legende
              • 25.08.2015
              • 5126

              Zitat von Nick
              ...Habe aktuell nur noch Probleme mit dem Status-Baustein, habe die Config von hier importiert, der gibt aber in der Visu nix aus!?
              Und jetzt sollen wir mutmaßen warum der nichts raus gibt?

              lg Romildo

              Kommentar

              • Nick
                Smart Home'r
                • 03.03.2016
                • 57

                So sieht das Ganze aus, ich verstehe aber nicht, wieso im Status einfach garnichts ausgegeben wird!?

                Kommentar

                • romildo
                  Lebende Foren Legende
                  • 25.08.2015
                  • 5126

                  Versetz Dich doch einfach mal in die Lage der Leser und sag mir was Du auf die Frage antworten würdest.
                  Glaubst Du wirklich, dass diese Bilder was bringen?

                  Es kann ja nur an Deiner Programmierung liegen.
                  Um Dir helfen zu können, sollte man doch wissen was am Statusbaustein ankommt und was im Statusbaustein eingetragen ist.
                  Daher brauchen wir zumindest ein Liveview Bild vom Statusbaustein und ein Bild von den Einstellungen im Statusbaustein.
                  lg Romildo

                  Kommentar

                  • heiri
                    Smart Home'r
                    • 10.09.2017
                    • 46

                    Guten Morgen Gemeinde!

                    Kann bitte mal Jemand über meine Config schauen? An meinem Programmbaustein komemn nur Nullen raus. Ich danke euch sehr im Voraus!




                    // Müllabfuhr für loxforum.com by Sebastian
                    //AI1: Minuten Aktualisierung
                    //AQ1: Stunden bis schwarze Mülltonneabholung
                    //AQ2: Stunden bis Biomüllabholung
                    //AQ3: Stunden bis Altpapierabholung
                    //AQ4: Stunden bis gelber Sack

                    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 schwarzen Mülltonnenabholung
                    rest[0] = gettimeval(year-1, 12, 30, hourrest, minuterest, 0, 1); //Letzter Abfuhrtermin des alten Jahres
                    rest[1] = gettimeval(year, 1, 13, hourrest, minuterest, 0, 1); //ab hier für das neue Jahr (Variable "year")
                    rest[2] = gettimeval(year, 1, 27, hourrest, minuterest, 0, 1);
                    rest[3] = gettimeval(year, 2, 10, hourrest, minuterest, 0, 1);
                    rest[4] = gettimeval(year, 2, 24, hourrest, minuterest, 0, 1);
                    rest[5] = gettimeval(year, 3, 09, hourrest, minuterest, 0, 1);
                    rest[6] = gettimeval(year, 3, 23, hourrest, minuterest, 0, 1);
                    rest[7] = gettimeval(year, 4, 6, hourrest, minuterest, 0, 1);
                    rest[8] = gettimeval(year, 4, 20, hourrest, minuterest, 0, 1);
                    rest[9] = gettimeval(year, 5, 4, hourrest, minuterest, 0, 1);
                    rest[10] = gettimeval(year, 5, 18, hourrest, minuterest, 0, 1);
                    rest[11] = gettimeval(year, 6, 2, hourrest, minuterest, 0, 1);
                    rest[12] = gettimeval(year, 6, 15, hourrest, minuterest, 0, 1);
                    rest[13] = gettimeval(year, 6, 29, hourrest, minuterest, 0, 1);
                    rest[14] = gettimeval(year, 7, 13, hourrest, minuterest, 0, 1);
                    rest[15] = gettimeval(year, 7, 27, hourrest, minuterest, 0, 1);
                    rest[16] = gettimeval(year, 8, 10, hourrest, minuterest, 0, 1);
                    rest[17] = gettimeval(year, 8, 24, hourrest, minuterest, 0, 1);
                    rest[18] = gettimeval(year, 9, 7, hourrest, minuterest, 0, 1);
                    rest[19] = gettimeval(year, 9, 21, hourrest, minuterest, 0, 1);
                    rest[20] = gettimeval(year, 10, 5, hourrest, minuterest, 0, 1);
                    rest[21] = gettimeval(year, 10, 19, hourrest, minuterest, 0, 1);
                    rest[22] = gettimeval(year, 11, 2, hourrest, minuterest, 0, 1);
                    rest[23] = gettimeval(year, 11, 16, hourrest, minuterest, 0, 1);
                    rest[24] = gettimeval(year, 11, 30, hourrest, minuterest, 0, 1);
                    rest[25] = gettimeval(year, 12, 14, hourrest, minuterest, 0, 1);
                    rest[26] = gettimeval(year, 12, 29, 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, 18, 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, 4, 1, hourbio, minutebio, 0, 1);
                    bio[8] = gettimeval(year, 4, 14, hourbio, minutebio, 0, 1);
                    bio[9] = gettimeval(year, 4, 28, hourbio, minutebio, 0, 1);
                    bio[10] = gettimeval(year, 5, 12, hourbio, minutebio, 0, 1);
                    bio[11] = gettimeval(year, 5, 27, hourbio, minutebio, 0, 1);
                    bio[12] = gettimeval(year, 6, 9, hourbio, minutebio, 0, 1);
                    bio[13] = gettimeval(year, 6, 23, hourbio, minutebio, 0, 1);
                    bio[14] = gettimeval(year, 7, 7, hourbio, minutebio, 0, 1);
                    bio[15] = gettimeval(year, 7, 21, hourbio, minutebio, 0, 1);
                    bio[16] = gettimeval(year, 8, 4, hourbio, minutebio, 0, 1);
                    bio[17] = gettimeval(year, 8, 18, hourbio, minutebio, 0, 1);
                    bio[18] = gettimeval(year, 9, 1, hourbio, minutebio, 0, 1);
                    bio[19] = gettimeval(year, 9, 15, hourbio, minutebio, 0, 1);
                    bio[20] = gettimeval(year, 9, 29, hourbio, minutebio, 0, 1);
                    bio[21] = gettimeval(year, 10, 13, hourbio, minutebio, 0, 1);
                    bio[22] = gettimeval(year, 10, 27, hourbio, minutebio, 0, 1);
                    bio[23] = gettimeval(year, 11, 10, hourbio, minutebio, 0, 1);
                    bio[24] = gettimeval(year, 11, 24, hourbio, minutebio, 0, 1);
                    bio[25] = gettimeval(year, 12, 8, hourbio, minutebio, 0, 1);
                    bio[26] = gettimeval(year, 12, 22, 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, 31, hourpapier, minutepapier, 0, 1); //Letzter Abfuhrtermin des alten Jahres
                    papier[1] = gettimeval(year, 1, 6, hourpapier, minutepapier, 0, 1); //ab hier für das neue Jahr (Variable "year")
                    papier[2] = gettimeval(year, 2, 3, hourpapier, minutepapier, 0, 1);
                    papier[3] = gettimeval(year, 3, 2, hourpapier, minutepapier, 0, 1);
                    papier[4] = gettimeval(year, 3, 30, hourpapier, minutepapier, 0, 1);
                    papier[5] = gettimeval(year, 4, 29, hourpapier, minutepapier, 0, 1);
                    papier[6] = gettimeval(year, 5, 29, hourpapier, minutepapier, 0, 1);
                    papier[7] = gettimeval(year, 6, 29, hourpapier, minutepapier, 0, 1);
                    papier[8] = gettimeval(year, 7, 27, hourpapier, minutepapier, 0, 1);
                    papier[9] = gettimeval(year, 8, 24, hourpapier, minutepapier, 0, 1);
                    papier[10] = gettimeval(year, 9, 21, hourpapier, minutepapier, 0, 1);
                    papier[11] = gettimeval(year, 10, 19, hourpapier, minutepapier, 0, 1);
                    papier[12] = gettimeval(year, 11, 16, hourpapier, minutepapier, 0, 1);
                    papier[13] = gettimeval(year, 12, 14, 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 gelber Sack Abholung
                    leicht[0] = gettimeval(year-1, 12, 30, hourleicht, minuteleicht, 0, 1); //Letzter Abfuhrtermin des alten Jahres
                    leicht[1] = gettimeval(year, 1, 2, hourleicht, minuteleicht, 0, 1); //ab hier für das neue Jahr (Variable "year")
                    leicht[2] = gettimeval(year, 1, 14, hourleicht, minuteleicht, 0, 1);
                    leicht[3] = gettimeval(year, 1, 28, hourleicht, minuteleicht, 0, 1);
                    leicht[4] = gettimeval(year, 2, 11, hourleicht, minuteleicht, 0, 1);
                    leicht[5] = gettimeval(year, 2, 25, hourleicht, minuteleicht, 0, 1);
                    leicht[6] = gettimeval(year, 3, 10, hourleicht, minuteleicht, 0, 1);
                    leicht[7] = gettimeval(year, 3, 24, hourleicht, minuteleicht, 0, 1);
                    leicht[8] = gettimeval(year, 4, 7, hourleicht, minuteleicht, 0, 1);
                    leicht[9] = gettimeval(year, 4, 21, hourleicht, minuteleicht, 0, 1);
                    leicht[10] = gettimeval(year, 5, 5, hourleicht, minuteleicht, 0, 1);
                    leicht[11] = gettimeval(year, 5, 19, hourleicht, minuteleicht, 0, 1);
                    leicht[12] = gettimeval(year, 6, 3, hourleicht, minuteleicht, 0, 1);
                    leicht[13] = gettimeval(year, 6, 16, hourleicht, minuteleicht, 0, 1);
                    leicht[14] = gettimeval(year, 6, 30, hourleicht, minuteleicht, 0, 1);
                    leicht[15] = gettimeval(year, 7, 14, hourleicht, minuteleicht, 0, 1);
                    leicht[16] = gettimeval(year, 7, 28, hourleicht, minuteleicht, 0, 1);
                    leicht[17] = gettimeval(year, 8, 11, hourleicht, minuteleicht, 0, 1);
                    leicht[18] = gettimeval(year, 8, 25, hourleicht, minuteleicht, 0, 1);
                    leicht[19] = gettimeval(year, 9, 8, hourleicht, minuteleicht, 0, 1);
                    leicht[20] = gettimeval(year, 9, 22, hourleicht, minuteleicht, 0, 1);
                    leicht[21] = gettimeval(year, 10, 6, hourleicht, minuteleicht, 0, 1);
                    leicht[22] = gettimeval(year, 10, 20, hourleicht, minuteleicht, 0, 1);
                    leicht[23] = gettimeval(year, 11, 3, hourleicht, minuteleicht, 0, 1);
                    leicht[24] = gettimeval(year, 11, 17, hourleicht, minuteleicht, 0, 1);
                    leicht[25] = gettimeval(year, 12, 1, hourleicht, minuteleicht, 0, 1);
                    leicht[26] = gettimeval(year, 12, 15, hourleicht, minuteleicht, 0, 1);
                    leicht[27] = gettimeval(year, 12, 30, 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..
                    }

                    [/CODE]

                    Kommentar

                    • romildo
                      Lebende Foren Legende
                      • 25.08.2015
                      • 5126

                      heiri
                      falsch:
                      rest[5] = gettimeval(year, 3, 09, hourrest, minuterest, 0, 1);
                      richtig:
                      rest[5] = gettimeval(year, 3, 9, hourrest, minuterest, 0, 1);
                      lg Romildo

                      Kommentar

                      • heiri
                        Smart Home'r
                        • 10.09.2017
                        • 46

                        Zitat von romildo
                        heiri
                        falsch:

                        richtig:
                        Was doch so eine Null alles ausmacht. Funktioniert!!! Vielen Dank.

                        Kommentar

                        • Gast

                          Liebe Forum-Gemeine,

                          vorerst mal danke für Eure Geduld und Hinweise. Ich habe den Code erfolgreich an meine Termine anpassen können, bekomme in der Web-Ansicht brav die Werte für die Tage, allerdings fehlt die Anzeige der Stunden und der Status ist leer.

                          Wieder mal die freundliche Bitte um Hilfe und vielleicht eine halbwegs DAU-sichere Erklärung, wo ich gepfuscht haben könnte. Meine Programmierkenntnisse sind relativ eingeschränkt und ich vermeids eigentlich, wo geht Danke im Voraus

                          mein Code:

                          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 Gelber Sack Abholung
                          
                          float sleeptime, now, restleft, bioleft, papierleft, leichtleft;
                          int rest[30], bio[50], papier[10], 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 = 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 (Gelber Sack)
                          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, 25, 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, 25, hourrest, minuterest, 0, 1);
                          rest[3] = gettimeval(year, 2, 5, hourrest, minuterest, 0, 1);
                          rest[4] = gettimeval(year, 2, 19, hourrest, minuterest, 0, 1);
                          rest[5] = gettimeval(year, 3, 4, hourrest, minuterest, 0, 1);
                          rest[6] = gettimeval(year, 3, 18, hourrest, minuterest, 0, 1);
                          rest[7] = gettimeval(year, 4, 1, hourrest, minuterest, 0, 1);
                          rest[8] = gettimeval(year, 4, 15, hourrest, minuterest, 0, 1);
                          rest[9] = gettimeval(year, 4, 29, hourrest, minuterest, 0, 1);
                          rest[10] = gettimeval(year, 5, 13, hourrest, minuterest, 0, 1);
                          rest[11] = gettimeval(year, 5, 27, hourrest, minuterest, 0, 1);
                          rest[12] = gettimeval(year, 6, 10, hourrest, minuterest, 0, 1);
                          rest[13] = gettimeval(year, 6, 24, hourrest, minuterest, 0, 1);
                          rest[14] = gettimeval(year, 7, 8, hourrest, minuterest, 0, 1);
                          rest[15] = gettimeval(year, 7, 15, hourrest, minuterest, 0, 1);
                          rest[16] = gettimeval(year, 8, 5, hourrest, minuterest, 0, 1);
                          rest[17] = gettimeval(year, 8, 19, hourrest, minuterest, 0, 1);
                          rest[18] = gettimeval(year, 9, 2, hourrest, minuterest, 0, 1);
                          rest[19] = gettimeval(year, 9, 16, hourrest, minuterest, 0, 1);
                          rest[20] = gettimeval(year, 9, 30, hourrest, minuterest, 0, 1);
                          rest[21] = gettimeval(year, 10, 14, hourrest, minuterest, 0, 1);
                          rest[22] = gettimeval(year, 10, 29, hourrest, minuterest, 0, 1);
                          rest[23] = gettimeval(year, 11, 11, hourrest, minuterest, 0, 1);
                          rest[24] = gettimeval(year, 11, 25, hourrest, minuterest, 0, 1);
                          rest[25] = gettimeval(year, 12, 9, hourrest, minuterest, 0, 1);
                          rest[26] = gettimeval(year, 12, 23, hourrest, minuterest, 0, 1);
                          
                          //Schleife Zählen der vorh. Arrayelemente beim Restmüll
                          lenrest=30;
                          for(k=0; k&lt;(sizeof(rest)/sizeof(int)); k++) {
                          if(rest[k] &gt; 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, 8, hourbio, minutebio, 0, 1); //ab hier für das neue Jahr (Variable "year")
                          bio[2] = gettimeval(year, 1, 22, hourbio, minutebio, 0, 1);
                          bio[3] = gettimeval(year, 2, 5, hourbio, minutebio, 0, 1);
                          bio[4] = gettimeval(year, 2, 19, hourbio, minutebio, 0, 1);
                          bio[5] = gettimeval(year, 3, 4, hourbio, minutebio, 0, 1);
                          bio[6] = gettimeval(year, 3, 18, hourbio, minutebio, 0, 1);
                          bio[7] = gettimeval(year, 4, 1, hourbio, minutebio, 0, 1);
                          bio[8] = gettimeval(year, 4, 8, hourbio, minutebio, 0, 1);
                          bio[9] = gettimeval(year, 4, 15, hourbio, minutebio, 0, 1);
                          bio[10] = gettimeval(year, 4, 22, hourbio, minutebio, 0, 1);
                          bio[11] = gettimeval(year, 4, 29, hourbio, minutebio, 0, 1);
                          bio[12] = gettimeval(year, 5, 6, hourbio, minutebio, 0, 1);
                          bio[13] = gettimeval(year, 5, 13, hourbio, minutebio, 0, 1);
                          bio[14] = gettimeval(year, 5, 20, hourbio, minutebio, 0, 1);
                          bio[15] = gettimeval(year, 5, 27, hourbio, minutebio, 0, 1);
                          bio[16] = gettimeval(year, 6, 3, hourbio, minutebio, 0, 1);
                          bio[17] = gettimeval(year, 6, 10, hourbio, minutebio, 0, 1);
                          bio[18] = gettimeval(year, 6, 17, hourbio, minutebio, 0, 1);
                          bio[19] = gettimeval(year, 6, 24, hourbio, minutebio, 0, 1);
                          bio[20] = gettimeval(year, 7, 1, hourbio, minutebio, 0, 1);
                          bio[21] = gettimeval(year, 7, 8, hourbio, minutebio, 0, 1);
                          bio[22] = gettimeval(year, 7, 15, hourbio, minutebio, 0, 1);
                          bio[23] = gettimeval(year, 7, 22, hourbio, minutebio, 0, 1);
                          bio[24] = gettimeval(year, 7, 29, hourbio, minutebio, 0, 1);
                          bio[25] = gettimeval(year, 8, 5, hourbio, minutebio, 0, 1);
                          bio[26] = gettimeval(year, 8, 12, hourbio, minutebio, 0, 1);
                          bio[27] = gettimeval(year, 8, 19, hourbio, minutebio, 0, 1);
                          bio[28] = gettimeval(year, 8, 26, hourbio, minutebio, 0, 1);
                          bio[29] = gettimeval(year, 8, 19, hourbio, minutebio, 0, 1);
                          bio[30] = gettimeval(year, 9, 2, hourbio, minutebio, 0, 1);
                          bio[31] = gettimeval(year, 9, 9, hourbio, minutebio, 0, 1);
                          bio[32] = gettimeval(year, 9, 16, hourbio, minutebio, 0, 1);
                          bio[33] = gettimeval(year, 9, 23, hourbio, minutebio, 0, 1);
                          bio[34] = gettimeval(year, 9, 30, hourbio, minutebio, 0, 1);
                          bio[35] = gettimeval(year, 10, 7, hourbio, minutebio, 0, 1);
                          bio[36] = gettimeval(year, 10, 14, hourbio, minutebio, 0, 1);
                          bio[37] = gettimeval(year, 10, 21, hourbio, minutebio, 0, 1);
                          bio[38] = gettimeval(year, 10, 28, hourbio, minutebio, 0, 1);
                          bio[39] = gettimeval(year, 11, 4, hourbio, minutebio, 0, 1);
                          bio[40] = gettimeval(year, 11, 18, hourbio, minutebio, 0, 1);
                          bio[41] = gettimeval(year, 11, 25, hourbio, minutebio, 0, 1);
                          bio[42] = gettimeval(year, 12, 2, hourbio, minutebio, 0, 1);
                          bio[43] = gettimeval(year, 12, 16, hourbio, minutebio, 0, 1);
                          bio[44] = gettimeval(year, 12, 30, hourbio, minutebio, 0, 1);
                          
                          
                          //Schleife Zählen der vorh. Arrayelemente beim Biomüll
                          lenbio=50;
                          for(k=0; k&lt;(sizeof(bio)/sizeof(int)); k++) {
                          if(bio[k] &gt; 0) {
                          lenbio++;
                          }
                          }
                          
                          //Daten der Papiermüllabholung
                          papier[0] = gettimeval(year-1, 11, 18, 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, 9, hourpapier, minutepapier, 0, 1);
                          papier[3] = gettimeval(year, 5, 4, hourpapier, minutepapier, 0, 1);
                          papier[4] = gettimeval(year, 6, 29, hourpapier, minutepapier, 0, 1);
                          papier[5] = gettimeval(year, 8, 24, hourpapier, minutepapier, 0, 1);
                          papier[6] = gettimeval(year, 10, 19, hourpapier, minutepapier, 0, 1);
                          papier[7] = gettimeval(year, 12, 14, hourpapier, minutepapier, 0, 1);
                          
                          
                          //Schleife Zählen der vorh. Arrayelemente beim Papiermüll
                          lenpapier=10;
                          for(k=0; k&lt;(sizeof(papier)/sizeof(int)); k++) {
                          if(papier[k] &gt; 0) {
                          lenpapier++;
                          }
                          }
                          
                          //Daten der Gelber Sackabholung
                          leicht[0] = gettimeval(year-1, 12, 17, hourleicht, minuteleicht, 0, 1); //Letzter Abfuhrtermin des alten Jahres
                          leicht[1] = gettimeval(year, 2, 11, hourleicht, minuteleicht, 0, 1); //ab hier für das neue Jahr (Variable "year")
                          leicht[2] = gettimeval(year, 4, 7, hourleicht, minuteleicht, 0, 1);
                          leicht[3] = gettimeval(year, 6, 2, hourleicht, minuteleicht, 0, 1);
                          leicht[4] = gettimeval(year, 7, 28, hourleicht, minuteleicht, 0, 1);
                          leicht[5] = gettimeval(year, 9, 22, hourleicht, minuteleicht, 0, 1);
                          leicht[6] = gettimeval(year, 11, 17, hourleicht, minuteleicht, 0, 1);
                          
                          
                          //Schleife Zählen der vorh. Arrayelemente beim Gelber Sackmüll
                          lenleicht=10;
                          for(k=0; k&lt;(sizeof(leicht)/sizeof(int)); k++) {
                          if(leicht[k] &gt; 0) {
                          lenleicht++;
                          }
                          }
                          
                          //Schleife Restmüll
                          for(i=0; i&lt;lenrest; i++) {
                          restleft = (rest[i]-now)/3600;
                          
                          if(restleft &gt;= 0) {
                          setoutput(0,restleft);
                          i = lenrest-1;
                          }
                          }
                          //Schleife Biomüll
                          for(i=0; i&lt;lenbio; i++) {
                          bioleft = (bio[i]-now)/3600;
                          
                          if(bioleft &gt;= 0) {
                          setoutput(1,bioleft);
                          i = lenbio-1;
                          }
                          }
                          //Schleife Papiermüll
                          for(i=0; i&lt;lenpapier; i++) {
                          papierleft = (papier[i]-now)/3600;
                          
                          if(papierleft &gt;= 0) {
                          setoutput(2,papierleft);
                          i = lenpapier-1;
                          }
                          }
                          //Schleife Gelber Sack
                          for(i=0; i&lt;lenleicht; i++) {
                          leichtleft = (leicht[i]-now)/3600;
                          
                          if(leichtleft &gt;= 0) {
                          setoutput(3,leichtleft);
                          i = lenleicht-1;
                          }
                          }
                          //Schleife zur Überprüfung, ob die Erinnerungsuhrzeit ansteht (innerhalb 1 Stunde), wenn ja: Sleeptime verringern.
                          if((restleft&lt;(remtimerest+1) &amp;&amp; restleft&gt;=(remtimerest)) ||
                          (bioleft&lt;(remtimebio+1) &amp;&amp; bioleft&gt;=(remtimebio)) ||
                          (papierleft&lt;(remtimepapier+1) &amp;&amp; papierleft&gt;=(remtimepapier)) ||
                          (leichtleft&lt;(remtimeleicht+1) &amp;&amp; leichtleft&gt;=(remtimeleicht))) {
                          sleeptime = 120;
                          }
                          sleeps(sleeptime); //Sleep-Wert in Sekunden, um die CPU zu schonen..
                          }
                          Screenshot der LiveView:Klicke auf die Grafik für eine vergrößerte Ansicht

Name: 2020-05-24 11_24_09-Loxone Config - Home Config.png
Ansichten: 734
Größe: 73,4 KB
ID: 250737

                          Webansicht:
                          Klicke auf die Grafik für eine vergrößerte Ansicht

Name: 2020-05-24 11_02_55-Window.png
Ansichten: 415
Größe: 64,4 KB
ID: 250739

                          Statusbaustein: Klicke auf die Grafik für eine vergrößerte Ansicht

Name: 2020-05-24 11_31_25-Status bearbeiten.png
Ansichten: 420
Größe: 15,7 KB
ID: 250740
                          Angehängte Dateien

                          Kommentar


                          • romildo
                            romildo kommentierte
                            Kommentar bearbeiten
                            @squashmichi
                            Folgende Zeichenfolgen sind im Code falsch dargestellt:
                            &lt; an Stelle <
                            &gt; an Stelle >

                          • squashmichi
                            squashmichi kommentierte
                            Kommentar bearbeiten
                            romildo
                            Danke für deine Hilfe, allerdings finde ich kein kleiner oder größer Zeichen. In Welcher Zeile soll das stehen?

                          • romildo
                            romildo kommentierte
                            Kommentar bearbeiten
                            Genau das ist ja das Problem.
                            In Zeile 62 steht:
                            for(k=0; k&lt;(sizeof(rest)/sizeof(int)); k++) {
                            sollte aber:
                            for(k=0; k<(sizeof(rest)/sizeof(int)); k++) {
                            stehen.
                            In Zeile 63 steht:
                            if(rest[k] &gt; 0) {
                            sollte aber:
                            if(rest[k] > 0) {
                            stehen
                            usw.
                        Lädt...