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

Offline Paetze

  • New Member
  • *
  • Beiträge: 3
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: 930
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

  • New Member
  • *
  • Beiträge: 3
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

Offline LinkshänderCode

  • Newbie
  • Beiträge: 1
Hallo zusammen,

das gleiche Problem habe ich auch.
@Peatze - evtl könntest du uns mal erläutern, wie du das Device mit EEP D2-50 in FHEM eingebunden hast (Attribute) und wie du den Einlern-Vorgang im Detail durchgeführt hast .Das wäre super.
Vielen Dank im Voraus und viele Grüße

Offline Paetze

  • New Member
  • *
  • Beiträge: 3
Hallo,

das Geräteprofil EEP D2-50-xx wird erst ab einer bestimmten Gerätegeneration und Software-Version unterstützt. Voraussetzung ist ein DL 50 WE/WH Generation 2 mit Software-Version 21 oder höher.
Dann FHEM in den Einlernmodus versetzen mit z.B.
set TCM_ESP3_0 teach 30
und anschließend am Gerät den Einlernvorgang über das Menü RC starten. So hat es bei mir funktioniert.

Weiterhin wurde in der EEP-Spec für das Profil D2-50-xx die Darstellung/Übertragung der Temperaturen korrigiert, diese werden mit einem Offset von -64 übertragen.
Dies müsste man noch in der 10_EnOcean.pm aktualisieren.

LG

 

decade-submarginal