diff --git a/fhem/FHEM/10_OWServer.pm b/fhem/FHEM/10_OWServer.pm index 579bcf35c..9821a44ef 100644 --- a/fhem/FHEM/10_OWServer.pm +++ b/fhem/FHEM/10_OWServer.pm @@ -250,7 +250,12 @@ OWServer_Set($@) define myLocalOWServer OWServer localhost:4304
define myRemoteOWServer OWServer raspi:4304
-
+

+ Notice: if you get no devices add both localhost and the FQDN of your owserver as server directives + to the owserver configuration file + on the remote host. +

+ diff --git a/fhem/FHEM/11_OWDevice.pm b/fhem/FHEM/11_OWDevice.pm index 858e3a6cc..b394f8dc5 100644 --- a/fhem/FHEM/11_OWDevice.pm +++ b/fhem/FHEM/11_OWDevice.pm @@ -71,8 +71,28 @@ OWDevice_GetDetails($) { unshift @setters, qw(templow temphigh); unshift @polls, qw(temperature); $interface= "temperature"; + } elsif($family eq "28") { + # 18B20 programmable resolution digital thermometer + unshift @getters, qw(temperature templow temphigh); + unshift @setters, qw(templow temphigh); + unshift @polls, qw(temperature); + $interface= "temperature"; + } elsif($family eq "1D") { + # 2423 4k RAM with counter + unshift @getters, qw(counters.A counters.B); + unshift @setters, qw(); + unshift @polls, qw(counters.A counters.B); + #$interface= "count"; + } elsif($family eq "3A") { + # 2413 1-Wire Dual Channel Addressable Switch + unshift @getters, qw(PIO.A PIO.B); + unshift @setters, qw(PIO.A PIO.B); + unshift @polls, qw(PIO.A PIO.B); + #$interface= "state"; } elsif($family eq "reserved") { # reserved for other devices + # add other devices here and post your additions als patch in + # http://forum.fhem.de/index.php?t=thread&frm_id=26&rid=10 }; # http://perl-seiten.homepage.t-online.de/html/perl_array.html return ($interface, \@getters, \@setters, \@polls); @@ -112,11 +132,13 @@ OWDevice_ReadValue($$) { my $address= $hash->{fhem}{address}; my $value= OWDevice_ReadFromServer($hash, "/$address/$reading"); - $value= trim($value) if(AttrVal($hash,"trimvalues",1)); - my @getters= @{$hash->{fhem}{getters}}; - Debug join(",", @getters); - Debug $getters[0]; - $hash->{STATE}= "$reading: $value" if($reading eq $getters[0]); + if(defined($value)) { + $value= trim($value) if(AttrVal($hash,"trimvalues",1)); + my @getters= @{$hash->{fhem}{getters}}; + $hash->{STATE}= "$reading: $value" if($reading eq $getters[0]); + } else { + Log 3, $hash->{NAME} . ": reading $reading did not return a value"; + } return $value; } @@ -264,6 +286,16 @@ OWDevice_Define($$) regularly retrieved by polling can be seen when issuing the list <name> command.

+ The following devices are currently supported: + +

+ Adding more devices is simple. Look at the code (subroutine OWDevice_GetDetails). +

This module is completely unrelated to the 1-wire modules with names all in uppercase.

@@ -338,6 +370,7 @@ OWDevice_Define($$) Attributes