FHEM - Hausautomations-Systeme > EnOcean

Eltako FWZ12-16A

<< < (2/4) > >>

rudolfkoenig:
MWn ist das EUL Firmware nur fuer Seriell->USB Wandlung zustaendig, der Rest wird in den abgeschlossenen TCM310 Modul gemacht. Hilft ein "modify EUL 310 /dev/ttyTCM0@57600" ? Dieses Befehl schliesst /dev/ttyTCM0 und oeffnet es wieder. Es waere auch interessant zu sehen, ob das Problem auch mit einem anderen USB-Stick oder FWZ12 besteht. Ansonsten kann man entweder hightech auspacken (Funksignale protokollieren) oder EnOcean/Eltako fragen.

aicgazi:
OK mit dem modify kann man den TCM310 tatsächlich "aufwecken"

Piezzo Schalter WS R101 von Omnio funktioniert nicht
modfiy EUL 310 /dev/ttyACM0@57600
Piezzo Schalter funktioniert.

Die Funkinformationen vom FWZ12-16A kommen allerdings nicht durch.
( irgendwann kommt dann ein paket aber ich hab noch nicht rausgefunden welche Bedingungen das begünstigen bzw. verhindern. Einstreueffekt vom LTE kann ich glaub ich ausschliessen das modem hab ich auch schon ausgemacht..)

Der PM101 liegt neben dem FWZ12-16A und sendet fleissig vor sich hin
( btw. kannst du den Code vom PM101 in die "A5" if-Schleife legen - ich hab das kurz vor dem teach-in reingemacht damit es funktioniert - guckst du:)

----------- CODE
    if(($db_0 & 0x08) == 0) {
      if($db_0 & 0x80) {
        my $fn = sprintf "%02x", ($db_3>>2);
        my $tp = sprintf "%02X", ((($db_3&3) << 5) | ($db_2 >> 3));
        my $mf = sprintf "%03X", ((($db_2&7) << 8) | $db_1);
        $mf = $EnO_manuf{$mf} if($EnO_manuf{$mf});
        my $m = "teach-in:class A5.$fn.$tp (manufacturer: $mf)";
        Log 1, $m;
        push @event, "3:$m";
        my $st = "A5.$fn.$tp";
        $st = $EnO_subType{$st} if($EnO_subType{$st});
        $attr{$name}{subType} = $st;

        if("$fn.$tp" eq "20.01" && $iohash->{pair}) {      # MD15
          select(undef, undef, undef, 0.1);                # max 10 Seconds
          EnOcean_A5Cmd($hash, "800800F0", "00000000");
          select(undef, undef, undef, 0.5);
          EnOcean_MD15Cmd($hash, $name, 128); # 128 == 20 degree C
        }

      } elsif($model eq "PM101") {
         ####################################
         # Ratio Presence Sensor Eagle PM101, code by aicgazi
         ####################################
         my $lux = sprintf "%3d", $db_2;
         # content  of $db_2 is the illuminance where max value 0xFF stands for 1000 lx
         $lux = sprintf "%4d", ( $lux * 1000 / 255 ) ;
         push @event, "3:brightness:$lux";
         push @event, "3:channel1:" . ($db_0 & 0x01 ? "on" : "off");
         push @event, "3:channel2:" . ($db_0 & 0x02 ? "on" : "off");

      } else {
        push @event, "3:teach-in:no type/manuf. data transmitted";

      }
------------------ Code


klaus.schauer:
Welche Aufgabe soll der zusätzliche Programmcode für die Abfrage von PM-101 Meldungen in der Teach-In Prozedure haben? Die gleiche Abfrage steht doch weiter unten nochmals (an der richtigen Stelle)!

Ich bin gerade dabei die automatiche Erkennnung von devices nicht nur für das Gerät MD15 zu ermöglichen. Hoffentlich gelingt es. Leider habe ich für das Gerät PM-101 bisher nicht herausfinden können, welches EEP verwendet wird. So richtig scheinen die Standardprofile nicht zu passen. Bei der Firma Omnio bin ich auch nicht fündig geworden.

krikan:
Hallo Klaus,
nach meiner dunkelen Erinnerung entspricht der PM101 keinem Standard-EEP, was sich mit anscheinend mit Deiner Beobachtung deckt. Schau Dir mal Seite 5 der dieses Dokumentes an: http://www.omnio.ch/content-en/downloads/Betriebsanleitungen/2902000_Betriebsanleitung_ea.pdf Das sollte die Telegrammbeschreibung sein.
Gruß, Christian

klaus.schauer:
Der PM-101 sollte aber eine EEP und eine ManufacturerID beim teach-in senden. Damit könnte man das Gerät dann theoretisch verhältnismäßig sicher automatisch anlernen. In der Anleitung steht nichts dazu und leider reagiert Omnio nicht auf meine E-Mail-Anfragen dazu.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln