HomeMatic Wired - HMW-LAN-Gateway

Begonnen von Dirk, 02 September 2013, 21:38:44

Vorheriges Thema - Nächstes Thema

Dirk

Hi Matthias,

Zitat
Ich denke mal das hängt damit zusammen, dass auf die Rückmeldung vom Aktor gewartet wird, ob der Befehl umgesetzt wurde. Richtig?
Die Rückmeldung kommt vom Aktor in der Regel innerhalb von 100ms.
Ich habe das auch grade mal getestet. Ich vermute eher das das vielleicht an Longpoll o.Ä. liegt.
Zumindestens werden die Icons nocht immer aktualisiert. Ich bekomme die aktualisierten Icons teilweise erst nach Reload der Seite.

Das muss ich mir später dann mal ansehen.

Gruß
Dirk

Dirk

Nabend zusammen,

ich habe den Masterbranch wieder mal aktualisiert.

Es gab Fixes beim Lesen und Schreiben der Settings für das Device bzw. für die Channels.
Somit kann jetzt auch das Verhalten der Kanäle und andere Einstellungen geändert werden (z.B. Ein-/Ausgang). Diese Einstellung werden bei der Kanalanzeige aber noch nicht berücksichtigt. Vor dem Ändern der Einstellungen bitte mit "get <name> config" die EEprom-Daten vom Device lesen.

Das Parsing der Frames habe ich gefixt bzw. erweitert

Die ersten 6 Schaltausgänge des HMW-IO12-SW14-DR lassen sich nun, wie von FHEM gewöhnt, mit on/off schalten und reporten nun auch den korrekten Status

Gruß
Dirk

UweH

Hallo Dirk,

leider funktioniert das bei mir immer noch nicht. Ich habe ein HMW-IO12-SW14-DR am WIZ108SR-Modul.
Die fhem.cfg sieht so aus:
### HM485 Interface (WIZ108SR)#
define HM485_LAN HM485_LAN localhost:2000
attr HM485_LAN HM485d_bind 1
attr HM485_LAN HM485d_device 192.xxx.xxx.xx:5000
attr HM485_LAN HM485d_logVerbose 4
attr HM485_LAN HM485d_logfile ./log/RS485.log
attr HM485_LAN hmwId 00000001
attr HM485_LAN room HM485
attr HM485_LAN webCmd RAW 0000A9B4 98 00000001 780F00:discovery start
.

Schließen eines Einganges am HMW-IO12-SW14-DR wird folgendermaßen geloggt:

2013.11.01 09:55:17.606 4: HM485d: Tx: FD0F3265FFFFFFFFFC7C0000A9B469110000
2013.11.01 09:55:17.685 3: HM485d: Rx:  I[3](3,Y,F,B)(FE) 0000A9B4 -> FFFFFFFF [6] 69(i) 1103FF {D176}
2013.11.01 09:55:17.688 4: HM485d: Tx: FD0F3365FFFFFFFFFE0000A9B4691103FF
2013.11.01 09:55:17.707 3: HM485d: Rx:  I[0](3,Y,F,B)(F8) 0000A9B4 -> FFFFFFFF [6] 69(i) 110000 {6DE8}
2013.11.01 09:55:17.709 4: HM485d: Tx: FD0F3465FFFFFFFFF80000A9B469110000
2013.11.01 09:55:17.727 3: HM485d: Rx:  I[1](3,Y,F,B)(FA) 0000A9B4 -> FFFFFFFF [6] 69(i) 1103FF {2366}
2013.11.01 09:55:17.729 4: HM485d: Tx: FD0F3565FFFFFFFFFA0000A9B4691103FF
.

Mit "discovery start" wird aber der HMW-IO12-SW14-DR nicht gefunden und nicht angelegt. Discovery rödelt jetzt endlos vor sich hin.
Habe ich einen Beitrag verpasst, in dem noch ein Spezialtrick beschrieben wurde?
Die Rechte auf den Dateien sind gesetzt und ich habe auch die alten Dateiversionen vor dem Aktualisieren vorsichtshalber komplett rausgeschmissen...wo kann ich denn jetzt noch ansetzen?


Dirk

Hallo Uwe.

dein Log sieht gut aus.
Allerdings werden die Eingänge derzeit nicht verarbeitet. Du kannst beim 12-14er im Moment "nur" die ersten 6 Ausgänge schalten.
An den Eingängen arbeite ich aktuell.

Und Discovery beendet sich bei dir nicht, und findet keine Geräte?
Discovery reportet übrigens nur Geräte welche noch nicht definiert wurden.

Gruß
Dirk

UweH

ZitatUnd Discovery beendet sich bei dir nicht, und findet keine Geräte?
Nein, läuft ewig und nein, findet  keine Geräte  :(
ZitatDiscovery reportet übrigens nur Geräte welche noch nicht definiert wurden.
Der HMW-IO12-SW14-DR ist noch nicht definiert. Ich hatte ja immer drauf gehofft, dass er mal gefunden wird...

Dirk

Hi Uwe,

ZitatNein, läuft ewig und nein, findet  keine Geräte
Bitte nach einem abgebrochenem Discovery einmal
set HM485_LAN broadcastSleepMode off
ausführen

Kannst du mir mal den Log bzw. die Ausgabe von der Console vom hm485d während des Discovery schicken.
Normalerweise wird ein Gerät auch automatisch angelegt, wenn FHEM es zum ersten Mal "sieht". Also nachdem z.B. an dem Gerät ein Eingang betätigt wurde.

Ansonsten versuche mal deinen HMW-IO-12-Sw14-DR per per Hand zu definieren.

define <name> HM485 <Adresse>
attr <name> HM485 <Adresse> model HMW_IO_12_Sw14_DR

Die Adresse geht aus deinem Log hervor: 0000A9B4

Anschliessend bitte mal ein
get <name> info
ausführen. Damit sollte das Modul die noch fehlenden Informationen wie Seriennummer und Firmware-Version an FHEM übermitteln. Auch sollten dadurch die Channels angelegt werden.

Falls das nicht funktioniert nehme ich auch gerne den/die Logs. Evtl. auch per PN.
Hast du noch andere Module?

Gruß
Dirk

matzefisi

Hi Dirk,

so, der HMW_LC_Bl1_DR ist jetzt für mein Büro verkabelt und wenn ich die Tasten am Aktor drücke, fahren die Jalousien auch schon hoch und runter.

Erste Sache die mir aufgefallen ist:
Wenn ich ein "get config all" am Device (HMW_LC_Bl1_DR_JEQ0271568) mache kommt mehrfach folgendens:
2013.11.04 19:52:14 3: HM485_LAN: ACK: (217)
2013.11.04 19:52:14 3: HM485_LAN: Response: (217) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Also gehe ich mal davon aus, dass der Aktor generell antwortet und richtig am Bus verkabelt ist. Wenn ich jetzt allerdings am Kanal (blind) HMW_LC_Bl1_DR_JEQ0271568_03 die Konfig speichern will (Zeiten für hoch und runter z.B.) kommt
2013.11.04 19:55:13 3: HM485: Set config for HMW_LC_Bl1_DR_JEQ0271568_03:  logging=off
2013.11.04 19:55:13 3: HM485: Set config for HMW_LC_Bl1_DR_JEQ0271568_03: reference_run_counter=0
2013.11.04 19:55:13 3: HM485: Set config for HMW_LC_Bl1_DR_JEQ0271568_03: reference_running_time_top_bottom=794
2013.11.04 19:55:13 3: HM485: Set config for HMW_LC_Bl1_DR_JEQ0271568_03: change_over_delay=0
2013.11.04 19:55:13 3: HM485: Set config for HMW_LC_Bl1_DR_JEQ0271568_03: reference_running_time_bottom_top=794
2013.11.04 19:55:14 3: HM485: RESPONSE TIMEOUT for 00009F15

Das mal nur so als Hinweis.
Tastendrücke werden auch erkannt:
2013.11.04 19:56:24 3: HM485_LAN: Event: I[0](2,Y,F,B)(D8) 00009F15 -> FFFFFFFF [4] 4B(K) 01
2013.11.04 19:56:24 2: HM485: HMW_LC_Bl1_DR_JEQ0271568_02: press_long -> press_long 0
2013.11.04 19:56:25 3: HM485_LAN: Event: I[1](2,Y,F,B)(DA) 00009F15 -> FFFFFFFF [4] 4B(K) 01
2013.11.04 19:56:28 3: HM485_LAN: Event: I[1](2,Y,F,B)(DA) 00009F15 -> FFFFFFFF [16] 41(A) 01150003064A45513032373135
2013.11.04 19:56:30 3: HM485_LAN: Event: I[2](2,Y,F,B)(DC) 00009F15 -> FFFFFFFF [4] 4B(K) 00
2013.11.04 19:56:30 2: HM485: HMW_LC_Bl1_DR_JEQ0271568_01: press_long -> press_long 56
2013.11.04 19:56:33 3: HM485_LAN: Event: I[0](2,Y,F,B)(D8) 00009F15 -> FFFFFFFF [4] 4B(K) 00
2013.11.04 19:56:33 3: HM485_LAN: Event: I[1](2,Y,F,B)(DA) 00009F15 -> FFFFFFFF [4] 4B(K) 00
2013.11.04 19:56:34 3: HM485_LAN: Event: I[3](2,Y,F,B)(DE) 00009F15 -> FFFFFFFF [16] 41(A) 00150003064A45513032373135


Leider habe ich bislang noch nicht herausgefunden, wie ich den Aktor setzen kann. Den RAW Befehl, den Du mir mal genannt hast, kann ich leider nicht mehr verwenden und ein SET XX funktioniert auch nicht. Hast Du noch einen Tip für mich?

Besten Dank!

MfG
Matthias

Dirk

Zitat
Wenn ich ein "get config all" am Device (HMW_LC_Bl1_DR_JEQ0271568) mache kommt mehrfach folgendens:
2013.11.04 19:52:14 3: HM485_LAN: Response: (217) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2013.11.04 19:52:14 3: HM485_LAN: ACK: (217)
Ein get-Config ließt blockweise den Eeprom des Device aus. Das sind die entsprechenden Antworten.

Beim HMW_LC_Bl1_DR bitte noch etwas Gedult.
Die Grundfunktionen sind zwar schon da, aber diese habe ich noch nicht abschließend getestet.
Setzen geht hier auch noch nicht.

Zitat
Den RAW Befehl, den Du mir mal genannt hast, kann ich leider nicht mehr verwenden und ein SET XX funktioniert auch nicht.
RAW-Befehle müssen immer über das Interface (z.B. HM485_LAN) abgesetzt werden.
Ansonsten schick mir mal die Fehlermeldungen

Gruß
Dirk

matzefisi

Hi Dirk,

oh man. Der Tag war lang. Im Prinzip ist es an der Groß- und Kleinschreibung gescheitert. Ich hatte den Befehl von damals bei mir aus der Config kopiert und da war RAW klein geschreiben. Jetzt mit RAW in Großbuchstaben gehts.

set HM485_LAN RAW 00009F15 98 00000001 7802C8 (Offen)
set HM485_LAN RAW 00009F15 98 00000001 7802C9 (Stop)
set HM485_LAN RAW 00009F15 98 00000001 780200 (Geschlossen)


Perfekt! Danke!

MfG
Matthias

Dirk

Hi Matthias,

Zitat
Ich hatte den Befehl von damals bei mir aus der Config kopiert und da war RAW klein geschreiben.
Ja. Das habe ich in Grossbuchstaben umbenannt, dammit es als erstes in der set-Liste steht :)

Gruß
Dirk

Dirk

Hallo zusammen,

es gibt ein neues Update im Master
Bei Geräten wie HMW-IO-12-Sw14-DR, HMW_IO_4_FM usw. können die Ein/Ausgangskanäle nun konfiguriert und per set on / off geschaltet werden. Auch der Status wird von FHEM entsprechend ausgewertet.

Das Ganze funktioniert derzeit ausschließlich für auf Ausgang konfigurierte Kanäle.

Gruß
Dirk

mago0211

Hallo,

so ich will jetzt auch mal in das Thema Wired einsteigen.  8)
Ich habe mir mal ein Lan Gateway, Busabschluss und ein IO 12 SW 7 zugelegt. Ich habe auch alles soweit in Fhem rein bekommen und die Kanäle wurden alles angelegt.  ;D

Die Ausgänge kann ich auch per On Off schalten nur bei den Eingängen stehen ??? drin. Wenn ich einen angeschlossenen Taster drücke wird im entsprechend Kanal auch press_long oder press_short geloggt.
Ist dort einfach die Entwicklung noch nicht so weit fortgeschritten oder habe ich irgendwo einen Fehler drin?

Hier mal einen Ausschnitt aus meinem Log.
2013.12.13 20:47:57 3: HM485_LAN: keepalive msgNo: 35
2013.12.13 20:47:57 3: HM485_LAN: Alive: (35) 3030
2013.12.13 20:48:03 3: HM485_LAN: Event: I[2](0,Y,F,B)(9C) 000091DC -> FFFFFFFF [4] 4B(K) 00
2013.12.13 20:48:03 2: HM485: HMW_IO_12_Sw7_DR_JEQ0310645_01: press_long -> press_long 36
2013.12.13 20:48:03 3: HM485_LAN: Event: I[3](0,Y,F,B)(9E) 000091DC -> FFFFFFFF [4] 4B(K) 00
2013.12.13 20:48:03 3: HM485_LAN: Event: I[0](0,Y,F,B)(98) 000091DC -> FFFFFFFF [16] 41(A) 00120003064A45513033313036
2013.12.13 20:48:06 3: HM485_LAN: Event: I[1](0,Y,F,B)(9A) 000091DC -> FFFFFFFF [4] 4B(K) 0B
2013.12.13 20:48:06 2: HM485: HMW_IO_12_Sw7_DR_JEQ0310645_12: press_short -> press_short 20
2013.12.13 20:48:07 3: HM485_LAN: Event: I[2](0,Y,F,B)(9C) 000091DC -> FFFFFFFF [16] 41(A) 0B120003064A45513033313036
2013.12.13 20:48:08 3: HM485_LAN: TX: (36) I[1](0,F,B)(1A) 00000001 -> 000091DC [2] FF(�)
2013.12.13 20:48:09 3: HM485_LAN: ACK: (36)
2013.12.13 20:48:09 3: HM485_LAN: Response: (36)
2013.12.13 20:48:09 3: HM485_LAN: TX: (37) I[2](0,F,B)(1C) 00000001 -> 000091DC [2] FF(�)
2013.12.13 20:48:09 3: HM485_LAN: ACK: (37)
2013.12.13 20:48:09 3: HM485_LAN: Response: (37)
2013.12.13 20:48:09 3: HM485_LAN: TX: (38) I[3](0,F,B)(1E) 00000001 -> 000091DC [2] FF(�)
2013.12.13 20:48:09 3: HM485_LAN: ACK: (38)
2013.12.13 20:48:09 3: HM485_LAN: Response: (38)
2013.12.13 20:48:09 3: HM485_LAN: TX: (39) I[0](0,F,B)(18) 00000001 -> 000091DC [5] 78(x) 0CC8
2013.12.13 20:48:09 3: HM485_LAN: ACK: (39)
2013.12.13 20:48:09 3: HM485_LAN: Response: (39) 690CC800
2013.12.13 20:48:09 2: HM485: HMW_IO_12_Sw7_DR_JEQ0310645_13: state -> on
2013.12.13 20:48:10 3: HM485_LAN: TX: (40) I[1](0,F,B)(1A) 00000001 -> 000091DC [2] FF(�)
2013.12.13 20:48:11 3: HM485_LAN: ACK: (40)
2013.12.13 20:48:11 3: HM485_LAN: Response: (40)
2013.12.13 20:48:11 3: HM485_LAN: TX: (41) I[2](0,F,B)(1C) 00000001 -> 000091DC [2] FF(�)
2013.12.13 20:48:11 3: HM485_LAN: ACK: (41)
2013.12.13 20:48:11 3: HM485_LAN: Response: (41)
2013.12.13 20:48:11 3: HM485_LAN: TX: (42) I[3](0,F,B)(1E) 00000001 -> 000091DC [2] FF(�)
2013.12.13 20:48:11 3: HM485_LAN: ACK: (42)
2013.12.13 20:48:11 3: HM485_LAN: Response: (42)
2013.12.13 20:48:11 3: HM485_LAN: TX: (43) I[0](0,F,B)(18) 00000001 -> 000091DC [5] 78(x) 0C00
2013.12.13 20:48:11 3: HM485_LAN: ACK: (43)
2013.12.13 20:48:11 3: HM485_LAN: Response: (43) 690C0000
2013.12.13 20:48:11 2: HM485: HMW_IO_12_Sw7_DR_JEQ0310645_13: state -> off


Erstmal Lob und Dank für die Arbeit die ihr euch mit dem Thema macht  :D

Grüße
Markus

Dirk

Hallo Marcus,

ZitatIst dort einfach die Entwicklung noch nicht so weit fortgeschritten ...
So ist es. und durch den "Vorweihnachtsstress" musste die Entwicklung leider zurück stehen.
In ein Paar Tagen ist aber wieder mehr Zeit, dann geht es weiter.

Für press_long und press_short sollten aber auch die entsprechenden Events ausgelöst werden. Daher kann man hier ggf. schon mal mit einem entsprechendem Notify arbeiten.

Gruß
Dirk

mago0211

Ah ok gut zu wissen. Dann weiß ich wenigsten das bis hier hin mal alles passt bei mir  ;D.

Ja ich muss mal ausprobieren was ich per notify noch umsetzten kann, bin aber derzeit Zeitlich auch nicht so frei  ::)

gevoo

Hallo Mango0211,

ich nutze im Moment ausschließlich die Rolloaktoren. Deshalb habe ich das Modul von Dirk etwas weiterentwickelt und mit den Rolloaktoren getestet. Für alle anderen HMW Module kann ich keine Funktion garantieren.
Als Empfehlung für das initialisieren in der fhem.cfg noch einfügen:

# Channels initialisieren
define HolInfos at +00:00:10 get WZRolloWest info

# Konfiguration der Channels einlesen
define HolConfig at +00:00:12 get WZRolloWest config all


Ich habe die Datei 10_HM485.pm angehängt. Vor dem Testen bitte von dem Original eine Sicherheitskopie anlegen.
Es gehen jetzt:
- press_short
- state auch automatische Aktuallisierung nach Event...

Viel Spaß beim Testen