Seite 1 von 4
Sonnen Azimuth zum schalten benutzen, aber wie ???
Verfasst: 8. Aug 2019 19:07
von Orakel
ich würde mir gerne eine lampe einschalten wenn der Azimuth der Sonne größer als 270 beträgt.
der Azimzuth wir mir in der LogDatei angezeigt und auch in der Sitemap dargestellt, aber die Rule löst nicht aus.
Code: Alles auswählen
rule "azimuth"
when
Item PositionAzimuth received update
then
if(PositionAzimuth.state > 275)
{
logInfo("Azimuth", "Azimuth "+PositionAzimuth.state)
sendPushoverMessage (pushoverBuilder("Azimuth "+PositionAzimuth.state))
Kuechenschrankleuchte.sendCommand(ON)
}
end
wo liegt denn jetzt wohl bei meiner Rule der Fehler ?
gruß
Andreas
Re: Sonnen Azimuth zum schalten benutzen, aber wie ???
Verfasst: 8. Aug 2019 21:16
von peter-pan
Hallo Andreas,
das Astro-Binding benutzt UoM. D.h. im Status wird auch der Postfix mitgegeben. Dein Item dürfte etwa so aussehen:
Code: Alles auswählen
Number:Angle Sun_Azimuth "Azimuth" <incline> (gAstro) {channel="astro:sun:local:position#azimuth"}
Deshalb musst du die If-Bedingung etwas modifizieren.
Z.B.so :
Code: Alles auswählen
if( (PositionAzimuth.state as Number).floatValue > 270)
oder so:
Es gibt sicherlich auch noch andere Möglichkeiten des Vergleichs.
Die Doku zu UoM findest du
hier
Re: Sonnen Azimuth zum schalten benutzen, aber wie ???
Verfasst: 9. Aug 2019 05:50
von Orakel
danke dir, nun funktioniert es
nun muss ich nur noch herausfinden wie man bei z.B. >270 und >300 wieder ausschaltet ohne dabei zwei getrennt Regeln erstellen zu müssen
gruß
Orakel
Re: Sonnen Azimuth zum schalten benutzen, aber wie ???
Verfasst: 9. Aug 2019 10:36
von peter-pan
Was willst du denn genau machen ? Wann soll denn wieder ausgeschaltet werden?
Re: Sonnen Azimuth zum schalten benutzen, aber wie ???
Verfasst: 9. Aug 2019 12:54
von Orakel
erstmal will ich nur eine lampe schalten und zwar zwischen 2 Azimuth Winkeln also bei z.B. 45° ein und bei 90° aus, eventuell will ich später mal meine Rollos nachdem SOnnenverlauf schalten, weil morgens die sonne vorne ins haus scheint und ab nachmittags hinten auf die fenster scheint.
deswegen dachte ich man könnte es so regeln das wenn die sonne vorne aufs haus scheint vorne die rollos 50% runter gehen und wenn die sonne weg ist und nach hinten wandern das ganze wieder rauf und hinten runter fährt.
Das Problem ist nicht nur die Umsetzung mit der Regel für den Azimuth, ich wollte sowas eigentlich über eine Regel mit TimeCron erstellen aber meine TimeCron werden maximal 2Tage ausgeführt und dann tut sich da nix mehr, also eine Urlaubssteuerung per TimeCron fällt aus, deswegen vielleicht auch die Möglichkeit sowas über einen Sonnenstand zu regeln.
gruß
Orakel
Re: Sonnen Azimuth zum schalten benutzen, aber wie ???
Verfasst: 9. Aug 2019 21:37
von peter-pan
Vielleicht hilft dir diese Regel (als Beispiel ) weiter. Du könntest in der ersten If-Bedingung abfragen, ob der Wert grösser/gleich 45 und (&&) kleiner/gleich 90 ist. Dann kommen die anderen Bedingungen (else if).
Hier das Beispiel :
Code: Alles auswählen
rule "HM Status Kuechenfenster"
when
// Item Dummy4 changed to ON or
Item ClaudiHMIPSWDO0000DA498BDA7E_1STATECONTACT changed
then
if ( Socket_Fritz_02_Dunstabzug.state != ON ) {
// logInfo("homematic","5 gar nix passiert {} ", Socket_Fritz_02_Dunstabzug.state )
return ;
}
else if (ClaudiHMIPSWDO0000DA498BDA7E_1STATECONTACT.state == OPEN && Socket_Fritz_02.state == OFF) {
Socket_Fritz_02.sendCommand(ON)
// logInfo("homematic","2 HM Küchenfenster AUF Steckdose an {} ", Socket_Fritz_02)
}
else if (ClaudiHMIPSWDO0000DA498BDA7E_1STATECONTACT.state == CLOSED && Socket_Fritz_02.state == ON) {
Socket_Fritz_02.sendCommand(OFF)
// logInfo("homematic","3 HM Küchenfenster AUF Steckdose aus {} ", Socket_Fritz_02 )
}
else {
logInfo("homematic","4 nix passiert {} ", Socket_Fritz_02 )
}
end
Die entsprechenden Items und Trigger musst du natürlich selber setzen.
Re: Sonnen Azimuth zum schalten benutzen, aber wie ???
Verfasst: 10. Aug 2019 19:15
von Orakel
Hab es nun anscheinend mit dieser Rule hinbekommen eine Lampe EIN (Azimuth >290) und AUS (Azimuth <300) zuschalten
die ASTRO Things werden alle 10min aktuallisiert
Code: Alles auswählen
rule "azimuth"
when
Item PositionAzimuth changed
then
if ((( PositionAzimuth.state as Number).floatValue <= 290) && ((PositionAzimuth.state as Number).floatValue >= 300 ))
{ logInfo("Azimuth","> Regel < ", PositionAzimuth.state )
return ;
}
else if (((PositionAzimuth.state as Number).floatValue > 290) && ((PositionAzimuth.state as Number).floatValue < 300 ))
{
Kuechenschrankleuchte.sendCommand(ON)
logInfo("Azimuth","Kuechenleuchte AN ", PositionAzimuth.state as Number)
}
else {
Kuechenschrankleuchte.sendCommand(OFF)
logInfo("Azimuth","Kuechenleuchte AUS", PositionAzimuth.state as Number)
}
end
Danke dir Peter-Pan für die richtigen denkanstöße und die Hilfe
gruß
Orakel
Re: Sonnen Azimuth zum schalten benutzen, aber wie ???
Verfasst: 11. Aug 2019 02:19
von peter-pan
Freut mich, dass es geklappt hat. Die Aktualisierung der Werte kannst du ja über den Intervall variieren.
Ich habe da 300 (= 5 Minuten) eingestellt.
Vielleicht interessiert dich auch diese Regel :
Code: Alles auswählen
var Number count=1
var Number mooncount=0
rule "moondistances"
when
//Item Dummy2 changed to ON or
Item Date_distance changed // Item defined in astro.items and changed every five minutes(300 sec.) by astro.things
then
Date_Kilometer_actual.postUpdate(Date_distance.state.format("%1$ta, %1$td.%1$tb. ") + " / " + Kilometer_distance.state.format("%.0f km").toString)
Date_Kilometer_perigee.postUpdate(Date_perigee.state.format("%1$ta, %1$td.%1$tb. ") + " / " + Kilometer_perigee.state.format("%.0f km").toString)
Date_Kilometer_apogee.postUpdate(Date_apogee.state.format("%1$ta, %1$td.%1$tb. ") + " / " + Kilometer_apogee.state.format("%.0f km").toString)
mooncount = mooncount + 1
if (mooncount == 1 ) { //Log every 2 hours - just to inform that rule is still alive
logInfo("astro-rules" + '_99'," Moondistance updated every 5 Minutes by \"astro.things \" " + Date_distance.state + " / " + mooncount + " Log every 2 hours")
}
if (mooncount >= 24) { //refresh counter
mooncount = 0
}
end
Dazu brauchst du die folgenden Items:
Code: Alles auswählen
// The actual distance to the moon
DateTime Date_distance "Datum aktueller Umlauf [%1$ta, %1$td.%1$tm.%1$ty,%1$tH:%1$tM]" {channel="astro:moon:local:distance#date"}
Number:Length Kilometer_distance "Entfernung zum Mond" {channel="astro:moon:local:distance#distance"} //OH 2.4
String Date_Kilometer_actual "aktuelle Entfernung zum Mond [%s]" <orbit> (gAstro) // astro-rules moondistances
// The perigee of the moon - erdnächster Punkt
DateTime Date_perigee "Datum erdnächster Umlauf [%1$ta, %1$td.%1$tm.%1$ty, %1$tH:%1$tM]" {channel="astro:moon:local:perigee#date"}
Number:Length Kilometer_perigee "Mond erdnächster Punkt" {channel="astro:moon:local:perigee#distance"} //OH 2.4
String Date_Kilometer_perigee "erdnächster Mond-Umlauf [%s]" <orbit> (gAstro) // astro-rules moondistances
// The apogee of the moon - erdfernster Punkt
DateTime Date_apogee "Datum erdfernster Umlauf [%1$ta, %1$td.%1$tm.%1$ty, %1$tH:%1$tM]" {channel="astro:moon:local:apogee#date"}
Number:Length Kilometer_apogee "Mond erdfernster Punkt" {channel="astro:moon:local:apogee#distance"} //OH 2.4
String Date_Kilometer_apogee "erdfernster Mond-Umlauf [%s]" <orbit> (gAstro) // astro-rules moondistances
Die jeweils ersten zwei Items sind mit den Channels des Astro-Bindings verlinkt. Die hast du sicher auch in deinem Item-Set. Das jeweils dritte Item ist ein "Dummy" bzw. virtuelles Item in dem die Werte der ersten beiden Items zusammengefasst werden und so in der Sitemap ausgegeben werden. Das ist ein kleines Beispiel wie man "konkatinieren" kann.
Das Ergebnis sieht dann so aus:
mond.png
Gruss
Peter
Re: Sonnen Azimuth zum schalten benutzen, aber wie ???
Verfasst: 18. Feb 2021 16:20
von franky199
Hallo zusammen, nun bin ich auch soweit meine Rolladensteuerung zu versuchen. Die things von Orakel funktioniert auch recht super nun möchte ich aber gern nicht einfach nur nach Sonnenstand fahren sonder zusätzlich Sonnenstrahlung so das eben die rolläden oben bleiben wenn eben keine sonne schein. vielleicht könnt ihr mir a bissel helfen.
Re: Sonnen Azimuth zum schalten benutzen, aber wie ???
Verfasst: 18. Feb 2021 16:33
von udo1toni
Das solltest Du vielleicht noch mal etwas genauer erläutern.