76_SolarForecast: contrib Version 1.59.6
git-svn-id: https://svn.fhem.de/fhem/trunk@30448 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
@@ -12317,6 +12317,7 @@ return ($hsurp, $otp);
|
||||
################################################################
|
||||
# Zielleistung mit Sicherheitszuschlag behandeln
|
||||
# abfallend proportional zum linearen Rest-Überschuss des Tages
|
||||
# Forum: https://forum.fhem.de/index.php?msg=1349579
|
||||
################################################################
|
||||
sub ___batAdjustPowerByMargin {
|
||||
my ($name, $target, $pinmax, $runwhneed, $otpMargin) = @_;
|
||||
@@ -14211,7 +14212,7 @@ sub ___setConsumerSwitchingState {
|
||||
|
||||
delete $paref->{supplement};
|
||||
|
||||
$state = qq{Consumer '$calias' was external switched on};
|
||||
$state = qq{Consumer '$calias' was switched on externally};
|
||||
$dowri = 1;
|
||||
}
|
||||
elsif ($oldpsw eq 'on' && isConsumerPhysOff ($hash, $c)) {
|
||||
@@ -14221,7 +14222,7 @@ sub ___setConsumerSwitchingState {
|
||||
|
||||
delete $paref->{supplement};
|
||||
|
||||
$state = qq{Consumer '$calias' was external switched off};
|
||||
$state = qq{Consumer '$calias' was switched off externally};
|
||||
$dowri = 1;
|
||||
}
|
||||
|
||||
@@ -16928,21 +16929,32 @@ sub __createOwnSpec {
|
||||
|
||||
my @fields = split (/\s+/sx, $spec);
|
||||
|
||||
my (@cats, @vals);
|
||||
my (@props, @cats, @vals); # @props - Eigenschaften, @cats - Kategorien, @vals - Label:Werte Paare
|
||||
|
||||
for my $f (@fields) {
|
||||
if ($f =~ /^\#(.*)/xs) {
|
||||
if ($f =~ /^\#(.*)/xs) { # eine Kategorie erkannt
|
||||
push @cats, $1;
|
||||
next;
|
||||
}
|
||||
elsif ($f =~ /^\.([^\s]+)/xs) { # eine Eigenschaft erkannt
|
||||
push @props, $1;
|
||||
next;
|
||||
}
|
||||
|
||||
push @vals, $f;
|
||||
}
|
||||
|
||||
my ($ownv, $cakey);
|
||||
my $isize = INPUTSIZE;
|
||||
|
||||
if (@props) {
|
||||
my $properties = join (' ', @props);
|
||||
my ($pa, $ph) = parseParams ($properties);
|
||||
$isize = $ph->{inputSize} if(defined $ph->{inputSize});
|
||||
}
|
||||
|
||||
my $rows = ceil (scalar(@vals) / $vinr);
|
||||
my $col = 0;
|
||||
my ($ownv, $cakey);
|
||||
|
||||
for (my $i = 1 ; $i <= $rows; $i++) {
|
||||
my ($h, $v, $u);
|
||||
@@ -16959,9 +16971,7 @@ sub __createOwnSpec {
|
||||
$col++;
|
||||
|
||||
if (!defined $h->{$k}{label}) {
|
||||
#undef $h->{$k}{label};
|
||||
$h->{$k}{label} = '';
|
||||
#next;
|
||||
$h->{$k}{elm} = '';
|
||||
}
|
||||
|
||||
@@ -27851,21 +27861,42 @@ to ensure that the system configuration is correct.
|
||||
<a href="#SolarForecast-attr-graphicControl">graphicControl->energyUnit</a>.
|
||||
<br><br>
|
||||
|
||||
Each value must be defined by a label and the element to be displayed (attribute, reading, set command) connected by “:”. <br>
|
||||
A single key value of a combined attribute (ctrlBatSocManagementXX, flowGraphicControl, etc.) can be displayed and changed by
|
||||
adding '-><key>'. <br>
|
||||
The element can optionally be supplemented with '@<Device>' to display readings, set commands, and attributes of other devices. <br>
|
||||
The elements to be displayed are separated by spaces or a new line.
|
||||
Spaces in the label are to be inserted by "&nbsp;", a line break by "<br>". <br>
|
||||
An empty field in a line is created by ":". <br>
|
||||
A line title can be inserted by specifying "#:<Text>", an empty title by entering "#".
|
||||
Each element to be displayed must be defined by a label, the separator “:”, and the value (attribute, reading, set command). <br>
|
||||
The input can be entered on multiple lines for a clear structure. <br>
|
||||
The syntax for inserting elements and defining additional properties is as follows:
|
||||
<br><br>
|
||||
|
||||
<ul>
|
||||
<table>
|
||||
<colgroup> <col width="30%"> <col width="70%"> </colgroup>
|
||||
<tr><td> <b>.inputSize=<Integer> </b> </td><td>sets the width of text input fields (default: 10) </td></tr>
|
||||
<tr><td> </td><td> </td></tr>
|
||||
<tr><td> <b>&nbsp; </b> </td><td>inserts a space in the label </td></tr>
|
||||
<tr><td> </td><td> </td></tr>
|
||||
<tr><td> <b><br> </b> </td><td>inserts a line break in the label </td></tr>
|
||||
<tr><td> </td><td> </td></tr>
|
||||
<tr><td> <b>#<Text> </b> </td><td>defines a row title </td></tr>
|
||||
<tr><td> </td><td> </td></tr>
|
||||
<tr><td> <b># </b> </td><td>creates an empty line title </td></tr>
|
||||
<tr><td> </td><td> </td></tr>
|
||||
<tr><td> <b><Label>:<Value> </b> </td><td>creates the <label>:<value> pair to be displayed. </td></tr>
|
||||
<tr><td> </td><td><value> can be an attribute, reading, or set command. </td></tr>
|
||||
<tr><td> </td><td> </td></tr>
|
||||
<tr><td> <b><Label>:<Value>@<Device> </b> </td><td>the value of another <Device> is displayed </td></tr>
|
||||
<tr><td> </td><td> </td></tr>
|
||||
<tr><td> <b><Label>:<Attr>-><Key> </b> </td><td>the key value of a combined attribute (e.g., flowGraphicControl) is displayed </td></tr>
|
||||
<tr><td> </td><td> </td></tr>
|
||||
<tr><td> <b>: </b> </td><td>creates a blank space </td></tr>
|
||||
<tr><td> </td><td> </td></tr>
|
||||
</table>
|
||||
</ul>
|
||||
|
||||
<ul>
|
||||
<b>Example: </b> <br>
|
||||
<table>
|
||||
<colgroup> <col width="33%"> <col width="67%"> </colgroup>
|
||||
<tr><td> attr <name> graphicHeaderOwnspec </td><td># </td></tr>
|
||||
<tr><td> attr <name> graphicHeaderOwnspec </td><td>.inputSize=5 </td></tr>
|
||||
<tr><td> </td><td># </td></tr>
|
||||
<tr><td> </td><td>AutarkyRate:Current_AutarkyRate </td></tr>
|
||||
<tr><td> </td><td>Surplus:Current_Surplus </td></tr>
|
||||
<tr><td> </td><td>current&nbsp;Gridconsumption:Current_GridConsumption </td></tr>
|
||||
@@ -27890,8 +27921,8 @@ to ensure that the system configuration is correct.
|
||||
<tr><td> </td><td>Debug:ctrlDebug : : : </td></tr>
|
||||
</table>
|
||||
</ul>
|
||||
</li>
|
||||
<br>
|
||||
</li>
|
||||
|
||||
<a id="SolarForecast-attr-graphicHeaderOwnspecValForm"></a>
|
||||
<li><b>graphicHeaderOwnspecValForm </b> <br><br>
|
||||
@@ -30569,21 +30600,42 @@ die ordnungsgemäße Anlagenkonfiguration geprüft werden.
|
||||
des Attributs <a href="#SolarForecast-attr-graphicControl">graphicControl->energyUnit</a> umgerechnet.
|
||||
<br><br>
|
||||
|
||||
Jeder Wert ist jeweils durch ein Label und das anzuzeigende Element (Attribut, Reading, Set-Kommando) verbunden durch ":" zu definieren. <br>
|
||||
Ein einzelner Schlüsselwert eines kombinierten Attributes (ctrlBatSocManagementXX, flowGraphicControl, etc.) kann durch Ergänzung
|
||||
von '-><Schlüssel>' angezeigt und geändert werden. <br>
|
||||
Das Element kann optional mit '@<Device>' ergänzt werden um Readings, Set-Kommandos und Attribute anderer Devices anzuzeigen. <br>
|
||||
Die anzuzeigenden Elemente werden durch Leerzeichen oder eine neue Zeile getrennt.
|
||||
Leerzeichen im Label sind durch "&nbsp;" einzufügen, ein Zeilenumbruch durch "<br>". <br>
|
||||
Ein leeres Feld in einer Zeile wird durch ":" erzeugt. <br>
|
||||
Ein Zeilentitel kann durch Angabe von "#:<Text>" eingefügt werden, ein leerer Titel durch die Eingabe von "#".
|
||||
Jedes anzuzeigende Element ist durch ein Label, dem Trenner ":" und dem Wert (Attribut, Reading, Set-Kommando) zu definieren. <br>
|
||||
Die Eingabe kann für eine übersichtliche Struktur mehrzeilig erfolgen. <br>
|
||||
Die Syntax um Elemente einzufügen sowie weitere Eigenschaften zu definieren sind:
|
||||
<br><br>
|
||||
|
||||
<ul>
|
||||
<table>
|
||||
<colgroup> <col width="30%"> <col width="70%"> </colgroup>
|
||||
<tr><td> <b>.inputSize=<Ganzzahl> </b> </td><td>legt die Breite von Texteingabefeldern fest (default: 10) </td></tr>
|
||||
<tr><td> </td><td> </td></tr>
|
||||
<tr><td> <b>&nbsp; </b> </td><td>fügt ein Leerzeichen im Label ein </td></tr>
|
||||
<tr><td> </td><td> </td></tr>
|
||||
<tr><td> <b><br> </b> </td><td>fügt einen Zeilenumbruch im Label ein </td></tr>
|
||||
<tr><td> </td><td> </td></tr>
|
||||
<tr><td> <b>#<Text> </b> </td><td>definiert einen Zeilentitel </td></tr>
|
||||
<tr><td> </td><td> </td></tr>
|
||||
<tr><td> <b># </b> </td><td>erzeugt einen leeren Zeilentitel </td></tr>
|
||||
<tr><td> </td><td> </td></tr>
|
||||
<tr><td> <b><Label>:<Wert> </b> </td><td>Erstellt das anzuzeigende <Label>:<Wert> Paar. </td></tr>
|
||||
<tr><td> </td><td><Wert> kann ein Attribut, Reading, oder Set-Kommando sein. </td></tr>
|
||||
<tr><td> </td><td> </td></tr>
|
||||
<tr><td> <b><Label>:<Wert>@<Device> </b> </td><td>der Wert eines anderen <Device> wird angezeigt </td></tr>
|
||||
<tr><td> </td><td> </td></tr>
|
||||
<tr><td> <b><Label>:<Attr>-><Key> </b> </td><td>der Schlüsselwert eines kombinierten Attributes (z.B. flowGraphicControl) wird angezeigt </td></tr>
|
||||
<tr><td> </td><td> </td></tr>
|
||||
<tr><td> <b>: </b> </td><td>erzeugt ein Leerfeld </td></tr>
|
||||
<tr><td> </td><td> </td></tr>
|
||||
</table>
|
||||
</ul>
|
||||
|
||||
<ul>
|
||||
<b>Beispiel: </b> <br>
|
||||
<table>
|
||||
<colgroup> <col width="35%"> <col width="65%"> </colgroup>
|
||||
<tr><td> attr <name> graphicHeaderOwnspec </td><td># </td></tr>
|
||||
<tr><td> attr <name> graphicHeaderOwnspec </td><td>.inputSize=5 </td></tr>
|
||||
<tr><td> </td><td># </td></tr>
|
||||
<tr><td> </td><td>AutarkyRate:Current_AutarkyRate </td></tr>
|
||||
<tr><td> </td><td>Überschuß:Current_Surplus </td></tr>
|
||||
<tr><td> </td><td>aktueller&nbsp;Netzbezug:Current_GridConsumption </td></tr>
|
||||
@@ -30608,8 +30660,8 @@ die ordnungsgemäße Anlagenkonfiguration geprüft werden.
|
||||
<tr><td> </td><td>Debug:ctrlDebug : : : </td></tr>
|
||||
</table>
|
||||
</ul>
|
||||
</li>
|
||||
<br>
|
||||
</li>
|
||||
|
||||
<a id="SolarForecast-attr-graphicHeaderOwnspecValForm"></a>
|
||||
<li><b>graphicHeaderOwnspecValForm </b> <br><br>
|
||||
|
||||
Reference in New Issue
Block a user