From 93415e6d9223d154ca246173da1e85bbc537d8df Mon Sep 17 00:00:00 2001 From: betateilchen <> Date: Fri, 21 Mar 2014 19:42:02 +0000 Subject: [PATCH] 98_cloneDummy - new module added git-svn-id: https://svn.fhem.de/fhem/trunk@5275 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/98_cloneDummy.pm | 146 +++++++++++++++++++++++++++++++++++++ fhem/MAINTAINER.txt | 1 + 2 files changed, 147 insertions(+) create mode 100644 fhem/FHEM/98_cloneDummy.pm diff --git a/fhem/FHEM/98_cloneDummy.pm b/fhem/FHEM/98_cloneDummy.pm new file mode 100644 index 000000000..f99f71d77 --- /dev/null +++ b/fhem/FHEM/98_cloneDummy.pm @@ -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 cloneDummy +# +# +############################################# + +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 cloneDummy " if((int(@a) != 3)) ; + return "Wrong syntax: must different to " 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 + + +

cloneDummy

+
    + + 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. +

    + + + Define +
      + define <name> cloneDummy <sourcedevice> +

      + + Example: +
        + define clone_OWX_26_09FF26010000 cloneDummy OWX_26_09FF26010000
        +
      +
    +
    + + + Set
      N/A

    + + + Get
      N/A

    + + + Attributes + +
    + +
+ +=end html + +=begin html_DE + + +

cloneDummy

+
    + + 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. +

    + + + Define +
      + define <name> cloneDummy <Quelldevice> +

      + + Example: +
        + define clone_OWX_26_09FF26010000 cloneDummy OWX_26_09FF26010000
        +
      +
    +
    + + + Set
      N/A

    + + + Get
      N/A

    + + + Attributes + +
    + +
+ +=end html_DE + +=cut diff --git a/fhem/MAINTAINER.txt b/fhem/MAINTAINER.txt index 7d0895dbd..51bea3fdb 100644 --- a/fhem/MAINTAINER.txt +++ b/fhem/MAINTAINER.txt @@ -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_average.pm rudolfkoenig http://forum.fhem.de Automatisierung 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_configDBwrap.pm betateilchen http://forum.fhem.de Sonstiges FHEM/98_dewpoint.pm wherzig http://forum.fhem.de Automatisierung