mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-03 16:56:54 +00:00
98_cloneDummy - new module added
git-svn-id: https://svn.fhem.de/fhem/trunk@5275 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
c27f453003
commit
93415e6d92
146
fhem/FHEM/98_cloneDummy.pm
Normal file
146
fhem/FHEM/98_cloneDummy.pm
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
# $Id: $
|
||||||
|
##############################################
|
||||||
|
# 98_cloneDummy
|
||||||
|
#
|
||||||
|
# FHEM Modul um aus Events von FHEM2FHEM clone-Devices zu erstellen
|
||||||
|
# cloneDummy ist "readonly"
|
||||||
|
# Grundlage ist 98_dummy.pm von Rudolf Koenig
|
||||||
|
# von betateilchen gab es viel Hilfe (eigentlich wars betateilchen)
|
||||||
|
# Anleitung:
|
||||||
|
# Um die Änderung zu nutzen, einfach einen cloneDummy anlegen
|
||||||
|
#
|
||||||
|
# Eintrag in der fhem.cfg:
|
||||||
|
# define <name> cloneDummy <quellDevice>
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#############################################
|
||||||
|
|
||||||
|
package main;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
sub cloneDummy_Initialize($) {
|
||||||
|
my ($hash) = @_;
|
||||||
|
|
||||||
|
$hash->{DefFn} = "cloneDummy_Define";
|
||||||
|
$hash->{NotifyFn} = "cloneDummy_Notify";
|
||||||
|
$hash->{AttrList} = $readingFnAttributes;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub cloneDummy_Define($$) {
|
||||||
|
my ($hash, $def) = @_;
|
||||||
|
my @a = split("[ \t][ \t]*", $def);
|
||||||
|
return "Wrong syntax: use define <name> cloneDummy <sourceDevice>" if((int(@a) != 3)) ;
|
||||||
|
return "Wrong syntax: <name> must different to <sourceDevice>" if($a[0] eq $a[2]) ;
|
||||||
|
|
||||||
|
$hash->{NOTIFYDEV} = $a[2];
|
||||||
|
readingsSingleUpdate($hash,'state','defined',1);
|
||||||
|
Log3($hash,4,"cloneDummy: $a[0] defined for source $a[2]");
|
||||||
|
return undef;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub cloneDummy_Notify($$) {
|
||||||
|
my ($hash, $dev) = @_;
|
||||||
|
my $dn = $dev->{NAME};
|
||||||
|
my $hn = $hash->{NAME};
|
||||||
|
my $reading = $dev->{CHANGED}[0];
|
||||||
|
$reading = "" if(!defined($reading));
|
||||||
|
Log3($hash,3, "cloneDummy: $hn D: $dn R: $reading");
|
||||||
|
|
||||||
|
my ($rname,$rval) = split(/ /,$reading,2);
|
||||||
|
$rname = substr($rname,0,length($rname)-1);
|
||||||
|
|
||||||
|
readingsBeginUpdate($hash);
|
||||||
|
readingsBulkUpdate($hash, $rname, $rval);
|
||||||
|
readingsBulkUpdate($hash,'state','active');
|
||||||
|
readingsEndUpdate($hash, 1);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
1;
|
||||||
|
|
||||||
|
=pod
|
||||||
|
=begin html
|
||||||
|
|
||||||
|
<a name="cloneDummy"></a>
|
||||||
|
<h3>cloneDummy</h3>
|
||||||
|
<ul>
|
||||||
|
|
||||||
|
Defines a clone of a device or transferred by FHEM2FHEM in log mode devices and is taking its readings.
|
||||||
|
It makes sense to call remote FHEM installations involve reading , testing or programming.
|
||||||
|
<br><br>
|
||||||
|
|
||||||
|
<a name="cloneDummydefine"></a>
|
||||||
|
<b>Define</b>
|
||||||
|
<ul>
|
||||||
|
<code>define <name> cloneDummy <sourcedevice></code>
|
||||||
|
<br><br>
|
||||||
|
|
||||||
|
Example:
|
||||||
|
<ul>
|
||||||
|
<code>define clone_OWX_26_09FF26010000 cloneDummy OWX_26_09FF26010000</code><br>
|
||||||
|
</ul>
|
||||||
|
</ul>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<a name="dummyset"></a>
|
||||||
|
<b>Set</b> <ul>N/A</ul><br>
|
||||||
|
|
||||||
|
<a name="dummyget"></a>
|
||||||
|
<b>Get</b> <ul>N/A</ul><br>
|
||||||
|
|
||||||
|
<a name="dummyattr"></a>
|
||||||
|
<b>Attributes</b>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#readingFnAttributes">readingFnAttributes</a></li>
|
||||||
|
</ul>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
=end html
|
||||||
|
|
||||||
|
=begin html_DE
|
||||||
|
|
||||||
|
<a name="cloneDummy"></a>
|
||||||
|
<h3>cloneDummy</h3>
|
||||||
|
<ul>
|
||||||
|
|
||||||
|
Definiert einen Clon eines Devices oder von FHEM2FHEM im Logmodus uebergebenen Devices und uebernimmt dessen Readings.
|
||||||
|
Sinnvoll um entfernte FHEM-Installationen lesend einzubinden,zum Testen oder Programmieren.
|
||||||
|
<br><br>
|
||||||
|
|
||||||
|
<a name="cloneDummydefine"></a>
|
||||||
|
<b>Define</b>
|
||||||
|
<ul>
|
||||||
|
<code>define <name> cloneDummy <Quelldevice></code>
|
||||||
|
<br><br>
|
||||||
|
|
||||||
|
Example:
|
||||||
|
<ul>
|
||||||
|
<code>define clone_OWX_26_09FF26010000 cloneDummy OWX_26_09FF26010000</code><br>
|
||||||
|
</ul>
|
||||||
|
</ul>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<a name="dummyset"></a>
|
||||||
|
<b>Set</b> <ul>N/A</ul><br>
|
||||||
|
|
||||||
|
<a name="dummyget"></a>
|
||||||
|
<b>Get</b> <ul>N/A</ul><br>
|
||||||
|
|
||||||
|
<a name="dummyattr"></a>
|
||||||
|
<b>Attributes</b>
|
||||||
|
<ul>
|
||||||
|
|
||||||
|
<li><a href="#readingFnAttributes">readingFnAttributes</a></li>
|
||||||
|
</ul>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
=end html_DE
|
||||||
|
|
||||||
|
=cut
|
@ -208,6 +208,7 @@ FHEM/98_XmlList.pm rudolfkoenig http://forum.fhem.de Automatis
|
|||||||
FHEM/98_autocreate.pm rudolfkoenig http://forum.fhem.de Automatisierung
|
FHEM/98_autocreate.pm rudolfkoenig http://forum.fhem.de Automatisierung
|
||||||
FHEM/98_average.pm rudolfkoenig http://forum.fhem.de Automatisierung
|
FHEM/98_average.pm rudolfkoenig http://forum.fhem.de Automatisierung
|
||||||
FHEM/98_backup.pm mfr69bs http://forum.fhem.de Sonstiges
|
FHEM/98_backup.pm mfr69bs http://forum.fhem.de Sonstiges
|
||||||
|
FHEM/98_cloneDummy.pm Joachim http://forum.fhem.de Automatisierung
|
||||||
FHEM/98_cmdalias.pm rudolfkoenig http://forum.fhem.de Automatisierung
|
FHEM/98_cmdalias.pm rudolfkoenig http://forum.fhem.de Automatisierung
|
||||||
FHEM/98_configDBwrap.pm betateilchen http://forum.fhem.de Sonstiges
|
FHEM/98_configDBwrap.pm betateilchen http://forum.fhem.de Sonstiges
|
||||||
FHEM/98_dewpoint.pm wherzig http://forum.fhem.de Automatisierung
|
FHEM/98_dewpoint.pm wherzig http://forum.fhem.de Automatisierung
|
||||||
|
Loading…
x
Reference in New Issue
Block a user