Ist die Steuerung meiner Danfoss Air Lüfung per FHEM möglich?

Begonnen von marcus42, 29 April 2013, 18:00:45

Vorheriges Thema - Nächstes Thema

marcus42

Hallo zusammen,

bei uns zuhause arbeitet eine Danfoss Air Unit als Lüftungsanlage. Diese würde ich gerne über FHEM steuern. Das Steuergerät der Lüftung spricht Z-Wave und meine Frage ist ob mir jemand sagen kann, ob eine Steuerung per Z-Wave Stick und FHEM möglich ist.

Nach Recherche im Internet konnte ich zumindest ein Dokument finden in dem die relevanten "Device and Command Classes" angegebn sind.

Link zum PDF:
http://www.pepper1.net/zwavedb/uploads/resources/5a8c092487db9fa408978940e68a16873e4830da.pdf

Kann jemand helfen?

Vielen Dank vorab!

Gruß
Marcus

rudolfkoenig

Die wesentlichen Klassen (HRV_STATUS/HRV_CONTROL) sind zwar im FHEM Modul nicht implementiert, vmtl. muss man aber nur nach etwas experimentieren 5-10 Zeilen Hex-Code samt Bedeutung in 10_ZWave.pm/%zwave_class eintragen.

Die Codes der Parameter sind zwar in CommandClassSpec dokumentiert, mir fehlen aber die Codes der Klassen selber, in der frei verfuegbaren Quelltexten der zwapi bzw. openzwave kann ich sie nicht finden.
Laut CommandClassSpec muessten diese Nummer in einem ZW_classcmd.h dokumentiert sein.

Gerade gefunden: laut http://www.pepper1.net/zwavedb/device/184 ist es 0x37/0x39 :).
So'n Datenbank braeuchten wir auch fuer alle von FHEM unterstuetzten Geraete :)

marcus42

Hallo Rudolf,

vielen Dank für Deine prompte Rückmeldung!

Ich habe gerade in das besagte File 10_ZWave.pm geschaut und wüsste ehrlich gesagt noch nicht wo ich wie ansetzen muss.

Wenn ich Dich richtig verstanden habe, dann siehst Du aber gute Chancen mit Bastelwillen (bei mir vorhanden!) die Verbindung zu der Kiste herzustellen?!

Zunächst erstmal müsste ich mir den entsprechenden ZWave USB-Stick besorgen.

Darf ich Dich nochmal um Hilfe bitten, wenn die den Stick besorgt und in meiner FB7390 installiert habe?

VG
Marcus

rudolfkoenig

>  Ich habe gerade in das besagte File 10_ZWave.pm geschaut und wüsste ehrlich gesagt noch nicht wo ich wie ansetzen muss.

Die neu eingefuegte Zeile mit HRV_CONTROL zu sowas wie beim SWITCH_BINARY oder SWITCH_MULTILEVEL zu erweitern.

marcus42

ZWave Stick ist bestellt ... werde berichten.
Danke für die Infos!

VG
Marcus

marcus42

Der AEOTEC Z-Stick S2 ist hier nun angekommen und in die FB eingestöpselt.
Das entsprechende .ko Modul habe ich mit insmod geladen.

Das Modul des ZWDongle sagt nun Status 'Initialized'

In den Details steht dazu steht(Id geXt)

Readings:
homeId HomeId:xxxxxxxx CtrlNodeId:01 2013-05-02 18:05:09
nodeList 1 2013-05-02 17:26:18

Ist dies nun schon das 'ccd' der Lüftung oder ist dies der USB-Stick selbst?

Wenn ich es richtig verstehe muss ich nun in der 10_ZWave.pm unter HRV_STATUS z.B. den Command HRV_STATUS_REPORT mit einem HexWert hinterlegen welcher in einer .h Header-Datei ZW_classcmd.h aus einem SDK zu finden ist.

Kann man diese Werte irgendwie selber ermitteln?

Ich benötige nochmal Hilfe!

Danke vorab!



rudolfkoenig

In der nodelist kommt ueblicherweise mit 1 der USB-Stick selbst vor.
ZWave Geraete muss man mit diesem Stick (dem "controller") auch paaren, sonst kriegt man keine Daten (ungleich FS20): ZWDongle in pairing versetzen, und irgendein Knopf am geraet 3-mal druecken. Siehe auch Geraet-Doku.

Fuer die Klassen HRV_STATUS/HRV_Control muss man get/parse/set Eintraege definieren.
Beispiele anhand von SWITCH Multilevel erklaert:

set: { ..., dim => "01%02x", ... }
 Das set Befehl dim wird definiert (set dev ? liefert auch dim zurueck), und damit ist das in FHEMWEB verfuegbar. Da es ein % enthaelt (siehe man sprintf fuer details) wird genau ein Parameter enrwartet. Dies wird dann als hex formatiert (%02x), und zum Geraet samt Adresse und CRC geschickt. 01 ist das Uebliche Hex-Wert fuer set, das findet man bei den anderen Open-Source ZWave programmen heraus.

parse: { "032603(.*)"=> '($1 eq "00" ? "state:off" :
                         ($1 eq "ff" ? "state:on" :
                                       "state:dim ".hex($1)))',}, },

Parse analysiert Nachrichten vom Geraet (adresse/CRC ist schon gestrippt). In diesem Fall kommt 032603<HEXWERT> rein, wobei <HEXWERT> 00 ist fuer aus, ff fuer an und sonst ein Wert zw. 1 und 99 fuer ein Dimmwert. Dies wird als "state:xx" als FHEM-Event losgeschickt.

get: { swmStatus => "02" }
  Das get Befehl swmStatus wird definiert (get dev ? liefert es als Moeglichkeit zurueck), und beim Ausfuehren wird 02 (ueblicher Hexwert fuer get) mit den restlichen Daten (adresse, crc, etc) gesendet, und auf die Antwort gewartet. Die Antwort wird mit parse (siehe oben) analysiert, und ausgegeben.

Fuer die Beiden Klassen muss man solche Zeilen konstruiren, siehe auch die anderen Beispiele.
Die Klassennumer sind vermutlich richtig (HRV_STATUS == 37, HRV_CONTROL==39), die Nummer fuer set/get/parse sind mir unbekannt, aber hoffentlich gleich 1/2/3 wie bei den anderen Klassen.

Die restliche Bedeutung der HRV Parameter steht in dem besagten PDF, was (inoffiziell) auf dem Web zu finden ist :)

marcus42

Hallo Rudolf,

vielen Dank für die ausführliche Hilfestellung!

Ich werde in den nächsten Tagen etwas mit der Konfiguration rumspielen und danach Bericht erstatten :-)

VG
Marcus

marcus42

Hallo zusammen,

nun sind aus den paar Tagen doch ein paar Monate geworden,
aber der Sommer war viel zu schön, um nur am Rechner zu tüfteln :-)

Mit neuem Elan habe ich nun einige Versuche gestartet und kann einen Erfolg vermelden:

Zunächst habe ich nach einiger Suche ein sehr hilfreiches File gefunden,
in dem auch viele andere (sogar alle?) ZWave CommandClasses samt der zugehörigen Befehls-Codes aufgeführt sind.

Ich habe es als Anhang beigefügt.

Vielleicht hilft es ja dem Einen oder Anderen auch so wie mir.

Damit konnte ich schon mal erfolgreich einige der Steuerkommandos auf meiner KW-Lüftungsanlage ausführen
und Sensorwerte auslesen.

Sobald ich etwas Vorzeigbares für die FHEM datei 10_ZWave.pm habe, melde ich mich wieder ...

Gruß
Marcus

marcus42

Hallo,

ich habe mal versucht die CommandClass HRV_STATUS zu implementieren.
Für mich sieht es erst mal ok aus(siehe Anhang).

Ich bin mir nur nicht sicher, ob bei Minustemperaturen der korrekte Wert angezeigt wird.
Der ausgelesene Wert ist ein "signed" Wert.

@Rudolf: Kannst Du hier helfen?


  HRV_STATUS               => { id => '37',
    get   => {hrvStatus            => "01%02x",
              hrvStatusSupported   => "03",},
    parse => { "0637020042(....)"  => 'sprintf("outdoor_air_temperature: %0.1f C",'.'hex($1)/100)' ,
               "0637020142(....)"  => 'sprintf("supply_air_temperature: %0.1f C",'.'hex($1)/100)' ,
               "0637020242(....)"  => 'sprintf("exhaust_air_temperature: %0.1f C",'.'hex($1)/100)' ,
               "0637020342(....)"  => 'sprintf("discharge_air_temperature: %0.1f C",'.'hex($1)/100)' ,
               "0637020442(....)"  => 'sprintf("room_temperature: %0.1f C",'.'hex($1)/100)' ,                                                  
               "0537020501(..)"    => 'sprintf("relative_humidity_in_room: %s %%",hex($1))' ,
               "0537020601(..)"    => 'sprintf("remaining_filter_life: %s %%",hex($1))' ,
               "033704(..)"        => 'sprintf("status_supported: %b",hex($1))' ,
                     },},            




rudolfkoenig

Da es mehrere Moeglichkeiten gibt negative Werte darzustellen, waere es toll, wenn Du ein Beispiel (hex-Wert, und was es ungefaehr sein soll) zeigen koenntest.

Z.Zt. eine Aufgabe fuer den Tiefkuehlfach :)

marcus42

Hallo Rudolf,

es werden 2 Byte für die Darstellung der Temperaturen verwendet.
anbei ein paar Beispiele:


   Dec Hex
 32767 0x7FFF
  1025 0x0401
     2 0x0002
     1 0x0001
     0 0x0000
    -1 0xFFFF
    -2 0xFFFE
 -1025 0xFBFF
-32768 0x8000


Bei meiner Anlage wird dann mit 2 Nachkommastellen gerechnet und muss dafür durch 100 geteilt werden.

Aus der 1025 wird dann 10.25 Grad Celsius.

Gruß
Marcus

rudolfkoenig

Habe
- eine Funktion fuer das Vorzeichen eingebaut, bitte testen.
- die Readings nach in-fhem-ueblich umbenannt bzw. nach dem im development vereinbarten camelCasing konvertiert.
- dokumentiert
- eingecheckt -> ab morgen per update verfuegbar

Sonst:
- das Bitfield fuer hrvStatusSupported ist noch sehr "technisch", kannst du Deine bits zeigen oder (noch besser) irgendwo die Diste rauskriegen?
- z.Zt werden vmtl. nur Werte die durch 100 zu teilen sind erfasst, dass muss noch (bei Bedarf :) erweitert werden.

marcus42

#13
Hallo Rudolf,

positive Temperaturen funzen, für negative muss ichnoch ein bisschen warten.
Die Lüftungsanlage passt nicht ins Gefrierfach ;-)

Ich habe eine kleine Sub-Routine für das Bitfeld geschrieben.
magst Du mal drüberschauen, ggf. anpassen und einchecken?


#####################################
# interpretation of bitmask
# returns supported Parameters by hrvStatus
sub getHrvStatusSupported($)
{
  my ($p) = @_;
  $p = hex($p);
  my $string = "\n";
 
  if ($p >= 128 ){
    $p = $p-128; 
   }
  if ($p >= 64 ){
    $string = $string."6 = remainingFilterLife\n";
    $p = $p-64; 
  }
  if ($p >= 32 ){
    $string = $string."5 = indoorHumidity\n";
    $p = $p-32; 
  }
  if ($p >= 16 ){
    $string = $string."4 = indoorTemperature\n";
    $p = $p-16; 
  }
  if ($p >= 8 ){
    $string = $string."3 = dischargeAirTemperature\n";
    $p = $p-8; 
  }
  if ($p >= 4 ){
    $string = $string."2 = exhaustAirTemperature\n";
    $p = $p-4; 
  }
  if ($p >= 2 ){
    $string = $string."1 = supplyAirTemperature\n";
    $p = $p-2; 
  }
  if ($p == 1 ){
    $string = $string."0 = outdoorTemperature";
  }
   
  return $string;
}



Der Aufruf erfolgt hierüber:


  HRV_STATUS               => { id => \'37\',

  (einige Zeilen entfernt...)

               "033704(..)" =>
                   \'sprintf("supportedStatus: %s", getHrvStatusSupported($1))\', },},



Danke vorab!

Marcus

marcus42

#14
Hallo Rudolf,

ich habe mal die (für mich) wichtigsten Parameter für HRV_CONTROL eingepflegt.
Dies wird von mir noch erweitert werden.

Ich würde mich trotzdem freuen, wenn Du diesen Code bei Gelegenheit schon mal einpflegen könntest.

Vielen Dank!

Marcus


  HRV_CONTROL              => { id => '39',
      set   => {bypassOff => "0400",
                bypassOn  => "04FF",
                ventilationRate => "07%02x",
               },
      get   => {bypass          => "05",
                ventilationRate => "08",
               }, 
      parse => { "033906(..)"=> '($1 eq "00" ? "bypass:off" :
                                 ($1 eq "ff" ? "bypass:on" :
                                               "bypass:dim ".hex($1)))',
                 "033909(..)"=> 'sprintf("ventilationRate: %s",hex($1))',
                     },},


rudolfkoenig

> Ich habe eine kleine Sub-Routine für das Bitfeld geschrieben.

Habs etwas umformuliert, kannst Du bitte pruefen, ob es noch richtig funktioniert?


> ich habe mal die (für mich) wichtigsten Parameter für HRV_CONTROL eingepflegt.

Habs eingecheckt. Kannst Du bitte auch noch die Doku nachliefern?


gamauf

Hallo!
Habe auch eine Danfosss Air Lüftungsanlage, scheitere aber schon daran FHEM mit dem Danfoss gerät über Z-Wave sprechen zu lassen.
Kann mir jemand einen Tip geben wie ich die Inclusion machen muß?
Wer ist der primary contoller? FHEM od. Danfoss?
Welche Knöpfe muß ich drücken?

Danke!
Rainer

marcus42

Hallo Rainer,

sorry ich hatte den Thread nicht mehr abonniert, da ich nicht damit gerechnet habe,
dass auf der Welt außer mir noch jemand die Kombi aus hem und Danfoss Air betreibt :-)

Das Inkludieren funktionierte bei mir nur, wenn ich zuvor die CCM von der Fernbedienung des Herstellers exkludiert habe.
Der Stick ist der Master, CCM ist als Slave angebunden. Gleichzeitiger Betrieb von FB, CCM und Stick ist mir nicht gelungen.
Macht bei mir aber nichts, da alles was ich benötige über fhem zu steuern ist.

Dieses Dokument hat mir bei der Initialisierung geholfen:
http://www.pepper1.net/zwavedb/uploads/resources/5a8c092487db9fa408978940e68a16873e4830da.pdf

Reicht das als Info. Ansonsten muss ich nochmal tiefer in meinem Gedächtnis graben. Das kann einen Moment dauern ;-)

VG
Marcus

gamauf

Hallo Marcus!

Danke für Deine Antwort!

Nein Du bist nicht alleine, es gibt auch andere die dieses Problem haben! Gründen wir eine Selbsthilfegruppe? ;)

Scherz bei Seite.
Ich fasse nochmals zusammen, was ich mir aus deiner Antwort (und anderen Quellen) so zusammengereimt habe:

- FHEM mit Z-Wave USB Stick agiert ausschließlich als primary Controller / Z-Wave Master und läßt sich somit nicht in ein fremdes Z-Wave Netz "includen"

- Danfoss
Das Danfoss Air Dail (Fernbedienung, Bedienteil, das Batterie betriebene Ding mit Display und "Dreh-Drück-Rad") ist der Z-Wave Controller (sandardmäßig primary Controller / Master) und das
CCM (Kommunikationsmodul des Danfoss Air Lüftungsgerätes) ist Z-Wave "Device" / Slave

Da es nur einen primary Controller / Master in einem Z-Wave Netz geben kann und ein Sklave nur einem Meister gehorcht, muß er erst vom alten Meister verstoßen werden, bevor er sich einen neuen suchen kann.

Ich müßte also die CCM vom Air Dial "excluden", (laut der, von Dir verlinkten Anleitung, danke!) beide Geräte einem Factory-Reset unterziehen und danach kann ich das CCM an FHEM "includen". Danach sollte es auch möglich sein das Air Dial ins FHEM Z-Wave Netz als secondary Controller zu "includen" und es weiter zur Bedienung der Lüftung verwenden.

Habe mich aber bisher nicht getraut die Verbindung von Air Dail und CCM zu trennen um nicht die Kontrolle über die Lüftung zu verlieren.
Auch vor dem Factroy-Resett scheue ich noch zurück, da danach (laut Bedienungsanleitung) eine "Grundeinstellung des Systems" notwendig wird und ich nicht den dafür notwendigen Differenzdruckmesser habe.


Werde daher vielleicht doch lieber den Ansatz verfolgen FHEM und das CCM über die Ethernet-Schnittstelle kommunizieren zu lassen.
Hast Du dazu Erfahrungen oder Infos?
Hat schon jemand die Netzwerk-Kommunikation zwischen .net PC-Software (HRV PS-Tool) und dem CCM analysiert?


Grüße
Rainer



fireball

Hi,

eine Frage,  da das hier scheinbar dein einzige Post weltweit zum Thema FHEM + Danfoss KWL ist.
Was funktioniert denn jetzt schon und was nicht?
Kann man übers netzwerk die Lüftungsanlage abfragen, evtl. sogar steuern?
Oder gehts nur per ZWAVE-Stick und wenn ja was genau funktioniert dann?

VG+Danke

marcus42

Netzwerk geht leider nicht, da ich das Protokoll nicht analysiert habe.

Über ZWave funzt das Auslesen der Temperaturen, Filterabnutzung, Lüftungsstufen, Bypass, Luftfeuchte. Eigentlich alles was relevant ist .

Lüftungsstufen (im KWL Modus manuell) und der Bypass können bisher gesteuert werden. Die Lüftungsstufen steuere ich voll automatisiert über 2 VOC Sensoren (CO20 kompatibel von Velux 20,-) im Wohn- und Schlafzimmer. Der Auto-Bypass läuft teperaturgesteuert auch über fhem.

marcus42

#21
Hier noch Screenshots des Device.

fireball

Klingt super interessant und sieht super aus....

Welches zwave - gerät-sende modul hast du dir gekauft? usb oder zum aufstecken?!
Ich finde da eins von Busware, eins bei conrad... usw. Steckplatine, usb, ...

Muss ich nun erst das Air Dail aus der Anlage entfernen und das PI+Modul als Master einbinden oder gehts zusätzlich?
Und verliert die Anlage dabei nun ihre Werte? Ich hoffe doch nicht?!

Die Idee mit den CO2 Sensoren ist ja auch richtig klasse... kann man damit auch sowas steuern wie, wenn der Kamin an ist, dann soll die Lüftung von bedarfsorientiert in einen anderen Modus wechseln, zB aus oder mehr Luft ansaugen als absaugen, damit kein Unterdruck im Haus entsteht...

VG+Danke
René

VG
René

gamauf

Hallo René!

Durch langen Druck auf den Drehknopf des AirDail aktivierst Du das Service-Menü in dem Du Filter-Service Intervall, Sprache und Grundeinstellungen (Zu-/Abluft Prozent) Auslesen und Verändern kannst.

Falls Du Dich darüber traust CCM und AirDail zu trennen, zu resetten und über FHEM wieder zu verbinden, berichte bitte, ob das Neusetzen der oben genannten Einstellungen möglich bzw. nötig und ausrechend war damit die Anlage wieder funktioniert.

Danke!

LG
Rainer

marcus42

#24
Vorheriges Notieren der Abluft- Zuluft macht auf jeden Fall Sinn.

Nach meiner Erinnerung verstellen sich aber die Werte der Lüftung jedoch
nicht durch das Ablernen des AirDial und Anlernen am Z-Wave Controller.

marcus42

#25
Zitat von: gamauf am 23 Oktober 2015, 18:09:51

- FHEM mit Z-Wave USB Stick agiert ausschließlich als primary Controller / Z-Wave Master und läßt sich somit nicht in ein fremdes Z-Wave Netz "includen"

- Danfoss
Das Danfoss Air Dail (Fernbedienung, Bedienteil, das Batterie betriebene Ding mit Display und "Dreh-Drück-Rad") ist der Z-Wave Controller (sandardmäßig primary Controller / Master) und das
CCM (Kommunikationsmodul des Danfoss Air Lüftungsgerätes) ist Z-Wave "Device" / Slave

Da es nur einen primary Controller / Master in einem Z-Wave Netz geben kann und ein Sklave nur einem Meister gehorcht, muß er erst vom alten Meister verstoßen werden, bevor er sich einen neuen suchen kann.

Ich müßte also die CCM vom Air Dial "excluden", (laut der, von Dir verlinkten Anleitung, danke!) beide Geräte einem Factory-Reset unterziehen und danach kann ich das CCM an FHEM "includen". Danach sollte es auch möglich sein das Air Dial ins FHEM Z-Wave Netz als secondary Controller zu "includen" und es weiter zur Bedienung der Lüftung verwenden.

Habe mich aber bisher nicht getraut die Verbindung von Air Dail und CCM zu trennen um nicht die Kontrolle über die Lüftung zu verlieren.
Auch vor dem Factroy-Resett scheue ich noch zurück, da danach (laut Bedienungsanleitung) eine "Grundeinstellung des Systems" notwendig wird und ich nicht den dafür notwendigen Differenzdruckmesser habe.



Deine obigen Anmerkung decken sich mit meinen Erfahrungen. Bis auf eine Ausnahme:

Air-Dial habe ich (entgegen der verlinkten Doku) nicht verbunden bekommen, solange der Z-Wave-Stick mit CCM verbunden ist.
AirDial ist daher bei mir nicht in Betrieb  und das schon seit langer Zeit.
Da die KWL bei mir vollautomatisch läuft (s.o. CO20 Stick) ist das aber auch keine Einschränkung für uns.

Ich hatte auch vor einiger Zeit zum Test mal AirDial wieder angelernt gehabt.
Da musste ich dann im AirDial das Verhältnis zwischen Zu- Abluft in Prozent angeben.

Man kann also zur Not auch wieder zurück :-)

fireball

Ok,

dann werde ich das doch mal angehen.
Nur nochmal die Frage nach welchem Stick?! USB oder son Steckboard?! Wie sind da eure Erfahrungen?

VG

marcus42

#27
vgl Posting #5: AEOTEC Z-Stick S2

keine Probleme, aber ich habe auch keinen Vergleich mit anderer Hardware ;-)

gamauf

Zitat von: marcus42 am 17 Januar 2016, 12:13:08
Deine obigen Anmerkung decken sich mit meinen Erfahrungen. ...
Danke fürs Feedback!

Grüße
Rainer

fireball

Moin Moin,

lange ist es her... aber über XMAS bin ich endlich dazu gekommen meine KWL zu exkludieren und in Fhem zu inkludieren.
Nun kann ich per get zwar die Werte einzeln auslesen und dadurch wird die Liste der Readings auch (einmalig) größer, aber ich würde gern die Werte minütlich haben... und in einem Log und dann daraus ein Diagramm erzeugen und wenn möglich mit den VOC Sensoren in Abhängigkeit die Lüftung schalten.

Könnt ihr mir dabei kurz helfen?
Kann man die Lüftung eigentlich komplett deaktivieren oder nur auf ventilationrate 10 setzen?!

VG und danke!
René

gamauf

Hallo René!

Hast du nur die CCM oder auch das Danfoss Air Dail mit FHEM verbunden?
Kannst Du ein List des/der entsprechenden FHEM Device(s) posten?
Hat FHEM ein XML File für das/die Gerät(e) (reading "modelConfig")?
Über "config*" Parameter kann man bei Z-Wave Geräten normalerweise einstellen ob/wann sie von sich aus Messwerte übertragen. Wenn die entsprechende Doku fehlt, wird's aber schwierig...
Wenn das Gerät von sich aus nicht sendet, dann muß man eben pollen; per at device regelmäßig "Get..." Befehle absetzten.

Die Lüftungsrate lässt sich nur zwischen 1 und 10 einstellen. 0 ist nicht möglich; soll wahrscheinlich verhindern, dass sic Staub, Ungeziefer, etc. in den Lüftungsrohren festsetzt.

LG
Rainer

gamauf

wenn die Info hier stimmt:
http://www.pepper1.net/zwavedb/device/184

hat das CCM weder CONFIG PARAMETERS noch ASSOCIATION GROUPS.

Ohne Assoziation mit dem Maincontroller kann das Gerät auch nichts von sich aus schicken! Also Pollen!

fireball

Hi,

also das Gerät hat hrvStatus und das kann mit Parametern abgefragt werden:
get device hrvStatus (1-6)

0 = outdoorTemperature
1 = supplyAirTemperature
2 = exhaustAirTemperature
3 = dischargeAirTemperature
4 = indoorTemperature
5 = indoorHumidity
6 = remainingFilterLife

Die Werte brauch ich jetzt in einem Log... ich muss die alle umständlich einzeln abfragen, das habe ich jetzt hinbekommen:

define KWL_Log FileLog ./log/hwr_kwl-%Y-%m.log Innentemperatur|Feuchtigkeit|Aussentemperatur|...
#define Innentemperatur dummy
#define KWL_Daten1 at +*00:00:05 { my $d= ReadingsVal("KWL","indoorTemperature",0);; fhem("set Innentemperatur: $d")}
#define Feuchtigkeit dummy
#define KWL_Daten2 at +*00:00:05 { my $d= ReadingsVal("KWL","indoorHumidity",0);; fhem("set Feuchtigkeit: $d")}
#define Aussentemperatur dummy
#define KWL_Daten3 at +*00:00:05 { my $d= ReadingsVal("KWL","outdoorTemperature",0);; fhem("set Aussentemperatur: $d")}
#define Ventilationsrate dummy
#define KWL_Daten4 at +*00:00:05 { my $d= ReadingsVal("KWL","ventilationRate",0);; fhem("set Ventilationsrate: $d")}
#define Filterleistung dummy
#define KWL_Daten5 at +*00:00:05 { my $d= ReadingsVal("KWL","remainingFilterLife",0);; fhem("set Filterleistung: $d")}

usw...

Dann werden die Readings auf der FHEM Webseite nicht automatisch aktualisiert, aber ich bekomme es in ein LogFile
mit dem Kommando get werde sie aktualsiert.

Ich würde die gern alle X min abfragen und gleichzeitig in ein LogFile schreiben.
Steh grad auf dem Schlauch und finde auch in der Fhem-Referenz kein Kommando wo ich sagen kann gibt mir alles "get hrvStatus*"

Laut der Referenz von Markus
http://www.pepper1.net/zwavedb/uploads/resources/5a8c092487db9fa408978940e68a16873e4830da.pdf
Kann man dann auch mit set arbeiten und Werte selber setzen...

Aber ich glaube ich habe hier schon ein Grundlagenproblem?!
VG
René

fireball

#33
Hi Rainer,

das kommt bei "get KWL config*" raus:

Unknown argument config*, choose one of basicStatus:noArg bypass:noArg hrvStatus hrvStatusSupported:noArg model:noArg neighborList:noArg ventilationRate:noArg version:noArg versionClass versionClassAll:noArg

Wahrscheinlich geht die Einstellung 0 bzw aus nicht, weil das Gerät ja, wenn es standalone läuft, nur Werte an die Temperaturfühler im Gerät bekommt, wenn auch eine Luftbewegung da ist.
Der Hersteller hat wahrscheinlich nie vorgesehen, dass einer daherkommt und extern etwa misst und dann steuert. Also muss das Gerät immer laufen. Könnte man nur über einen zB Z-Wave Steckdosenstecker machen und das Gerät komplett trennen.
Das AIR DAIL scheint nicht selber zu messen, sonst wäre es ja der externe Fühler. Das AIR DAIL habe ich nicht eingebunden.

so sehen alle Readings in der FHEM Oberfläche aus, siehe Bild


fireball

sooooo weiter getestet und deine Idee mit dem "at" umgesetzt:

define KWL_Daten1 at +*00:00:10 get KWL hrvStatus 0
define KWL_Daten2 at +*00:00:10 get KWL hrvStatus 1
define KWL_Daten3 at +*00:00:10 get KWL hrvStatus 2
define KWL_Daten4 at +*00:00:10 get KWL hrvStatus 3
define KWL_Daten5 at +*00:00:10 get KWL hrvStatus 4
define KWL_Daten6 at +*00:00:10 get KWL hrvStatus 5
define KWL_Daten7 at +*00:00:10 get KWL hrvStatus 6
define KWL_Daten8 at +*00:00:10 get KWL ventilationRate
define KWL_Daten9 at +*00:00:10 get KWL bypass
define KWL_Daten0 at +*00:00:10 get KWL basicStatus

und

define KWL_Log FileLog ./log/hwr_kwl-%Y-%m.log (KWL:(indoorTemperature|outdoorTemperature|indoorHumidity).*)



Wird jetzt alles aktualisiert und geloggt.

Kurze Frage, kann man die "at" Befehle nicht in einem absetzen!?

VG
René

gamauf

Hallo René!

Mit "config*" meinte ich alle Parameter in dem get Dropdown Menü die mit "config" beginnen, aber wie in meinem letzten Post angemerkt wird es da wahrscheinlich nichts geben.

ZitatKurze Frage, kann man die "at" Befehle nicht in einem absetzen!?
Ja
define KWL_Daten at +*00:00:10 get KWL hrvStatus 0;get KWL hrvStatus 1;get KWL hrvStatus 2;get KWL hrvStatus 3;get KWL hrvStatus 4;get KWL hrvStatus 5;get KWL hrvStatus 6;get KWL ventilationRate;get KWL bypass;get KWL basicStatus
(oder so ähnlich) sollte gehn!

Könntest Du bitte noch die ausgabe von einem
list KWL
posten. Dann kann ich besser sehen wie das FHEM Devise aussieht.

LG
Rainer

fireball

Moin Moin Rainer,

anbei ein Screenshot und ein list KWL

Internals:
   DEF        ec4154d2 3
   IODev      ZWDongle_0
   LASTInputDev ZWDongle_0
   MSGCNT     2778
   NAME       KWL
   NR         36
   STATE      ???
   TYPE       ZWave
   ZWDongle_0_MSGCNT 2778
   ZWDongle_0_RAWMSG 00040003032003ff
   ZWDongle_0_TIME 2017-01-04 21:30:49
   ZWaveSubDevice no
   homeId     ec4154d2
   isWakeUp
   lastMsgSent 1483561849.78261
   nodeIdHex  03
   Readings:
     2017-01-04 21:30:49   basicReport     255
     2017-01-04 21:30:49   bypass          off
     2017-01-04 21:30:49   dischargeAirTemperature  3.8 C
     2017-01-04 21:30:49   exhaustAirTemperature  21.1 C
     2017-01-04 21:30:49   indoorHumidity   32 %
     2017-01-04 21:30:49   indoorTemperature  22.0 C
     2017-01-03 21:07:24   model           0x0002 0x8007 0x0202
     2017-01-03 21:07:24   modelId         0002-8007-0202
     2017-01-01 22:41:34   neighborList    ZWDongle_0
     2017-01-04 21:30:49   outdoorTemperature  2.6 C
     2017-01-04 21:30:49   remainingFilterLife  97 %
     2017-01-04 21:30:49   supplyAirTemperature  13.0 C
     2017-01-03 20:43:10   supportedStatus 0 = outdoorTemperature
1 = supplyAirTemperature
2 = exhaustAirTemperature
3 = dischargeAirTemperature
4 = indoorTemperature
5 = indoorHumidity
6 = remainingFilterLife
     2017-01-04 21:30:49   timeToAck       0.029
     2017-01-04 21:30:49   transmit        OK
     2017-01-04 21:30:49   ventilationRate  10
     2017-01-02 21:33:32   version         Lib 1 Prot 2.67 App 2.7
Attributes:
   IODev      ZWDongle_0
   classes    BASIC MANUFACTURER_SPECIFIC MANUFACTURER_PROPRIETARY HRV_STATUS HRV_CONTROL VERSION
   icon       vent_ventilation
   room       HWR
   vclasses   BASIC:1 HRV_CONTROL:1 HRV_STATUS:1 MANUFACTURER_PROPRIETARY:1 MANUFACTURER_SPECIFIC:1 VERSION:1



Die nutzen des langen get für KWL_Daten funktioniert.
Danke!
VG
René

fireball

Moin Moin,

da die KWL mir im Winter die Luft zu sehr im Haus austrocknet und im Sommer nur kalte Luft reinholen soll ( also nur nachts laufen soll), habe ich mich entschieden einen ZWAVE WALL PLUG zur "Steuerung" einzubauen und damit die KWL ein und aus zu schalten.

Ausschalten bzw. die Lüfterstufe 0 gibts ja nicht.

Ich hatte auch überlegt, aufgrund der WetterUndergrund Daten in Abhängigkeit der Luftfeuchte die Anlage noch zu steuern, aber dazu später...

Hat noch jemand das PDF, was man alles bei der Anlage steuern kann über FHEM?
Die PepperLinks sind alle down...

Eine Frage, in der Bedienungsanleitung steht noch was von Bypass, Nachtkühlung usw, übeer air dail war das ja steuerbar, über fhem aber nicht?!
zB is mein Bypass aus, trotz Sommer.... der müsste an sein, damit die Wärmerückgewinnung nicht stattfindet.

VG
René


marcus42

Hallo,

Bypass Ein/Aus kannst Du mit dem aktuellen  Fhem ZWave Modul schalten.
Die autom. Steuerung dafür zB in Abhängigkeit der Temperaturen / Luftfeuchte musst Du in Fhem mit Notifies ggf.selber implementieren.

Marcus

fireball

Hi,

danke für Eure Antworten. Als ich die Lüftung exkludiert und in FHEM inkludiert hatte, bin ich davon ausgegangen, dass die alten Einstellungen in der Anlage verbleiben.
Demnach hätte sie aber automatisch auf Sommerbetrieb umstellen müssen und die Bypass einschalten müssen (oder habe ich einen Denkfehler und er muss aus?!)

Jedenfalls, wenn ich manuell den Bypass einschalte... dann schaltet die Anlage sie wieder aus.
Wenn ich die Ventilatorrate auf 1 stelle, dann bleibt sie auf 10....

ich bin mir grad nicht so sicher... deswegen bräuchte ich auch mal dieses dokument, welches die möglichen Einstellung dargestellt hat. die Pepperlinks geben das leider nicht her.

VG
René

gamauf

Zitat von: fireball am 27 Juni 2017, 23:35:12
...  im Sommer nur kalte Luft reinholen soll ( also nur nachts laufen soll)...
Hallo René!
Durch den Wärmetaucher bleibt es im Sommer drinnen kühl auch wenn draußen warm ist.
Wenn es drinnen schon warm ist bringt das Lüften in der Nacht nur etwas wenn deine Anlage einen Bypass hat der den Wärmetaucher umgeht, sonnst bleibt's drinnen heiß!

Der Wärmetauscher bewirkt ja, dass, trotz Luftaustausch, die Wärme dort bleibt wo sie ist (egal ob drinnen oder draußen!)

LG
Rainer

fireball

Hi Rainer,

das hat die Danfoss ja... die hat einen Bypass und kann damit die Wärmerückgewinnung ausschalten. Es gibt ja sogar ein Nachtkühlungsprogramm, wie ich jetzt erst "aktiv" gelesen habe.
Ich würde nur halt, weil die KWL ja keine aktive Kühlung hat, eben nur nachts lüften wollen.

Weitere Gründe wären Stromverbrauch (wobei bei Volllast hat sie 41Watt/h).
Sie wälzt so 350m³/h um, d.h. mein Haus wäre in 2h voll gelüftet. Warum soll sie dann halt den ganzen Tag laufen.

Im Winter macht sich das Problem mit der rel. Luftfeuchtigkeit bemerkbar. Durch das ständige Lüften und hinzufüren der frischen Luft, wird der innenraum auf bis zu 20% rel. Luftfeuchtigkeit abgesenkt... das ist schon einigen Freunden unangenehm aufgefallen.
Das würde ich durch nicht so ständiges/unnötiges Lüften gern verhindern...

Hier mal eine Tabelle zu den Lüfterstufen, auch wenn sie auf der kleinsten Stufe nur 4 Watt verbrauchen sollte... (noch nicht gemessen) und 19h braucht um das Haus einmal umzuwälzen, so bleibt trotzdem das PRoblem mit der Luftfeuchtigkeit im Winter und tagsüber im Sommer mit dem reinpumpen der Wärme...




fireball

Hi... ich glaube meine Tabelle ist falsch... Rainer hat mir grad das gesuchte Dokument geschickt, demanch läuft meine Anlage wahrscheinlich auf Stufe 1 (ventilatorrate 10)... mit 41 Watt. Ich prüfe das heute nochmal.
VG
René

gamauf

Hi René!

So eine Lüftungsanlage baut man üblicherweise in luftdichte Häuser ein. In älteren Häusern, wo die Fenster nicht so dicht sind, hat man ja automatisch einen (unfreiwilligen) Luftaustausch, im Winter mit Wärmeverlust.
Um diesen Wärmeverlust zu verhindern baut man jetzt die Häuser luftdicht und, damit die Bewohner nicht ersticken sorgt die KWL für Frischluft ohne Wärmeverlust.

Daher sollte, meiner Meinung nach, wenn die Fenster zu sind die KWL immer, zumindest auf niedriger Stufe, laufen.
Wenn sich die Innentemperatur NCHT an die Außentemperatur anpassen soll OHNE aktiven Bypass, wenn sich die Innentemperatur an die Außentemperatur anpassen soll (im Sommer wenn's Nachts draußen kühl ist um die Hitze aus dem Haus zu bekommen) mit aktivem Bypass.

LG
Rainer

fireball

Hi,

was mach ich denn falsch, die Anlage läuft und ich bekomme alle Werte, aber ich möchte bei der Anlage jetzt die VentilationRate setzen, um einen PartyModus zu etablieren.
Ich steuere die Anlage jetzt abhängig von einem CO2 Sensor.
Aber die KWL macht nichts... ich kann einen Wert setzten, aber wenn ich ihn wieder auslese, dann ist es der alte, die Rate steht immer auf 10, aber 10 wäre eigentich aus!? Komisch....


Get or set mode of system (demand, schedule,energy saving, manual).
Get or set setting of bypass (if supported byDanfoss Air unit type)
Get or set ventilation rate in manual mode.
Note regarding manual mode:
The Danfoss Air system supports 10 differentventilation rates in manual mode. The 10 rates are mapped to the command class values as described here:
Off => 10
1...99 => 10,20,30,40,50,60,70,80,90
On => 255

Liegts an automatic und manual?! Mir kommt grad ne Idee... muss ich erst einmal set: 255 machen und dann ein set: 90 um die anlage in den ManualMode zu versetzen und dann auf 90 zu stellen?!

VG + Danke!
René

fireball

Kann mir einer bei meinem Problem helfen? Wie schalte ich die Anlage zwischen Manual und Automatic Modus um?
VG+Danke
René

fireball


marcus42

Mit der originalen FB oder der Windows Software erst mal in den manuellen Modus schalten.

Den Automatikmodus der KWL hab ich schon seit Jahren nicht mehr in Gebrauch.

Über das Modul den Modus umschalten geht (noch) nicht.


Gesendet von iPhone mit Tapatalk Pro

fireball

Hi Marcus, dann wirds mir jetzt auch klar, warum da nix geht. :)

OK, dass werde ich nochmal probieren.
Ich habe schon gedacht, ich mach was falsch oder es geht bei mir nicht oder oder oder...

Ist noch jemand an dem Modul dran oder ist die Entwicklung eingestellt?
Weil die Danfoss-Lüftungen bekommst ja auch nicht mehr zu kaufen geschweige denn die Software für Windows zum Download.

VG
René




marcus42

Ich glaube ich bin der einzige der daran geschraubt hat :-)

Windows Software kann ich Dir evtl. zukommen lassen. Schreib mal ne DM


Gesendet von iPhone mit Tapatalk Pro

fireball

OK, ich schreib dir noch ne PM.

Anonsten wäre es cool, wenn man das nochmal ein bisl beleben könnte.

Aktuell steuere ich die Anlage mit ne ZWAVE Powerplug und schalte die komplette Anlage in Abhängigkeit eines CO2 Senors ein und aus.
Aber halt hart, leider hat die Anlage ja kein OFF... viell. ja doch über die ZWAVE STeuerung?!?

The Danfoss Air system supports 10 differentventilation rates in manual mode. The 10 rates are mapped to the command class values as described here:
Off => 10

Über die Fernbedienung meine ich war 1 immer die kleineste Stufe?!

VG
René

fireball

Hallo Freunde,

lang ist es her... ich bin immernoch unzfrieden mit der Steuerung meiner Lüftung auch wenn @Marcus42 hier super Vorarbeit geleistet hatte.

Ich habe mich jetzt nochmal in das Thema eingegraben. Meine aktuelle Steuerung war, wie schon beschrieben, per ZWAVE Plug die Anlage ein und auszuschalten.
Und aufgrund des co2mini quasi eine Sonderlüftung zu etablieren. (nennen wir es Boost :) )

Warum habe ich das gemacht... die Anlage muss in meinem Haus nicht druchlaufen... soviel Luft kann ich gar nicht verbrauchen und es spart Strom, ich habe die Lüftung nur nachts laufen lassen, damit frische kühle Luft im Sommer rein kommt und ich beim Schlafen frische Luft habe.

Jetzt habe ich, mal auf der Danfoss Seite gegooglet und noch einen aktuelleren Link CC (siehe Bilder gefunden) und mal gekauft.
Lüftung exkludet und an den Linx CC angebunden...
Danfoss sagt, man kann dann die Lüftung auch per App koppeln, per Alexa steuern... und ich dachte, viell komme ich über HTTP Request im heimischen Netzwerk eher an die restlichen Funktionen.

Leider ist alle gut abgesichert und auch mit Proxies dazwischen bin ich nicht an den Datenverkehr gekommen.

Der Danfoss Link CC kann !!! die Lüfung auf NULL !!! Setzen und damit ausschalten...
Es gibt auch einen Boost Modus... (kann mich nicht erinnern das es den im alten CCM gab...)
Lüfterstufen lassen sich manuell steuern... oder die Anlage macht es selber...

Wie kann ich jetzt helfen, die restlichen Funktionen in das Modul zu bekommen... ich kann nicht wirklich PERL aber ich bin auch nicht unerfahren...
Geht das irgendwie mit Try&Error? Marcus42 hatte ja mal alle CommandCLassen hier angehangen..
Da gibts noch soviel mehr:
<cmd_class key="0x39" version="1" name="COMMAND_CLASS_HRV_CONTROL" help="Command Class Hrv Control" read_only="False" comment="">
<cmd key="0x05" name="HRV_CONTROL_BYPASS_GET" help="Hrv Control Bypass Get" comment=""/>
<cmd key="0x06" name="HRV_CONTROL_BYPASS_REPORT" help="Hrv Control Bypass Report" comment="">
<param key="0x00" name="Bypass" type="BYTE" typehashcode="0x01" comment="">
<valueattrib key="0x00" hasdefines="False" showhex="True"/>
</param>
</cmd>
<cmd key="0x04" name="HRV_CONTROL_BYPASS_SET" help="Hrv Control Bypass Set" comment="">
<param key="0x00" name="Bypass" type="BYTE" typehashcode="0x01" comment="">
<valueattrib key="0x00" hasdefines="False" showhex="True"/>
</param>
</cmd>
<cmd key="0x02" name="HRV_CONTROL_MODE_GET" help="Hrv Control Mode Get" comment=""/>
<cmd key="0x03" name="HRV_CONTROL_MODE_REPORT" help="Hrv Control Mode Report" comment="">
<param key="0x00" name="Properties1" type="STRUCT_BYTE" typehashcode="0x07" comment="">
</param>
</cmd>
<cmd key="0x01" name="HRV_CONTROL_MODE_SET" help="Hrv Control Mode Set" comment="">
<param key="0x00" name="Properties1" type="STRUCT_BYTE" typehashcode="0x07" comment="">
<fieldenum key="0x00" fieldname="Mode" fieldmask="0x1F" shifter="0">
</fieldenum>
<bitfield key="0x01" fieldname="Reserved" fieldmask="0xE0" shifter="5"/>
</param>
</cmd>
<cmd key="0x0A" name="HRV_CONTROL_MODE_SUPPORTED_GET" help="Hrv Control Mode Supported Get" comment=""/>
<cmd key="0x0B" name="HRV_CONTROL_MODE_SUPPORTED_REPORT" help="Hrv Control Mode Supported Report" comment="">
<param key="0x00" name="Properties1" type="STRUCT_BYTE" typehashcode="0x07" comment="">
<fieldenum key="0x00" fieldname="Manual Control Supported" fieldmask="0x0F" shifter="0">
<fieldenum value="Bypass Open Close"/>
<fieldenum value="Bypass Auto"/>
<fieldenum value="Modulated Bypass"/>
<fieldenum value="Ventilation Rate"/>
</fieldenum>
<bitfield key="0x01" fieldname="Reserved" fieldmask="0xF0" shifter="4"/>
</param>
<param key="0x01" name="Bit Mask" type="BITMASK" typehashcode="0x06" comment="">
<bitmask key="0x00" paramoffs="255" lenmask="0x00" lenoffs="0"/>
</param>
</cmd>
<cmd key="0x08" name="HRV_CONTROL_VENTILATION_RATE_GET" help="Hrv Control Ventilation Rate Get" comment=""/>
<cmd key="0x09" name="HRV_CONTROL_VENTILATION_RATE_REPORT" help="Hrv Control Ventilation Rate Report" comment="">
<param key="0x00" name="Ventilation Rate" type="BYTE" typehashcode="0x01" comment="">
<valueattrib key="0x00" hasdefines="False" showhex="True"/>
</param>
</cmd>
<cmd key="0x07" name="HRV_CONTROL_VENTILATION_RATE_SET" help="Hrv Control Ventilation Rate Set" comment="">
<param key="0x00" name="Ventilation Rate" type="BYTE" typehashcode="0x01" comment="">
<valueattrib key="0x00" hasdefines="False" showhex="True"/>
</param>
</cmd>
</cmd_class>
<cmd_class key="0x37" version="1" name="COMMAND_CLASS_HRV_STATUS" help="Command Class Hrv Status" read_only="False" comment="">
<cmd key="0x01" name="HRV_STATUS_GET" help="Hrv Status Get" comment="">
<param key="0x00" name="Status Parameter" type="CONST" typehashcode="0x0B" comment="">
<const key="0x00" flagname="Outdoor Air temperature" flagmask="0x00"/>
<const key="0x01" flagname="Supply Air temperature" flagmask="0x01"/>
<const key="0x02" flagname="Exhaust Air temperature" flagmask="0x02"/>
<const key="0x03" flagname="Discharge Air temperature" flagmask="0x03"/>
<const key="0x04" flagname="Room temperature" flagmask="0x04"/>
<const key="0x05" flagname="Relative Humidity in room" flagmask="0x05"/>
<const key="0x06" flagname="Remaining filter life" flagmask="0x06"/>
</param>
</cmd>
<cmd key="0x02" name="HRV_STATUS_REPORT" help="Hrv Status Report" comment="">
<param key="0x00" name="Status Parameter" type="CONST" typehashcode="0x0B" comment="">
<const key="0x00" flagname="Outdoor Air temperature" flagmask="0x00"/>
<const key="0x01" flagname="Supply Air temperature" flagmask="0x01"/>
<const key="0x02" flagname="Exhaust Air temperature" flagmask="0x02"/>
<const key="0x03" flagname="Discharge Air temperature" flagmask="0x03"/>
<const key="0x04" flagname="Room temperature" flagmask="0x04"/>
<const key="0x05" flagname="Relative Humidity in room" flagmask="0x05"/>
<const key="0x06" flagname="Remaining filter life" flagmask="0x06"/>
</param>
<param key="0x01" name="Properties1" type="STRUCT_BYTE" typehashcode="0x07" comment="">
<bitfield key="0x00" fieldname="Size" fieldmask="0x07" shifter="0"/>
<bitfield key="0x01" fieldname="Scale" fieldmask="0x18" shifter="3"/>
<bitfield key="0x02" fieldname="Precision" fieldmask="0xE0" shifter="5"/>
</param>
<param key="0x02" name="Value" type="VARIANT" typehashcode="0x0C" comment="">
<variant paramoffs="255" showhex="True" signed="True" sizemask="0x00" sizeoffs="0"/>
</param>
</cmd>
<cmd key="0x03" name="HRV_STATUS_SUPPORTED_GET" help="Hrv Status Supported Get" comment=""/>
<cmd key="0x04" name="HRV_STATUS_SUPPORTED_REPORT" help="Hrv Status Supported Report" comment="">
<param key="0x00" name="Bit Mask" type="BITMASK" typehashcode="0x06" comment="">
<bitmask key="0x00" paramoffs="255" lenmask="0x00" lenoffs="0"/>
</param>
</cmd>
</cmd_class>


Wie kann ich das ausprobieren und rausfinden was was ist und damit das Modul erweitern?
Ich persönlich finde das umschalten zwischen "manuell und auto" noch sehr wichtig... sonst machen die Lüftungsstufen ja keinen Sinn.
Die Lüftungsstufe 0 bzw off wäre noch super...
Wenn die Anlage dann nämlich "online" bleibt hat man auch durchgängig Temperaturwerte...

Wäre schön, wenn ihr mir helft euch zu helfen :)

VG
René

PS: Danfoss supportet natürlich nichts mehr... und gibt auch keine Infos raus...

fireball

#53
Kurze nachtrag.... ich bin in der openhub communitiy fündig geworden... die haben fleissig weiter gemacht und bassierend auf dem Netzwerk folgendes Modul entwicklert:

https://www.openhab.org/addons/bindings/danfossairunit/

https://community.openhab.org/t/danfoss-air-unit-ethernet-connection/17844/96

hier haben sie scheinbar eine dokumentation aller werte:

https://docs.google.com/spreadsheets/d/1FnWGzeicXrBhMg_jaHFM7jzVb_5aiflNTMsUz-j_rRo/edit#gid=0


Wenn man hier in den Javacode schaut, dann findet man auch die HEX Werte dokumentiert:

https://github.com/leaxidd/openhab2-addons/blob/DanfossHRV/addons/binding/org.openhab.binding.danfossairunit/src/main/java/org/openhab/binding/danfossairunit/handler/DanfossAirUnit.java

    public static final byte MODE_AUTOMATIC = 1;
    public static final byte MODE_MANUAL = 2;
    public static final byte MODE_PROGRAM = 3;
    private static final byte[] DISCOVER_SEND = { 0x0c, 0x00, 0x30, 0x00, 0x11, 0x00, 0x12, 0x00, 0x13 };
    private static final byte[] DISCOVER_RECEIVE = { 0x0d, 0x00, 0x07, 0x00, 0x02, 0x02, 0x00 };
    private static final byte[] EMPTY = {};
    private static final byte[] GET_HISTORY = { 0x00, 0x30 };
    private static final byte[] REGISTER_1_READ = { 0x01, 0x04 };
    private static final byte[] REGISTER_1_WRITE = { 0x01, 0x06 };
    private static final byte[] REGISTER_4_READ = { 0x04, 0x04 };
    private static final byte[] REGISTER_6_READ = { 0x06, 0x04 };
    private static final byte[] MODE = { 0x14, 0x12 };
    private static final byte[] FAN_SPEED = { 0x15, 0x61 };
    private static final byte[] BASE_IN = { 0x14, 0x40 };
    private static final byte[] BASE_OUT = { 0x14, 0x41 };
    private static final byte[] BYPASS = { 0x14, 0x60 };
    private static final byte[] BYPASS_DEACTIVATION = { 0x14, 0x63 };
    private static final byte[] BOOST = { 0x15, 0x30 };
    private static final byte[] NIGHT_COOLING = { 0x15, 0x71 };
    private static final byte[] AUTOMATIC_BYPASS = { 0x17, 0x06 };
    private static final byte[] AUTOMATIC_RUSH_AIRING = { 0x17, 0x02 };
    private static final byte[] MODEL = { 0x00, 0x25 };
    private static final byte[] HUMIDITY = { 0x14, 0x70 };
    private static final byte[] ROOM_TEMPERATURE = { 0x03, 0x00 };
    private static final byte[] OUTDOOR_TEMPERATURE = { 0x03, 0x34 };
    private static final byte[] SUPPLY_TEMPERATURE = { 0x14, 0x73 };
    private static final byte[] EXTRACT_TEMPERATURE = { 0x14, 0x74 };
    private static final byte[] EXHAUST_TEMPERATURE = { 0x14, 0x75 };
    private static final byte[] BATTERY_LIFE = { 0x03, 0x0f };
    private static final byte[] FILTER_LIFE = { 0x14, 0x6a };
    private static final byte[] CURRENT_TIME = { 0x15, (byte) 0xe0 };
    private static final byte[] AWAY_TO = { 0x15, (byte) 0x20 };
    private static final byte[] AWAY_FROM = { 0x15, (byte) 0x21 };


hilft uns das, das Modul auszubauen?!
VG
René

fireball