Seite 1 von 1

Regel Openhab Buch Marianne Spiller

Verfasst: 6. Mai 2020 13:49
von Markus_JE
Hallo zusammen,
ich bin gerade am testen und lese mich in das Buch von Marianne Spiller ein.
Im Moment stehe ich an dem Punkt wo ich einen Schalter in der Sitemap aktivieren will sobald der Azimuth wert in einen bestimmten bereich eintritt.

Leider bekomme ich bei der rule immer einen Fehler und weiß nicht wie ich diesen beheben kann.
Fehler: Could not cast 191.7607027701669 ° to org.eclipse.smarthome.core.library.types.DecimalType; line 6, column 26, length 36

rule:
rule "Sonnenschutz Kernzeit"
when
Item PositionAzimuth changed
then
var int Sonnenstand = (PositionAzimuth.state as DecimalType).intValue
if (Sonnenstand >= 159 && Sonnenstand <= 209 &&
Sonnenschutz_Kernzeit.state != "ON") {
Sonnenschutz_Kernzeit.postUpdate(ON)
} else {
Sonnenschutz_Kernzeit.postUpdate(OFF)
}
end

item:
Number:Angle PositionAzimuth "Azimut" {channel="astro:sun:home:position#azimuth"}
Switch Sonnenschutz_Kernzeit "Kernzeit" {channel="astro:sun:home:position#elevation"}

Vielen Dank für eure Hilfe!!

Re: Regel Openhab Buch Marianne Spiller

Verfasst: 6. Mai 2020 14:22
von PeterA
Hi,

in meinem Verschattungsprojekt welches ja auch hier veröffentlicht ist habe ich auch so einen Vergleich.

Code: Alles auswählen

 if (Azimuth.state > Integer::parseInt(Rolloautomatik_azimuth_start.state.toString())) {
Und das "Azimuth" Item ist Dimensionless, Also das Item hat nur einen Zahlenwert und keine ° (Winkel) angabe
Number,Dimensionless

So ist es in der PaperUI eingestellt.

Gruß

Re: Regel Openhab Buch Marianne Spiller

Verfasst: 6. Mai 2020 14:34
von Markus_JE
Hallo Peter,

vielen Dank für deine schnelle Info.

Ich kann dir leider nicht genau folgen. Kannst du mir sagen wie das dann bei mir aussehen sollte?
Ich bin wirklich noch am Anfang mit Openhab und versuche mich gerade tiefer einzulesen und zu testen.

Re: Regel Openhab Buch Marianne Spiller

Verfasst: 6. Mai 2020 14:59
von PeterA
Siehe doch mal hier:

https://community.openhab.org/t/solved- ... type/71673

Hier ist der Fehler auch noch mal beschrieben.

Dein " PositionAzimuth" Item liefert den Sonnenstand als Zahlenwert (Number) mit Winkelangabe (Quantitiy)
Also nicht einfach nur eine Dezimalnummer.
Vermutlich sähe das so aus ?

Code: Alles auswählen

var int Sonnenstand = (PositionAzimuth.state as QuantityType).intValue