[gelöst] Rule mit Sonnenaufgang verbinden

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
clajo
Beiträge: 32
Registriert: 25. Dez 2019 09:23
Answers: 1

[gelöst] Rule mit Sonnenaufgang verbinden

Beitrag von clajo »

Hallo alleseits,

Jörg der Grünschnabel hat mal wieder eine Frage die hochgeschätzten Profis :D

Ich habe mir eine Rule zur Steuerung eines Lichtweckers gebastelt:

Code: Alles auswählen

rule "Lichtwecker Ein"
when
	Time cron "0 10 5 ? * MON-FRI *" //Wochentag 5:10 EIN
then
	OG_Schlafen_Lichtwecker_State.sendCommand(ON)
end


rule "Lichtwecker Aus"
    when
	    Time cron "0 40 5 ? * MON-FRI *" //Wochentag 5:40 AUS
    then 
    OG_Schlafen_Lichtwecker_State.sendCommand(OFF)
    
end
Der eigentliche Lichtwecker besteht aus einem Arduino mit LEDs.

So weit so gut - nur wie kann ich da jetzt den Sonnenaufgang mit einbauen?
Ich möchte gerne das der Lichtwecker nicht nach dem Sonnenaufgang angeht (wäre ja zwecklos ;) )
Die Astro-Bindungs habe ich installiert

Vielen Dank im voraus
Jörg
Zuletzt geändert von clajo am 20. Feb 2020 17:00, insgesamt 1-mal geändert.

eiGelbGeek
Beiträge: 226
Registriert: 11. Aug 2019 06:39
Answers: 4

Re: Rule mit Sonnenaufgang verbinden

Beitrag von eiGelbGeek »

Astro Binding gehe ich mal von aus hast den Sonnenaufgang schon konfiguriert?

z.b. wie aus der Dokumentation:

Code: Alles auswählen

DateTime         Sunrise_Time       "Sunrise [%1$tH:%1$tM]"                   { channel="astro:sun:home:rise#start" }
Dann müsste es so funktionieren, habe es allerdings nicht getestet ;-)

Code: Alles auswählen

rule "Lichtwecker"
when
	Time cron "0 10 5 ? * MON-FRI *" or	//Wochentag 5:10 EIN
	Time cron "0 40 5 ? * MON-FRI *" 		//Wochentag 5:40 AUS
then
	if (now.isBefore(Sunrise_Time) && OG_Schlafen_Lichtwecker_State.state == OFF) {
		OG_Schlafen_Lichtwecker_State.sendCommand(ON)
	} else {
			if (OG_Schlafen_Lichtwecker_State.state == ON) OG_Schlafen_Lichtwecker_State.sendCommand(OFF)
	}
end
Bin mir nur nicht sicher wie das mit der Sunrise_Time ist, habe noch nie mit dem Astro Binding gearbeitet. Teste einfach mal ob openhab Fehler wirft, wenn du die Rule so einfügst :mrgreen:

Benutzeravatar
udo1toni
Beiträge: 15248
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Rule mit Sonnenaufgang verbinden

Beitrag von udo1toni »

Besser wäre es, ein weiteres Item anzulegen, welches Tag und Nacht anzeigt, also z.B.

Code: Alles auswählen

Switch IsDay "Tag [%s]"
und dazu zwei kleine Rules:

Code: Alles auswählen

rule "Tag"
when
    Channel "astro:sun:home:rise#event" triggered START
then
    IsDay.postUpdate(ON)
end

rule "Nacht"
when
    Channel "astro:sun:home:set#event" triggered START
then
    IsDay.postUpdate(OFF)
end
Natürlich kann man auch die Zeitpunkte verschieben oder statt Sonnenaufgang/Untergang die bürgerliche Dämmerung nehmen, dann halt mit anderen Triggern.
Nun hat man einen Switch, den man in einer Rule bequem abfragen kann:

Code: Alles auswählen

rule "Lichtwecker Ein"
when
    Time cron "0 10 5 ? * MON-FRI" // Wochentag 5:10 EIN
then
    if(IsDay.state != ON && OG_Schlafen_Lichtwecker_State.state != ON) 
        OG_Schlafen_Lichtwecker_State.sendCommand(ON)
end

rule "Lichtwecker Aus"
when
    Time cron "0 40 5 ? * MON-FRI" or // Wochentag 5:40 AUS
    Item IsDay changed to ON
then 
    if(OG_Schlafen_Lichtwecker_State.state != OFF) 
        OG_Schlafen_Lichtwecker_State.sendCommand(OFF)
end
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
clajo
Beiträge: 32
Registriert: 25. Dez 2019 09:23
Answers: 1

Re: Rule mit Sonnenaufgang verbinden

Beitrag von clajo »

Hallo udo1toni,

ich habe jetzt ein neues Item (IsDay.items) angelegt, eine neue Rule namens Tag_Nacht.rules erstellt und deine Codes eingefügt. Meine Lichtwecker.rules habe ich auch angepasst.

Leider bekomme ich in der Tag_Nacht rule eine Fehlermeldung:

Code: Alles auswählen

The method or field IsDay is undefined(org.eclipse.xtext.diagnostics.Diagnostic.Linking)
Vorschauproblem Keine Schnellkorrekturen verfügbar
Wo liegt denn hier mein Fehler?

Jörg

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

Re: Rule mit Sonnenaufgang verbinden

Beitrag von Darkwin101 »

Hast du eine Datei IsDay.items angelegt oder in déiner Items Datei einen Switch Isday.
Wenn du eine Datei angelegt hast musst du dort in der Datei noch diese Zeile einfügen

Code: Alles auswählen

Switch IsDay "Tag [%s]"

Benutzeravatar
clajo
Beiträge: 32
Registriert: 25. Dez 2019 09:23
Answers: 1

Re: Rule mit Sonnenaufgang verbinden

Beitrag von clajo »

Ich habe eine neue Datei namens IsDay.items angelegt und den Code eingefügt.

Ich hatte es auch probiert den Switch in der Schlafen.items einzufügen. Da kam derselbe Fehler

Jörg

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

Re: Rule mit Sonnenaufgang verbinden

Beitrag von Darkwin101 »

Hats du den Schalter mal in eine sitemap gebaut und mal geschaltet wenn ein neuer Schalter angelegt wird ist er nicht ON oder OFF sondern UNDEF bis er geschaltet wurde also undefiniert dann kann eventuell die Rule den State nicht abfragen da er den Zustand nicht kennt. Was wiederum zur Fehlermeldung passen würde

Benutzeravatar
clajo
Beiträge: 32
Registriert: 25. Dez 2019 09:23
Answers: 1

Re: Rule mit Sonnenaufgang verbinden

Beitrag von clajo »

Das habe ich probiert - keine Wirkung.

Im Log steht folgendes:

Code: Alles auswählen

2020-02-18 22:39:40.379 [INFO ] [rest.core.internal.item.ItemResource] - Received HTTP POST request at 'items/IsDay' for the unknown item 'IsDay'.

eiGelbGeek
Beiträge: 226
Registriert: 11. Aug 2019 06:39
Answers: 4

Re: Rule mit Sonnenaufgang verbinden

Beitrag von eiGelbGeek »

Hast du auch eine .items und eine .rules anleget oder alles in der .items?!?!

Ich schätze mal letzteres ;-) wenn nicht, liegen die Dateien auch im richtigen Ordner?

Benutzeravatar
seppy
Beiträge: 738
Registriert: 24. Sep 2015 20:25
Answers: 4
Wohnort: Bonn

Re: Rule mit Sonnenaufgang verbinden

Beitrag von seppy »

Hi,
die Fehlermeldung besagt, Du hast kein Item mit dem Namen IsDay. Das Anlegen einer Datei erzeugt kein Item. Sondern die Itemdefinition in der Datei ...
Grüße,
Seppy
Homematic und HomematicIP über Raspberrymatic (RaspPi 4 4GB) mit 2x HMLAN. Steuerung und Visualisierung durch OpenHAB2 auf RaspPi in Hutschienengehäuse im Sicherungskasten. Rund 100 Aktoren/Sensoren

- Abgesichert durch APC USV
- Bewässerungssteuerung mit Hunter Magnetventilen (HM-LC-Sw4-DR)
- Beleuchtungssteuerung Innen und Aussen (HM-LC-Sw4-DR + HM-LC-SW1-FM + HMW-IO-12-SW7-DR)
- Rolladensteuerung mit Beschattungsautomatik über Temperaturdifferenzsensor (HM-LC-Bl1PBU-FM)
- Wetter und Unwetterinformationen von wunderground
- Benachrichtigung der Bewohner via Pushover
- Multimediawand und Dreambox Steuerung (HM-LC-SW1-FM)
- Heizungssteuerung mit Komfort und Energiesparfunktionen (HM-CC-RT-DN + HM-Sec-SC-2 + HMIP-eTRV-2)
- Werkstatt Kompressorsteuerung (HMW-IO-12-SW7-DR)
- Weihnachtsbeleuchtung außen
- Präsenzerkennung über Geolocation (iCloud Binding), iBeacon und WLAN (Unifi Binding)
- Philips HUE & Tasmota Devices (Tuya) Einbindung

Antworten