Seite 4 von 14

Re: Temperatur Tendenz ermitteln

Verfasst: 14. Aug 2020 23:20
von peter-pan
violine21 hat geschrieben: 14. Aug 2020 18:38 Kannst Du mal bitte zu den geschweiften Klammern etwas sagen?
Ja. Das ist auch eine Möglichkeit die logInfos zu benutzen. Du hast das genau richtig erkannt. So ein Klammerpaar stellt einen Platzhalter für einen Wert in einem String dar, der dann nach dem Komma , definiert ist. Diese Schreibweise ist etwas komfortabler als "String + Variable + String + Variable". Vor allem, wenn man mehrere Werte darstellen will. Ich finde es sieht auch etwas aufgeräumter aus.

Re: Temperatur Tendenz ermitteln

Verfasst: 15. Aug 2020 12:41
von udo1toni
Diese Art der Formatierung ist in verschiedenen Sprachen gebräuchlich, manchmal muss man den Index mit angeben. Der große Vorteil gegenüber der Verkettung mehrerer Strings zu einem String liegt darin, dass es nicht notwendig ist, den Wert nach String zu konvertieren. Leider funktioniert die Substitution nicht uneingeschränkt.
Man kann allerdings auch mit anderen Funktionen arbeiten, z.B. Mit stringBuilder oder String.format. Die Substitution ist halt schnell und für Faule, genau das Richtige für mich...


Gesendet von iPad mit Tapatalk

Re: Temperatur Tendenz ermitteln

Verfasst: 16. Aug 2020 14:45
von KellerK1nd
So vom Zelten zurück . ;) Ihr seid echt spitze! Habe das jetzt so übernommen und natürlich funktioniert das tadellos! Nochmals vielen Dank an Euch, top Community!

Re: Temperatur Tendenz ermitteln

Verfasst: 29. Aug 2020 14:14
von PeterA
Hallo nochmal,

Code: Alles auswählen

rule "Innen DG Kind 1 Feuchte Tendenz ermitteln"
when
    Item InnenDGKind1Feuchte changed or
    System started
    //Time cron "0 * * * * ?"// jede Minute// jede Minute
then
    if(!(InnenDGKind1Feuchte_Tendenz_Proxy.state instanceof Number)) {
        InnenDGKind1Feuchte_Tendenz_Proxy.postUpdate(0)
    }
    if((InnenDGKind1Feuchte.state as Number).floatValue > (InnenDGKind1Feuchte_Tendenz_Proxy.state as Number)){
        logInfo("Flur DG Feuchte", "steigend")
        InnenDGKind1Feuchte_Tendenz.postUpdate("⬆️")
    }
    if((InnenDGKind1Feuchte.state as Number).floatValue == (InnenDGKind1Feuchte_Tendenz_Proxy.state as Number)){
        logInfo("Flur DG Feuchte", "stagnierend")
        InnenDGKind1Feuchte_Tendenz.postUpdate("⟷")
    }
    if((InnenDGKind1Feuchte.state as Number).floatValue < (InnenDGKind1Feuchte_Tendenz_Proxy.state as Number)){
        logInfo("Flur DG Feuchte", "fallend")
        InnenDGKind1Feuchte.postUpdate("⬇️")
    }
   InnenDGKind1Feuchte_Tendenz_Proxy.postUpdate((InnenDGKind1Feuchte.state as Number).floatValue)
end
Erzeugt im log:

Code: Alles auswählen

2020-08-29 14:05:44.316 [WARN ] [rthome.model.script.actions.BusEvent] - Cannot convert '⬇️' to a state type which item 'InnenDGKind1Feuchte' accepts: [DecimalType, QuantityType, UnDefType].
???

Re: Temperatur Tendenz ermitteln

Verfasst: 29. Aug 2020 14:17
von KellerK1nd
Wie ist denn das Item definiert?

Re: Temperatur Tendenz ermitteln

Verfasst: 29. Aug 2020 14:29
von PeterA
So....
Bild

Temperatur Tendenz ermitteln

Verfasst: 29. Aug 2020 14:38
von KellerK1nd
Du brauchst ein String Item für das Symbol. Ich denke mal du wolltest dem Proxy item das Symbol zuweisen.

Re: Temperatur Tendenz ermitteln

Verfasst: 29. Aug 2020 14:47
von PeterA
Ah... Fehler gefunden. Beim Copy Paste im letzten If Block das Item nicht richtig definiert. Da fehlt "Tendenz".

Re: Temperatur Tendenz ermitteln

Verfasst: 1. Sep 2020 11:43
von PeterA
Funktioniert auch auf der Watch:
Bild

Re: Temperatur Tendenz ermitteln

Verfasst: 1. Sep 2020 19:43
von violine21
Cool, was man mit OpenHAB alles machen kann! Hut ab!
Allerdings wüßte ich schon, was Du Dir zu Weihnachten wünschen kannst. Eine neue Uhr ;) ;) ;)
Die ist schon ganz schön ramponiert!