mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-03 10:46:53 +00:00
fhem.pl: add genericDisplayType (Forum #32652), add sleep warning (Forum
#27305) 00_CUL.pm: reactivate CUL_TIME 01_FHEMWEB.pm: enable refresh for non-room pages, Cors patch (Forum #39384) 98_XmlList: Avoid warning (Forum #39385) 93_FHEM2FHEM.pm:Avoid reconnect if disabled (Forum #39386) git-svn-id: https://svn.fhem.de/fhem/trunk@9002 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
add3ba3790
commit
6da8ad01a1
@ -917,7 +917,7 @@ CUL_Parse($$$$@)
|
||||
}
|
||||
|
||||
$hash->{"${name}_MSGCNT"}++;
|
||||
$hash->{"${name}_TIME"} =
|
||||
$hash->{"${name}_TIME"} = TimeNow();
|
||||
# showtime attribute
|
||||
readingsSingleUpdate($hash, "state", $hash->{READINGS}{state}{VAL}, 0);
|
||||
$hash->{RAWMSG} = $rmsg;
|
||||
|
@ -338,6 +338,7 @@ FW_Read($$)
|
||||
@FW_httpheader = split(/[\r\n]+/, $hash->{HDR});
|
||||
%FW_httpheader = map {
|
||||
my ($k,$v) = split(/: */, $_, 2);
|
||||
$k =~ s/(\w+)/\u$1/g; # Forum #39203
|
||||
$k=>(defined($v) ? $v : 1);
|
||||
} @FW_httpheader;
|
||||
delete($hash->{HDR});
|
||||
@ -345,7 +346,7 @@ FW_Read($$)
|
||||
$FW_userAgent = $FW_httpheader{"User-Agent"};
|
||||
my @origin = grep /Origin/, @FW_httpheader;
|
||||
$FW_headercors = (AttrVal($FW_wname, "CORS", 0) ?
|
||||
"Access-Control-Allow-".$origin[0]."\r\n".
|
||||
(($#origin<0) ? "": "Access-Control-Allow-".$origin[0]."\r\n").
|
||||
"Access-Control-Allow-Methods: GET OPTIONS\r\n".
|
||||
"Access-Control-Allow-Headers: Origin, Authorization, Accept\r\n".
|
||||
"Access-Control-Allow-Credentials: true\r\n".
|
||||
@ -358,7 +359,7 @@ FW_Read($$)
|
||||
my $basicAuth = AttrVal($FW_wname, "basicAuth", undef);
|
||||
if($basicAuth) {
|
||||
my $secret = $FW_httpheader{Authorization};
|
||||
$secret =~ s/^Basic // if($secret);
|
||||
$secret =~ s/^Basic //i if($secret);
|
||||
my $pwok = ($secret && $secret eq $basicAuth);
|
||||
if($secret && $basicAuth =~ m/^{.*}$/ || $headerOptions[0]) {
|
||||
eval "use MIME::Base64";
|
||||
@ -721,10 +722,8 @@ FW_answerCall($)
|
||||
}
|
||||
|
||||
# meta refresh in rooms only
|
||||
if ($FW_room) {
|
||||
my $rf = AttrVal($FW_wname, "refresh", "");
|
||||
FW_pO "<meta http-equiv=\"refresh\" content=\"$rf\">" if($rf);
|
||||
}
|
||||
my $rf = AttrVal($FW_wname, "refresh", "");
|
||||
FW_pO "<meta http-equiv=\"refresh\" content=\"$rf\">" if($rf);
|
||||
|
||||
########################
|
||||
# CSS
|
||||
|
@ -230,6 +230,8 @@ FHEM2FHEM_OpenDev($$)
|
||||
return;
|
||||
}
|
||||
|
||||
return if(IsDisabled($name));
|
||||
|
||||
my $conn;
|
||||
if($hash->{SSL}) {
|
||||
eval "use IO::Socket::SSL";
|
||||
|
@ -80,7 +80,7 @@ CommandXmlList($$)
|
||||
XmlEscape($c), XmlEscape($p->{$c}));
|
||||
}
|
||||
$str .= sprintf("\t\t\t<INT key=\"IODev\" value=\"%s\"/>\n",
|
||||
$p->{IODev}{NAME}) if($p->{IODev});
|
||||
$p->{IODev}{NAME}) if($p->{IODev} && $p->{IODev}{NAME});
|
||||
|
||||
foreach my $c (sort keys %{$attr{$d}}) {
|
||||
next if(!$si && $c =~ m/^\./);
|
||||
|
@ -407,6 +407,13 @@ Device specific attributes are documented in the corresponding device section.
|
||||
rooms for certain FHEMWEB instances.
|
||||
</li>
|
||||
|
||||
<a name="genericDisplayType"></a>
|
||||
<li>genericDisplayType<br>
|
||||
used by some frontends (but not FHEMWEB) to offer a default image or
|
||||
appropriate commands for this device. Currently the following values
|
||||
are supported: switch,outlet,light,blind,speaker,thermostat
|
||||
</li>
|
||||
|
||||
<a name="group"></a>
|
||||
<li>group<br>
|
||||
Group devices. Recognized by web-pgm2 (module <a href="#FHEMWEB">FHEMWEB</a>), it makes
|
||||
@ -1215,23 +1222,25 @@ The following local attributes are used by a wider range of devices:
|
||||
<ul>
|
||||
<code>sleep <sec> [quiet]</code>
|
||||
<br><br>
|
||||
Sleep for a given amount. The unit is seconds, with millisecond accuracy, as
|
||||
you can specify decimal places.<br>
|
||||
sleep followed by another command is comparable to a nameless <a
|
||||
href="#at">at</a>, it executes the following commands after waiting the
|
||||
specified time. The unit is seconds, with millisecond accuracy, as you can
|
||||
specify decimal places.<br><br>
|
||||
|
||||
When called in a notify/at/etc, then nonempty return values of the following
|
||||
commands is logged to the global logfile with loglevel 2.<br>
|
||||
If quiet is specified, then skip this logging.
|
||||
commands are logged to the global logfile with loglevel 2.<br> If quiet is
|
||||
specified, then skip this logging.
|
||||
<br><br>
|
||||
Example:
|
||||
<ul>
|
||||
<code>sleep 0.5</code><br>
|
||||
<code>define n3 notify btn3.* set lamp toggle;;sleep 0.5;;set lamp
|
||||
toggle</code><br>
|
||||
<code>define a3 at +*00:05 set Windsensor 1w_measure;; sleep 2 quiet;; get
|
||||
Windsensor 1w_temp</code>
|
||||
define n3 notify btn3.* set lamp on;;sleep 1.5;;set lamp off<br>
|
||||
define a3 at +*00:05 set Windsensor 1w_measure;; sleep 2 quiet;; get
|
||||
Windsensor 1w_temp
|
||||
</ul>
|
||||
<br>
|
||||
Note: sleep followed by another command is not blocking FHEM, and is
|
||||
comparable to a nameless at<br>
|
||||
Note: a sleep not followed by any command will block FHEM, is deprecated, and
|
||||
it issues a WARNING in the FHEM log.
|
||||
<br>
|
||||
</ul>
|
||||
|
||||
<a name="version"></a>
|
||||
|
@ -423,6 +423,14 @@ Gerät dokumentiert.
|
||||
Geräte, die dem Raum mit der Bezeichnung "hidden" zugeordnet
|
||||
werden, erscheinen nicht auf der Webseite.
|
||||
|
||||
<a name="genericDisplayType"></a>
|
||||
<li>genericDisplayType<br>
|
||||
Wird von bestimmten Frontends (aber nicht FHEMWEB) verwendet, um
|
||||
für das Gerät passende Voreinstellungen (Bild/Befehle/etc)
|
||||
anzubieten. Z.Zt werden folgende Werte unterstützt:
|
||||
switch,outlet,light,blind,speaker,thermostat
|
||||
</li>
|
||||
|
||||
<a name="group"></a>
|
||||
<li>group<br>
|
||||
Gerätegruppen. FHEMWEB zeigt Geräte die in die gleiche Gruppe
|
||||
@ -1290,8 +1298,12 @@ Die folgenden lokalen Attribute werden von mehreren Geräten verwendet:
|
||||
<ul>
|
||||
<code>sleep <sec> [quiet]</code>
|
||||
<br><br>
|
||||
Wartet für die angegebene Anzahl von Sekunden, Millisekunden genau,
|
||||
da man Nachkommastellen spezifizieren kann.<br>
|
||||
sleep gefolgt von weiteren Befehlen ist vergleichbar mit einem namenlosen <a
|
||||
href="#at">at</a> Kommando, es führt die nachfolgenden Befehle aus,
|
||||
nachdem es die spezifizierte Zeitspanne gewartet hat. Die Einheit ist
|
||||
Sekunde, Millisekunden genau, da man Nachkommastellen spezifizieren
|
||||
kann.<br><br>
|
||||
|
||||
Falls sleep in at/notify/etc aufgerufen wurde, und die nachfolgenden
|
||||
Kommandos einen nicht leeren Text zurückgeliefert haben, dann wird
|
||||
dieser Text mit loglevel 2 protokolliert.<br>
|
||||
@ -1306,8 +1318,9 @@ Die folgenden lokalen Attribute werden von mehreren Geräten verwendet:
|
||||
Windsensor 1w_temp</code>
|
||||
</ul>
|
||||
<br>
|
||||
Bemerkung: sleep gefolgt von weiteren Befehlen blockiert die Abarbeitung von
|
||||
FHEM nicht, und ist vergleichbar mit einem namenlosen at Kommando.<br>
|
||||
Bemerkung: falls sleep von keinem Befehl gefolgt wird, dann wird FHEM
|
||||
blockiert. Das ist unerwünscht, und im FHEM-Log wird eine Warnung
|
||||
protokolliert.
|
||||
</ul>
|
||||
|
||||
<a name="version"></a>
|
||||
|
@ -228,6 +228,10 @@
|
||||
don't be afraid to ask something in english.</div>
|
||||
<div class="dist"></div>
|
||||
|
||||
<div class="dist"><a href="http://meintechblog.de/category/fhem">
|
||||
meintechblog.de</a>: Blog with guides focused on FHEM</dist>
|
||||
<div class="dist"></div>
|
||||
|
||||
<div class="dist">Frequently Asked Questions: <a
|
||||
href="faq.html">faq.html</a></div>
|
||||
<div class="dist"></div>
|
||||
|
@ -248,6 +248,10 @@
|
||||
<div class="dist"><a href="HOWTO_DE.html">HOWTO_DE.html</a> für eine
|
||||
kurze Installation/Konfiguration.</div> <div class="dist"></div>
|
||||
|
||||
<div class="dist"><a href="http://meintechblog.de/category/fhem">
|
||||
meintechblog.de</a>: Blog mit HOWTOs über FHEM-Themen</dist>
|
||||
<div class="dist"></div>
|
||||
|
||||
<div class="dist">Das F.A.Q. <a href="faq.html">faq.html</a>
|
||||
(englisch)</div>
|
||||
|
||||
|
@ -263,6 +263,7 @@ my @globalAttrList = qw(
|
||||
dupTimeout
|
||||
exclude_from_update
|
||||
featurelevel
|
||||
genericDisplayType:switch,outlet,light,blind,speaker,thermostat
|
||||
holiday2we
|
||||
language:EN,DE
|
||||
lastinclude
|
||||
@ -2603,6 +2604,8 @@ CommandSleep($$)
|
||||
@cmdList=();
|
||||
|
||||
} else {
|
||||
Log 1,
|
||||
"WARNING: sleep without additional commands is deprecated and blocks FHEM";
|
||||
select(undef, undef, undef, $sec);
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user