Seite 1 von 2

Sonne geht unter -> licht geht an :-)

Verfasst: 31. Okt 2017 20:00
von Nordmann
Ich habe mich mal an einem Item und an einer Rule versucht, damit meine Mobile Steckdose angeht (und damit eine angeschlossene Lampe) wenn die Sonne untergeht und die Steckdose wieder abschaltet wenn es 22:30 Uhr ist. Gesteuert wird dies über das Astro Binding.

Mein Item sieht so aus:

Code: Alles auswählen

Switch		EventSunrise 		"Sonnenaufgang [MAP(de.map):%s]"  			<sun> 			(Others_Energy) {channel="astro:sun:local:rise#start"}
Meine Rule sieht folgendermaßen aus:

Code: Alles auswählen

rule "Steckdose Licht an"
 
when
  Item EventSunrise received update ON

then
  Mobile_Steckdose_1.sendCommand(ON)
  pushover("Licht an!")
end
 
 
rule "Steckdose Licht aus"
 
when
  //jeden Abend um 22.30 Uhr
	Time cron "0 30 22 * * ?"

  then
  Mobile_Steckdose_1.sendCommand(OFF)
  pushover("Licht aus!")
end
Funktionieren tut die "Chose" aber nicht.
Ich glaube, das Problem liegt in der Definition des Items, also des Channels.
Habe aber keine Ahnung woran das liegt.

Euch noch einen schönen Abend!
Gruß
Jörg

Re: Sonne geht unter -> licht geht an :-)

Verfasst: 1. Nov 2017 16:46
von alkaline
Ich würde die Regel etwas ändern in

Code: Alles auswählen

rule "Steckdose Licht an"
 
when
  Item EventSunrise received command OFF

then
  Mobile_Steckdose_1.sendCommand(ON)
  pushover("Licht an!")
end
Zunächst mal solltest du in Erfahrung bringen, ob denn der Schalter in deiner Anzeige auf Schaltzustand "Ein" geht. Hierzu die Log Dateien durchsuchen oder eben um 22:30 Uhr (aber das ändert sich ja jeden Tag?) schauen, ob der Schalter ein ist.

Eine andere Frage ist, ob die mobile Schaltsteckdose sich manuell schalten läßt, sprich ob die daran angeschlossene Lampe angeht / ausgeht, sobald der Schalter umgeschaltet wird.

Re: Sonne geht unter -> licht geht an :-)

Verfasst: 25. Dez 2017 23:32
von zukunftathome
Hi,
ich habe das ganze über das Astro Event gelöst. Ein entsprechendes Item ist nicht nötig. Du kannst in der Regel direkt den Astro Channel nutzen. Wichtig bei der Verwendung des Events ist, dass du den Start des Events als "trigger" abfängst.
Die Regel sieht bei mir so aus:

Code: Alles auswählen

rule "Aussenbeleuchtung Zeitschaltuhr-EIN"

when
Channel 'astro:sun:xxxxx:set#event' triggered Start
then
sendCommand(Licht_Aussen_Haupteingang, ON)
end
Die ganze Anleitung habe ich auf meinem Blog beschrieben: http://zukunftathome.de/aussenbeleuchtu ... -schalten/

Re: Sonne geht unter -> licht geht an :-)

Verfasst: 29. Dez 2017 13:12
von seppy
@Zukunftathome: funktioniert die Nutzung des Channels nur für das Astrobinding?
Sehr cool, wieder was gelernt!

Grüße,
Seppy

Re: Sonne geht unter -> licht geht an :-)

Verfasst: 10. Jan 2018 15:50
von elysis
Hi, mir fällt noch auf, dass im Eröffnungspost von Sonnenaufgang die Rede ist. Das k.m.M.n nicht funktionieren :) Aber die weiteren Hinweise sollten natürlich auch zum gewünschten Ergebnis geführt haben.

Re: Sonne geht unter -> licht geht an :-)

Verfasst: 10. Jan 2018 20:52
von netZr0t
Servus,

ich habe gerade versucht das nachzubauen und komme nicht weiter ..
meine Timer.rules Datei schaut so aus :

Code: Alles auswählen

rule "Licht an bei Sonnenuntergang"
when
    Channel 'astro:sun:home:set#event' triggered START     // die Zeile ist im EclipseEditor mit einem grauen X markiert
then
    sendCommand(MClight, ON)   // hier bekomme ich im Editor die Fehlermeldung "The method or field MClight is undefined"
end
das Astro.item schaut so aus:

Code: Alles auswählen

DateTime Sunrise_Time       "Sonnenaufgang [%1$tH:%1$tM]" <sunrise> { channel="astro:sun:home:rise#start" }
DateTime Sunset_Time        "Sonnenuntergang [%1$tH:%1$tM]" <sunset>  { channel="astro:sun:home:set#start" }
das Lichtitem ist ein Sonnoff

Code: Alles auswählen

Switch MClight "ManCave Light" <light> (LR,gLight)
    { mqtt=">[mosquitto:cmnd/mancavelight_s03/POWER:command:*:default],
            <[mosquitto:stat/mancavelight_s03/POWER:state:default]" }
sind Rules nur durch das schlichte anlegen aktiv ?

Re: Sonne geht unter -> licht geht an :-)

Verfasst: 10. Jan 2018 21:48
von Cyrelian
seppy hat geschrieben: 29. Dez 2017 13:12 @Zukunftathome: funktioniert die Nutzung des Channels nur für das Astrobinding?
Sehr cool, wieder was gelernt!

Grüße,
Seppy
Hi Seppy,

das geht mittlerweile für diverse Bindings. Bei Homematic z.B. bei den ganzen Wandtastern. Die haben einen neuen Trigger #PRESS bekommen.

Code: Alles auswählen

 Channel 'homematic:	HM-PB-2-WM55:RM–ccu2:KEQXXXXX:1#PRESS' triggered SHORT
CU
Cyrelian

Re: Sonne geht unter -> licht geht an :-)

Verfasst: 13. Jan 2018 14:35
von noxx
Habe auch sowas ähnliches, aber mit Sonnenstand gelöst. Sonnenstand < 0 = Dunkel

Rule:

Code: Alles auswählen

rule "Beleuchtung"
	when 
		Time cron "0 0/15 * * * ?"	
	then
		var CurrentHour = now.getHourOfDay
		if ((CurrentHour >=6 && CurrentHour <22) && Sun_Elevation.state <=0) Sonoff_CH1.sendCommand(ON)
		else Sonoff_CH1.sendCommand(OFF)
end
Items:

Code: Alles auswählen

DateTime Sunrise_Time   "Sonnenaufgang [%1$tH:%1$tM]"       <icons8_sunrise>        { channel="astro:sun:home:rise#start" }
DateTime Sunset_Time    "Sonnenuntergang [%1$tH:%1$tM]"     <icons8_sunset>         { channel="astro:sun:home:set#start" }
String   Moon_Phase     "Mondphase [MAP(moon.map):%s]"      <icons8_moon>           { channel="astro:moon:home:phase#name" } 
Number   Sun_Elevation  "Sonnenstand"                       <icons8_sunray>         { channel="astro:sun:local:position#elevation" }
Wenns Dunkel wird geht Licht an, um 22 Uhr gehts aus. Morgens um 6 Uhr gehts wieder an, wenns hell wird, wieder aus.

Re: Sonne geht unter -> licht geht an :-)

Verfasst: 13. Jan 2018 15:18
von netZr0t
bitte um Hilfe. Ich verstehe es echt nicht. eigentlich erscheint das total simpel.
Wieso bekomme ich eine Fehlermeldung ?
Ich will einfach nur einen Sonoff Schalter ein und ausschalten
rule.JPG
Items:

Code: Alles auswählen

DateTime Sunrise_Time       "Sonnenaufgang [%1$tH:%1$tM]" 	<sunrise> 	{ channel="astro:sun:home:rise#start" }
DateTime Sunset_Time        "Sonnenuntergang [%1$tH:%1$tM]" <sunset>  	{ channel="astro:sun:home:set#start" }

Switch 	EGKtheke 		   "Thekenlicht" <light> (LR,gLight)    { mqtt=">[mosquitto:cmnd/thekenlicht_s01/POWER:command:*:default],
            <[mosquitto:stat/thekenlicht_s01/POWER:state:default]" } 
timing.rules

Code: Alles auswählen

rule "Night Started"

when
Channel 'astro:sun:home:rise#event' triggered START
then
EGKtheke.sendCommand(ON)
end

rule "Night Ended"
when
Channel 'astro:sun:local:set#event' triggered START
then
EGKtheke.sendCommand(OFF)
end
Logfile:

2018-01-13 15:11:48.035 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'timing.rules'
2018-01-13 15:11:48.050 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'timing.rules' is either empty or cannot be parsed correctly!
2018-01-13 15:11:48.563 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'timing.rules'

Bitte um Rat

Gruss

Torsten

Re: Sonne geht unter -> licht geht an :-)

Verfasst: 13. Jan 2018 15:47
von noxx
ist normal. OH2 liest das File schneller ein, was es über smb gespeichert werden kann.
am Ende sieht man ja, das alles ok ist. hatte mich auch immer verwirrt.

EDIT:
Du meinst den Fehler oben im Screenshot?
Denke nur dein Editor meckert, scheint zumindest richtig zu sein.
Vermutlich kann der mit Channel nichts anfangen. OH2 zeigt ja keinen Fehler.

Nutze selber VSC.
https://docs.openhab.org/configuration/ ... hab-vscode