Seite 4 von 4

Re: Müllkalender - Nächste Abholung

Verfasst: 6. Feb 2023 20:31
von joe73
Ach ja.... Danke für den Link! Da muss ich mich morgen mal intensiv mit beschäftigen, habe heute nur mal kurz drüber geschaut, sieht aber nach einem sehr guten Einstieg ins Thema aus!

Re: Müllkalender - Nächste Abholung

Verfasst: 6. Feb 2023 20:48
von udo1toni
Also, es ist eigentlich ein einfacher Fehler... .state liefert den Status eines Items. Ein Status ist kein String (auch wenn es in diesem Fall eigentlich einer ist). Mein Tipp wäre also, mal .state.toString zu probieren.

Re: Müllkalender - Nächste Abholung

Verfasst: 6. Feb 2023 21:14
von joe73
Das Seltsame ist aber, das "message" den korrekten Text enthält... ich bekomme die Meldung ja per Telegram... und da ist der korrekte Text enthalten .

Re: Müllkalender - Nächste Abholung

Verfasst: 6. Feb 2023 23:38
von joe73
ich schaue mir das morgen noch einmal in aller Ruhe an, jetzt ist es so langsam zu spät... irgendetwas übersehe ich.

Re: Müllkalender - Nächste Abholung

Verfasst: 7. Feb 2023 18:48
von joe73
So.... alles nochmals durchgetestet, der folgende Code funktioniert nun fehlerfrei:

Code: Alles auswählen

    timer_Muell?.cancel
    if (Kalender_Muell_1_Name.state != UNDEF) {        
        val myAlarm = (Kalender_Muell_1_Beginn.state as DateTimeType).getZonedDateTime.with(LocalTime.MIDNIGHT).minusHours(3)
        timer_Muell = createTimer(myAlarm, [|
            timer_Muell = null
            var String message
            message = Kalender_Muell_1_Name.state.toString + " schon an die Straße gestellt?"
            if (KodiOnline.state==ON) { Kodi_Muell_Notification.sendCommand(message) }
            telegramAction_Warn.sendTelegram(message)
        ]), 
    }
Somit war deine Anmerkung (.state muss verwendet werden) absolut richtig!
Ohne wurde der Variablen "message" zwar auch der korrekte Wert zugewiesen, gleichzeitg aber auch die vielen Fehler im Log ausgeworfen.

Re: Müllkalender - Nächste Abholung

Verfasst: 7. Feb 2023 19:22
von udo1toni
.toString... ;) ja, wie gesagt, .state ist ein Objekt, welches nicht vom Typ String ist, selbst wenn es inhaltlich ein String ist. Das ist für den normalen User erst mal seltsam, ein "echter" Programmierer könnte es Dir mit Sicherheit auch erklären (ich bin ja keiner und muss das also auch nicht wirklich können :lol: )