Homematic wired

Begonnen von Henne1977, 26 Januar 2013, 22:46:00

Vorheriges Thema - Nächstes Thema

crazystone

Ja, ich hatte im Log den Startvorgang zweimal drin.  

Also ich fass nochmal zusammen:
- Netfinder erkennt das HMW-LGW im Netz und meldet es ok, es greift aber über UDP Port 43439 darauf zu
- ich hab über Netfinder die Verschlüsselung abgeschaltet
- seit dem kann ich über telnet den TCP Port 1000 aufmachen und sehe die Startsequenz des Moduls (Name, Serial,...)
- wenn ich das Modul mit telnet anspreche, wird der TCP Port nach 30s wieder geschlossen
- mit dem HM485_LAN Modul passiert nichts anderes, die Initialisierungssequenz läuft genauso ab, wie im pcap von mgernoth
- das keepAlive wird jetzt auch geschickt wie bei mgernoth und auf TCP Ebene bestätigt, ich denke also der Port bleibt (im Gegensatz zu telnet) offen
- aus dem HMW-LGW "kommt aber sonst nix mehr raus" nach der Initialisierungssequenz auf TCP Port 1000

Ich kann natürlich mal noch auf verdacht versuchen, Kommandierung abzusetzen, um evtl. Eine Reaktion zu erreichen. Discovery wäre wohl das naheliegendste, ich bin aber skeptisch. Mir scheint noch irgendwie eine "vebose" Befehl zu fehlen, ich finde aber auch in dem alten pcap nichts.

VG


Dirk

Bitte alle die Diskussion zum HM-Wired-LAN-Gateway in diesem Tread Fortsetzen:

http://forum.fhem.de/index.php?t=msg&goto=93002&rid=42#msg_93002

Das mit der Verschiebung und Entwickler-Forum war wohl keine so gute Idee von mir.

Gruß
Dirk

matzefisi

So, damit wir hier mal wieder etwas zum normalen HM 485 Thema haben ;-)

Ich habe mir jetzt den Jalosienaktor (1-Fach) bestellt und eingebaut und habe seit dem 2 neue Geräte im FHEM.

    
HM485_00009F15

und

HM485_00FFF800F000F000F000E000E000F800E000FFF000F800F000FFE000FFF800F000F000F000F800FFF
800E000FFF000F800F800F000FFE000E000E000F000F000F800F00080F800FFE000E000F000E000F800F000
F000F000E000FFF800E000E000E000F000F000F800E000C000F000F000FFF800F800FFF000F000F800F000F
000E000E000F000E000F002F000F800F000F00080F000F800F800F000F8F000F800FFF000F000FFF800FFF8
00FFE000FFF000F000F000F000E000F000F000E080F000FFF000C000F000F000E000F000F000F800E000FFF
000F800F000F003

Das ist jetzt der Stand seit gestern Abend. Ich versuche diese Woche mal herauszufinden, was das zweite Gerät soll.

MfG
Matthias

Dirk

Hallo matzefisi,

Ich vermute da hast du einen dicken "Käfer" gefunden :)

Grundsätzlich sind im Moment alle Devices (ausser HM485_SERIAL) nur Dummies, und können derzeit ignoriert oder auch gelöscht werden.
Alle Aktionen, sinnvollerweise also "set RAW ..." werden derzeit über das Serial Device ausgeführt.

Gruß
Dirk

matzefisi

Hi Dirk,

da hab ich dann gleich mal die erste Verständnisfrage:

Läuft das Anlegen dieser Geräte (sowohl SERIAL als auch jedes HM Device) über die 98_autocreate? Bzw. müssten wir die nochmal anpacken um das Erstellen der einzelnen Devices zu erledigen oder kann das auch jedes Modul selbst erledigen?

Ich habe zwar schon einiges an Code gelesen und versucht zu verstehen, habe aber im Moment so viel anderen Kram zu tun, dass ich jedesmal, wenn ich Zeit habe, wieder von vorne Anfangen muss :)

Danke.

MfG
Matthias

Dirk

Hi Matthias,

HM485_SERIAL wie auch dann später z.B. HM485_LAN sind die IO-Devices, also für die Kommunikation mit der Hardware zuständig.
Diese laufen nicht über Autocreate und müssen manuell angelegt werden.

Alles andere sind die eigentlichen Geräte, welche bei einem Discovery und auch automatisch über autocreate erzeugt werden.
Das sollte auch jetzt schon funktionieren. Nur diese sind im Moment noch ohne Funktion. Und die scheinbare gibt es hier wohl auch noch einen Bug. Daher dein seeehr langes Device oben.

Gruß
Dirk

matzefisi

Ich denke ich habe den nächsten Bug gefunden. Ich habe versucht meinen Jalousieaktor anzusteuern:

set HM485_Interface raw FD 00009F15 98 00000001 730020


Anschließend werden vom FHEM keine Homematic Befehle mehr abgesetzt. Also im Log erscheinen keine Einträge mehr zu Homematic. Ein "Shutdown restart" löst das Problem.

Hier mal kurz noch die Meldung im Log wenn noch alles funktioniert:

2013.09.05 14:55:47 1: Terminated sending process 10950
2013.09.05 14:55:47 3: 10942 # HM485_Interface: RX: Response I[1](0,F,B) 0000C025 -> 00000001 [6] 69(i) 0C0000 {C24E}
2013.09.05 14:55:47 3: 10942 # HM485_Interface: TX: ACK(1,B) 00000001 -> 0000C025 [2] {AC26}
2013.09.05 14:55:49 3: 10942 # HM485_Interface: RX: I[2](0,Y,F,B) 0000C025 -> FFFFFFFF [6] 69(i) 0C0000 {7FE8}


Dann kommt der Befehl für den Jalousieaktor:
2013.09.05 14:58:03 1: Terminated sending process 10978
2013.09.05 14:58:03 3: 10942 # HM485_Interface: RX: ACK(0,B) 00009F15 -> 00000001 [2] {F95E}

Und danach kann ich HM RAW Befehle absetzen, wie ich will, es passiert aber nix mehr.

Ich hoffe ich habe die Befehlsstruktur richtig verstanden (Befehl: 730020):
73 = Befehl (Aktor setzen)
00 = Nummer des Zielaktors (00 und 01 ausprobiert)
20 = Wert (20 für runter, 10 für hoch usw..)

MfG
Matthias

matzefisi

Ich sehe gerade, dass das passende Device File nicht geladen wird, da es wahrscheinlich nicht als .pm existiert.

2013.09.05 14:59:15 1: HM485: Loading device file: ./FHEM/HM485/devices/hmw-sen-sc-12.pm
2013.09.05 14:59:15 1: HM485: Loading device file: ./FHEM/HM485/devices/hmw_io12_sw14_dr.pm
2013.09.05 14:59:15 1: HM485: Loading device file: ./FHEM/HM485/devices/hmw_io12_sw7_dr.pm

Werde da mal weitersuchen.

Dirk

Hallo

ZitatIch denke ich habe den nächsten Bug gefunden.
Hm. Das die Kommunikation dann komplett stehen bleibt habe ich noch nicht erlebt.
Ich baue den Communikationsprozess im Moment aber auch so um, dass dieser in einem eigenem Prozess läuft. Ich Hoffe, daß werde ich Anfang/Mitte nächster Woche hier schon ein nutzbares Ergebniss habe.

Zitat20 = Wert (20 für runter, 10 für hoch usw..)
Ich meine das ist der Prozentwert wie die Jalousie geöffnet ist.
00 müsste offen sein, FF ganz unten oder so. Ich probier das heute abend aber nochmal aus uns sage bescheid.

ZitatIch sehe gerade, dass das passende Device File nicht geladen wird, da es wahrscheinlich nicht als .pm existiert.
Beim senden von RAW-Befehlen werden die Device-Files nicht berücksichtig. Daher darf die hier noch fehlen :)

Gruß
Dirk

Dirk

Hi matzefisi,

ZitatIch hoffe ich habe die Befehlsstruktur richtig verstanden (Befehl: 730020):
Ich habe mal nachgesehen:

Dein Jalousieaktor kann so gesetzt werden:

set HM485_Interface raw FD 00009F15 98 00000001 780200

0x78 -> Level Set, mit 0x73 (Aktor setzen) lässt sich das Rollo aber auch fahren
0x02 -> der Aktor-Kanal (ist beim Jalousieaktor wohl immer 02)
0x00 -> Öffnungswert in 0,5% Schritten
        0x00(0) ist ganz zu,
        0xC8(200) ganz auf
        0x64(100) währ dann 50% geöffnet
        0xC9 ist Stop


Der Dimmer (HMW-LC-Dim1L-DR) wird übrigens genauso angesprochen.

Gruß
Dirk

matzefisi

Hi Dirk,

danke. Damit hat es dann funktioniert.

MfG
Matthias

hglaser

#146
Hallo Dirk,

Herzlichen Dank für deine Arbeit. Endlich ist die CCU ausser Betrieb und in der Abstellkammer:-) Hatte mich vorher mit dem HMRPC Modul von owagner begnügen müssen, damit ich mein Licht ein und ausschalten konnte. Ich habe deine Dateien vom github kopiert und mir einen RS485-USB Adapter besorgt. Und was soll ich sagen, funzt einwandfrei.

Ein kleiner Fehler in der "fhem_SERIAL.cfg" Beispieldatei ist mir aufgefallen. Hier sind wohl die Attribute von Server und Usb-Device vertauscht:
...
### HM485 Interface (WIZ108SR)
#
define HM485_LAN HM485_LAN /dev/ttyUSB0
attr HM485_LAN HM485d_device 192.168.178.15:5000

sollte wohl eigentlich
...
### HM485 Interface (DIGITUS DA-70157)
#
define HM485_LAN HM485_LAN 127.0.0.1:2000
attr HM485_LAN HM485d_device /dev/ttyUSB0

heissen.

Nun zu meiner Bitte.
Ich habe einen HMW_IO_12_Sw7_DR und einen Taster so programmiert, daß er bei einem kurzen Tastendruck einen Ausgang nur kurz ein und wieder ausschaltet. An diesem Ausgang hängt ein normaler 0815 Eltako-Dimmer. Somit kann ich mein Licht mit Softanlauf einschalten. Der selbe Taster schaltet mit einem langen Tastendruck meinen Fernseher ein. Nun habe ich die HMW RS485 Protokollbeschreibung studiert und versucht über (0xCB) Key-Sim-Event einen kurzen Tastendruck über FHEM zu simulieren, aber ich bin wohl zu blöd dazu. Ich komm einfach nicht drauf, wie ich so ein RAW message für einen Key-Sim-Event zusammenbastle.
könntest Du mir ein Beispiel geben?

Zur Zeit helfe ich mir halt mit einem dummy und einem notify der mir den Ausgang an dem der Dimmer hängt einfach kurz ein und wieder aus schaltet. Ich hätt halt trotzdem gern gewusst wie so ein Key-Sim-Event funktioniert.

Vielen Dank und
lg Harald.

Dirk

Hallo Harald,

ZitatIch habe einen HMW_IO_12_Sw7_DR und einen Taster so programmiert
Das hast du noch mit der CCU gemacht? Weil so weit bin ich leider noch nicht.

ZitatNun habe ich die HMW RS485 Protokollbeschreibung studiert und versucht über (0xCB) Key-Sim-Event einen kurzen Tastendruck über FHEM zu simulieren, aber ich bin wohl zu blöd dazu. Ich komm einfach nicht drauf, wie ich so ein RAW message für einen Key-Sim-Event zusammenbastle.
Die Key-Events, Auch Key-Sim, sind mit Raw-Befehlen nicht ganz so einfach zu erzeugen.
Denn der Key-Counter (Bits 2-7) im 4. Byte von Key-Sim muss jedesmal hochgezählt werden. Zumindest muss bei jedem Tastendruck der Counter vom vorherigen Counter unterschiedlich sein. Sonst schaltet der Aktor nicht.

Somit musst du derzeit wohl deinen Dummy dafür weiter verwenden oder die eine kleine Perl-Funktion bauen, die das 4. Byte entsprechend bearbeitet.
Ansonsten sieht ein RAW-Befehl dafür so aus:

set HM485_LAN RAW TTTTTTTT 98 00000001 CBSSAAEETTTTTTTT

TTTTTTTT: Zieladresse
CB: Key-Sim-Event-Befehl
SS: Sensor-Eingang (00 - 0B beim 12-7-IO Modul)
AA: Aktor Kanal (0C - 12 beim 12-7-IO Modul)
EE: Event-Byte (Siehe Doku)


Wenn du bei EE abwechselnd 04 und 08 mitsendest sollte dabei an kurzer Tastendruck rauskommen
05 und 09 währen ein langer Tastendruck.

Wie gesagt, 04 und 08 bzw. 05 und 09 musst du bei jedem Tastendruck abwechselnd senden. Sonst Schaltet der Aktor nicht.

Gruß
Dirk

hglaser

Hallo Dirk,

Super! jetzt hab ichs kapiert.

ZitatDas hast du noch mit der CCU gemacht? Weil so weit bin ich leider noch nicht.
Ja genau, das war noch mit der CCU.
ZitatWie gesagt, 04 und 08 bzw. 05 und 09 musst du bei jedem Tastendruck abwechselnd senden. Sonst Schaltet der Aktor nicht.
auf sowas wär ich nie gekommen:-)

Vielen Dank Harald

AHA1805

Hallo Dirk
ist es empfehlenswert HM Wired Eingänge zu verwenden um zum Beispiel den S0 Kontakt meines Stromzählers abzufragen und damit eine Verbrauchs Statistik zu erzeugen?

Gruß
Hannes

Gesendet von meinem GT-N5100 mit Tapatalk-4 now Free

AHA 1805 RIP 29.08.2016 --> RUHE IN FRIEDEN
In Gedanken Bei dir HANNES
Dein Bruder Gerd (Inputsammler) Vermisst dich Hannes (AHA1805)