Seite 13 von 15

Re: Müllkalender via openHAB

Verfasst: 7. Apr 2021 20:41
von Lactobacillus
CHUluck4 hat geschrieben: 7. Apr 2021 20:16
Lactobacillus hat geschrieben: 7. Apr 2021 18:38 Habe jetzt mal versucht meinen google Kalender überhaupt in OH3 einzufügen doch leider bleibt dieser offline. Beim Link muss doch die Webadresse rein wie wenn ich den Kalender per Browser aufrufe oder? Ubd bei Benutzer und PW dann die Google Daten?
Die Webadresse reicht in dem Fall nicht. Führe in deinem Google Kalender mal links die Maus über deinen Kalender. Daneben hast du dann 3 Punkte.
Dort wählst du Einstellungen und Freigabe. Scrolle dann bis zur Kategorie "Kalender integrieren". Da findest du eine Privatadresse im ICAL Format.
Diesen Link benötigst du.
Benutzer und Passwort benötigst du nicht.
Was muss ich tun um nur den Müllkalender zu erhalten? Den Landkreis befragen?
Am besten mal nach Googeln (Abfallkalender + dein Landkreis) oder den Landkreis befragen.
Ok, das habe ich nun hinbekommen Kalender ist nun Online in OH allerdings ist da im Moment noch der komplette Googlekalender drin mit Ferien, Geburtstagen usw. Im Augenblick will ich eigentlich nur den Müllkalender aber komme nicht ganz klar wo ich da ansetzen muß. ich befürchte in VS Code?

Re: Müllkalender via openHAB

Verfasst: 8. Apr 2021 10:29
von CHUluck4
Ich hab mir einfach einen extra Kalender mit einem anderen Benutzer angelegt, damit ich den Datenmüll nicht im Hauptkalender habe.

Re: Müllkalender via openHAB

Verfasst: 8. Apr 2021 16:12
von CHUluck4
StefanH. hat geschrieben: 3. Jan 2021 20:03 Per Telegram schicke ich mir ab 15Uhr vom Vortag eine Nachricht, die mich fragt, ob ich die Tonnen schon vors Haus gestellt habe. Wenn ich diese Telegram Nachricht nicht beantworte, wird weiterhin zur vollen Stunde eine Nachricht geschickt. Die Auswertung der Telegramantwort habe ich jetzt hier nicht extra erläutert. Kann ich aber gerne machen, falls da Bedarf besteht.
Wäre super wenn du mir die Auswertung der Telegramantwort einmal erläutern könntest.
Bin da leider noch totaler Anfänger und hab mich schon gefragt wie das genau geht.

Danke für die tolle Umsetzung des Abfallkalenders. Den konnte ich super implementieren.

Re: Müllkalender via openHAB

Verfasst: 9. Apr 2021 13:52
von dr_vergleich
Liebe Community,

vielen Dank für die Idee mit dem Müllkalender. Ich habe zwischenzeitlich geschafft, den Kalender in Openhab zu integrieren.

Was mir aber Probleme macht ist diese Datumsrechnerei. Ich habe also das Datum, an dem die nächste Leerung einer Tonne erfolgt. Über das iCalendar Binding sehe ich sehe ich auch, dass sich an dem Tag, wenn eine Leerung stattfindet, dann aus dem Binding der Channel

current_presence Switch

auf "ON" aktiviert. An anderen Tagen (ohne Leerung) ist er "OFF".

Ich brauche aber die Meldung am Tag vorher, da die Leerung bei mir zu Hause oft schon vor 8.00 Uhr erfolgt.

Ich habe ja ein Item mit dem Tag, wann das nächste Müllereignis stattfindet:

Channel im Icalendar Bindung:
next_start DateTime Start of the next event

Ich sehe in dem DateTime Item auch das korrekte Datum.

Ich komme aber leider nicht weiter, dieses Datum mit dem heutigen Datum zu vergleichen, so dass am Tag vor der Leerung eine Mitteilung an mich per Telegram rausgeht.

1. Frage:
Kann ich das heutige Datum in Openhab direkt abfragen und in einem DateTime - Item hinterlegen oder bedarf es dazu das NTP Binding, welches das aktuelle Datum beinhaltet?

2. Frage:
Wie kann ich konkret die "Vergleichsberechnung" von zwei Daten anstellen (quasi weniger als ein Tag vor dem Ereignis)?

Ich habe ja schon versucht über das Forum weiterzukommen, aber ich komme immer wieder zu dem Problem, dass DateTime unterschiedlich ist, ob man ein Item hat oder in einer Rule damit rechnen/etwas regeln möchte. Anscheinend ist auch das Datum Format vom iCalendar und vom NTP Binding schon nicht gleich.

Wäre toll, wenn mir jemand einen Tipp dazu geben könnte.

Gruß

dr_vergleich

Re: Müllkalender via openHAB

Verfasst: 9. Apr 2021 20:48
von Lactobacillus
CHUluck4 hat geschrieben: 8. Apr 2021 10:29 Ich hab mir einfach einen extra Kalender mit einem anderen Benutzer angelegt, damit ich den Datenmüll nicht im Hauptkalender habe.
Ja das ist eine sehr gute Idee da hätte ich eigentlich auch selbst drauf kommen können :shock:

Aber nun da der Kalender nur aus Müllterminen besteht wie differenziere ich da Müll, Biomüll ,Papier und evtl schadstoffe um vielleicht sogar noch die jeweilige Tonnenfarbe anzeigen zu können?

Re: Müllkalender via openHAB

Verfasst: 10. Apr 2021 00:23
von CHUluck4
Lactobacillus hat geschrieben: 9. Apr 2021 20:48 Ja das ist eine sehr gute Idee da hätte ich eigentlich auch selbst drauf kommen können :shock:

Aber nun da der Kalender nur aus Müllterminen besteht wie differenziere ich da Müll, Biomüll ,Papier und evtl schadstoffe um vielleicht sogar noch die jeweilige Tonnenfarbe anzeigen zu können?
Das realisierst du über die Eventfilter im ICAL Binding. Jede Tonne bekommt einen eigenen Eventfilter. Im Eventfilter musst du noch die richtige Bridge auswählen, also deinen Abfallkalender den du per ICAL eingebunden hast. Filtern nach Betreff/Titel und im Suchfeld den Titel des Kalendereintrages, der gefiltert werden soll, eintragen.

Re: Müllkalender via openHAB

Verfasst: 10. Apr 2021 03:58
von Lactobacillus
Gibts da beispiele? :oops: :roll:

Will es dann auch noch ins Habpanel bringen :cry:

Re: Müllkalender via openHAB

Verfasst: 10. Apr 2021 12:11
von StefanH.
CHUluck4 hat geschrieben: 8. Apr 2021 16:12 Wäre super wenn du mir die Auswertung der Telegramantwort einmal erläutern könntest.
Ich hab die glaube ich wichtigen Teile mal extrahiert:

Code: Alles auswählen

import org.openhab.core.model.script.ScriptServiceUtil

rule "telegram.rules - Telegram Reply handler"
when
        Item telegramReplyId received update
then
        val ReplyMessage = telegramMsg.state.toString
        val ReplySender = telegramMsgName.state.toString
        val ReplyId = telegramReplyId.state.toString
        logInfo("telegram.rules", "Telegram Query Reply, ID=" + ReplyId + ", Value=" + ReplyMessage)
        val telegramAction = getActions("telegram","telegram:telegramBot:c492a03354")
        //abfall
        if(ReplyId == "Abfall") {
            if (ReplyMessage == "Ja")
            {
                    ABFALL_ERINNERUNG_NOTWENDIG.sendCommand("OFF")
                    telegramAction.sendTelegram(Long.valueOf(telegramChat_Gruppe.label),  "Ok, " + ReplySender + " ich werde keine weitere Erinnerung senden.")
                    logInfo("telegram.rules", "Abfallerinnerung ausgeschaltet.")
            }
        }
end

Re: Müllkalender via openHAB

Verfasst: 10. Apr 2021 12:14
von StefanH.
dr_vergleich hat geschrieben: 9. Apr 2021 13:52
1. Frage:
Kann ich das heutige Datum in Openhab direkt abfragen und in einem DateTime - Item hinterlegen oder bedarf es dazu das NTP Binding, welches das aktuelle Datum beinhaltet?

2. Frage:
Wie kann ich konkret die "Vergleichsberechnung" von zwei Daten anstellen (quasi weniger als ein Tag vor dem Ereignis)?
Schau dir mal an wie ich das umgesetzt habe. Ich lasse mich einen Tag vorher per Telegram benachrichtigen. Jede Stunde wird mir eine Nachricht geschickt, die ich per Telegram bestaetigen muss. Ansonsten sendet er mir weiterhin Erinnerungen (ich glaube bis Mitternacht).

viewtopic.php?p=28031#p28031

Stefan

Re: Müllkalender via openHAB

Verfasst: 10. Apr 2021 12:21
von StefanH.
Lactobacillus hat geschrieben: 10. Apr 2021 03:58 Gibts da beispiele? :oops: :roll:

Will es dann auch noch ins Habpanel bringen :cry:
So hab ich das damals gelöst, nicht super schön, aber funktional :-)
Das war noch am Anfang, als ich von dem Code nix verstanden hab. Ich also auf jeden Fall schöner und kürzer umzusetzen. Habs jedoch nie aktualisiert.
2021-04-10_12h17_44.png
Code:

Code: Alles auswählen

<div style="height: 100%; padding: 10px;">
  <h2>Abfallentsorgung</h2>
  <div class="row" style="height: 100%; align-items: center; justify-items: center; padding: 3px 5px;">
    <div class="col-xs-4 text-center" style="color: #41c4f4; padding: 2px; font-size: 25px; flex: 1;">
    	HEUTE
    </div>
    <div class="col-xs-8 text-left" style="padding: 2px; font-size: 25px; flex: 1;" ng-show="itemValue('ABFALL_ISTHEUTE_AKTIV') == 'OFF'">
    	---
    </div>
    <div class="col-xs-8 text-left" style="padding: 2px; font-size: 25px; flex: 1;" ng-show="itemValue('ABFALL_ISTHEUTE_AKTIV') == 'ON'">
    	{{itemValue('ABFALLTONNEN_HEUTE')}}
    </div>
    <div class="col-xs-4 text-center" style="color: #41c4f4; padding: 2px; font-size: 25px; flex: 1;">
    	MORGEN
    </div>
    <div class="col-xs-8 text-left" style="padding: 2px; font-size: 25px; flex: 1;" ng-show="itemValue('ABFALL_ISTMORGEN_AKTIV') == 'OFF'">
    	---
    </div>
    <div class="col-xs-8 text-left" style="padding: 2px; font-size: 25px; flex: 1;" ng-show="itemValue('ABFALL_ISTMORGEN_AKTIV') == 'ON'">
    	{{itemValue('ABFALLTONNEN_MORGEN')}}
    </div>
    <div class="col-xs-4 text-center" style="color: #41c4f4; padding: 2px; font-size: 25px; flex: 1;">
    	Schwarz
    </div>
    <div class="col-xs-8 text-left" style="padding: 2px; font-size: 25px; flex: 1;">
      {{itemValue('ABFALL_TERMIN_SCHWARZ') | date:'dd.MM.yyyy'}}
    </div>
    <div class="col-xs-4 text-center" style="color: #41c4f4; padding: 2px; font-size: 25px; flex: 1;">
    	Gelb
    </div>
    <div class="col-xs-8 text-left" style="padding: 2px; font-size: 25px; flex: 1;">
    	{{itemValue('ABFALL_TERMIN_GELB') | date:'dd.MM.yyyy'}}
    </div>
    <div class="col-xs-4 text-center" style="color: #41c4f4; padding: 2px; font-size: 25px; flex: 1;">
    	Grün
    </div>
    <div class="col-xs-8 text-left" style="padding: 2px; font-size: 25px; flex: 1;">
    	{{itemValue('ABFALL_TERMIN_GRUEN') | date:'dd.MM.yyyy'}}
    </div>
    <div class="col-xs-4 text-center" style="color: #41c4f4; padding: 2px; font-size: 25px; flex: 1;">
    	Blau
    </div>
    <div class="col-xs-8 text-left" style="padding: 2px; font-size: 25px; flex: 1;">
    	{{itemValue('ABFALL_TERMIN_BLAU') | date:'dd.MM.yyyy'}}
    </div>
  </div>
 </div>