mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-13 11:16:36 +00:00
60_Watches: contrib 0.17.0
git-svn-id: https://svn.fhem.de/fhem/trunk@21874 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
0d54d4a6ce
commit
8bf026fc26
@ -254,6 +254,7 @@ sub Set { ## no critic 'compl
|
|||||||
shift @a; shift @a;
|
shift @a; shift @a;
|
||||||
|
|
||||||
my $txt = join (" ", @a);
|
my $txt = join (" ", @a);
|
||||||
|
$txt =~ s/[\r\n]//g;
|
||||||
readingsSingleUpdate($hash, "displayText", $txt, 0);
|
readingsSingleUpdate($hash, "displayText", $txt, 0);
|
||||||
|
|
||||||
} elsif ($opt eq "displayTextDel") {
|
} elsif ($opt eq "displayTextDel") {
|
||||||
@ -409,8 +410,8 @@ sub digitalWatch {
|
|||||||
my $adtt = AttrVal($d, "digitalTextTicker", 0);
|
my $adtt = AttrVal($d, "digitalTextTicker", 0);
|
||||||
my $adtdn = AttrVal($d, "digitalTextDigitNumber", 0);
|
my $adtdn = AttrVal($d, "digitalTextDigitNumber", 0);
|
||||||
|
|
||||||
my $ddt = ReadingsVal($d, "displayText", "----");
|
my $deftxt = " ";
|
||||||
$ddt =~ s/[\r\n]//g;
|
my $ddt = ReadingsVal($d, "displayText", $deftxt);
|
||||||
my $alarm = " ".ReadingsVal($d, "alarmTime", "aa:bb:cc");
|
my $alarm = " ".ReadingsVal($d, "alarmTime", "aa:bb:cc");
|
||||||
|
|
||||||
my $ddp = "###:##:##"; # dummy
|
my $ddp = "###:##:##"; # dummy
|
||||||
@ -482,7 +483,8 @@ sub digitalWatch {
|
|||||||
var minutes_$d;
|
var minutes_$d;
|
||||||
var seconds_$d;
|
var seconds_$d;
|
||||||
var startDate_$d;
|
var startDate_$d;
|
||||||
var afree_$d = 0;
|
var value_$d = ' $deftxt'; // default Digitaltext initialisieren
|
||||||
|
var tlength_$d = '$txtc'; // Textlänge Digitaltext initialisieren
|
||||||
|
|
||||||
function SegmentDisplay_$d(displayId_$d) {
|
function SegmentDisplay_$d(displayId_$d) {
|
||||||
this.displayId_$d = displayId_$d;
|
this.displayId_$d = displayId_$d;
|
||||||
@ -513,7 +515,7 @@ sub digitalWatch {
|
|||||||
};
|
};
|
||||||
|
|
||||||
var display_$d = new SegmentDisplay_$d('display_$d');
|
var display_$d = new SegmentDisplay_$d('display_$d');
|
||||||
display_$d.pattern = '$ddp ';
|
display_$d.pattern = '$ddp '; // Textschablone initialisieren
|
||||||
display_$d.cornerType = 2;
|
display_$d.cornerType = 2;
|
||||||
// display_$d.displayType = 7;
|
// display_$d.displayType = 7;
|
||||||
display_$d.displayAngle = $adda; // Zeichenwinkel: -30 - 30 (9)
|
display_$d.displayAngle = $adda; // Zeichenwinkel: -30 - 30 (9)
|
||||||
@ -1292,25 +1294,49 @@ sub digitalWatch {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var value = $ddt;
|
if (watchkind_$d == 'text') {
|
||||||
|
tlength_$d = value_$d.length-1; // Länge des Textes abzgl. 1 für ' '
|
||||||
|
if($adtdn) {
|
||||||
|
tlength_$d = $adtdn;
|
||||||
|
}
|
||||||
|
|
||||||
if (watchkind_$d == 'text' && $adtt == 1) { // Laufschrift anzeigen
|
display_$d.pattern = ''; // Textschablone erstellen
|
||||||
|
for (var i = 0; i <= tlength_$d; i++) {
|
||||||
|
display_$d.pattern += '#';
|
||||||
|
}
|
||||||
|
display_$d.pattern += ' '; // Abstand Text zum rechten Rand
|
||||||
|
|
||||||
|
if ($adtt == 1) { // Text als Laufband
|
||||||
var rttime = new Date();
|
var rttime = new Date();
|
||||||
var rthours = rttime.getHours();
|
var rthours = rttime.getHours();
|
||||||
var rtminutes = rttime.getMinutes();
|
var rtminutes = rttime.getMinutes();
|
||||||
var rtseconds = rttime.getSeconds();
|
var rtseconds = rttime.getSeconds();
|
||||||
var rtmillis = rttime.getMilliseconds();
|
var rtmillis = rttime.getMilliseconds();
|
||||||
// var text = ' abcdefghijklmnopqrstuvwxyz 0123456789 ';
|
|
||||||
var text = '$forerun'+value+' ';
|
var text = '$forerun'+value_$d+' ';
|
||||||
var index = ( 2 * (rtseconds + 60*rtminutes + 24*60*rthours) + Math.floor(rtmillis / 500) ) % (text.length - 6);
|
var index = ( 2 * (rtseconds + 60*rtminutes + 24*60*rthours) + Math.floor(rtmillis / 500) ) % (text.length - 6);
|
||||||
value = text.substr(index, $txtc+parseInt(1));
|
value_$d = text.substr(index, $txtc+parseInt(1));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(value == ' undefined:undefined:undefined' || value == ' NaN:NaN:NaN') {
|
command = '{ReadingsVal(\"$d\",\"displayText\", \"$deftxt\")}'; // Text dynamisch aus Reading lesen
|
||||||
value = ' : : ';
|
url_$d = makeCommand(command);
|
||||||
|
\$.get( url_$d, function (data) {
|
||||||
|
value_$d = data.replace(/\\n/g, '');
|
||||||
|
value_$d = ' '+value_$d;
|
||||||
|
return value_$d;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
value_$d = $ddt;
|
||||||
|
|
||||||
|
if(value_$d == ' undefined:undefined:undefined' || value_$d == ' NaN:NaN:NaN') {
|
||||||
|
value_$d = ' : : ';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
display_$d.setValue(value);
|
display_$d.setValue(value_$d);
|
||||||
window.setTimeout('animate_$d()', 200);
|
window.setTimeout('animate_$d()', 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user