Homematic Wired HMW_IO_12_Sw14_DR Ausgänge und Eingänge konfigurieren

Begonnen von stephan-221, 22 Mai 2014, 22:00:13

Vorheriges Thema - Nächstes Thema

stephan-221

Nachdem meine RCU irgendwie keine Messages empfangen will, habe ich mich an die Rawkommandos gemacht.

Die "digital_analog_output" kann man wie folgt erfolgreich in FHEM auf digital umschalten:

Alle 8 auf Digital:

set HM485_LAN RAW 0000DBA7 98 00000001 57000701FF     
set HM485_LAN RAW 0000DBA7 98 00000001 43

FF am Ende entspricht allen 8 Ausgängen --> digital.  (alle 8 Bits 1)
Wichtig danach ist ein: get config all.
Erst danach bemerkt die Weboberfläche, dass die Ports digital sind.

Beim Setzen via Weboberfläche ist mir aufgefallen, dass die Bitzuordnungen irgendwie
nicht korrekt übernommen werden.
                                                  XX                          binär     dez. 
Port 7 Digital: [7] 57(W) 00070181 {D018}    10000001    129   sollte 01 sein!
Port 8 Digital: [7] 57(W) 00070103 {B0F6} -- 00000011     03   sollte 02 sein wenn Port 7 nicht auch digital werden soll!
Port 9 Digital: [7] 57(W) 00070105 {D0FA} -- 00000101     05   sollte 04 sein ....
Port 10 Digital:[7] 57(W) 00070109 {10E2}    00001001     09
Port 11 Digital:[7] 57(W) 00070111 {412A}    00001011     11
Port 12 Digital:[7] 57(W) 00070121 {B0B6}    00100001     33
Port 13 Digital:[7] 57(W) 00070141 {1180}    01000001     65   
Port 14 Digital:[7] 57(W) 00070181 {F91E}    10000001    129 


Bei den Werten 0 bzw. 1 wird anscheinend nicht berücksichtigt, wie der aktuelle Status der anderen Ports ist.
Das liegt vermutlich daran, dass die aktuelle geänderte Konfig in FHEM noch nicht vorhanden ist.
Auch ein "get config all" dazwischen hilft leider nicht.

Alle 8 Ports analog konfigurieren:

set HM485_LAN RAW 0000DBA7 98 00000001 5700070100     
set HM485_LAN RAW 0000DBA7 98 00000001 43

get config all

Der Hexwert beim rawbefehl lässt sich einfach von binär nach hex umrechnen.

Edit:
Auch alle 6 Eingänge lassen sich per raw Befehl erfolgreich und dauerhaft auf digital umstellen.

Dafür ist das 8. Byte im EEPROM zuständig.
Da nur die 6 Bits manipuliert werden müssen, ist hier der Wert 3F statt FF.
Zitat
set HM485_LAN RAW 0000DBA7 98 00000002 570008013F
set HM485_LAN RAW 0000DBA7 98 00000002 43
und dann wieder ein get config all für das HMW Modul

Vielleicht will das ja jemand ins Wiki aufnehmen bis das Modul weiterentwickelt ist.

Viele Grüße
Stephan

stephan-221


Vom Ablauf her, weiß ich auch wie das in der 10_HM485.pm  laufen muss. Allerdings bin ich in Perl nicht soo bewandert und
verstehe den Aufbau und das Zusammenspiel in der Datei nicht  ???.

Wenn der Channel umkonfiguriert werden soll muss der EEPROM Wert ausgelesen werden, (oder liegt er in FHEM irgendwo vor?)
dann mit dem neuen KonfigWerten mit Und verknüpft werden. (Dadurch wird kein bisher geänderter Wert überschrieben).
Und dann der neue Wert ins EEPROM geschrieben.

Dann muss aktuell ein get xxx config all eingegeben werden, damit der Wert in FHEM korrekt dargestellt wird.
Dafür müsste untersucht werden, welcher Part davon zuständig ist...
Erst danach kann ein weiterer Port konfiguriert werden.

Aktuell kann man ja schon ein notify für die Eingänge definieren. Der Sache werde ich nun mal nachgehen.
Leider sieht man den Status auf der Oberfläsche noch nicht.  Da fehlt mir aber leider auch das KnowHow um die Datei 10_HM485.pm zu durchschauen ???.

Bei den Ausgängen wird der Status ja auch angezeigt. So viel anders sollte das doch auch nicht sein...

Viele Grüße
Stephan