Müllkalender

Haussteuerung mittels mediola

Moderator: Co-Administratoren

33zdenko
Beiträge: 343
Registriert: 21.12.2013, 16:50
Danksagung erhalten: 4 Mal

Re: Müllkalender

Beitrag von 33zdenko » 04.01.2017, 21:31

Accuracy hat geschrieben:
Habe noch eine Frage zu dem Skript.
Ich habe soweit alles eingerichtet und es läuft auch erst einmal.
Ich habe allerdings das Problem, dass wenn ich in meinem Google Cal für morgen keinen Termin habe, dass die Variable "MuellMorgen" mit dem gefundenen Müllwert von heute befüllt wird.
Z.B.
Heute = Restmüll
Morgen = gelber Sack
==> Müllheute und MüllMorgen werden korrekt befüllt via Skript

ABER:
Heute = Restmüll
Morgen = nix
==> beide Variablen werden dann mit "Restmüll" befüllt.
Hallo @Accuracy, @Jimbaem

Ich kann jetzt nicht auf die schnelle den Fehler finden, aber habe jetzt getestet wenn man die 2 ccu scripte, aufteilt, funktioniert es...
also ein programm erstellen, wenn mit zeitmodul jeden tag 00:05, im dann teil diese scripte einfügen, script erstellen, 1 teil einfügen, ausführen sofort, 2.script erstellen, script teil 2 einfügen, verzögert um z.b. 10 sekunden.

Testen könnt ihr es auch in 2 fenstern, die ccu web öberfläche aufrufen, in beiden fenstern script testen, jeweils ein teil, die teile beginnen jeweils mit
var url=

Accuracy
Beiträge: 746
Registriert: 22.05.2013, 16:37
Hat sich bedankt: 1 Mal

Re: Müllkalender

Beitrag von Accuracy » 05.01.2017, 10:13

ok
mit ersten Teil und zweiten Teil meinst du jeweils den Code der hinter = var url="https://script.google.com/....
kommt?

Seltsam, dass es aufgeteilt funktioniert und nicht in einem Schuss.

Chemieka
Beiträge: 649
Registriert: 03.01.2017, 17:39
Hat sich bedankt: 4 Mal
Danksagung erhalten: 9 Mal

Re: Müllkalender

Beitrag von Chemieka » 14.01.2017, 12:20

Ich habe auch den Müllkalender im Google Kalender über ein Feed eine Webseite gebaut und im Mediola eingebaut.
Hatte jemand eine Ahnung was ich im Feed einstellen muss, dass nun der nächste Termin angezeigt wird?
Die Sortierung im Feed klappt nicht oder?
6.PNG
6.PNG (19.1 KiB) 5064 mal betrachtet
5.PNG
PI3+ mit RaspberryMatic; PI4 mit IOBroker; Samsung Tab A mit Mediola Visualisierung; Harmony Hub; Philips Hue; Drei IP Cams; Zwei Leseköpfe an den Stromzählern; Reedkontakt (Arduino) am Wasserzähler; Drucksensor (Arduino); CUL433 für Intertechno und Somfy RTS; Nuki Bridge

33zdenko
Beiträge: 343
Registriert: 21.12.2013, 16:50
Danksagung erhalten: 4 Mal

Re: Müllkalender

Beitrag von 33zdenko » 14.01.2017, 17:55

Chemieka hat geschrieben: Hatte jemand eine Ahnung was ich im Feed einstellen muss, dass nun der nächste Termin angezeigt wird?
Die Sortierung im Feed klappt nicht oder?
Eigentlich kannst du es unten einstellen:
bei display 1 feed items
und sort order oldest
Bildschirmfoto 2017-01-14 um 17.54.19.png

Chemieka
Beiträge: 649
Registriert: 03.01.2017, 17:39
Hat sich bedankt: 4 Mal
Danksagung erhalten: 9 Mal

Re: Müllkalender

Beitrag von Chemieka » 16.01.2017, 18:37

Habs war alles richtig. Der alte Termin bleibt noch ne Weile bis der neue Termin kommt.
Danke.
PI3+ mit RaspberryMatic; PI4 mit IOBroker; Samsung Tab A mit Mediola Visualisierung; Harmony Hub; Philips Hue; Drei IP Cams; Zwei Leseköpfe an den Stromzählern; Reedkontakt (Arduino) am Wasserzähler; Drucksensor (Arduino); CUL433 für Intertechno und Somfy RTS; Nuki Bridge

Rainald Adamski
Beiträge: 146
Registriert: 07.11.2013, 20:52
Danksagung erhalten: 1 Mal

Re: Müllkalender

Beitrag von Rainald Adamski » 26.01.2017, 23:45

Hallo 33zdenko,

besten Dank für Deine tolle Anleitung.
Ich bin, als Laie, bis zum Testen in der CCU prima zurechtgekommen.
Die manuellen Tests im Browserfenster haben einwandfrei geklappt.
Der Skripttest in der CCU hat leider keine Rückmeldung gebracht.
Die beiden Google-Adressen habe ich angepaßt (copy&paste)
CUxD-Geräte sind bei mir installiert. CUxD.CUX28.01001:1 - 17 als virtuelle Fernbedienung. Hiervon sind 13 Kanäle belegt.
Aber egal ob ich den ersten CUxD-Kanal nehme oder den ersten freien Kanal:14, ich erhalte keine Antwort.

Irgend eine Idee?

Danke vorab
Gruß

Rainald

Rainald Adamski
Beiträge: 146
Registriert: 07.11.2013, 20:52
Danksagung erhalten: 1 Mal

Re: Müllkalender

Beitrag von Rainald Adamski » 27.01.2017, 14:26

Hallo 33zdenko,

zurück zum Anfang. Ich war zu ungeduldig. Die Meldungen kommen, wie beschrieben nach ca. 4-5 Sekunden.
Nochmals herzlichen Dank für Deine hervorragende Arbeit.
Gruß

Rainald

peoples
Beiträge: 4
Registriert: 11.01.2017, 21:48

Re: Müllkalender

Beitrag von peoples » 16.02.2017, 22:56

Hi,
ich wollte mal meine Umsetzung vorstellen, nur auf Basis von händsch befüllten Variablen, einem Programm, 13 Bildern und Mediola.
Dieser funktioniert in der von mir verwendeten Version nur wenn maximal zwei verschiedene "Mülltypen" am gleichen Tag abgeholt werden.
Die Ideen und die Scriptteile habe ich mir hier im Forum zusammengesucht und angepasst, vielleicht kann es ja jemand brauchen.

1. System Variablen anlegen auf der CCU
Ich habe auf der CCU folgende Variablen Angelegt:
systemvariablen.JPG
Systemvariablen
Bei den Abfallkalendern_Bio/Gelb/Papier/Rest habe ich das Datum händisch jeweils getrennt durch ein Semikolon (Strichpunkt) eingetragen, wichtig ist hinter dem letzen Datumseintrag darf kein Semikolon (Strichpunkt) mehr stehen.
Abfallkalender_heute wird durch ein Programm gesetzt.

2. Programm auf der CCU
script.JPG
Programm
Es wird jeden Tag einmal ausgeführt und zeigt das jeweilige Symbol bis zur nächsten Ausführung an.
Hier das Script:

Code: Alles auswählen

 
!Liste der vorhandenen Abfallkalender Systemvariablen die abgefragt werden sollen.
string tmpA = "1Abfallkalender_Bio,3Abfallkalender_Gelb,5Abfallkalender_Papier,9Abfallkalender_Rest";

string tmpB;

!Variable für Mülltyp (papier - Gelb usw)
integer tmpC = 0;
var tmpD = dom.GetObject("Abfallkalender_heute");

!Datum des morgigen Tages berechnen
integer tmpE = 1;
integer tmpF = system.Date("%F %X").ToTime().ToInteger();
integer tmpG = tmpF + (86400 + tmpE);
string tmpH = tmpG.ToTime().Format("%d.%m.%Y");

!Alle ersteinmal auf 0 setzen
tmpD.State(tmpC);
!Jeden einzelnen Kalender abprüfen
foreach(tmpB, tmpA.Split(",")){
		
		
		!Zahl vor dem Abfalltyp separieren
		integer drop_type_value = tmpB.Substr(0, 1);
		integer calendar_name_length = tmpB.Length();
		var calendar = tmpB.Substr(1, calendar_name_length);
		
		var datelist = dom.GetObject(calendar);
		!Alle Werte zählen
		var _count = web.webGetValueListCount(datelist.ValueList());
		integer i = 0;
		
		!Alle Werte abarbeiten
		while (i < _count) { 
			!Wenn das hinterlegte Datum dem Morgigen entspricht auf true setzen
			if(web.webGetValueFromList(datelist.ValueList(), i) == tmpH){
				!Variable setzen
                tmpC = tmpC + drop_type_value;
			}
			i = i + 1; 
		}
}
tmpD.State(tmpC);

3. Erstellen der Bilder für Mediola
Hier habe ich insgesammt 13 Bilder erstellt, die ich wie nachstehend benannt habe:
- default.png (Standartblid für die Darstellung)
- untitled.png (Bild das gezeigt wird wenn keine Auswertung möglich ist)
- state_0.png (Bild das gezeigt wird wenn kein Abholdatum auf den morgigen Tag passt)
- state_1.png (Bild für Biomüll)
- state_3.png (Bild für Gelben-Sack)
- state_4.png (Kombinationsbild für Biomüll und Gelber-Sack)
- state_5.png (Bild für Papiermüll)
- state_6.png (Kombinationsbild für Biomüll und Papiermüll)
- state_8.png (Kombinationsbild für Papiermüll und Gelber-Sack)
- state_9.png (Bild für Restmüll)
- state_10.png (Kombinationsbild für Restmüll und Biomüll)
- state_12.png (Kombinationsbild für Restmüll und Gelber-Sack)
- state_14.png (Kombinationsbild für Restmüll und Papiermüll)


4.Mediola
Hier noch die Einstellung in Mediola:
mediola.JPG
Mediola

Das wars schon und funktioniert für mich. Anfangs vielleicht ein bisschen mehr Arbeit und bestimmt auch nicht perfekt aber funktioniert ohne Server oder sontige Kalender.

Gruß
Peoples

DanielP3
Beiträge: 32
Registriert: 26.12.2015, 13:31

Re: Müllkalender

Beitrag von DanielP3 » 02.03.2017, 13:07

@peoples

Danke, gefällt mir die Lösung. Habe sie ein wenig für mich angepasst und übernommen.

Vielen Dank !

Daniel

moon
Beiträge: 14
Registriert: 14.04.2012, 20:32

Re: Müllkalender

Beitrag von moon » 12.03.2017, 12:10

Ich möchte gerne die Lösung mit dem Google-Script von 33zdenko nutzen (von Seite 3). Nachdem ich das Script als Web-App veröffentlich habe und den ersten Testaufruf starte, bekomme ich auch 1.4 als Ausgabe - soweit so gut. Wenn ich allerdings events oder eventstomorrow abrufen möchte, erhalte ich immer eine Fehlermeldung:

TypeError: Methode "getEvents" von null kann nicht aufgerufen werden. (Zeile 50, Datei "Code", Projekt "muellkalender")

Ich kome nicht dahinter woran das liegt, kann mir einer helfen?


Danke und Gruß
Maik

P.S. Für Heute und Morgen habe ich natürlich Testeinträge in meinen Müllkalender eingetragen

Antworten

Zurück zu „mediola“