diff --git a/fhem/FHEM/88_HMCCUCHN.pm b/fhem/FHEM/88_HMCCUCHN.pm index 307eb9f06..5fa5e76f9 100644 --- a/fhem/FHEM/88_HMCCUCHN.pm +++ b/fhem/FHEM/88_HMCCUCHN.pm @@ -4,7 +4,7 @@ # # $Id$ # -# Version 4.0.001 +# Version 4.0.002 # # (c) 2017 zap (zap01 t-online de) # @@ -51,7 +51,7 @@ # attr substitute [;...] # ################################################################ -# Requires module 88_HMCCU.pm +# Requires modules 88_HMCCU.pm, HMCCUConf.pm ################################################################ package main; @@ -756,13 +756,18 @@ sub HMCCUCHN_Get ($@) If set to 1 state will be set to result of command (i.e. 'OK'). Otherwise state is only updated if value of state datapoint has changed.
-
  • ccucalculate <value>:<reading>[:<dp-list>[;...]
    +
  • ccucalculate <value-type>:<reading>[:<dp-list>[;...]
    Calculate special values like dewpoint based on datapoints specified in dp-list. The result is stored in reading. The following values are supported:
    dewpoint = calculate dewpoint, dp-list = <temperature>,<humidity>
    - abshumidity = calculate absolute humidity, dp-list = <temperature>, - <humidity>
    + abshumidity = calculate absolute humidity, dp-list = <temperature>,<humidity>
    + inc = increment datapoint value considering reset of datapoint, dp-list = <counter-datapoint>
    + inc = increment datapoint value considering reset of datapoint, dp-list = <counter-datapoint>
    + min = calculate minimum continuously, dp-list = <datapoint>
    + max = calculate maximum continuously, dp-list = <datapoint>
    + sum = calculate sum continuously, dp-list = <datapoint>
    + avg = calculate average continuously, dp-list = <datapoint> Example:
    dewpoint:taupunkt:1.TEMPERATURE,1.HUMIDITY

  • diff --git a/fhem/FHEM/88_HMCCUDEV.pm b/fhem/FHEM/88_HMCCUDEV.pm index d748eeb2a..c96ae1b98 100644 --- a/fhem/FHEM/88_HMCCUDEV.pm +++ b/fhem/FHEM/88_HMCCUDEV.pm @@ -1,14 +1,14 @@ -##################################################################### +###################################################################### # # 88_HMCCUDEV.pm # # $Id$ # -# Version 4.0.001 +# Version 4.0.002 # # (c) 2017 zap (zap01 t-online de) # -##################################################################### +###################################################################### # # define HMCCUDEV {|virtual} [] [readonly] [defaults] # [{group={|}[,...]|groupexp=}] [iodev=] @@ -37,6 +37,7 @@ # attr ccucalculate :[:][...] # attr ccuflags { altread, nochn0, trace } # attr ccuget { State | Value } +# attr ccupeer [channel.]datapoint oper expr:{ hmccu:object=value | fhem:command } # attr ccureadings { 0 | 1 } # attr ccureadingformat { address[lc] | name[lc] | datapoint[lc] } # attr ccureadingfilter [,...] @@ -52,9 +53,9 @@ # attr substexcl # attr substitute [;...] # -##################################################################### -# Requires module 88_HMCCU -##################################################################### +###################################################################### +# Requires modules 88_HMCCU.pm, HMCCUConf.pm +###################################################################### package main; @@ -84,7 +85,12 @@ sub HMCCUDEV_Initialize ($) $hash->{AttrFn} = "HMCCUDEV_Attr"; $hash->{parseParams} = 1; - $hash->{AttrList} = "IODev ccuackstate:0,1 ccucalculate ccuflags:multiple-strict,altread,nochn0,trace ccureadingfilter:textField-long ccureadingformat:name,namelc,address,addresslc,datapoint,datapointlc ccureadingname ccureadings:0,1 ccuget:State,Value ccuscaleval ccuverify:0,1,2 disable:0,1 hmstatevals:textField-long statevals substexcl substitute:textField-long statechannel statedatapoint controldatapoint stripnumber ". $readingFnAttributes; + $hash->{AttrList} = "IODev ccuackstate:0,1 ccucalculate:textField-long ". + "ccuflags:multiple-strict,altread,nochn0,trace ccureadingfilter:textField-long ". + "ccureadingformat:name,namelc,address,addresslc,datapoint,datapointlc ccureadingname ". + "ccureadings:0,1 ccuget:State,Value ccuscaleval ccuverify:0,1,2 disable:0,1 ". + "hmstatevals:textField-long statevals substexcl substitute:textField-long statechannel ". + "statedatapoint controldatapoint stripnumber ccupeer:textField-long ".$readingFnAttributes; } ##################################### @@ -96,9 +102,10 @@ sub HMCCUDEV_Define ($@) my ($hash, $a, $h) = @_; my $name = $hash->{NAME}; - my $usage = "Usage: define $name HMCCUDEV {device|'virtual'} [state-channel] " . - "['readonly'] ['defaults'] [iodev={iodev-name}] [{groupexp=regexp|group={device|channel}[,...]]"; - return $usage if (@$a < 3); + my $usage = "Usage: define $name HMCCUDEV {device|'virtual'} [state-channel] ". + "['readonly'] ['defaults'] [iodev={iodev-name}] ". + "[{groupexp=regexp|group={device|channel}[,...]]"; + return $usage if (scalar (@$a) < 3); my $devname = shift @$a; my $devtype = shift @$a; @@ -121,8 +128,7 @@ sub HMCCUDEV_Define ($@) foreach my $d (sort keys %defs) { my $ch = $defs{$d}; next if (!exists ($ch->{TYPE})); - next if ($ch->{TYPE} ne 'HMCCUDEV'); - next if ($d eq $name); + next if ($ch->{TYPE} ne 'HMCCUDEV' || $d eq $name); next if ($ch->{ccuif} ne 'VirtualDevices' || $ch->{ccuname} ne 'none'); $no++; } @@ -905,12 +911,8 @@ sub HMCCUDEV_Get ($@)
  • ccuackstate {0 | 1}
    see HMCCUCHN

  • -
  • ccucalculate <value>:<reading>[:<dp-list>[;...]
    - Calculate special values like dewpoint based on datapoints specified in - dp-list. Datapoints in dp-list must be specified in format - <channelno>.<datapoint>. The result is stored in reading. - The following values are supported:
    - dewpoint = calculate dewpoint, dp-list = <temperature>,<humidity> +
  • ccucalculate <value-type>:<reading>[:<dp-list>[;...]
    + see HMCCUCHN

  • ccuflags {nochn0, trace}
    see HMCCUCHN