Autor Thema: EEP D2-50-xx (heatRecovery.00) - Anzeige aktuelle Lüfterstufe "unknown"  (Gelesen 374 mal)

Offline Paetze

  • Newbie
  • Beiträge: 2
Hallo,

ich habe ein dezentrales Lüftungsgerät Dimplex DL50 mit EnOcean-Schnittstelle eingelernt und kann auch wunderbar die verschiedenen Stufen mit FHEM verstellen.
Allerdings wird aktuelle Stufe nicht korrekt angezeigt, hier steht immer "unknown" (siehe Screenshot).
Alle restlichen Daten des empfangenen Statustelegramms, in dem auch die aktuelle Lüfterstufe gesendet wird, werden korrekt interpretiert.
Im Quellcode von 10_EnOcean.pm konnte ich auf den ersten Blick keine Verbindung zu den empfangenen Datenbytes sehen. Gibt es hier evtl. noch ein Problem bei der korrekten Interpretation der Lüfterstufe?

10935     } elsif ($st eq "heatRecovery.00") {
10936       # heat recovery ventilation
10937       # (D2-50-00)
10938       my $msgType = hex(substr($data, 0, 1)) >> 1;
10939       if ($msgType == 2) {
10940         my $ventilation = 'unknown';
10941         my %ventilation = (
10942           0 => "off",
10943           1 => 1,
10944           2 => 2,
10945           3 => 3,
10946           4 => 4,
10947           11 => "auto",
10948           12 => "demand",
10949           13 => "supplyAir",
10950           14 => "exhaustAir"
10951         );
10952         $ventilation = $ventilation{$ventilation} if (exists $ventilation{$ventilation});
10953         push @event, "3:ventilation:$ventilation";
10954         push @event, "3:fireplaceSafetyMode:" . ($db[12] & 8 ? 'enabled' : 'disabled');
10955         push @event, "3:heatExchangerBypass:" . ($db[12] & 4 ? 'opened' : 'closed');
10956         push @event, "3:supplyAirFlap:" . ($db[12] & 2 ? 'opened' : 'closed');
10957         push @event, "3:exhaustAirFlap:" . ($db[12] & 1 ? 'opened' : 'closed');


Vielen Dank.

Offline klaus.schauer

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 929
Mit
10935     } elsif ($st eq "heatRecovery.00") {
10936       # heat recovery ventilation
10937       # (D2-50-00)
10938       my $msgType = hex(substr($data, 0, 1)) >> 1;
10939       if ($msgType == 2) {
10940         my $ventilation = 'unknown';
10941         my %ventilation = (
10942           0 => "off",
10943           1 => 1,
10944           2 => 2,
10945           3 => 3,
10946           4 => 4,
10947           11 => "auto",
10948           12 => "demand",
10949           13 => "supplyAir",
10950           14 => "exhaustAir"
10951         );
#
$ventilation = $db[13] & 15; 
#
10952         $ventilation = $ventilation{$ventilation} if (exists $ventilation{$ventilation});
10953         push @event, "3:ventilation:$ventilation";
10954         push @event, "3:fireplaceSafetyMode:" . ($db[12] & 8 ? 'enabled' : 'disabled');
10955         push @event, "3:heatExchangerBypass:" . ($db[12] & 4 ? 'opened' : 'closed');
10956         push @event, "3:supplyAirFlap:" . ($db[12] & 2 ? 'opened' : 'closed');
10957         push @event, "3:exhaustAirFlap:" . ($db[12] & 1 ? 'opened' : 'closed');
sollte es gehen.

Offline Paetze

  • Newbie
  • Beiträge: 2
Hallo,

die Änderung an der 10_EnOcean.pm habe ich durchgeführt, die Lüfterstufe wird jetzt in FHEM richtig dargestellt :).


Danke und Gruss

Offline sermo

  • Newbie
  • Beiträge: 1
Hallo Paetze,

wie konntest du den Dimplex DL 50 dazu bringen, auf dein UTE Lerntelegramm zu antworten? Mit dem Menü RC am Lüfter funktioniert es bei mir nicht, der Lüfter wird nicht erkannt.

LG
sermo