HowTo: Müllabfuhr Plan

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • JCR7
    Smart Home'r
    • 01.03.2019
    • 30

    #76
    Hallo,

    vielen Dank euch allen für die Unterstützung. Ich werde das mal Einbauen/Umbauen.

    Danke
    LG
    Christian

    Kommentar

    • jankir
      Smart Home'r
      • 24.02.2016
      • 32

      #77
      Hallo zusammen, diese Vorlage läuft bei auch schon länger sehr zuverlässig. Wir haben jetzt allerdings 2 neue Tonnen, so dass ich jetzt 5 verschiedene Leerungen berücksichtigen muss. Wie kann ich das umsetzten, weil der Status ja nur 4 AI Eingänge hat? Hat das zufällig schon mal jemand gemacht?

      Kommentar

      • hme0354
        MS Profi
        • 06.07.2019
        • 958

        #78
        du kannst zwei status hinter einander schalten
        Smarthome: 1x Miniserver Gen. 2, 3x Relay Extensions, 1x Tree Extension, 1x DI-Extension, 1x Air Base Extension, 8x RGBW Tree Dimmer, 9x Touch-Tree, 1x Nano DI Tree, 10x Tree BWM
        Technik: IDM Aero SLM 3-11 mit HGL, MS4H mit 9 Zonen, 2x Loxberry, 2x RPI für Anzeige, Doorbird, Froggit WH2600, POE+ System für Peripherie, Gedad Luftgütesensoren, Deconz (Bridge + 2x BWM + 2x RGBW + 5 Smartplug)

        Kommentar

        • houseN1
          Banned
          • 28.10.2020
          • 9

          #79
          Genau, diese Umstellung musste ich auch machen und so hat es bei mir funktioniert.

          Kommentar

          • Davidmei
            MS Profi
            • 06.02.2017
            • 540

            #80
            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..
            }


            Angehängte Dateien

            Kommentar

            • romildo
              Lebende Foren Legende
              • 25.08.2015
              • 5126

              #81
              Davidmei
              Du bist Dir sicher, dass die Frage im richtigen Thread ist, ich frage, weil ich in diesem Thema keinen Programmbaustein finden kann.
              Das Programm müsste so schon was ausgeben. Vermutlich liegt der Fehler hinter oder vor dem Programmbaustein. Das kann man aber ohne LiveView nur vermuten.
              lg Romildo

              Kommentar

              • Davidmei
                MS Profi
                • 06.02.2017
                • 540

                #82
                Hallo Tatsache falsches Thread sorry

                Kommentar

                • Gast

                  #83
                  Hallo Leute, kann mir jemand sagen wie ich diese Symbole in die Konfig bekomme?

                  Danke!
                  LG

                  Kommentar

                  • romildo
                    Lebende Foren Legende
                    • 25.08.2015
                    • 5126

                    #84
                    Grafik kopieren, Loxone -> Symbole -> Symbole bearbeiten -> + -> im Fenster Werkzeuge Einfügen wählen.
                    lg Romildo

                    Kommentar

                    • Gast

                      #85
                      Zitat von romildo
                      Grafik kopieren, Loxone -> Symbole -> Symbole bearbeiten -> + -> im Fenster Werkzeuge Einfügen wählen.
                      danke für deine Antwort, aber in der Loxone Config gibt es keine Symbole bzw. Symbole bearbeiten?

                      Kommentar

                      • romildo
                        Lebende Foren Legende
                        • 25.08.2015
                        • 5126

                        #86
                        Klar gibt es da Symbole.....
                        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: SymbolBildEinfügen.png
Ansichten: 1753
Größe: 299,6 KB
ID: 280314
                        lg Romildo

                        Kommentar


                        • Gast
                          Gast kommentierte
                          Kommentar bearbeiten
                          ahhhh tut mir Leid...!! das habe ich nicht gesehen. DANKE dir
                      • Viperdriver2000
                        Smart Home'r
                        • 24.02.2021
                        • 81

                        #87
                        Hi,
                        danke für die Infos. Konnte es einfach nachbauen
                        Ich habe noch ne Frage zu den icons.

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

Name: 2021-03-15 00_08_36-Loxone.png
Ansichten: 1438
Größe: 55,8 KB
ID: 296349

                        Kann man die Symbole von den einzelnen Tonnen an den generellen punkt "Müllabfuhr" durchreichen?
                        Also das da schon je nachdem was als nächstes kommt auch gleich angezeigt wird.

                        Danke & Gruß

                        Kommentar

                        • Koanex
                          Dumb Home'r
                          • 12.11.2021
                          • 16

                          #88
                          Guten Tag!

                          Habe in meiner Logik einen Fehler drinnen.

                          Grundsätzlich stimmen die Tage bis zur Entleerung, jedoch ist bei der nächsten Entleerung Restmüll und Biomüll vertauscht (das heißt es wird Restmüll mit den Tagen vom Biomüll angezeigt und umgekehrt)

                          Ein weiteres kleines Details was mich stört ist Müll-Tage Biomüll in 5Tage (anstatt 5 Tage).

                          was muss ich zum Schluss eingeben wo nicht zugeordnet steht.

                          danke

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

Name: 1.JPG
Ansichten: 1168
Größe: 141,6 KB
ID: 327445

                          Kommentar

                          • klexi
                            Smart Home'r
                            • 05.01.2020
                            • 44

                            #89
                            Hallo, gibt es eine Möglichkeit, dass man das Startdatum auch über die App eingeben kann? Bislang habe ich die Lösung mit Konstanten umgesetzt.

                            Kommentar

                            • Claude
                              Azubi
                              • 05.11.2021
                              • 6

                              #90
                              Hallo, bei mir wird die blaue Tonne jeden 2 Donnerstag im Monat entleert. Hat hier jemand eine Idee (Formel) zur Berechnung des Datums?

                              Kommentar

                              Lädt...