[Patch] DS1822 am GPIO4

Begonnen von mcbastian, 06 Juli 2015, 12:44:53

Vorheriges Thema - Nächstes Thema

mcbastian

Hallöle,

da ich ein altes System, das noch auf PC-Basis lief (noch mit dem FHEM-Vorgänger FHZ1000.pl) nun auf einen PI umziehen lasse und vor dem Problem stand, dass das GPIO-Modul von FHEM die DS1822 nicht erkennen mag, habe ich das Modul so gepatcht (das war nun kein Hexenwerk), dass es auch die DS1822 (die sind weniger genau als die DS18B20) erkennt. Falls es jemanden interessiert:


--- 58_GPIO4.pm 2014-11-09 14:16:06.000000000 +0100
+++ 58_GPIO4_n.pm       2015-07-05 18:28:22.000000000 +0200
@@ -65,7 +65,7 @@
        }
        else {
                my ($family, $id) = split('-',$a[2]);
-               if ($family eq "28" || $family eq "10") {
+               if ($family eq "28" || $family eq "10" || $family eq "22") {
                        # reset failures counter
                        setReadingsVal($hash,'failures',0,TimeNow());
                        $hash->{fhem}{interfaces} = "temperature";
@@ -110,6 +110,9 @@
        elsif ($family eq "10") {
                $model = "DS1820";
        }
+       elsif ($family eq "22") {
+               $model = "DS1822";
+       }
        DoTrigger("global", "UNDEFINED GPIO4_${model}_${id} GPIO4 $slave");
        $attr{"GPIO4_${model}_${id}"}{model} = $model;


Viele Grüße
Seb