sunset / sunrise Steuerung

2,497 views
Skip to first unread message

elo

unread,
Sep 23, 2012, 2:47:42 PM9/23/12
to fhem-...@googlegroups.com

Hallo,

mein Sunset wird mit "Next: 19:48:58" ermittelt, ich habe

altit mit -0.833 und
attr global latitude 53.725
attr global longitude 9.927

definiert, wohne bei Hamburg.

Meine Zeitzone auf einem Linux Ubuntu ist :
So 23. Sep 20:38:12 CEST 2012

Was kann ich prüfen oder was mache ich falsch?



Zrrronggg!

unread,
Sep 23, 2012, 4:54:16 PM9/23/12
to FHEM users
Soweit ich mich erinnere, hebt "sunset" in FHEM auf das Ende der
bürgerlichen Dämmerung ab (ss civil), weil ab da eine Lesen ohne extra
Licht nicht mehr möglich ist. (Und Licht einschalten ja der Hauptgrund
für die Verwendung von sunset sein dürfte)

> mein Sunset wird mit "Next: 19:48:58" ermittelt, ich habe

> Was kann ich prüfen oder was mache ich falsch?

Verstehe die Frage nicht recht.

Sonnenuntergang in HH war heute um 19:15 Uhr, Ende der bürgerlichen
Dämmerung ist in unseren Breitegraden ca. 39 Minuten später... stimmt
doch in etwa.

elo

unread,
Sep 24, 2012, 4:28:58 AM9/24/12
to fhem-...@googlegroups.com

OK, bei mir sollen die Rollläden während der Dämmerung runterfahren.
Deshalb habe ich auch eine altit von -0.833 anstatt -6 definiert, scheinbar greift diese nicht mehr, nach dem update.

In den attributen kann ich longitude und latitude definieren, ich verstehe aber nicht, warum nicht auch altit, dieses scheinbar nur in 99_SUNRISE_EL.pm welche nach einem update immer überschrieben wird. (JA, ich weis ich kann diese Datei vom update ausklammern)

Mit ist auch nicht klar warum es eine $defaultaltit gibt und %alti und wo ich REAL oder CIVIL setzen soll, wenn ich sie nutzen will.

my $defaultaltit  = "-6";        # Civil twilight
my %alti = (REAL => 0, CIVIL => -6, NAUTIC => -12, ASTRONOMIC => -16); # or HORIZON <number>

{
  my $rise=shift;
  my $isrel=shift;
  my $daycheck=shift;
  my $altit=$_[0];
  if(exists $alti{uc($altit)}) {
      $altit=$alti{uc($altit)};
      shift;
  } elsif($altit =~ /HORIZON=([\-\+]*[0-9\.]+)/i) {
      $altit=$1;
      shift;
  } else {
      $altit=-6; #default
  }

   ############################
   # If set in global, use longitude/latitude
   # from global, otherwise set Frankfurt/Germany as
   # default
   $long = AttrVal("global", "longitude", "8.686");
   $lat  = AttrVal("global", "latitude", "50.112");
   Log 5, "Compute sunrise/sunset for latitude $lat , longitude $long";





Rudolf Koenig

unread,
Sep 24, 2012, 4:45:08 AM9/24/12
to fhem-...@googlegroups.com
> Mit ist auch nicht klar warum es eine $defaultaltit gibt und %alti und wo
> ich REAL oder CIVIL setzen soll, wenn ich sie nutzen will.

Ist eine Aenderung von Arno, der verpennt hat hier in der Gruppe seine
Aenderungen zu publizieren. Sein Kommentar dazu:

================
Es ist jetzt m�glich bei den sunrise/sunset-Funktionen
folgendes***_optional_* als ersten Parameter vorne anzustellen:
REAL, CIVIL, NAUTIC, ASTRONOMIC oder z.B. HORIZON=-5.5 oder "HORIZON -5.5"

# normal wie immer:
{sunset();;}
19:59:22
{sunset(0,"12:00","21:00");;}
19:59:22


# gleiches mit CIVIL keyword:
{sunset("CIVIL");;}
19:59:22
{sunset("CIVIL",0,"12:00","21:00");;}
19:59:22

# mit eingabe der h�he �ber horizont
{sunset("HORIZON -6",0,"12:00","21:00");;}
19:59:22
{sunset("HORIZON -5.5");;}
19:56:14

# realer sonnenuntergang 0 Grad:
{sunset("REAL",0,"12:00","21:00");;}
19:22:07

# klein/gro�-schreibung egal.
{sunset("nautic");;}
20:37:32
==================

elo

unread,
Sep 24, 2012, 6:34:40 AM9/24/12
to fhem-...@googlegroups.com

Super, danke funktioniert.

Bsp.
define Dummy_Rollladen_runter_WE at *{sunset("REAL",0,"16:00","23:00")} {if($we){fhem("set DummyRollo off")}}
define Dummy_Rollladen_runter at *{sunset("HORIZON=6",0,"16:00","23:00")} {if(!$we){fhem("set DummyRollo off")}}

elo

unread,
Sep 24, 2012, 6:39:16 AM9/24/12
to fhem-...@googlegroups.com

Es muss aber "HORIZON=" sein, ansonsten machted das regexp nicht.
Reply all
Reply to author
Forward
0 new messages