Willkommen im Loxone Community Forum. Um alle Funktionen nutzen und sehen zu können, registriere dich bitte zuerst. Dies gilt auch für das herunterladen von Dateien.
Dieser Bereich ist für fertige Lösungen gedacht. Nutze bitte für Diskussionen die anderen Bereiche.
HowTo: Müllabfuhrplan mit fixen Terminen Anzeige ww. in Stunden/Tagen
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.
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)
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;
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!?
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.
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)
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
Genau das ist ja das Problem.
In Zeile 62 steht:
for(k=0; k<(sizeof(rest)/sizeof(int)); k++) {
sollte aber:
for(k=0; k<(sizeof(rest)/sizeof(int)); k++) {
stehen.
In Zeile 63 steht:
if(rest[k] > 0) {
sollte aber:
if(rest[k] > 0) {
stehen
usw.
Wir verarbeiten personenbezogene Daten über Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen, Werbung zu personalisieren und Websiteaktivitäten zu analysieren. Wir können bestimmte Informationen über unsere Nutzer mit unseren Werbe- und Analysepartnern teilen. Weitere Einzelheiten finden Sie in unserer Datenschutzrichtlinie.
Wenn Sie unten auf "Einverstanden" klicken, stimmen Sie unserer Datenschutzrichtlinie und unseren Datenverarbeitungs- und Cookie-Praktiken wie dort beschrieben zu. Sie erkennen außerdem an, dass dieses Forum möglicherweise außerhalb Ihres Landes gehostet wird und Sie der Erhebung, Speicherung und Verarbeitung Ihrer Daten in dem Land, in dem dieses Forum gehostet wird, zustimmen.
Kommentar