mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-01 20:20:10 +00:00
Preparing THE SPLIT
git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@2075 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
9b0e353776
commit
cd092bafb1
1
CHANGED
1
CHANGED
@ -7,6 +7,7 @@
|
|||||||
- feature: optional second parameter to fhem() to make it silent
|
- feature: optional second parameter to fhem() to make it silent
|
||||||
- feature: autoloading commands, XmlList/etc renamed from 99 to 98.
|
- feature: autoloading commands, XmlList/etc renamed from 99 to 98.
|
||||||
- feature: FHEMWEB returns external files in chunks to save memory
|
- feature: FHEMWEB returns external files in chunks to save memory
|
||||||
|
- feature: commandref.html splitted: documentation is now appended to the modules.
|
||||||
|
|
||||||
- 2012-10-28 (5.3)
|
- 2012-10-28 (5.3)
|
||||||
- feature: added functions trim, ltrim, rtrim, UntoggleDirect, UntoggleIndirect
|
- feature: added functions trim, ltrim, rtrim, UntoggleDirect, UntoggleIndirect
|
||||||
|
@ -475,13 +475,3 @@ ZWave_Undef($$)
|
|||||||
}
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|
||||||
=begin html
|
|
||||||
|
|
||||||
<a name="CUL"></a>
|
|
||||||
<h3>CUL</h3>
|
|
||||||
<ul>
|
|
||||||
text
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
=end html
|
|
||||||
|
@ -333,3 +333,5 @@ energy_Undef($$)
|
|||||||
|
|
||||||
return undef;
|
return undef;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
1;
|
||||||
|
@ -345,3 +345,4 @@ if ( $kind ne 0 ){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
1;
|
||||||
|
74
contrib/commandref_join.pl
Normal file
74
contrib/commandref_join.pl
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
my $docIn = "docs/commandref_frame.html";
|
||||||
|
my $docOut = "docs/commandref.html";
|
||||||
|
my @modDir = ("FHEM");
|
||||||
|
|
||||||
|
open(IN, "$docIn") || die "Cant open $docIn: $!\n";
|
||||||
|
open(OUT, ">$docOut") || die "Cant open $docOut: $!\n";
|
||||||
|
|
||||||
|
my %mods;
|
||||||
|
foreach my $modDir (@modDir) {
|
||||||
|
opendir(DH, $modDir) || die "Cant open $modDir: $!\n";
|
||||||
|
while(my $l = readdir DH) {
|
||||||
|
next if($l !~ m/^\d\d_.*\.pm$/);
|
||||||
|
my $of = $l;
|
||||||
|
$l =~ s/.pm$//;
|
||||||
|
$l =~ s/^[0-9][0-9]_//;
|
||||||
|
$mods{$l} = "$modDir/$of";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# First run: check what is a command and what is a helper module
|
||||||
|
my $status;
|
||||||
|
my %noindex;
|
||||||
|
while(my $l = <IN>) {
|
||||||
|
last if($l =~ m/<h3>Introduction/);
|
||||||
|
$noindex{$1} = 1 if($l =~ m/href="#(.*)"/);
|
||||||
|
}
|
||||||
|
seek(IN,0,0);
|
||||||
|
|
||||||
|
# Second run: create the file
|
||||||
|
# Header
|
||||||
|
while(my $l = <IN>) {
|
||||||
|
print OUT $l;
|
||||||
|
last if($l =~ m/#global/);
|
||||||
|
}
|
||||||
|
|
||||||
|
# index for devices.
|
||||||
|
foreach my $mod (sort keys %mods) {
|
||||||
|
next if($noindex{$mod});
|
||||||
|
print OUT " <a href='#$mod'>$mod</a> \n";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Copy the middle part
|
||||||
|
while(my $l = <IN>) {
|
||||||
|
last if($l =~ m/name="perl"/);
|
||||||
|
print OUT $l;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Copy the doc part from the module
|
||||||
|
foreach my $mod (sort keys %mods) {
|
||||||
|
open(MOD, $mods{$mod}) || die("Cant open $mods{$mod}:$!\n");
|
||||||
|
my $skip = 1;
|
||||||
|
while(my $l = <MOD>) {
|
||||||
|
if($l =~ m/^=begin html/) {
|
||||||
|
$skip = 0;
|
||||||
|
} elsif($l =~ m/^=end html/) {
|
||||||
|
$skip = 1;
|
||||||
|
} elsif(!$skip) {
|
||||||
|
print OUT $l;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close(MOD);
|
||||||
|
}
|
||||||
|
|
||||||
|
# Copy the tail
|
||||||
|
print OUT '<a name="perl"></a>',"\n";
|
||||||
|
while(my $l = <IN>) {
|
||||||
|
print OUT $l;
|
||||||
|
}
|
||||||
|
close(OUT);
|
63
contrib/commandref_split.pl
Normal file
63
contrib/commandref_split.pl
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
my $docIn = "docs/commandref.html";
|
||||||
|
my $docOut = "docs/commandref_frame.html";
|
||||||
|
my @modDir = ("FHEM", "contrib", "webfrontend/pgm5");
|
||||||
|
|
||||||
|
open(IN, "$docIn") || die "Cant open $docIn: $!\n";
|
||||||
|
open(OUT, ">$docOut") || die "Cant open $docOut: $!\n";
|
||||||
|
|
||||||
|
my %mods;
|
||||||
|
foreach my $modDir (@modDir) {
|
||||||
|
opendir(DH, $modDir) || die "Cant open $modDir: $!\n";
|
||||||
|
while(my $l = readdir DH) {
|
||||||
|
next if($l !~ m/^\d\d_.*\.pm$/);
|
||||||
|
my $of = $l;
|
||||||
|
$l =~ s/.pm$//;
|
||||||
|
$l =~ s/^[0-9][0-9]_//;
|
||||||
|
$mods{lc($l)} = "$modDir/$of" if(!$mods{lc($l)});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
my %fnd;
|
||||||
|
my $modFileName;
|
||||||
|
while(my $l = <IN>) {
|
||||||
|
$l =~ s/[\r\n]//g;
|
||||||
|
if($l =~ m,^<a name="(.*)"></a>$,) {
|
||||||
|
if($modFileName) {
|
||||||
|
print MODOUT "=end html\n=cut\n";
|
||||||
|
close(MODOUT);
|
||||||
|
rename "$modFileName.NEW", $modFileName;
|
||||||
|
}
|
||||||
|
my $mod = lc($1);
|
||||||
|
if($mods{$mod}) {
|
||||||
|
print "Double-Fnd: $mod\n" if($fnd{$mod});
|
||||||
|
$fnd{$mod} = 1;
|
||||||
|
$modFileName = $mods{$mod};
|
||||||
|
open(MODIN, "$modFileName") || die("Cant open $modFileName: $!\n");
|
||||||
|
open(MODOUT, ">$modFileName.NEW") || die("Cant open $modFileName.NEW: $!\n");
|
||||||
|
my $seen1;
|
||||||
|
while(my $l = <MODIN>) {
|
||||||
|
$seen1 = 1 if($l =~ m/^1;[\r\n]*/);
|
||||||
|
last if($l =~ m/=pod/ && $seen1);
|
||||||
|
print MODOUT $l;
|
||||||
|
}
|
||||||
|
print MODOUT "\n\=pod\n=begin html\n\n";
|
||||||
|
} else {
|
||||||
|
print "Not a module: $mod\n";
|
||||||
|
$modFileName = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if($modFileName){
|
||||||
|
print MODOUT "$l\n";
|
||||||
|
} else {
|
||||||
|
print OUT "$l\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach my $mod (sort {$mods{$a} cmp $mods{$b}} keys %mods) {
|
||||||
|
print "Missing doc for $mods{$mod}\n" if(!$fnd{$mod});
|
||||||
|
}
|
@ -56,7 +56,6 @@
|
|||||||
<a href="#sleep">sleep</a>
|
<a href="#sleep">sleep</a>
|
||||||
<a href="#trigger">trigger</a>
|
<a href="#trigger">trigger</a>
|
||||||
<a href="#update">update</a>
|
<a href="#update">update</a>
|
||||||
<a href="#updatefhem">updatefhem</a>
|
|
||||||
<a href="#usb">usb</a>
|
<a href="#usb">usb</a>
|
||||||
<a href="#xmllist">xmllist</a>
|
<a href="#xmllist">xmllist</a>
|
||||||
|
|
||||||
@ -813,10 +812,6 @@ A line ending with \ will be concatenated with the next one, so long lines
|
|||||||
version after the update has finished.
|
version after the update has finished.
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
Notice: The former used command "updatefhem" will be replaced by the new
|
|
||||||
command "update" in the 5.3 distribution.
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
The new update function will process more advanced distribution information
|
The new update function will process more advanced distribution information
|
||||||
as well as control commands for updating, removing or renaming existing files.
|
as well as control commands for updating, removing or renaming existing files.
|
||||||
New file structures can also be set up by the new control command files.
|
New file structures can also be set up by the new control command files.
|
||||||
@ -844,77 +839,6 @@ A line ending with \ will be concatenated with the next one, so long lines
|
|||||||
</ul>
|
</ul>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<a name="updatefhem"></a>
|
|
||||||
<h3>updatefhem</h3>
|
|
||||||
<ul>
|
|
||||||
<code>updatefhem [<changed>|<filename>|<housekeeping> [<clean>] [<yes>]|<preserve> [<filename>]]</code> <br>
|
|
||||||
<br>
|
|
||||||
<b>This command is deprecated as of Fhem 5.3</b>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
Update the fhem modules and documentation from a nightly SVN checkout. For
|
|
||||||
this purpose Fhem contacts http://fhem.de/fhemupdate, compares the stored
|
|
||||||
timestamps of the local files with the filelist on the server, and
|
|
||||||
downloads the files changed on the server. For all downloaded modules a
|
|
||||||
reload will be scheduled if the corresponding module is loaded.
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
Note: Since Version 5.3 a new directory structure is used by Fhem. The
|
|
||||||
WebInterface pgm2 is separated from <a href="#modpath">modpath</a>/FHEM
|
|
||||||
directory. The directory modpath/www/pgm2 is the new home of pgm2 and
|
|
||||||
of its files. It is recommended to update to the new structure via the
|
|
||||||
<housekeeping> arguments.
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
The complete installation of Fhem will be saved via the <a href="#backup">backup</a>
|
|
||||||
command on every update. You can skip this backups by setting
|
|
||||||
the global attribute <a href="#backup_before_update">backup_before_update</a> to 0.
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
Have you change or replace original files of the Fhem Distribution,
|
|
||||||
these files will normally be overwritten during an update. To protect
|
|
||||||
your locally modified or replaced files during an update, you can exclude
|
|
||||||
these files with the global attribute <a href="#exclude_from_update">exclude_from_update</a>.
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
If <changed> is specified, updatefhem returns a list of new or
|
|
||||||
modified files since the last update. Furthermore it returns the last
|
|
||||||
changes from the CHANGED file (if the file exists on the update server).
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
If an explicit <filename> is given, then only this file will be
|
|
||||||
downloaded.
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
If <housekeeping> is specified, then updatefhem switch your Fhem
|
|
||||||
installation to the new directory structure for the pgm2 WebInterface.
|
|
||||||
The old files are archived like the <backup> argument and the new
|
|
||||||
files are stored to modpath/www/pgm2. None of the existing files of pgm2
|
|
||||||
in modpath/FHEM will be deleted, but are no longer in use.<br>
|
|
||||||
If you like to delete the no more needed files for pgm2 in modpath/FHEM,
|
|
||||||
you should call <housekeeping> with the argument <clean> <yes>.
|
|
||||||
All files of pgm2 are removed from modpath/FHEM and files like
|
|
||||||
.*example.*, .gplot, .html .css, .js, and .(gif|jpg|png|svg) are moved
|
|
||||||
to modpath/www/pgm2.
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
If <preserve> is specified, you could preserve the old directory
|
|
||||||
structure. All files of pgm2 are updated and stored in modpath/FHEM like
|
|
||||||
the former (before Fhem 5.3) updatefhem funktion. To update an explicit
|
|
||||||
file to the old structure append the file as <filename>.<br>
|
|
||||||
Note: After running the housekeeping process, the argument <preserve>
|
|
||||||
is no longer necessary and no more supported.
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
Notes:
|
|
||||||
<ul>
|
|
||||||
<li>If the main program (fhem.pl) is changed, a manual restart of fhem
|
|
||||||
will be necessary to apply the changes.</li>
|
|
||||||
<li>After running <housekeeping> it is recommended to restart Fhem.</li>
|
|
||||||
</ul>
|
|
||||||
<br>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<a name="CULflash"></a>
|
<a name="CULflash"></a>
|
||||||
<h3>CULflash</h3>
|
<h3>CULflash</h3>
|
||||||
<ul>
|
<ul>
|
||||||
@ -1230,8 +1154,6 @@ A line ending with \ will be concatenated with the next one, so long lines
|
|||||||
</pre>
|
</pre>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h2>Devices</h2>
|
|
||||||
|
|
||||||
<a name="global"></a>
|
<a name="global"></a>
|
||||||
<h3>global</h3>
|
<h3>global</h3>
|
||||||
<ul>
|
<ul>
|
||||||
@ -2517,7 +2439,7 @@ A line ending with \ will be concatenated with the next one, so long lines
|
|||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<a name="FHT8Vdefine"></a>
|
<a name="PIDdefine"></a>
|
||||||
<b>Define</b>
|
<b>Define</b>
|
||||||
<ul>
|
<ul>
|
||||||
<code>define <name> PID sensor[:reading:regexp] actor[:cmd:min:max] [p i d]</code>
|
<code>define <name> PID sensor[:reading:regexp] actor[:cmd:min:max] [p i d]</code>
|
||||||
@ -2566,14 +2488,14 @@ A line ending with \ will be concatenated with the next one, so long lines
|
|||||||
</ul>
|
</ul>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<a name="FHT8Vget"></a>
|
<a name="PIDget"></a>
|
||||||
<b>Get </b>
|
<b>Get </b>
|
||||||
<ul>
|
<ul>
|
||||||
N/A
|
N/A
|
||||||
</ul>
|
</ul>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<a name="FHT8Vattr"></a>
|
<a name="PIDattr"></a>
|
||||||
<b>Attributes</b>
|
<b>Attributes</b>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#disable">disable</a></li>
|
<li><a href="#disable">disable</a></li>
|
||||||
@ -5118,7 +5040,6 @@ A line ending with \ will be concatenated with the next one, so long lines
|
|||||||
<br>
|
<br>
|
||||||
|
|
||||||
<a name="KS300define"></a>
|
<a name="KS300define"></a>
|
||||||
<a name="KS300"></a>
|
|
||||||
<b>Define</b>
|
<b>Define</b>
|
||||||
<ul>
|
<ul>
|
||||||
<code>define <name> KS300 <housecode> [ml/raincounter [wind-factor]]</code>
|
<code>define <name> KS300 <housecode> [ml/raincounter [wind-factor]]</code>
|
||||||
@ -5175,26 +5096,26 @@ A line ending with \ will be concatenated with the next one, so long lines
|
|||||||
<a name="MSG"></a>
|
<a name="MSG"></a>
|
||||||
<h3>MSG</h3>
|
<h3>MSG</h3>
|
||||||
<ul>
|
<ul>
|
||||||
The MSG device is the backend device for all the message handling (I/O-engine).
|
The MSG device is the backend device for all the message handling (I/O-engine).
|
||||||
Under normal conditions only one MSG device is needed to serve multiple frontend
|
Under normal conditions only one MSG device is needed to serve multiple frontend
|
||||||
message devices like file or email.
|
message devices like file or email.
|
||||||
<br><br>
|
<br><br>
|
||||||
<a name="MSGdefine"></a>
|
<a name="MSGdefine"></a>
|
||||||
<b>Define</b>
|
<b>Define</b>
|
||||||
<ul>
|
<ul>
|
||||||
<code>define <name> MSG </code><br><br>
|
<code>define <name> MSG </code><br><br>
|
||||||
Specifies the MSG device. A single MSG device could serve multiple MSG frontends.
|
Specifies the MSG device. A single MSG device could serve multiple MSG frontends.
|
||||||
But, for special conditions there could be defined more than one MSG device.
|
But, for special conditions there could be defined more than one MSG device.
|
||||||
</ul>
|
</ul>
|
||||||
<br>
|
<br>
|
||||||
<a name="MSGset"></a>
|
<a name="MSGset"></a>
|
||||||
<b>Set</b>
|
<b>Set</b>
|
||||||
<ul>
|
<ul>
|
||||||
<code>set <name> send|write <devicename></code><br><br>
|
<code>set <name> send|write <devicename></code><br><br>
|
||||||
</ul>
|
</ul>
|
||||||
Notes:
|
Notes:
|
||||||
<ul>
|
<ul>
|
||||||
To send the data, both send or write could be used.<br>
|
To send the data, both send or write could be used.<br>
|
||||||
The devicename is the name of a frontenddevice previously
|
The devicename is the name of a frontenddevice previously
|
||||||
defined. Based on the type of the frontend device, the MSG device
|
defined. Based on the type of the frontend device, the MSG device
|
||||||
will send out the lines of data.
|
will send out the lines of data.
|
||||||
@ -5211,18 +5132,19 @@ To send the data, both send or write could be used.<br>
|
|||||||
<ul>
|
<ul>
|
||||||
<code>define myMsg MSG</code>
|
<code>define myMsg MSG</code>
|
||||||
</ul>
|
</ul>
|
||||||
</ul>
|
</ul>
|
||||||
<a name="MSGVattr"></a>
|
<a name="MSGVattr"></a>
|
||||||
<b>Attributes</b>
|
<b>Attributes</b>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#IODev">IODev</a></li>
|
<li><a href="#IODev">IODev</a></li>
|
||||||
<li><a href="#dummy">dummy</a></li>
|
<li><a href="#dummy">dummy</a></li>
|
||||||
<li><a href="#ignore">ignore</a></li>
|
<li><a href="#ignore">ignore</a></li>
|
||||||
<li><a href="#loglevel">loglevel</a></li>
|
<li><a href="#loglevel">loglevel</a></li>
|
||||||
<li><a href="#eventMap">eventMap</a></li><br>
|
<li><a href="#eventMap">eventMap</a></li><br>
|
||||||
</ul>
|
</ul>
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<a name="MSGFile"></a>
|
<a name="MSGFile"></a>
|
||||||
<h3>MSGFile</h3>
|
<h3>MSGFile</h3>
|
||||||
<ul>
|
<ul>
|
||||||
@ -5232,8 +5154,9 @@ To send the data, both send or write could be used.<br>
|
|||||||
To write the data to disk, a MSG device is necessary.
|
To write the data to disk, a MSG device is necessary.
|
||||||
A MSGFile device needs the operating systems rights to write to the filesystem.
|
A MSGFile device needs the operating systems rights to write to the filesystem.
|
||||||
To set the rights for a directory, please use OS related commands.
|
To set the rights for a directory, please use OS related commands.
|
||||||
<br><br>
|
<br><br>
|
||||||
<a name="#MSGFileDefine"></a>
|
|
||||||
|
<a name="MSGFileDefine"></a>
|
||||||
<b>Define</b>
|
<b>Define</b>
|
||||||
<ul><br>
|
<ul><br>
|
||||||
<code>define <name> MSGFile <filename></code><br><br>
|
<code>define <name> MSGFile <filename></code><br><br>
|
||||||
@ -5245,9 +5168,10 @@ To send the data, both send or write could be used.<br>
|
|||||||
<ul>
|
<ul>
|
||||||
<code>define myFile MSGFile</code>
|
<code>define myFile MSGFile</code>
|
||||||
</ul><br>
|
</ul><br>
|
||||||
<a name="#MSGFileSet"></a>
|
<a name="MSGFileSet"></a>
|
||||||
<b>Set</b><br>
|
|
||||||
<ul><code>set <name> add|clear|list [text]</code><br>
|
<b>Set</b><br>
|
||||||
|
<ul><code>set <name> add|clear|list [text]</code><br>
|
||||||
Set is used to manipulate the message buffer of the device. The message
|
Set is used to manipulate the message buffer of the device. The message
|
||||||
buffer is an array of lines of data, stored serial based on the incoming
|
buffer is an array of lines of data, stored serial based on the incoming
|
||||||
time into the buffer. Lines of data inside the buffer could not be deleted
|
time into the buffer. Lines of data inside the buffer could not be deleted
|
||||||
@ -5274,9 +5198,10 @@ To send the data, both send or write could be used.<br>
|
|||||||
<code>set myMsg write myFile</code><br>
|
<code>set myMsg write myFile</code><br>
|
||||||
<code>set myFile clear</code><br>
|
<code>set myFile clear</code><br>
|
||||||
</ul><br>
|
</ul><br>
|
||||||
|
|
||||||
<a name="MSGFileVattr"></a>
|
<a name="MSGFileVattr"></a>
|
||||||
<b>Attributes</b>
|
<b>Attributes</b>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="MSGFilefilename">filename</a><br>
|
<li><a href="MSGFilefilename">filename</a><br>
|
||||||
sets the filename, must be a fully qualified filename.
|
sets the filename, must be a fully qualified filename.
|
||||||
FHEM must have the rights to write this file to the directory</li>
|
FHEM must have the rights to write this file to the directory</li>
|
||||||
@ -5303,8 +5228,9 @@ To send the data, both send or write could be used.<br>
|
|||||||
like Googlemail, GMX, Yahoo or 1und1 for example.
|
like Googlemail, GMX, Yahoo or 1und1 for example.
|
||||||
To send an email, a MSG device is necessary.<br>
|
To send an email, a MSG device is necessary.<br>
|
||||||
<b>MAIL::Lite</b> and <b>Net::SMTP::SSL</b> from CPAN is needed to use MSGMail!!
|
<b>MAIL::Lite</b> and <b>Net::SMTP::SSL</b> from CPAN is needed to use MSGMail!!
|
||||||
<br><br>
|
<br><br>
|
||||||
<a name="#MSGMailDefine"></a>
|
|
||||||
|
<a name="MSGMailDefine"></a>
|
||||||
<b>Define</b>
|
<b>Define</b>
|
||||||
<ul><br>
|
<ul><br>
|
||||||
<code>define <name> MSGMail <from> <to> <smtphost> <authfile></code><br><br>
|
<code>define <name> MSGMail <from> <to> <smtphost> <authfile></code><br><br>
|
||||||
@ -5317,9 +5243,10 @@ To send the data, both send or write could be used.<br>
|
|||||||
<ul>
|
<ul>
|
||||||
<code>define myMail MSGMail from@address.com to@address.com smtp.provider.host /etc/msgauthfile</code>
|
<code>define myMail MSGMail from@address.com to@address.com smtp.provider.host /etc/msgauthfile</code>
|
||||||
</ul><br>
|
</ul><br>
|
||||||
<a name="#MSGMailSet"></a>
|
|
||||||
<b>Set</b><br>
|
<a name="MSGMailSet"></a>
|
||||||
<ul><code>set <name> add|clear|list [text]</code><br>
|
<b>Set</b><br>
|
||||||
|
<ul><code>set <name> add|clear|list [text]</code><br>
|
||||||
Set is used to manipulate the message buffer of the device. The message
|
Set is used to manipulate the message buffer of the device. The message
|
||||||
buffer is an array of lines of data, stored serial based on the incoming
|
buffer is an array of lines of data, stored serial based on the incoming
|
||||||
time into the buffer. Lines of data inside the buffer could not be deleted
|
time into the buffer. Lines of data inside the buffer could not be deleted
|
||||||
@ -5348,11 +5275,11 @@ To send the data, both send or write could be used.<br>
|
|||||||
<code>set myMsg send myMail</code><br>
|
<code>set myMsg send myMail</code><br>
|
||||||
<code>set myMail clear</code><br>
|
<code>set myMail clear</code><br>
|
||||||
</ul><br>
|
</ul><br>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<a name="MSGMailattr"></a>
|
<a name="MSGMailattr"></a>
|
||||||
<b>Attributes</b>
|
<b>Attributes</b>
|
||||||
<ul>
|
<ul>
|
||||||
Almost all of these attributes are not optional, most of them could set at definition.<br>
|
Almost all of these attributes are not optional, most of them could set at definition.<br>
|
||||||
<li><a href="MSGMailFrom">from</a><br>
|
<li><a href="MSGMailFrom">from</a><br>
|
||||||
sets the mail address of the sender</li>
|
sets the mail address of the sender</li>
|
||||||
@ -6167,7 +6094,7 @@ To send the data, both send or write could be used.<br>
|
|||||||
|
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
<a name="POKEYS_define"></a>
|
<a name="POKEYSdefine"></a>
|
||||||
<b>Define</b>
|
<b>Define</b>
|
||||||
<ul>
|
<ul>
|
||||||
<code>define <name> POKEYS <ip-address> <pin> <io-state> [<time in ms>]</code> <br>
|
<code>define <name> POKEYS <ip-address> <pin> <io-state> [<time in ms>]</code> <br>
|
||||||
@ -6189,7 +6116,7 @@ To send the data, both send or write could be used.<br>
|
|||||||
</ul>
|
</ul>
|
||||||
</ul> <br>
|
</ul> <br>
|
||||||
|
|
||||||
<a name="POKEYS_set"></a>
|
<a name="POKEYSset"></a>
|
||||||
<b>Set</b>
|
<b>Set</b>
|
||||||
<ul>
|
<ul>
|
||||||
<code>set <name> <state> [<time in ms>]</code> <br>
|
<code>set <name> <state> [<time in ms>]</code> <br>
|
||||||
@ -6204,7 +6131,7 @@ To send the data, both send or write could be used.<br>
|
|||||||
</ul>
|
</ul>
|
||||||
</ul><br>
|
</ul><br>
|
||||||
|
|
||||||
<a name="POKEYS_get"></a>
|
<a name="POKEYSget"></a>
|
||||||
<b>Get</b>
|
<b>Get</b>
|
||||||
<ul>
|
<ul>
|
||||||
<code>get <name> <type> </code> <br>
|
<code>get <name> <type> </code> <br>
|
||||||
@ -6219,7 +6146,7 @@ To send the data, both send or write could be used.<br>
|
|||||||
</ul>
|
</ul>
|
||||||
</ul><br>
|
</ul><br>
|
||||||
|
|
||||||
<a name="POKEYS_attr"></a>
|
<a name="POKEYSattr"></a>
|
||||||
<b>Attributes</b>
|
<b>Attributes</b>
|
||||||
<ul>
|
<ul>
|
||||||
todo <br>
|
todo <br>
|
||||||
@ -7834,9 +7761,9 @@ The one byte hex string is generated by the Oregon sensor when is it powered on.
|
|||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<a name="OWX"></a>
|
<a name="OWX"></a>
|
||||||
<h3>OWX</h3>
|
<h3>OWX</h3>
|
||||||
<ul> FHEM module to commmunicate with 1-Wire bus devices <ul>
|
<ul> FHEM module to commmunicate with 1-Wire bus devices <ul>
|
||||||
<li>via an active DS2480/DS2482/DS2490/DS9097U bus master interface attached to an
|
<li>via an active DS2480/DS2482/DS2490/DS9097U bus master interface attached to an
|
||||||
USB port or </li>
|
USB port or </li>
|
||||||
<li>via a passive DS9097 interface attached to an USB port or</li>
|
<li>via a passive DS9097 interface attached to an USB port or</li>
|
||||||
@ -7917,11 +7844,11 @@ The one byte hex string is generated by the Oregon sensor when is it powered on.
|
|||||||
<br />tells FHEM whether power is supplied to the 1-Wire bus or not.</li>
|
<br />tells FHEM whether power is supplied to the 1-Wire bus or not.</li>
|
||||||
<li>Standard attributes alias, comment, <a href="#eventMap">eventMap</a>, <a href="#loglevel">loglevel</a>, <a href="#webCmd">webCmd</a></li>
|
<li>Standard attributes alias, comment, <a href="#eventMap">eventMap</a>, <a href="#loglevel">loglevel</a>, <a href="#webCmd">webCmd</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</ul>
|
</ul>
|
||||||
<!--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
|
|
||||||
<a name="OWAD"></a>
|
<a name="OWAD"></a>
|
||||||
<h3>OWAD</h3>
|
<h3>OWAD</h3>
|
||||||
<ul>FHEM module to commmunicate with 1-Wire A/D converters<br /><br /> Note:<br /> This
|
<ul>FHEM module to commmunicate with 1-Wire A/D converters<br /><br /> Note:<br /> This
|
||||||
1-Wire module so far works only with the OWX interface module. Please define an <a
|
1-Wire module so far works only with the OWX interface module. Please define an <a
|
||||||
href="#OWX">OWX</a> device first. <br />
|
href="#OWX">OWX</a> device first. <br />
|
||||||
<br /><b>Example</b><br />
|
<br /><b>Example</b><br />
|
||||||
@ -8054,11 +7981,11 @@ The one byte hex string is generated by the Oregon sensor when is it powered on.
|
|||||||
</li>
|
</li>
|
||||||
<li>Standard attributes alias, comment, <a href="#eventMap">eventMap</a>, <a href="#loglevel">loglevel</a>, <a href="#webCmd">webCmd</a></li>
|
<li>Standard attributes alias, comment, <a href="#eventMap">eventMap</a>, <a href="#loglevel">loglevel</a>, <a href="#webCmd">webCmd</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</ul>
|
</ul>
|
||||||
<!--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
|
|
||||||
<a name="OWCOUNT"></a>
|
<a name="OWCOUNT"></a>
|
||||||
<h3>OWCOUNT</h3>
|
<h3>OWCOUNT</h3>
|
||||||
<ul>FHEM module to commmunicate with 1-Wire Counter/RAM DS2423 #<br /><br /> Note:<br />
|
<ul>FHEM module to commmunicate with 1-Wire Counter/RAM DS2423 #<br /><br /> Note:<br />
|
||||||
This 1-Wire module so far works only with the OWX interface module. Please define an <a
|
This 1-Wire module so far works only with the OWX interface module. Please define an <a
|
||||||
href="#OWX">OWX</a> device first. <br />
|
href="#OWX">OWX</a> device first. <br />
|
||||||
<br /><b>Example</b><br />
|
<br /><b>Example</b><br />
|
||||||
@ -8164,11 +8091,11 @@ The one byte hex string is generated by the Oregon sensor when is it powered on.
|
|||||||
</li>
|
</li>
|
||||||
<li>Standard attributes alias, comment, <a href="#eventMap">eventMap</a>, <a href="#loglevel">loglevel</a>, <a href="#webCmd">webCmd</a></li>
|
<li>Standard attributes alias, comment, <a href="#eventMap">eventMap</a>, <a href="#loglevel">loglevel</a>, <a href="#webCmd">webCmd</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</ul>
|
</ul>
|
||||||
<!--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
|
|
||||||
<a name="OWID"></a>
|
<a name="OWID"></a>
|
||||||
<h3>OWID</h3>
|
<h3>OWID</h3>
|
||||||
<ul>FHEM module for 1-Wire devices that know only their unique ROM ID<br />
|
<ul>FHEM module for 1-Wire devices that know only their unique ROM ID<br />
|
||||||
<br />Note:<br /> This 1-Wire module so far works only with the OWX interface module.
|
<br />Note:<br /> This 1-Wire module so far works only with the OWX interface module.
|
||||||
Please define an <a href="#OWX">OWX</a> device first. <br />
|
Please define an <a href="#OWX">OWX</a> device first. <br />
|
||||||
<br /><b>Example</b><br />
|
<br /><b>Example</b><br />
|
||||||
@ -8199,11 +8126,11 @@ The one byte hex string is generated by the Oregon sensor when is it powered on.
|
|||||||
<br /> Returns 1 if this 1-Wire device is present, otherwise 0. </li>
|
<br /> Returns 1 if this 1-Wire device is present, otherwise 0. </li>
|
||||||
</ul>
|
</ul>
|
||||||
<br />
|
<br />
|
||||||
</ul>
|
</ul>
|
||||||
<!--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
|
|
||||||
<a name="OWLCD"></a>
|
<a name="OWLCD"></a>
|
||||||
<h3>OWLCD</h3>
|
<h3>OWLCD</h3>
|
||||||
<ul>FHEM module to commmunicate with the <a
|
<ul>FHEM module to commmunicate with the <a
|
||||||
href="http://www.louisswart.co.za/1-Wire_Overview.html">1-Wire LCD controller</a>
|
href="http://www.louisswart.co.za/1-Wire_Overview.html">1-Wire LCD controller</a>
|
||||||
from Louis Swart (1-Wire family id FF). See also the corresponding <a
|
from Louis Swart (1-Wire family id FF). See also the corresponding <a
|
||||||
href="http://fhemwiki.de/wiki/1-Wire_Textdisplay">Wiki page.</a><br /><br />
|
href="http://fhemwiki.de/wiki/1-Wire_Textdisplay">Wiki page.</a><br /><br />
|
||||||
@ -8287,11 +8214,11 @@ The one byte hex string is generated by the Oregon sensor when is it powered on.
|
|||||||
<ul>
|
<ul>
|
||||||
<li>Standard attributes alias, comment, <a href="#eventMap">eventMap</a>, <a href="#loglevel">loglevel</a>, <a href="#webCmd">webCmd</a></li>
|
<li>Standard attributes alias, comment, <a href="#eventMap">eventMap</a>, <a href="#loglevel">loglevel</a>, <a href="#webCmd">webCmd</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</ul>
|
</ul>
|
||||||
<!--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
|
|
||||||
<a name="OWMULTI"></a>
|
<a name="OWMULTI"></a>
|
||||||
<h3>OWMULTI</h3>
|
<h3>OWMULTI</h3>
|
||||||
<ul>FHEM module to commmunicate with 1-Wire multi-sensors, currently the DS2438 smart battery monitor<br /><br /> Note:<br /> This
|
<ul>FHEM module to commmunicate with 1-Wire multi-sensors, currently the DS2438 smart battery monitor<br /><br /> Note:<br /> This
|
||||||
1-Wire module so far works only with the OWX interface module. Please define an <a
|
1-Wire module so far works only with the OWX interface module. Please define an <a
|
||||||
href="#OWX">OWX</a> device first. <br />
|
href="#OWX">OWX</a> device first. <br />
|
||||||
<br /><b>Example</b><br />
|
<br /><b>Example</b><br />
|
||||||
@ -8392,12 +8319,12 @@ The one byte hex string is generated by the Oregon sensor when is it powered on.
|
|||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>Standard attributes alias, comment, <a href="#eventMap">eventMap</a>, <a href="#loglevel">loglevel</a>, <a href="#webCmd">webCmd</a></li>
|
<li>Standard attributes alias, comment, <a href="#eventMap">eventMap</a>, <a href="#loglevel">loglevel</a>, <a href="#webCmd">webCmd</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
<!--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
|
</ul>
|
||||||
<a name="OWSWITCH"></a>
|
|
||||||
<h3>OWSWITCH</h3>
|
<a name="OWSWITCH"></a>
|
||||||
<ul>FHEM module to commmunicate with 1-Wire Programmable Switches <br /><br /> Note:<br />
|
<h3>OWSWITCH</h3>
|
||||||
|
<ul>FHEM module to commmunicate with 1-Wire Programmable Switches <br /><br /> Note:<br />
|
||||||
This 1-Wire module so far works only with the OWX interface module. Please define an <a
|
This 1-Wire module so far works only with the OWX interface module. Please define an <a
|
||||||
href="#OWX">OWX</a> device first. <br />
|
href="#OWX">OWX</a> device first. <br />
|
||||||
<br /><b>Example</b><br />
|
<br /><b>Example</b><br />
|
||||||
@ -8492,11 +8419,11 @@ The one byte hex string is generated by the Oregon sensor when is it powered on.
|
|||||||
</li>
|
</li>
|
||||||
<li>Standard attributes alias, comment, <a href="#eventMap">eventMap</a>, <a href="#loglevel">loglevel</a>, <a href="#webCmd">webCmd</a></li>
|
<li>Standard attributes alias, comment, <a href="#eventMap">eventMap</a>, <a href="#loglevel">loglevel</a>, <a href="#webCmd">webCmd</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</ul>
|
</ul>
|
||||||
<!--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
|
|
||||||
<a name="OWTHERM"></a>
|
<a name="OWTHERM"></a>
|
||||||
<h3>OWTHERM</h3>
|
<h3>OWTHERM</h3>
|
||||||
<ul>FHEM module to commmunicate with 1-Wire bus digital thermometer devices<br /><br />
|
<ul>FHEM module to commmunicate with 1-Wire bus digital thermometer devices<br /><br />
|
||||||
Note:<br /> This is the only 1-Wire module which so far works with both the OWFS and the
|
Note:<br /> This is the only 1-Wire module which so far works with both the OWFS and the
|
||||||
OWX interface module. Please define an <a href="#OWFS">OWFS</a> device or an <a
|
OWX interface module. Please define an <a href="#OWFS">OWFS</a> device or an <a
|
||||||
href="#OWX">OWX</a> device first. <br />
|
href="#OWX">OWX</a> device first. <br />
|
||||||
@ -8609,7 +8536,7 @@ The one byte hex string is generated by the Oregon sensor when is it powered on.
|
|||||||
</li>
|
</li>
|
||||||
<li>Standard attributes alias, comment, <a href="#eventMap">eventMap</a>, <a href="#loglevel">loglevel</a>, <a href="#webCmd">webCmd</a></li>
|
<li>Standard attributes alias, comment, <a href="#eventMap">eventMap</a>, <a href="#loglevel">loglevel</a>, <a href="#webCmd">webCmd</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<a name="RFXCOM"></a>
|
<a name="RFXCOM"></a>
|
||||||
<h3>RFXCOM</h3>
|
<h3>RFXCOM</h3>
|
||||||
@ -9807,7 +9734,6 @@ href="http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=29870">U
|
|||||||
<br>
|
<br>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<a name="TCM120"></a>
|
|
||||||
<a name="TCM"></a>
|
<a name="TCM"></a>
|
||||||
<h3>TCM</h3>
|
<h3>TCM</h3>
|
||||||
<ul>
|
<ul>
|
||||||
@ -10388,6 +10314,7 @@ volume</pre>
|
|||||||
</ul>
|
</ul>
|
||||||
<br>
|
<br>
|
||||||
</ul>
|
</ul>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<a name="ZWDongle"></a>
|
<a name="ZWDongle"></a>
|
||||||
<h3>ZWDongle</h3>
|
<h3>ZWDongle</h3>
|
||||||
@ -11504,13 +11431,13 @@ volume</pre>
|
|||||||
"Put" the newly created device in this room. The name can contain the
|
"Put" the newly created device in this room. The name can contain the
|
||||||
wildcards %TYPE and %NAME, see the example above.</li><br>
|
wildcards %TYPE and %NAME, see the example above.</li><br>
|
||||||
|
|
||||||
<a name="filelog"></a>
|
<a name="filelogattr"></a>
|
||||||
<li>filelog<br>
|
<li>filelog<br>
|
||||||
Create a filelog associated with the device. The filename can contain
|
Create a filelog associated with the device. The filename can contain
|
||||||
the wildcards %TYPE and %NAME, see the example above. The filelog will
|
the wildcards %TYPE and %NAME, see the example above. The filelog will
|
||||||
be "put" in the same room as the device.</li><br>
|
be "put" in the same room as the device.</li><br>
|
||||||
|
|
||||||
<a name="weblink"></a>
|
<a name="weblinkattr"></a>
|
||||||
<li>weblink<br>
|
<li>weblink<br>
|
||||||
Create a weblink associated with the device/filelog.</li><br>
|
Create a weblink associated with the device/filelog.</li><br>
|
||||||
|
|
||||||
@ -12126,6 +12053,7 @@ volume</pre>
|
|||||||
</ul>
|
</ul>
|
||||||
<br>
|
<br>
|
||||||
</ul>
|
</ul>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<a name="watchdog"></a>
|
<a name="watchdog"></a>
|
||||||
<h3>watchdog</h3>
|
<h3>watchdog</h3>
|
||||||
@ -12183,7 +12111,6 @@ volume</pre>
|
|||||||
<li>a generic watchdog (one watchdog responsible for more devices) is
|
<li>a generic watchdog (one watchdog responsible for more devices) is
|
||||||
currently not possible.</li>
|
currently not possible.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</ul>
|
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
</ul>
|
</ul>
|
||||||
@ -12204,7 +12131,6 @@ volume</pre>
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<a name="telnet"></a>
|
<a name="telnet"></a>
|
||||||
|
@ -75,7 +75,7 @@
|
|||||||
Nightly SVN version: a
|
Nightly SVN version: a
|
||||||
<a href="http://www.dhs-computertechnik.de/downloads/fhem-cvs.tgz">
|
<a href="http://www.dhs-computertechnik.de/downloads/fhem-cvs.tgz">
|
||||||
tarball</a>, or from the fhem commandline via <a
|
tarball</a>, or from the fhem commandline via <a
|
||||||
href="commandref.html#updatefhem">updatefhem</a>. <br><br>
|
href="commandref.html#update">update</a>. <br><br>
|
||||||
|
|
||||||
|
|
||||||
Please fill out our <a href="survey.pl">survey</a>,
|
Please fill out our <a href="survey.pl">survey</a>,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user