mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-02-26 04:24:53 +00:00
154 lines
2.9 KiB
Perl
154 lines
2.9 KiB
Perl
##############################################
|
|
# $Id$
|
|
package main;
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
sub
|
|
dummy_Initialize($)
|
|
{
|
|
my ($hash) = @_;
|
|
|
|
$hash->{SetFn} = "dummy_Set";
|
|
$hash->{DefFn} = "dummy_Define";
|
|
$hash->{AttrList} = "setList ". $readingFnAttributes;
|
|
}
|
|
|
|
###################################
|
|
sub
|
|
dummy_Set($@)
|
|
{
|
|
my ($hash, @a) = @_;
|
|
my $name = shift @a;
|
|
|
|
return "no set value specified" if(int(@a) < 1);
|
|
my $setList = AttrVal($name, "setList", " ");
|
|
return "Unknown argument ?, choose one of $setList" if($a[0] eq "?");
|
|
|
|
my $v = join(" ", @a);
|
|
Log3 $name, 4, "dummy set $name $v";
|
|
|
|
readingsSingleUpdate($hash,"state",$v,1);
|
|
return undef;
|
|
}
|
|
|
|
sub
|
|
dummy_Define($$)
|
|
{
|
|
my ($hash, $def) = @_;
|
|
my @a = split("[ \t][ \t]*", $def);
|
|
|
|
return "Wrong syntax: use define <name> dummy" if(int(@a) != 2);
|
|
return undef;
|
|
}
|
|
|
|
1;
|
|
|
|
=pod
|
|
=begin html
|
|
|
|
<a name="dummy"></a>
|
|
<h3>dummy</h3>
|
|
<ul>
|
|
|
|
Define a dummy. A dummy can take via <a href="#set">set</a> any values.
|
|
Used for programming.
|
|
<br><br>
|
|
|
|
<a name="dummydefine"></a>
|
|
<b>Define</b>
|
|
<ul>
|
|
<code>define <name> dummy</code>
|
|
<br><br>
|
|
|
|
Example:
|
|
<ul>
|
|
<code>define myvar dummy</code><br>
|
|
<code>set myvar 7</code><br>
|
|
</ul>
|
|
</ul>
|
|
<br>
|
|
|
|
<a name="dummyset"></a>
|
|
<b>Set</b>
|
|
<ul>
|
|
<code>set <name> <value></code><br>
|
|
Set any value.
|
|
</ul>
|
|
<br>
|
|
|
|
<a name="dummyget"></a>
|
|
<b>Get</b> <ul>N/A</ul><br>
|
|
|
|
<a name="dummyattr"></a>
|
|
<b>Attributes</b>
|
|
<ul>
|
|
<li><a name="setList">setList</a><br>
|
|
Space separated list of commands, which will be returned upon "set name ?",
|
|
so the FHEMWEB frontend can construct a dropdown and offer on/off
|
|
switches. Example: attr dummyName setList on off
|
|
</li>
|
|
<li><a href="#readingFnAttributes">readingFnAttributes</a></li>
|
|
</ul>
|
|
<br>
|
|
|
|
</ul>
|
|
|
|
=end html
|
|
|
|
=begin html_DE
|
|
|
|
<a name="dummy"></a>
|
|
<h3>dummy</h3>
|
|
<ul>
|
|
|
|
Definiert eine Pseudovariable, der mit <a href="#set">set</a> jeder beliebige
|
|
Wert zugewiesen werden kann. Sinnvoll zum Programmieren.
|
|
<br><br>
|
|
|
|
<a name="dummydefine"></a>
|
|
<b>Define</b>
|
|
<ul>
|
|
<code>define <name> dummy</code>
|
|
<br><br>
|
|
|
|
Beispiel:
|
|
<ul>
|
|
<code>define myvar dummy</code><br>
|
|
<code>set myvar 7</code><br>
|
|
</ul>
|
|
</ul>
|
|
<br>
|
|
|
|
<a name="dummyset"></a>
|
|
<b>Set</b>
|
|
<ul>
|
|
<code>set <name> <value></code><br>
|
|
Weist einen Wert zu.
|
|
</ul>
|
|
<br>
|
|
|
|
<a name="dummyget"></a>
|
|
<b>Get</b> <ul>N/A</ul><br>
|
|
|
|
<a name="dummyattr"></a>
|
|
<b>Attributes</b>
|
|
<ul>
|
|
<li><a name="setList">setList</a><br>
|
|
Liste mit Werten durch Leerzeichen getrennt. Diese Liste wird mit "set
|
|
name ?" ausgegeben. Damit kann das FHEMWEB-Frontend Auswahl-Menüs
|
|
oder Schalter erzeugen.<br>
|
|
Beispiel: attr dummyName setList on off
|
|
|
|
</li>
|
|
<li><a href="#readingFnAttributes">readingFnAttributes</a></li>
|
|
</ul>
|
|
<br>
|
|
|
|
</ul>
|
|
|
|
=end html_DE
|
|
|
|
=cut
|