mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-23 20:52:13 +00:00
98_weekprofile: attributes for temperature 'on' and 'off'
git-svn-id: https://svn.fhem.de/fhem/trunk@13277 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
320f38f00f
commit
8d18a49780
@ -1,5 +1,6 @@
|
|||||||
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
||||||
# Do not insert empty lines here, update check depends on it.
|
# Do not insert empty lines here, update check depends on it.
|
||||||
|
- feature: 98_weekprofile: attributes for temperature 'on' and 'off'
|
||||||
- feature: 98_BOSEST: NEW REQUIREMENT sox, libsox-fmt-mp3 for TTS
|
- feature: 98_BOSEST: NEW REQUIREMENT sox, libsox-fmt-mp3 for TTS
|
||||||
- feature: 98_BOSEST: support more than 100 chars for TTS
|
- feature: 98_BOSEST: support more than 100 chars for TTS
|
||||||
- bugfix: 98_BOSEST: several TTS and Spotify bugfixes
|
- bugfix: 98_BOSEST: several TTS and Spotify bugfixes
|
||||||
|
@ -152,6 +152,11 @@ sub weekprofile_readDayProfile($@)
|
|||||||
|
|
||||||
for(my $i = 0; $i < scalar(@temps); $i+=1){
|
for(my $i = 0; $i < scalar(@temps); $i+=1){
|
||||||
$temps[$i] =~s/[^\d.]//g; #only numbers
|
$temps[$i] =~s/[^\d.]//g; #only numbers
|
||||||
|
my $tempON = AttrVal($me, "tempON", undef);
|
||||||
|
my $tempOFF = AttrVal($me, "tempOFF", undef);
|
||||||
|
|
||||||
|
$temps[$i] =~s/$tempOFF/off/g if (defined($tempOFF)); # temp off
|
||||||
|
$temps[$i] =~s/$tempON/on/g if (defined($tempON)); # temp on
|
||||||
}
|
}
|
||||||
|
|
||||||
for(my $i = 0; $i < scalar(@times); $i+=1){
|
for(my $i = 0; $i < scalar(@times); $i+=1){
|
||||||
@ -417,7 +422,7 @@ sub weekprofile_Initialize($)
|
|||||||
$hash->{StateFn} = "weekprofile_State";
|
$hash->{StateFn} = "weekprofile_State";
|
||||||
$hash->{NotifyFn} = "weekprofile_Notify";
|
$hash->{NotifyFn} = "weekprofile_Notify";
|
||||||
$hash->{AttrFn} = "weekprofile_Attr";
|
$hash->{AttrFn} = "weekprofile_Attr";
|
||||||
$hash->{AttrList} = "useTopics:0,1 widgetWeekdays widgetEditOnNewPage:0,1 widgetEditDaysInRow:1,2,3,4,5,6,7 configFile ".$readingFnAttributes;
|
$hash->{AttrList} = "useTopics:0,1 widgetWeekdays widgetEditOnNewPage:0,1 widgetEditDaysInRow:1,2,3,4,5,6,7 tempON tempOFF configFile ".$readingFnAttributes;
|
||||||
|
|
||||||
$hash->{FW_summaryFn} = "weekprofile_SummaryFn";
|
$hash->{FW_summaryFn} = "weekprofile_SummaryFn";
|
||||||
|
|
||||||
@ -1048,6 +1053,8 @@ sub weekprofile_SummaryFn()
|
|||||||
my $editNewpage = AttrVal($d, "widgetEditOnNewPage", 0);
|
my $editNewpage = AttrVal($d, "widgetEditOnNewPage", 0);
|
||||||
my $useTopics = AttrVal($d, "useTopics", 0);
|
my $useTopics = AttrVal($d, "useTopics", 0);
|
||||||
my $editDaysInRow = AttrVal($d, "widgetEditDaysInRow", undef);
|
my $editDaysInRow = AttrVal($d, "widgetEditDaysInRow", undef);
|
||||||
|
my $tempON = AttrVal($d, "tempON", undef);
|
||||||
|
my $tempOFF = AttrVal($d, "tempOFF", undef);
|
||||||
|
|
||||||
my $editIcon = FW_iconName($iconName) ? FW_makeImage($iconName,$iconName,"icon") : "";
|
my $editIcon = FW_iconName($iconName) ? FW_makeImage($iconName,$iconName,"icon") : "";
|
||||||
$editIcon = "<a name=\"$d.edit\" onclick=\"weekprofile_DoEditWeek('$d','$editNewpage')\" href=\"javascript:void(0)\">$editIcon</a>";
|
$editIcon = "<a name=\"$d.edit\" onclick=\"weekprofile_DoEditWeek('$d','$editNewpage')\" href=\"javascript:void(0)\">$editIcon</a>";
|
||||||
@ -1061,6 +1068,8 @@ sub weekprofile_SummaryFn()
|
|||||||
$args .= ",USETOPICS:$useTopics";
|
$args .= ",USETOPICS:$useTopics";
|
||||||
$args .= ",MASTERDEV:$masterDev" if (defined($masterDev));
|
$args .= ",MASTERDEV:$masterDev" if (defined($masterDev));
|
||||||
$args .= ",DAYINROW:$editDaysInRow" if (defined($editDaysInRow));
|
$args .= ",DAYINROW:$editDaysInRow" if (defined($editDaysInRow));
|
||||||
|
$args .= ",TEMP_ON:$tempON" if (defined($tempON));
|
||||||
|
$args .= ",TEMP_OFF:$tempOFF" if (defined($tempOFF));
|
||||||
|
|
||||||
my $curr = "";
|
my $curr = "";
|
||||||
if (@{$hash->{PROFILES}} > 0)
|
if (@{$hash->{PROFILES}} > 0)
|
||||||
@ -1309,6 +1318,12 @@ sub weekprofile_getEditLNK_MasterDev($$)
|
|||||||
Enable topics.<br>
|
Enable topics.<br>
|
||||||
Default: 0
|
Default: 0
|
||||||
</li>
|
</li>
|
||||||
|
<li>tempON<br>
|
||||||
|
Temperature for 'on'. e.g. 30
|
||||||
|
</li>
|
||||||
|
<li>tempOFF<br>
|
||||||
|
Temperature for 'off'. e.g. 4
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
@ -1455,6 +1470,12 @@ sub weekprofile_getEditLNK_MasterDev($$)
|
|||||||
<li>useTopics<br>
|
<li>useTopics<br>
|
||||||
Verwendung von Topic aktivieren.
|
Verwendung von Topic aktivieren.
|
||||||
</li>
|
</li>
|
||||||
|
<li>tempON<br>
|
||||||
|
Temperature für 'on'. z.B. 30
|
||||||
|
</li>
|
||||||
|
<li>tempOFF<br>
|
||||||
|
Temperature für 'off'. z.B. 4
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -545,10 +545,24 @@ function FW_weekprofileEditDay(widget,day)
|
|||||||
html += "<td><input type=\"text\" name=\"ENDTIME\" size=\"5\" maxlength=\"5\" align=\"center\" value=\""+endTime+"\" onblur=\"FW_weekprofileEditTime_changed(this)\"/></td>";
|
html += "<td><input type=\"text\" name=\"ENDTIME\" size=\"5\" maxlength=\"5\" align=\"center\" value=\""+endTime+"\" onblur=\"FW_weekprofileEditTime_changed(this)\"/></td>";
|
||||||
|
|
||||||
//temp
|
//temp
|
||||||
|
var tempOn = widget.TEMP_ON;
|
||||||
|
var tempOff = widget.TEMP_OFF;
|
||||||
|
|
||||||
|
if (tempOn == null)
|
||||||
|
tempOn = 30;
|
||||||
|
|
||||||
|
if (tempOff == null)
|
||||||
|
tempOff = 5;
|
||||||
|
|
||||||
html += "<td><select name=\"TEMP\" size=\"1\" onchange=\"FW_weekprofileTemp_chached(this)\">";
|
html += "<td><select name=\"TEMP\" size=\"1\" onchange=\"FW_weekprofileTemp_chached(this)\">";
|
||||||
for (var k=5; k <= 30; k+=.5)
|
for (var k=tempOff; k <= tempOn; k+=.5)
|
||||||
{
|
{
|
||||||
var selected = (k == temps[i]) ? "selected " : "";
|
var selected = (k == temps[i]) ? "selected " : "";
|
||||||
|
if (k == widget.TEMP_OFF)
|
||||||
|
html += "<option "+selected+"value=\"off\">off</option>";
|
||||||
|
else if (k == widget.TEMP_ON)
|
||||||
|
html += "<option "+selected+"value=\"on\">on</option>";
|
||||||
|
else
|
||||||
html += "<option "+selected+"value=\""+k.toFixed(1)+"\">"+k.toFixed(1)+"</option>";
|
html += "<option "+selected+"value=\""+k.toFixed(1)+"\">"+k.toFixed(1)+"</option>";
|
||||||
}
|
}
|
||||||
html += "</select></td>";
|
html += "</select></td>";
|
||||||
@ -787,6 +801,8 @@ FW_weekprofileCreate(elName, devName, vArr, currVal, set, params, cmd)
|
|||||||
widget.JMPBACK = null;
|
widget.JMPBACK = null;
|
||||||
widget.MODE = 'SHOW';
|
widget.MODE = 'SHOW';
|
||||||
widget.USETOPICS = 0;
|
widget.USETOPICS = 0;
|
||||||
|
widget.TEMP_ON = null;
|
||||||
|
widget.TEMP_OFF = null;
|
||||||
|
|
||||||
for (var i = 1; i < vArr.length; ++i) {
|
for (var i = 1; i < vArr.length; ++i) {
|
||||||
var arg = vArr[i].split(':');
|
var arg = vArr[i].split(':');
|
||||||
@ -796,6 +812,8 @@ FW_weekprofileCreate(elName, devName, vArr, currVal, set, params, cmd)
|
|||||||
case "MASTERDEV": widget.MASTERDEV = arg[1]; break;
|
case "MASTERDEV": widget.MASTERDEV = arg[1]; break;
|
||||||
case "USETOPICS": widget.USETOPICS = arg[1]; break;
|
case "USETOPICS": widget.USETOPICS = arg[1]; break;
|
||||||
case "DAYINROW": widget.EDIT_DAYSINROW = arg[1]; break;
|
case "DAYINROW": widget.EDIT_DAYSINROW = arg[1]; break;
|
||||||
|
case "TEMP_ON": widget.TEMP_ON = parseFloat(arg[1]); break;
|
||||||
|
case "TEMP_OFF": widget.TEMP_OFF = parseFloat(arg[1]);break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user