FHEM - Hausautomations-Systeme > EnOcean

10_EnOcean V3179 - Erweiterungen und Überarbeitungen

(1/2) > >>

klaus.schauer:
In dieser Version sind folgende Ergänzungen, Änderungen und Fehlerbereinigungen enthalten:

1. Die Profile eltakoDimmer, eltakoShutter, FAH, FBH, FTF und SR04 entfallen. Beim Profil  PM101 haben sich die Attributdefinition und das Ausgabeformat geändert. Zur Umstellung ist folgendes Vorgehen notwendig:
- eltakoDimmer: manuell umstellen auf >> attr <name> subType gateway, attr <name> gwCmd dimming
- eltakoShutter: manuell umstellen auf >> attr <name> subType manufProfile, attr <name> manufID 00D, attr <name> model FSB14|FSB61|FSB70  
- FAH: Gerät neu an Fhem anlernen (teach in) >> attr <name> subType lightSensor.01
- FBH: Gerät neu an Fhem anlernen (teach in) >> attr <name> subType lightTempOccupSensor.01
- FTF: Gerät neu an Fhem anlernen (teach in) >> attr <name> subType roomSensorControl.05
- SR04*: Gerät neu an Fhem anlernen (teach in) >> attr <name> subType roomSensorControl.05
- PM101: manuell umstellen auf >> attr <name> subType PM101   
Die alten Readings sollten mit dem Kommando deletereading einzeln gelöscht werden. Weitere Informationen siehe commandref.
   
2. In Umgebungen mit Repeatern ist es möglich, dass von Fhem gesendete Datentelegramme wieder von Fhem empfangen werden. Die Weiterverarbeitung dieser Telegramme kann jetzt im TCM-Modul unterdrückt werden. Hierzu ist das TCM-Attribut attr <name> blockSenderID own   zu setzen. Die Gerätebeschreibung des TCM-Modul im WEB-Interface enthält nun zusätzlich die Variablen
- BaseID mit der ersten vom TCM-Modul belegten SendeID und
- LastID mit der letzten verwendbaren SendeID.
Dies erleichtert sicherlich die richtige Auswahl der SendeIDs für die Devices.
   
3. Aus Version 2968: Beim Teach-In wurden manchmal die angelernten Attribute nicht zuverlässig in fhem.cfg gespeichert. Der Fehler ist behoben  (Schorsch M.). Nachtrag: Bei einem Test von tobias6789 wurden die angelernten Attribute nach dem Teach-In dennoch nicht vollständig gespeichert. Wird weiter beobachtet.
   
4. Aus Version 2968: Beim Profil MD15 können jetzt die Geräte durch Fhem gesteuert werden. Die Übertragung  der Isttemperatur von Fhem zum MD15 ist derzeit nicht möglich. Hierzu laufen Tests  (krikan). Zusätzliche Befehle im Service Mode sind verfügbar und zu testen.

Danke für die bisherigen Rückmeldungen und Tests. Ich möchte darum bitten, die neuen Profile zu testen. Für mich ist dies wegen der fehlenden Testobjekte nicht möglich.

immi:
Hallo Klaus
danke fuer Dein fleissige Arbeit.
Ich finde dein Engagement in FHEM toll.

In der Vergangenheit hat SR04 als setpoint(solltemp) ein Wert in °C.
Heute haben wir ein Wert zwischen 0 und 255, den ich wirklich nicht brauchen kann.
Mir ist bewusst, dass Du den Datenblatt genau abgebildet hast.
http://www.thermokon.de/files/produktblatt-sr041319282511.pdf
Ich wuerde  lieber ein setpoint in °C  begrussen (wie in der Vergangenheit).

danke immi


--- Code: ---
elsif($model =~ m/^SR04/ || $st eq "SR04") {
      # Room Sensor and Control Unit
      # [Thermokon SR04 *]
      my ($fspeed, $temp, $present, $solltemp);
      $fspeed = 3;
      $fspeed = 2      if($db_3 >= 145);
      $fspeed = 1      if($db_3 >= 165);
      $fspeed = 0      if($db_3 >= 190);
      $fspeed = "Auto" if($db_3 >= 210);
      $temp   = sprintf("%0.1f", 40-$db_1/6.375);      # 40..0
      $present= $db_0&0x1 ? "no" : "yes";
      $solltemp= sprintf("%0.1f", $db_2/6.375); #<------------------
      push @event, "3:state:temperature $temp";
      push @event, "3:set_point: $solltemp";
      push @event, "3:setpoint:$db_2";
      push @event, "3:fan:$fspeed";

--- Ende Code ---

klaus.schauer:

--- Zitat von: immi schrieb am Sa, 18 Mai 2013 15:52 ---Hallo Klaus
danke fuer Dein fleissige Arbeit.
Ich finde dein Engagement in FHEM toll.

In der Vergangenheit hat SR04 als setpoint(solltemp) ein Wert in °C.
Heute haben wir ein Wert zwischen 0 und 255, den ich wirklich nicht brauchen kann.
Mir ist bewusst, dass Du den Datenblatt genau abgebildet hast.
http://www.thermokon.de/files/produktblatt-sr041319282511.pdf
Ich wuerde  lieber ein setpoint in °C  begrussen (wie in der Vergangenheit).

danke immi


--- Code: ---
elsif($model =~ m/^SR04/ || $st eq "SR04") {
      # Room Sensor and Control Unit
      # [Thermokon SR04 *]
      my ($fspeed, $temp, $present, $solltemp);
      $fspeed = 3;
      $fspeed = 2      if($db_3 >= 145);
      $fspeed = 1      if($db_3 >= 165);
      $fspeed = 0      if($db_3 >= 190);
      $fspeed = "Auto" if($db_3 >= 210);
      $temp   = sprintf("%0.1f", 40-$db_1/6.375);      # 40..0
      $present= $db_0&0x1 ? "no" : "yes";
      $solltemp= sprintf("%0.1f", $db_2/6.375); #<------------------
      push @event, "3:state:temperature $temp";
      push @event, "3:set_point: $solltemp";
      push @event, "3:setpoint:$db_2";
      push @event, "3:fan:$fspeed";

--- Ende Code ---

--- Ende Zitat ---

Einfach ein userReadings zusätzlich verwenden, z. B.
attr eg_kue_Temp userReadings set_point { ReadingsVal("eg_kue_Temp","setpoint",0)/6.375; }, siehe http://forum.fhem.de/index.php?t=msg&th=11549&goto=75895&rid=293#msg_75895, ff.

immi:
Danke Klaus
Dein workarround passt

--- Code: ---
attr eg_kue_Temp userReadings set_point {sprintf("%0.1f", ReadingsVal("eg_kue_Temp","setpoint",0)/6.375) }

--- Ende Code ---


aber ich bleibe der Meinung dass Vorher war besser.
M.e. Das Wert setpoint (from 0 to 255) wird niemand ohne Konvertierung in set_point (from 0 to 40°C) brauchen.

l.g.
Immi

klaus.schauer:

--- Zitat von: immi schrieb am Sa, 18 Mai 2013 22:04 ---Danke Klaus
Dein workarround passt

--- Code: ---
attr eg_kue_Temp userReadings set_point {sprintf("%0.1f", ReadingsVal("eg_kue_Temp","setpoint",0)/6.375) }

--- Ende Code ---


aber ich bleibe der Meinung dass Vorher war besser.
M.e. Das Wert setpoint (from 0 to 255) wird niemand ohne Konvertierung in set_point (from 0 to 40°C) brauchen.

l.g.
Immi
--- Ende Zitat ---

Ich denke nicht, dass die Lösung ein "um ein Problem herumarbeiten" zu deutsch workarround ist. Das EEP sieht nun mal die Ausgabe des Rohwertes vor, da die Skalierung der jeweiligen Geräte und Hersteller unterschiedlich ist. Ich habe eben nicht nur Skalen von 0 ... 40° gefunden! Also hätte ich eine zusätzliche universelle Skalierungsfunktion bauen müssen. Das hätte den Programmcode vergrößert, obwohl es eine Universallösung mit userReadings gibt. Das gleiche gilt auch für andere Anforderungen, die gewünscht wurden, z. B. aus dem Zählerwert eines Stromzählers den Preis zu berechnen.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln