Astro Binding 2.0

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Der Linus
Beiträge: 25
Registriert: 20. Apr 2017 14:22
Answers: 0

Astro Binding 2.0

Beitrag von Der Linus »

Mahlzeit.

Ich bewege mich weiter in der Welt von OpenHAB und will nun meine Homematic Rolloschalter über das Astrobinding zeitgesteuert fahren lassen.

Leider ist die Dokumentation (zumindest die von mir gefundene) extrem spärlich, das Binding 2.0 hat (das habe ich bereits rausgefunden) eine andere Nomenklatur als das 1er Binding.

ich möchte nicht einfach "malen nach Zahlen" machen, sondern verstehen, was und warum passiert, daher hoffe ich, dass ich irgendwo hier einen hilfreichen Input finde, der mich im Selbststudium weiterbringt.

folgendes habe ich in meiner default.item angelegt
DateTime Sonnenaufgang "Sonnenaufgang [%1$tH:%1$tM]" <sun> { channel="astro:sun:home:rise#start"}

in der Sitemap wird es ganz einfach visualisiert (nur Testweise, damit ich sehe was passiert):
Text item=Sonnenaufgang

damit bekomme ich den Sonnenaufgang für meinen Heimatort (den ich natürlich festgelegt habe) angezeigt. lasse ich die Variablen in eckigen Brackets weg, kommt die Uhrzeit in Langversion.
Frage 1: woher bekomme ich die Bedeutung der Variablen aufgeschlüsselt?

ich habe an verschiedenen orten mehrere typen des Astro bindings gefunden, mal tauchen die unter astro:sun:home:rise auf, mal unter astro:sun:local:rise, eine weitere hatte ich nach der manuellen installation des bindings unter astro:sun:aabbccdd:rise im System. alle drei liefen scheinbar nebeneinander.

Frage 2: welche Funktion hat welche Version?

eigentlich plane ich ja eine simple Regel für die Rollos:

Wenn Sonnenaufgang UND Daytime nach 8:00 Uhr --> Rollos hoch
Wenn Sonnenuntergang ODER Daytime nach 20:00 Uhr --> Rollos runter

Da ich die Beschreibung dafür nur für Astro1 gefunden habe und das scheinbar auch bei Astro2 anders ist, komme ich mit offset und Uhrzeit leider nicht weiter, daher:

Frage 3: wie realisiere ich dass?

Ich denke, weitere Fragen werden sich ergeben, bis hierhin freue ich mich erst einmal auf den, der mich sehend macht.

Danke

Linus

Der Linus
Beiträge: 25
Registriert: 20. Apr 2017 14:22
Answers: 0

Re: Astro Binding 2.0

Beitrag von Der Linus »

ich antworte mir mal selber (das wird vermutlich im laufe der Lernkurve öfter passieren...)

Meinen ersten großen Fehler habe ich gefunden: Unser Haus hat neben dem EG auch ein erstes und zweites Obergeschoss. Zur benamung habe ich allen Items ein EG, 1G oder 2G vorausgestellt. das funktioniert in der Sitemap, nicht aber in der Regel. Tausche ich das item
Rollershutter 1G_BU_Rollo "Rollo Büro" <rollershutter> (gRollladenOG, gRollladen) { channel="homematic:HM-LC-Bl1PBU-FM:f3eb7bd1:OEQ0267756:1#LEVEL"}
gegen
Rollershutter OG_BU_Rollo "Rollo Büro" <rollershutter> (gRollladenOG, gRollladen) { channel="homematic:HM-LC-Bl1PBU-FM:f3eb7bd1:OEQ0267756:1#LEVEL"}

komme ich mit meiner einfachen Regel

rule "Rollo_Buero_test"
when
Time cron="0 13 10 * * ?"
then
sendCommand(OG_BU_Rollo, DOWN)
end

zumindest schon mal an den Punkt, dass das Rollo nach Zeit gesteuert fährt.

Benutzeravatar
Cyrelian
Beiträge: 601
Registriert: 24. Sep 2015 17:55
Answers: 4

Re: Astro Binding 2.0

Beitrag von Cyrelian »

Hi Linus

hier die Antworten auf deine fragen ;) .
Der Linus hat geschrieben: 3. Mai 2017 08:18 Mahlzeit.

Frage 1: woher bekomme ich die Bedeutung der Variablen aufgeschlüsselt?
Das ist JAVA und die Beteutung der Variablen findest Du hier:
http://www.java2s.com/Tutorial/Java/012 ... ortime.htm


Der Linus hat geschrieben: 3. Mai 2017 08:18 Frage 2: welche Funktion hat welche Version?

Code: Alles auswählen

astro:sun:home:rise / astro:sun:local:rise
Beide haben die gleich Funktion. Der einzige Unterschied ist, dass der eine "home" und der andere "local" heißt, also auf zwei unterschieliche THINGS verweisen.
Es kommt immer drauf an, wie das THING angelegt ist. Ich habe das z.B. über die Datei "astro.thing" gemacht.

Der Linus hat geschrieben: 3. Mai 2017 10:21 Frage 3: wie realisiere ich dass?
Ich suche Dir mal meine Rule raus und poste diese hier noch.

CU
Cyrelian

Der Linus
Beiträge: 25
Registriert: 20. Apr 2017 14:22
Answers: 0

Re: Astro Binding 2.0

Beitrag von Der Linus »

Vielen Dank für den Lesestoff, damit habe ich schon mal wieder etwas weniger Langeweile.

bei der Regel geht es mir ganz konkret darum, ein Rollo nach Sonnenstand (also rise und dawn) UND Zeit zu steuern.

Beispiel: Rollo im Schlafzimmer geht zum Sonnenuntergang runter, aber nicht vor 19:00 Uhr und nicht nach 21:00 Uhr. Das bekomme ich noch nicht hin.

Danke

Linus

Der Linus
Beiträge: 25
Registriert: 20. Apr 2017 14:22
Answers: 0

Re: Astro Binding 2.0

Beitrag von Der Linus »

Cyrelian hat geschrieben: 3. Mai 2017 14:38
Ich suche Dir mal meine Rule raus und poste diese hier noch.

CU
Cyrelian
darf ich hier noch einmal Nachfragen?

Ich hab ja schon etwas weiter gearbeitet, mir fehlt leider noch der Zugang.

rule "Wohnzimmer_Rollo_ab_Sonnenstand"
when
Channel 'astro:sun:home:set#event' triggered START or
Time cron "0 0 21 * * ?"
then
sendCommand(EG_WZ_Rollo, DOWN)
sendCommand(EG_TE_Rollo, DOWN)
sendCommand(EG_KU_Rollo, DOWN)
end


Das fährt mein Rollo stumpf runter. sowohl nach Astro Zeit, als auch nach Cron. Ich hätte aber gerne sowas wie:

Wenn Sonnenuntergang und Zeit zwischen 19:00 Uhr und 21:00 Uhr, dann Rollo runter

Meine Lösung macht ja stumpf um 21:00 Uhr runter, ohne eine früheste Zeit zu beachten.

wenn ich einmal den Ansatz habe, bekomme ich den Rest auch hin.

Linus

Benutzeravatar
Cyrelian
Beiträge: 601
Registriert: 24. Sep 2015 17:55
Answers: 4

Re: Astro Binding 2.0

Beitrag von Cyrelian »

HI Linus,

also ich habe das nicht direkt auf den Sonnenuntergang gelegt, sondern mache das nach dem tatsächlichen Sonnenstand und unterscheide noch nach Jahreszeit.

ITEMS:

Code: Alles auswählen

// -------------  Azimuth and Elevation --------------------

Number   Azimuth        "Sonnen Azimut [%.2f °]"	<sun>   (gAstro) {channel="astro:sun:home:position#azimuth"}
Number   Elevation      "Sonnenhöhe [%.2f °]"  		<sun>	(gAstro) {channel="astro:sun:home:position#elevation"}
Number   Sonnenstand	"Sonnenstand - Zeitraum"	<sun>

//	-------------  Tag und Nacht --------------------

Switch IsNight      "Es ist Nacht" <clearnight>        (gAstro)
Switch IsDay        "Es ist Tag" <clearday>            (gAstro)
Switch IsTwilight   "Es ist Dämmerung" <sun_clouds>    (gAstro)
RULE:

Code: Alles auswählen

/* -------------  TAG und NACHT --------------------
*/

rule "Tag und Nacht"
when
    Item Elevation changed or System started
then
      if (Elevation.state > 0) {
        if (IsDay.state==OFF || IsDay.state==NULL) {
            logInfo("AstroRules:Tag und Nacht", "Sonnenstand > 0 Grad - Es ist Tag")
              IsTwilight.sendCommand(OFF)
              IsDay.sendCommand(ON)
              IsNight.sendCommand(OFF)        
        }
      }
	  if (Elevation.state <= 0 && Elevation.state >= -4) {
        if (IsDay.state==ON || IsDay.state==NULL){
            logInfo("AstroRules:Tag und Nacht", "Sonnenstand ist zwischen 0 und -4 Grad - Es ist Dämmerung")
        	   	IsTwilight.sendCommand(ON)
              	IsDay.sendCommand(OFF)
              	IsNight.sendCommand(OFF)
         }            
      }
      if (Elevation.state < -4) {     
        if (IsTwilight.state==ON || IsTwilight.state==NULL) {
            logInfo("AstroRules:Tag und Nacht", "Sonnenstand < -4 Grad - Es ist Nacht")
              IsTwilight.sendCommand(OFF)
              IsDay.sendCommand(OFF)
              IsNight.sendCommand(ON)      
          }
      }
end

Code: Alles auswählen

rule "Rolläden Erdgeschoss rauf (Astro)"
when
	Item IsDay changed from OFF to ON
then
	if ((Jahreszeit.state=="SPRING" || Jahreszeit.state=="SUMMER") && AutoHoliday.state == OFF){
		logInfo("AstroRules:Rolläden Erdgeschoss rauf", "Rolläden Erdgeschoss rauf")
		EGWohnzimmerRolladenTerrasse.sendCommand(UP)
	}
end
In der letzten Rule könnte man dann auf noch auf die Uhrzeit des Sonnenuntergangs abfragen.

CU
Cyrelian

Michael021989
Beiträge: 2
Registriert: 14. Mai 2017 10:55
Answers: 0

Re: Astro Binding 2.0

Beitrag von Michael021989 »

Morgen Leute!

Kann mir jemand mit der Programmierung vom Astrobinding weiter helfen.

Folgendes: Ich würde gerne meine Rollos per Sonnenaufgang mit einem offset von 30 min Steuern.

Wie sieht hier zu die rule aus.

mfg

Benutzeravatar
alkaline
Beiträge: 173
Registriert: 20. Apr 2017 13:25
Answers: 0

Re: Astro Binding 2.0

Beitrag von alkaline »

Wenn du mit dem Scripting nicht vertraut bist schlage ich vor, das du dich in den Regeleditor einarbeitest. Eine gute Doku gibt es hier:
https://github.com/cdjackson/HABmin/wik ... :-Overview

Damit sind auch "Nicht-Entwickler" in der Lage, Regeln zu bauen.

Au der aktuellen c't habe ich folgende Regel gefunden, in welcher du nur noch den Teil "Send command" an deine Items anpassen musst.

Code: Alles auswählen

rule "Abends runter" 
when Channel 'astro:sun:home:daylight#event' triggered END 
then 
timer1=createTimer( now.plusMinutes(30)) [| sendCommand( : .BlindsControl_Livingroom, DOWN)] 
end
Marcus

Benutzeravatar
Cyrelian
Beiträge: 601
Registriert: 24. Sep 2015 17:55
Answers: 4

Re: Astro Binding 2.0

Beitrag von Cyrelian »

Hi Michael, Hi Marcus,

am Astro Binding gab es die eine oder andere Neuerung, was den "OFFSET" angeht.

So wirds gemacht:

Legt auch eine astro.things mit folgendem Code an:

Code: Alles auswählen

astro:sun:home  [geolocation="50.XXXXXXXX,7.XXXXXXXX", interval=300]{
    Channels:
        Type rangeEvent : set#event [
            offset=60
        ]
}
Dieser besagt, dass das Event 60Min. nach Sonnenuntergang ausgelöst wird.

Das ganze geht auch via PaperUI.

set_event.PNG
Jetzt noch die RULE:

Code: Alles auswählen

rule "Licht Vorgarten an"
    when
		Channel 'astro:sun:home:set#event' triggered START
    then
        	EGEingangLichtVorgarten.sendCommand(ON)
end
Somit spart man sich den Timer in der Rule selber.

CYA
Cyrelian
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Michael021989
Beiträge: 2
Registriert: 14. Mai 2017 10:55
Answers: 0

Re: Astro Binding 2.0

Beitrag von Michael021989 »

Hallo!

Danke für die Auskunft mit den things anlegen.

Nur noch ein Problem wenn ich das thing anlege, gibt der Smarthom designer Eine Fehlermeldung aus

Mfg

Antworten