latitude/longitude patches ba RueBe
git-svn-id: https://fhem.svn.sourceforge.net/svnroot/fhem/trunk/fhem@1073 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
@@ -20,8 +20,8 @@ sub sunrise_coord($$$);
|
||||
sub SUNRISE_Initialize($);
|
||||
|
||||
# See perldoc DateTime::Event::Sunrise for details
|
||||
my $long = "8.686";
|
||||
my $lat = "50.112";
|
||||
my $long;
|
||||
my $lat;
|
||||
my $tz = ""; # will be overwritten
|
||||
my $altit = "-6"; # Civil twilight
|
||||
my $RADEG = ( 180 / 3.1415926 );
|
||||
@@ -50,6 +50,15 @@ sr($$$$$$)
|
||||
my $needset = (!$rise || $daycheck) ? 1 : 0;
|
||||
$seconds = 0 if(!$seconds);
|
||||
|
||||
############################
|
||||
# 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";
|
||||
|
||||
|
||||
my $nt = time;
|
||||
my @lt = localtime($nt);
|
||||
my $gmtoff = _calctz($nt,@lt); # in hour
|
||||
|
||||
@@ -925,6 +925,13 @@ A line ending with \ will be concatenated with the next one, so long lines
|
||||
the INITIALIZED event to execute commands after initialization.
|
||||
</li><br>
|
||||
|
||||
<a name="latitude"></a>
|
||||
<li>latitude<br>
|
||||
If set, this latitude is used to calculate sunset/sunrise<br>
|
||||
Notation need to be in decimal format (for example Berlin = 52.666)
|
||||
As default Frankfurt/Main, Germany (50.112) is used.
|
||||
</li><br>
|
||||
|
||||
<a name="logfile"></a>
|
||||
<li>logfile<br>
|
||||
Specify the logfile to write. You can use "-" for
|
||||
@@ -933,6 +940,13 @@ A line ending with \ will be concatenated with the next one, so long lines
|
||||
see the <a href="#FileLog">FileLog</a> section.
|
||||
</li><br>
|
||||
|
||||
<a name="longitude></a>
|
||||
<li>longitude<br>
|
||||
If set, this longitude is used to calculate sunset/sunrise<br>
|
||||
Notation need to be in decimal format (for example Berlin = 13.400)
|
||||
As default Frankfurt/Main, Germany (8.686) is used.
|
||||
</li><br>
|
||||
|
||||
<a name="modpath"></a>
|
||||
<li>modpath<br>
|
||||
Specify the path to the modules directory <code>FHEM</code>. The path
|
||||
@@ -3030,6 +3044,25 @@ A line ending with \ will be concatenated with the next one, so long lines
|
||||
|
||||
<a name="EnOceanset"></a>
|
||||
<b>Set</b>
|
||||
<ul>
|
||||
<li>MD15 commands. Note: The command is not sent until the MD15
|
||||
wakes up and sends a mesage, usually every 10 minutes.
|
||||
<ul>
|
||||
<li>actuator <value><br>
|
||||
Set the actuator to the specifed percent value (0-100)</li>
|
||||
<li>desired-temp <value><br>
|
||||
Use the builtin PI regulator, and set the desired temperature to the
|
||||
specified degree. The actual value will be taken from the temperature
|
||||
reported by the MD15.</li>
|
||||
<li>desired+actual <value1> <value2><br>
|
||||
Use the builtin PI regulator, and set the desired temperature to
|
||||
<value1>. The actual value is supplied in <value2></li>
|
||||
<li>unattended<br>
|
||||
Do not regulate the MD15.</li>
|
||||
</ul></li>
|
||||
|
||||
|
||||
<li>all other:
|
||||
<ul>
|
||||
<code>set switch1 <value></code>
|
||||
<br><br>
|
||||
@@ -3055,6 +3088,9 @@ A line ending with \ will be concatenated with the next one, so long lines
|
||||
attr eventMap BI:on B0:off<br>
|
||||
set switch1 on<br>
|
||||
</code></ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
@@ -3118,11 +3154,28 @@ A line ending with \ will be concatenated with the next one, so long lines
|
||||
<ul>
|
||||
<li>temperature: XY.Z
|
||||
<li>set_point: [0..255]
|
||||
<li>fan: [0,1,2,3,Auto]
|
||||
<li>fan: [0|1|2|3|Auto]
|
||||
<li>present: yes
|
||||
<li>learnBtn: on
|
||||
<li>T: XY.Z SP: [0..255] F: [0,1,2,3,Auto] P: [yes|no]
|
||||
<li>T: XY.Z SP: [0..255] F: [0|1|2|3|Auto] P: [yes|no]
|
||||
</ul>
|
||||
<li>MD15-FtL-HE (Heating/Valve-regulator)<br>
|
||||
subType must be MD15. This is done if the device was created by
|
||||
autocreate.<br>
|
||||
<ul>
|
||||
<li>$actuator %
|
||||
<li>currentValue: $actuator
|
||||
<li>serviceOn: [yes|no]
|
||||
<li>energyInput: [enabled|disabled]
|
||||
<li>energyStorage: [charged|empty]
|
||||
<li>battery: [ok|empty]
|
||||
<li>cover: [open|closed]
|
||||
<li>tempSensor: [failed|ok]
|
||||
<li>window: [open|closed]
|
||||
<li>actuator: [ok|obstructed]
|
||||
<li>temperature: $tmp
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -327,8 +327,8 @@ by fhem.pl?</h4>
|
||||
<ul>
|
||||
Look for the geographic coordinates of your home, e.g with a GPS
|
||||
receiver or with googleearth. Compute the latitude/longitude as needed, and
|
||||
enter them in your 99_SUNRISE_EL.pm file.
|
||||
After restart, { sunrise() } will return the time of the next sunrise,
|
||||
set the latitude/longitude global attributes.
|
||||
{ sunrise() } now will return the time of the next sunrise,
|
||||
in a HH:MM:SS format. Also note <a href="#faq20">faq20</a><br><br>
|
||||
|
||||
Note: 99_SUNRISE_EL.pm is the ExtraLight version of the original
|
||||
|
||||
4
fhem.pl
4
fhem.pl
@@ -167,7 +167,7 @@ my $nextat; # Time when next timer will be triggered.
|
||||
my $intAtCnt=0;
|
||||
my %duplicate; # Pool of received msg for multi-fhz/cul setups
|
||||
my $duplidx=0; # helper for the above pool
|
||||
my $cvsid = '$Id: fhem.pl,v 1.154 2011-10-02 12:27:51 rudolfkoenig Exp $';
|
||||
my $cvsid = '$Id: fhem.pl,v 1.155 2011-10-16 07:55:20 rudolfkoenig Exp $';
|
||||
my $namedef =
|
||||
"where <name> is either:\n" .
|
||||
"- a single device name\n" .
|
||||
@@ -185,7 +185,7 @@ $modules{Global}{AttrList} =
|
||||
"archivecmd allowfrom archivedir configfile lastinclude logfile " .
|
||||
"modpath nrarchive pidfilename port statefile title userattr " .
|
||||
"verbose:1,2,3,4,5 mseclog version nofork logdir holiday2we " .
|
||||
"autoload_undefined_devices dupTimeout";
|
||||
"autoload_undefined_devices dupTimeout latitude longitude";
|
||||
$modules{Global}{AttrFn} = "GlobalAttr";
|
||||
my $commonAttr = "eventMap";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user