FHEM - Hausautomations-Systeme > EnOcean

MD15 Subtype wird falsch gesetzt

<< < (6/8) > >>

krikan:

--- Zitat von: Schorsch M. schrieb am Sa, 16 März 2013 11:44 ---Servus,

interessanter Weiße wird DB_0 in der Richtung controller to the actuator im Handbuch von Kieback&Peter für den MD15 gar nicht erst beschrieben.
https://extranet.kieback-peter.de/download/3.09-20.315-01-EN-MD15-FTL-xx-2012-12-07.pdf?37748
Im enocean equipment profile hingegen schon.

Fragen über Fragen
--- Ende Zitat ---


Hi,
bisher habe ich immer in der EEP 2.1-Beschreibung auf der Homepage von Enocean geschaut. Das Handbuch von Kieback&Peter schaue ich mir auch mal an; danke für den Hinweis darauf. Irgendwie sollte das Ding doch mit FHEM laufen....
Gruß, Christian

PS: Es gibt anscheinend auch ein neues EEP 2.5 (http://www.enocean-alliance.org/de/enocean-alliance-entwickelt-funkstandard-fuer-gruene-gebaeude-weiter/)

krikan:
Hallo Zusammen!

Nach langem Basteln bin ich jetzt nach kleinen Codeänderungen in 10_EnOcean.pm in der Lage den MD15 mit FHEM zu steuern und nicht nur zu pairen. Ich habe dazu folgende Anpassung in Sub EnOcean_MD15Cmd($$$) vorgenommen/ersetzt:

Zeile 1215 für actuator: $msg = sprintf("%02X7F0008", $arg1);

Zeile 1218 und 1219 für desired-temp: $msg = sprintf("%02X7F0408", $arg1*255/40);

Rot markiert sind meine geänderten Werte.
In db_0 habe ich beide Telegramme als Datentelegramm (0x08) markiert, vorher waren es Lerntelegramme.
In db_2 habe ich die Konstante 0x7F aufgenommen; den Wert habe ich aus den mitgeschnittenen Daten (siehe vorherige Beiträge). Hier muss wohl nicht die aktuelle Temperatur stehen; die genaue Bedeutung der Konstante ist mir leider nicht klar.

Ich habe den MD15 jetzt 2 mal erfolgreich neu angelernt und sowohl Befehle über set actuator und set desired-temp verschickt, die jetzt auch zu (hörbaren) Änderungen der Ventilstellung geführt haben. Das Fhem-Log hierzu habe ich zur Info mal angehängt.

Es wäre schön, wenn die MD15-Besitzer das einmal testen und Rückmeldung geben könnten. Bei funktioniert es zwar, aber da ich die Telegramminhalte des MD15 nicht wirklich verstanden habe, kann das auch ein Zufallstreffer bei mir sein. Vielleicht hat auch jemand mittlerweile weitergehende Infos zum Telegramm.

Der set-Befehl "initialize" ist mir unverständlich; hat keiner eine Ahnung was der bewirken soll?

Gruß, Christian

klaus.schauer:
Ich habe die EEP-Profil Vorgaben mal zur Hand genommen:
 
1.In DB3 sollte nur dann die Temperatur gesendet werden, wenn Bit DB1.2 true. Derzeit wird DB1 immer mit 0x00 gesendet.
2. Der aktuelle Temperaturwert in DB2 ist in invers zu DB3, was bisher nicht berücksichtigt ist.

Der "initialize" Befehl scheint nicht ganz nebensächlich zu sein. Folgende Aktionen sollte er beim MD15 auslösen:
1. DB1.6 = true: Run init sequence
2. DB1.5 = true: Lift set
3. DB1.2 = true: Set Point selection >> Inhalt von DB3 ist dann Temperatur, MD15 reagiert auf room sensor (DB2 ?) und nutzt den internen PI-Regler

Vielleicht sollte man deshalb den "initialize" Befehl nach dem Anlernen senden und damit den MD15 in den "richtigen" Betriebsmodus bringen. Mir ist aber nicht klar, ob Set Point selection dann im MD15 dauerhaft gespeichert ist und nicht mit jedem set desired-temp mitgesendet werden muss.

Im übrigen wird der "initialize" Befehl derzeit auch als teach-in Telegram gesendet.

krikan:
Hallo Klaus!


--- Zitat ---1.In DB3 sollte nur dann die Temperatur gesendet werden, wenn Bit DB1.2 true. Derzeit wird DB1 immer mit 0x00 gesendet.
--- Ende Zitat ---

Verstehe ich nicht; DB1 wird doch bei desired-temp mit 0x04 gesendet also ist DB1.2 auf true? (Zeile 1218 10_Enocean.pm)


--- Zitat ---2. Der aktuelle Temperaturwert in DB2 ist in invers zu DB3, was bisher nicht berücksichtigt ist.
--- Ende Zitat ---

Das hatte ich auch mal festgestellt (siehe vorherige Beiträge) und daher ich mal probiert; hatte aber keine Auswirkung in Form von Ventilreaktionen. Nur die mitgeschnitte Konstante Ox7F führt zum Erfolg.


--- Zitat ---Der "initialize" Befehl scheint nicht ganz nebensächlich zu sein. Folgende Aktionen sollte er beim MD15 auslösen:
1. DB1.6 = true: Run init sequence
2. DB1.5 = true: Lift set
3. DB1.2 = true: Set Point selection >> Inhalt von DB3 ist dann Temperatur, MD15 reagiert auf room sensor (DB2 ?) und nutzt den internen PI-Regler

Vielleicht sollte man deshalb den "initialize" Befehl nach dem Anlernen senden und damit den MD15 in den "richtigen" Betriebsmodus bringen. MIr ist aber nicht klar, ob Set Point selection dann im MD15 dauerhaft gespeichert ist und nicht mit jedem set desired-temp mitgesendet werden muss.
--- Ende Zitat ---

Also ich vermute anhand der mitgeschnittenen Telegramm der komm. Software, dass das nicht dauerhaft gespeichert wird. Ich hatte sowohl mit Temperatur und Ventilstellung gesteuert und keine Änderung bei den Telegrammen in DB1 festgestellt (übersehen?). Es war nur 0x00 (Ventilsteuerung) und 0x04 (Temperatursteuerung)in DB1 vorhanden. Auch mit meinem Codeänderung an 10_Enocean.PM habe munter Temperatur und Ventil abwechselnd geändert und immer eine Motorreaktion gehabt. Ob die richtig ist, weiß ich natürlich nicht. Darum verstehe ich "initalize" eben nicht. Werde noch mal systematisch versuchen Telegramme mitzuschneiden. Das wird nur was dauern.

Gruß, Christian

klaus.schauer:

--- Zitat von: krikan schrieb am So, 17 März 2013 21:19 ---Hallo Klaus!


--- Zitat ---1.In DB3 sollte nur dann die Temperatur gesendet werden, wenn Bit DB1.2 true. Derzeit wird DB1 immer mit 0x00 gesendet.
--- Ende Zitat ---

Verstehe ich nicht; DB1 wird doch bei desired-temp mit 0x04 gesendet also ist DB1.2 auf true? (Zeile 1218 10_Enocean.pm)


--- Zitat ---2. Der aktuelle Temperaturwert in DB2 ist in invers zu DB3, was bisher nicht berücksichtigt ist.
--- Ende Zitat ---

Das hatte ich auch mal festgestellt (siehe vorherige Beiträge) und daher ich mal probiert; hatte aber keine Auswirkung in Form von Ventilreaktionen. Nur die mitgeschnitte Konstante Ox7F führt zum Erfolg.


--- Zitat ---Der "initialize" Befehl scheint nicht ganz nebensächlich zu sein. Folgende Aktionen sollte er beim MD15 auslösen:
1. DB1.6 = true: Run init sequence
2. DB1.5 = true: Lift set
3. DB1.2 = true: Set Point selection >> Inhalt von DB3 ist dann Temperatur, MD15 reagiert auf room sensor (DB2 ?) und nutzt den internen PI-Regler

Vielleicht sollte man deshalb den "initialize" Befehl nach dem Anlernen senden und damit den MD15 in den "richtigen" Betriebsmodus bringen. MIr ist aber nicht klar, ob Set Point selection dann im MD15 dauerhaft gespeichert ist und nicht mit jedem set desired-temp mitgesendet werden muss.
--- Ende Zitat ---

Also ich vermute anhand der mitgeschnittenen Telegramm der komm. Software, dass das nicht dauerhaft gespeichert wird. Ich hatte sowohl mit Temperatur und Ventilstellung gesteuert und keine Änderung bei den Telegrammen in DB1 festgestellt (übersehen?). Es war nur 0x00 (Ventilsteuerung) und 0x04 (Temperatursteuerung)in DB1 vorhanden. Auch mit meinem Codeänderung an 10_Enocean.PM habe munter Temperatur und Ventil abwechselnd geändert und immer eine Motorreaktion gehabt. Ob die richtig ist, weiß ich natürlich nicht. Darum verstehe ich "initalize" eben nicht. Werde noch mal systematisch versuchen Telegramme mitzuschneiden. Das wird nur was dauern.

Gruß, Christian

--- Ende Zitat ---


DB1.2 = true bei der Temperaturvorgabe hatte ich nicht gesehen.

Nur wenn in DB2 immer 7F = 20°C gesendet wird, kann der interne PI-Regler seine Referenz nie von einem getrennten Thermostat erhalten und nur auf sein eingebautes Thermostat reagieren. Wozu braucht man dann die Variable? Kann das nicht wirklich Zufall sein? Kann man eindeutig nur bei diesem Wert den MD15 steuern?

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln