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

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Gast

    #91
    Hallo zusammen,

    bin gerade dabei den Abfallkalender nachzubauen... eine blöde Frage wie kann man denn Symbole "umbenennen"? hab schon alles mögliche ausprobiert...

    VG
    Mavrix

    Kommentar

    • romildo
      Lebende Foren Legende
      • 25.08.2015
      • 5113

      #92
      ohne Worte
      Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Symbole umbenennen.png
Ansichten: 502
Größe: 102,9 KB
ID: 98953
      lg Romildo

      Kommentar

      • Gast

        #93
        Allerdings ohne Worte... da hab ichn natürlich nicht hingeschaut... das muss ich mir angewöhnen. Ich habe hier vergeblich die Möglichkeit gesucht (siehe Bild).
        Angehängte Dateien

        Kommentar


        • Gast
          Gast kommentierte
          Kommentar bearbeiten
          Oh man... das muss man echt mal wissen! Gibt es eigentlich sowas wie eine Benutzerdokumentation für die Loxone Config Software? Außer das was nun Online unter Configuration zu finden ist?

        • romildo
          romildo kommentierte
          Kommentar bearbeiten
          Da fragst Du am besten bei Loxone nach. Bei Loxone gibt es aber auch Schulungen

          Auf der englischen Loxoneseite findet man aber zumindest noch die alten Videos welche zu Beginn recht hilfreich sein können. Leider sind sie noch von älteren Config Versionen.

        • Gast
          Gast kommentierte
          Kommentar bearbeiten
          Schulung besuch ich im August in Kollerschlag
      • Gast

        #94
        So hab nun mal den Abfallplan für unsere Gemeinde umgesetzt aber nur Trockenübung - da Miniserver im Haus und ich im Büro ^^ und dort noch kein Internet etc.
        Jetzt hab ich eine verrückte Idee...

        Wir haben in der Küche (dort hängt später auch das iPad für die Visualisierung) 4 RGBW Loxone LED Spots... um diese entsprechend an dem Abend wenn "Tonne rausstellen!" kommt mit der entsprechenden Farbe (Grün, Gelb, Blau oder Dunkelgrau) leuchten zu lassen müsste ich erstmal mit Merkern arbeiten und diese dann im Lichtsteuerungsbaustein irgendwie verbasteln...

        Dann dort vermutlich eine Szene für jede Tonne bauen... könnte das so gehen? ^^

        Liebe Grüße,
        Markus

        Kommentar


        • kofi1990
          kofi1990 kommentierte
          Kommentar bearbeiten
          Haha, genial.
          Sehr kreativ!

          Hmmm...
          Die Merker mit "Restmüll, Biomüll, usw." würde ich einen fixen Wert geben.
          Rest = 2
          Bio = 3
          Altpapier = 4

          Dann auf den Szeneneingang in der Lichtsteuerung.
          In der Lichtsteuerung dann die Szenen entsprechend anpassen (Szene2=Lila, Szene3 =Grün, Szene4= Blau)
          Dann noch eine Schaltuhr davor (bspw. von 17-19 Uhr).

          Bin selbst noch nicht so gut drauf bei Loxone aber ich denk das würd funktionieren.
          Meistens gibts sowieso mehr lösungen wie du das realisieren kannst.
      • Gast

        #95
        Hallo zusammen,

        nachdem die Darstellung bei mir geraume Zeit reibungslos lief, wird nun seit längerem (Jahreswechsel?) nicht mehr aktualisiert.
        Nach jedem MS-Boot läuft das Programm exakt durch, kündigt Leerungen korrekt an, friert diese aber ein ohne von Tag zu Tag zu aktualisieren...
        Hoffe, es liegt nicht an meiner alten Version (Config 7.3.2.24)!?
        Kann man beim Update sicher sein, daß noch alle "Verdrahtungen/Bausteine" so funktionieren wie bisher oder ist Nacharbeit notwendig?

        Danke für Eure Hilfe,
        mackaroni

        Kommentar


        • Gast
          Gast kommentierte
          Kommentar bearbeiten
          Oh Mann, bin doch dann noch selbst auf einen copy/paste-Fehler gestossen: es fehlte in der letzten Zeile die Klammer, so daß es zum Abbruch nach dem 1. Durchlauf kam...
      • ckerfurt
        Smart Home'r
        • 07.11.2016
        • 69

        #96
        Hi Sebastian,

        danke für das PicoC-Programm. Funktioniert super!

        Viele Grüße
        Christoph
        🌍 cunnect.de​

        Kommentar

        • KaJu74
          Extension Master
          • 10.06.2017
          • 166

          #97
          Hi,

          ich habe das auch mal probiert.
          Jedoch zeigt er bei Biomüll immer 0 Tage an.
          Der Ausgang aus dem Programm an AQ2 ist immer 0.
          Habe an den Daten nichts geändert, also müsste der 7.7. der nächste Termin sein.

          Kommentar

          • orli
            Lox Guru
            • 13.11.2016
            • 2548

            #98
            Ich nutze das Programm auch seit ein paar Tagen, hatte beim übertragen meiner Termine die einstelligen Daten mit einer führenden Null hinterlegt, da hatte ich ebenfalls immer eine 0 auf dem Ausgang. Schau mal nach vielleicht ist das auch dein Problem (also 7, 7 hinterlegen nicht 07, 07).

            Kommentar

            • KaJu74
              Extension Master
              • 10.06.2017
              • 166

              #99
              Hi

              Danke für den Hinweis.

              Ich habe jetzt aber das Programm aus #86 genommen und es scheint zu funktionieren.


              Muss noch die Daten anpassen.

              Kommentar

              • ckerfurt
                Smart Home'r
                • 07.11.2016
                • 69

                Hallo an alle,

                seit dem heutigen Update auf v9.0.9.26 funktioniert das PicoC-Programm nicht mehr. An allen Ausgängen werden keine Werte angezeigt. Noch jemand mit diesem Problem?
                🌍 cunnect.de​

                Kommentar


                • Sebastian
                  Sebastian kommentierte
                  Kommentar bearbeiten
                  Ich kann das nicht bestätigen, läuft bei mir wie immer.
              • KaJu74
                Extension Master
                • 10.06.2017
                • 166

                Also, bei mir geht es auch noch.

                Kommentar

                • ckerfurt
                  Smart Home'r
                  • 07.11.2016
                  • 69

                  Hallo KaJu74 und Sebastian,

                  könnt ihr mir mal bitte euer PicoC-Programm schicken?

                  Vielen Dank!
                  🌍 cunnect.de​

                  Kommentar


                  • KaJu74
                    KaJu74 kommentierte
                    Kommentar bearbeiten
                    Bin aktuell an der Arbeit.
                    Wenn dann später.

                  • KaJu74
                    KaJu74 kommentierte
                    Kommentar bearbeiten
                    // 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 = 2017; //Jahr, für den der Müllkalender gilt
                    hourrest = 10; //Stunde, an der die Müllabfuhr üblicherweise kommt (Restmüll)
                    hourbio = 10; //Stunde, an der die Müllabfuhr üblicherweise kommt (Biomüll)
                    hourpapier = 10; //Stunde, an der die Müllabfuhr üblicherweise kommt (Altpapier)
                    hourleicht = 10; //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 = 16; //Stunden vor der Abholung bzgl. Erinnerung. IM STATUSBAUSTEIN ANPASSEN (oder umgekehrt)!
                    remtimebio = 16; //Stunden vor der Abholung bzgl. Erinnerung. IM STATUSBAUSTEIN ANPASSEN (oder umgekehrt)!
                    remtimepapier = 16; //Stunden vor der Abholung bzgl. Erinnerung. IM STATUSBAUSTEIN ANPASSEN (oder umgekehrt)!
                    remtimeleicht = 16; //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, 28, hourrest, minuterest, 0, 1); //Letzter Abfuhrtermin des alten Jahres
                    rest[1] = gettimeval(year, 1, 10, hourrest, minuterest, 0, 1); //ab hier für das neue Jahr (Variable "year")
                    rest[2] = gettimeval(year, 1, 24, hourrest, minuterest, 0, 1);
                    rest[3] = gettimeval(year, 2, 7, hourrest, minuterest, 0, 1);
                    rest[4] = gettimeval(year, 2, 21, hourrest, minuterest, 0, 1);
                    rest[5] = gettimeval(year, 3, 7, hourrest, minuterest, 0, 1);
                    rest[6] = gettimeval(year, 3, 21, hourrest, minuterest, 0, 1);
                    rest[7] = gettimeval(year, 4, 4, hourrest, minuterest, 0, 1);
                    rest[8] = gettimeval(year, 4, 19, hourrest, minuterest, 0, 1);
                    rest[9] = gettimeval(year, 5, 3, hourrest, minuterest, 0, 1);
                    rest[10] = gettimeval(year, 5, 19, hourrest, minuterest, 0, 1);
                    rest[11] = gettimeval(year, 5, 30, hourrest, minuterest, 0, 1);
                    rest[12] = gettimeval(year, 6, 13, hourrest, minuterest, 0, 1);
                    rest[13] = gettimeval(year, 6, 27, hourrest, minuterest, 0, 1);
                    rest[14] = gettimeval(year, 7, 11, hourrest, minuterest, 0, 1);
                    rest[15] = gettimeval(year, 7, 25, hourrest, minuterest, 0, 1);
                    rest[16] = gettimeval(year, 8, 8, hourrest, minuterest, 0, 1);
                    rest[17] = gettimeval(year, 8, 22, hourrest, minuterest, 0, 1);
                    rest[18] = gettimeval(year, 9, 5, hourrest, minuterest, 0, 1);
                    rest[19] = gettimeval(year, 9, 19, hourrest, minuterest, 0, 1);
                    rest[20] = gettimeval(year, 10, 4, hourrest, minuterest, 0, 1);
                    rest[21] = gettimeval(year, 10, 17, hourrest, minuterest, 0, 1);
                    rest[22] = gettimeval(year, 11, 1, hourrest, minuterest, 0, 1);
                    rest[23] = gettimeval(year, 11, 14, hourrest, minuterest, 0, 1);
                    rest[24] = gettimeval(year, 11, 28, hourrest, minuterest, 0, 1);
                    rest[25] = gettimeval(year, 12, 12, hourrest, minuterest, 0, 1);
                    rest[26] = 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, 20, hourbio, minutebio, 0, 1); //Letzter Abfuhrtermin des alten Jahres
                    bio[1] = gettimeval(year, 1, 3, hourbio, minutebio, 0, 1); //ab hier für das neue Jahr (Variable "year")
                    bio[2] = gettimeval(year, 1, 17, hourbio, minutebio, 0, 1);
                    bio[3] = gettimeval(year, 2, 14, hourbio, minutebio, 0, 1);
                    bio[4] = gettimeval(year, 2, 28, hourbio, minutebio, 0, 1);
                    bio[5] = gettimeval(year, 3, 14, hourbio, minutebio, 0, 1);
                    bio[6] = gettimeval(year, 3, 28, hourbio, minutebio, 0, 1);
                    bio[7] = gettimeval(year, 4, 11, hourbio, minutebio, 0, 1);
                    bio[8] = gettimeval(year, 4, 25, hourbio, minutebio, 0, 1);
                    bio[9] = gettimeval(year, 5, 9, hourbio, minutebio, 0, 1);
                    bio[10] = gettimeval(year, 5, 23, hourbio, minutebio, 0, 1);
                    bio[11] = gettimeval(year, 6, 7, hourbio, minutebio, 0, 1);
                    bio[12] = gettimeval(year, 6, 20, hourbio, minutebio, 0, 1);
                    bio[13] = gettimeval(year, 7, 4, hourbio, minutebio, 0, 1);
                    bio[14] = gettimeval(year, 7, 18, hourbio, minutebio, 0, 1);
                    bio[15] = gettimeval(year, 8, 1, hourbio, minutebio, 0, 1);
                    bio[16] = gettimeval(year, 8, 15, hourbio, minutebio, 0, 1);
                    bio[17] = gettimeval(year, 8, 29, hourbio, minutebio, 0, 1);
                    bio[18] = gettimeval(year, 9, 12, hourbio, minutebio, 0, 1);
                    bio[19] = gettimeval(year, 9, 16, hourbio, minutebio, 0, 1);
                    bio[20] = gettimeval(year, 10, 10, hourbio, minutebio, 0, 1);
                    bio[21] = gettimeval(year, 10, 24, hourbio, minutebio, 0, 1);
                    bio[22] = gettimeval(year, 11, 7, hourbio, minutebio, 0, 1);
                    bio[23] = gettimeval(year, 11, 21, hourbio, minutebio, 0, 1);
                    bio[24] = gettimeval(year, 12, 5, hourbio, minutebio, 0, 1);
                    bio[25] = 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(bio[k] > 0) {
                    lenbio++;
                    }
                    }

                    //Daten der Papiermüllabholung
                    papier[0] = gettimeval(year-1, 12, 29, hourpapier, minutepapier, 0, 1); //Letzter Abfuhrtermin des alten Jahres
                    papier[1] = gettimeval(year, 1, 25, hourpapier, minutepapier, 0, 1); //ab hier für das neue Jahr (Variable "year")
                    papier[2] = gettimeval(year, 2, 22, hourpapier, minutepapier, 0, 1);
                    papier[3] = gettimeval(year, 3, 22, hourpapier, minutepapier, 0, 1);
                    papier[4] = gettimeval(year, 4, 20, hourpapier, minutepapier, 0, 1);
                    papier[5] = gettimeval(year, 5, 17, hourpapier, minutepapier, 0, 1);
                    papier[6] = gettimeval(year, 6, 14, hourpapier, minutepapier, 0, 1);
                    papier[7] = gettimeval(year, 7, 12, hourpapier, minutepapier, 0, 1);
                    papier[8] = gettimeval(year, 8, 9, hourpapier, minutepapier, 0, 1);
                    papier[9] = gettimeval(year, 9, 6, hourpapier, minutepapier, 0, 1);
                    papier[10] = gettimeval(year, 10, 5, hourpapier, minutepapier, 0, 1);
                    papier[11] = gettimeval(year, 11, 2, hourpapier, minutepapier, 0, 1);
                    papier[12] = gettimeval(year, 11, 29, hourpapier, minutepapier, 0, 1);
                    papier[13] = gettimeval(year, 12, 28, 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 gelben Säckeabholung
                    leicht[0] = gettimeval(year-1, 12, 19, 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, 16, hourleicht, minuteleicht, 0, 1);
                    leicht[3] = gettimeval(year, 2, 13, hourleicht, minuteleicht, 0, 1);
                    leicht[4] = gettimeval(year, 2, 27, hourleicht, minuteleicht, 0, 1);
                    leicht[5] = gettimeval(year, 3, 13, hourleicht, minuteleicht, 0, 1);
                    leicht[6] = gettimeval(year, 3, 27, hourleicht, minuteleicht, 0, 1);
                    leicht[7] = gettimeval(year, 4, 10, hourleicht, minuteleicht, 0, 1);
                    leicht[8] = gettimeval(year, 4, 24, hourleicht, minuteleicht, 0, 1);
                    leicht[9] = gettimeval(year, 5, 8, hourleicht, minuteleicht, 0, 1);
                    leicht[10] = gettimeval(year, 5, 22, hourleicht, minuteleicht, 0, 1);
                    leicht[11] = gettimeval(year, 6, 6, hourleicht, minuteleicht, 0, 1);
                    leicht[12] = gettimeval(year, 6, 19, hourleicht, minuteleicht, 0, 1);
                    leicht[13] = gettimeval(year, 7, 3, hourleicht, minuteleicht, 0, 1);
                    leicht[14] = gettimeval(year, 7, 17, hourleicht, minuteleicht, 0, 1); //ab hier für das neue Jahr (Variable "year")
                    leicht[15] = gettimeval(year, 7, 31, hourleicht, minuteleicht, 0, 1);
                    leicht[16] = gettimeval(year, 8, 14, hourleicht, minuteleicht, 0, 1);
                    leicht[17] = gettimeval(year, 8, 28, hourleicht, minuteleicht, 0, 1);
                    leicht[18] = gettimeval(year, 9, 11, hourleicht, minuteleicht, 0, 1);
                    leicht[19] = gettimeval(year, 9, 25, hourleicht, minuteleicht, 0, 1);
                    leicht[20] = gettimeval(year, 10, 9, hourleicht, minuteleicht, 0, 1);
                    leicht[21] = gettimeval(year, 10, 23, hourleicht, minuteleicht, 0, 1);
                    leicht[22] = gettimeval(year, 11, 6, hourleicht, minuteleicht, 0, 1);
                    leicht[23] = gettimeval(year, 11, 20, hourleicht, minuteleicht, 0, 1);
                    leicht[24] = gettimeval(year, 12, 4, hourleicht, minuteleicht, 0, 1);
                    leicht[25] = gettimeval(year, 12, 18, 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..
                    }
                • chgru
                  Smart Home'r
                  • 01.09.2015
                  • 85

                  ckerfurt

                  Hallo
                  Kann es bestätigen, es funktioniert weiter.

                  Kommentar

                  • ckerfurt
                    Smart Home'r
                    • 07.11.2016
                    • 69

                    Hallo KaJu74,

                    danke dir. Ich hatte eine Fehler in meinen Schleifen. Komischerweise lief das Programm vor dem Update fehlerfrei. Who knows.

                    Viele Grüße!
                    🌍 cunnect.de​

                    Kommentar

                    • Gast

                      Hallo,

                      ich habe das gleiche Problem wie ckerfurt. Auch nach Aktualisierung des PicoC-Programmes funktioniert der Status noch nicht. An den Ausgängen AQ1-AQ4 stehen nach wie vor "0" an. Habt ihr eine Idee?

                      Kommentar

                      Lädt...