Homematic wired

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

Vorheriges Thema - Nächstes Thema

crazystone

Hallo Dirk alias kc-kapitän,

ich bin jetzt stolzer Besitzer eines HM-LGW, mit dem ich über den RS485 Bus dann einen HMW-IO-12-Sw14-DR und zwei HMW-LC-Bl1-DR steuern möchte. Letztere sind jetzt auch schon da und eingebaut. Jetzt lese ich hier, dass Du wohl schon ein Perl-Modul hast, mit dem man die IO Module und den Rolladenaktor ansprechen kann? Geht das auch über den HM-LGW? Könnte ich das Modul mal testen? Als was definierst Du Deinen RS485-LAN Adapter, als HMLAN?

Ggf. kann ich auch meine Anfängerfähigkeiten anbieten, um ein paar Steuerfunktionen per HM-Protokoll zu implementieren. Wo stehst Du gerade mit dem Modul?

Viele Grüße
Thorsten

Dirk

Hallo Thorsten,

ZitatGeht das auch über den HM-LGW?
Ich vermute derzeit nicht. Bisher setzen die Module auch "normale" RS485-Adapter. Z.B. die hier:
DIGITUS DA-70157, WIZ108SR
Diese Adapter werden als "normale" Serielle Geräte angesprochen.

Da das HM-LGW bisher kaum verfügbar war, habe ich hiefür noch keine Unterstützung einbauen können. Daher wird das vermutlich noch nicht funktionieren. Kann man denn die Netzwerkverschlüsselung vom HM-LGW softwareseitig abschalten? Ansonsten könnte das schwieriger werden.

ZitatAls was definierst Du Deinen RS485-LAN Adapter, als HMLAN?
Nein, HMLAN ist für Homatic-Funk. Das Homematic-Wired Interface wird derzeit als HM485_SERIAL. Die Bezeichnung könnte sich aber noch einmal ändern.

ZitatGgf. kann ich auch meine Anfängerfähigkeiten anbieten, um ein paar Steuerfunktionen per HM-Protokoll zu implementieren.
Da du vermutlich der erste hier mit einem HM-LGW bist, könntest du versuchen raus zu bekommen wie man damit "spricht". Dann kann ich die Unterstützung mit einbauen.

ZitatWo stehst Du gerade mit dem Modul?
Wegen der derzeitigen noch geringen Verbreitung von HM-Wired bei FHEM und nur beschränkter Zeit, geht die Entwicklung bei mir derzeit langsamer als gewünscht. Daher ist nach wie vor "nur" das Senden von RAW-Befehlen an die Module implementiert. HMW-IO-12-Sw14-DR und HMW-LC-Bl1-DR habe ich zum Testen aber auch hier, somit kann man damit schon was machen.

Ich schicke dir heute Abend mal den aktuellen funktionierenden Stand mit einer kleinen Beschreibung.

Viele Grüße
Dirk

Henne1977

Hallo Dirk,

Könntest du mir bitte auch den aktuellen Stand schicken?
Hab nun endlich mal wieder etwas mehr Zeit um mich mit dem Thema zu befassen um somit irgendwann die CCU verbannen zu können.


Gruß Henry

crazystone

Hallo Dirk,

das wäre super, vielen Dank im Voraus. E-Mail Adresse gibts per PM.

Viele Grüße
Thorsten

crazystone

Nochmal zu deinem obigen Beitrag:

Ich werde dann mal versuchen, etwas ELV Support anzuzapfen zum HMW-LGW. Über Ping war er sofort erreichbar und FHEM hat ihn als "opened" erkannt, als ich es testweise mal als HMLAN definiert habe (Standard Port 1000). Jedoch ist es dann ja vermutlich irgend einen TCP/IP Socket aufzumachen, um Nachrichten an dem LAN Gateway zu senden. Ich erwarte eigentlich, dass der nur LAN Raw-Messages in serielle Messages umsetzt. Sollte ich wirklich eine Verschlüsselung befürchten müssen, bei einem einfachen "Gateway"?

Viele Grüße
Thorsten

crazystone

Hab jetzt bei in einem anderen Thread gelesen, dass der HMLAN LAN seitig einen AES-Key hat, den man abschalten kann/muss. Auf dem HMLAN ist aber wohl dieser AES-Key aufgedruckt (macht Sinn für den ersten Verbindungsaufbau).

Auf dem LGW ist kein AES-Key aufgedruckt, nur eine serial, die statt der üblichen JEQ mit KEQ beginnt und mit der er sich im LAN Netzwerk meldet (FritzBox erkennt ihn). Vage Schlussfolgerung: keine AES-Verschlüsselung...

Viele Grüße
Thorsten

Dirk

ZitatAuf dem LGW ist kein AES-Key aufgedruckt
Da ich nur die Informationen aus dessen Bedienungsanleitung kenne:
"Geben Sie anschließend die Seriennummer und den Sicherheits-schlüssel Ihres HomeMatic Wired RS485 Gateways ein." Und auf den dortigen Screenshots keine Ein-/Auschaltmöglichkeit gesehen habe, bin ich erst mal davon ausgegangen, dass es hier eine LAN-Verschlüsselung gibt, und diese nicht abschaltbar ist. Aber wie gesagt, nur eine Vermutung.

Versuche dich mal mit Telnet zum HM-LGW zu verbinden (Port 1000):
telnet <IP> 1000 Und poste mal was da raus kommt.

Da dann auch mal die Eingänge der HM-Wired Geräte auslösen, damit auf dem Bus was "los" ist.

Gruß
Dirk

crazystone

Also das war jetzt etwas ernüchternd. telnet hat auf Anhieb gar nicht funktioniert, auch ein putty hat in keinem Mode etwas zustande gebracht. Ich habe dann von einem Linux Rechner aus einen Portscan auf das Gerät gemacht. Nichts! Kein einziger Port offen! Wie kann das denn sein?! Selbst die CCU müsste doch irgendwie mit dem Gerät kommunizieren? Leider habe ich keine zum Gegentest. Aber selbst zur ersten Anmeldung muss ja irgendwas da sein?! Ich hab dann noch den Portscan gemacht mit der FB. Die ist dagegen offen wie ein Scheunentor (Ports 21, 23, 80, 443, 445... natürlich die FHEM Ports 8083, 8084, 8085).

Also im Moment bin ich da etwas ratlos. Könnte es sein, dass die Box wirklich nur per UDP datagrams befeuert wird, die sie dann einfach nur umsetzt auf den RS485 Bus?

Ich hatte auch Datenverkehr erzeugt, auch per LED am Terminator gesehen. Habe mir eingebildet, dass dann auch die LAN Traffic LED damit korelliert mehr aktiv war. Auf dem Putty Terminal konnte ich aber nichts sehen. Mit Wireshark kenne ich mich leider (noch) nicht aus. Den sollte ich wohl jetzt anschmeißen, oder?

Bin für weitere Tipps dankbar!



crazystone

Danke auch für deine PM, Schau ich mir morgen an.

Viele Grüße

Dirk

Wie wird denn die IP-Adresse für das HMW-LGW vergeben?
Gibt es hier auch eine Windows-Software wie für den HMLAN?
Falls die IP Während der Konfiguration mit der CCU2 vergeben wird, dann klingt das tatsächlich erstmal nach UDP bzw. ARP.

Gruß
Dirk

crazystone

Hi,

ich habe einen DHCP im LAN, die FritzBox, die hat die IP automatisch zugewiesen. Der LGW ist dann auch auch mit seiner serial als Namen im Netz zu setzen also KEQxxxxxxx.fritz.box . Der NetBIOS TCP Port 139 ist aber auch nicht offen.

Ich habe jetzt nochmals einen anderen Portscanner (LaMa-Creation 3.0) angeschmissen, der braucht aber noch (schafft bei diesem Gerät nur etwa einen Port pro Sekunde, bei FritzBox parallel alle gescannt in 45min).

Eine Windows SW gibt es zu dem LGW nicht. Eine CCU habe ich leider auch nicht.

Viele Grüße

crazystone

Ok, ich habe dein Modul "reload 00_HM485_SERIAL" einfach mal geladen und dann ein neues Gerät definiert per:


define HM485LAN HM485_SERIAL 192.168.178.37:1000


Das Ergebnis im Log sieht erstmal vielversprechend aus.


2013.08.25 09:20:07 3: HM485: Loading available device files
2013.08.25 09:20:07 3: =====================================
2013.08.25 09:20:07 1: HM485: Loading device file: /usr/share/fhem/FHEM/HM485/devices/hmw-sen-sc-12.pm
2013.08.25 09:20:07 1: HM485: Loading device file: /usr/share/fhem/FHEM/HM485/devices/hmw_io12_sw14_dr.pm
2013.08.25 09:20:07 1: HM485: Loading device file: /usr/share/fhem/FHEM/HM485/devices/hmw_io12_sw7_dr.pm
2013.08.25 09:30:15 3: Opening HM485LAN device 192.168.178.37:1000
2013.08.25 09:30:15 3: HM485LAN device opened
2013.08.25 09:30:15 3: HM485LAN connected to device 192.168.178.37:1000


Mit einem


set HM485LAN discovery


habe ich dann aber erstmal den FHEM Server abgeschossen.
Viele Grüße

crazystone

In Deinem Beispiel


set HM485LAN raw FD <serial> 98 00000001 780C01


verstehe ich das 'FD' als dokumentiertes Startzeichen. In den Dokumenten, die ich gefunden hatte, kommt danach die Zieladresse. Hattest Du gemeint, dass ich hier die Serial des Gerätes (also "JEQ0xxxxxx") eingebe? Setzt Du die selbst in die Geräte-Zieladresse gemäß Protokoll um? Falls nicht, wie baue ich aus meiner Serial die Zieladresse?

'98' verstehe ich als das Kontrollzeichen/byte. Ist das immer konstant?

'00000001' ist die hmwID, das ist auch soweit klar, als Absender. In dem Fall hier hat mein HM495LAN auch diese Id automatisch nach dem Anlegen als Attribut bekommen.

Bei '780C01' bzw. '780C00' zum Ein- bzw. Ausschalten verstehe ich, dass Du den Aktor '78' mit Ausgang 13 (='0C) ein- (='01') und aus- (='00') schaltest. Aber woher bekommst Du vorher die '78'? Woher weiß ich, welche Adresse meine Aktoren haben? Ich hatte daher zuvor den "discovery" Befehl getestet, leider wenig erfolgreich.

Sind die set raw Befehle wirklich 1:1 durchgereichte byte streams?

Viele Grüße und Danke

crazystone

Jetzt habe ich im Log noch gesehen, dass alle 30s sich die entity verabschiedet und nach 3s wieder kommt:


2013.08.25 09:30:15 3: Opening HM485LAN device 192.168.178.37:1000
2013.08.25 09:30:15 3: HM485LAN device opened
2013.08.25 09:30:15 3: HM485LAN connected to device 192.168.178.37:1000
2013.08.25 09:30:45 1: 192.168.178.37:1000 disconnected, waiting to reappear
2013.08.25 09:30:48 1: 192.168.178.37:1000 reappeared (HM485LAN)
2013.08.25 09:30:48 3: HM485LAN connected to device 192.168.178.37:1000
2013.08.25 09:31:18 1: 192.168.178.37:1000 disconnected, waiting to reappear
2013.08.25 09:31:21 1: 192.168.178.37:1000 reappeared (HM485LAN)
2013.08.25 09:31:21 3: HM485LAN connected to device 192.168.178.37:1000
2013.08.25 09:31:51 1: 192.168.178.37:1000 disconnected, waiting to reappear
2013.08.25 09:31:54 1: 192.168.178.37:1000 reappeared (HM485LAN)
2013.08.25 09:31:54 3: HM485LAN connected to device 192.168.178.37:1000
2013.08.25 09:32:27 1: 192.168.178.37:1000 disconnected, waiting to reappear
2013.08.25 09:32:30 1: 192.168.178.37:1000 reappeared (HM485LAN)
2013.08.25 09:32:30 3: HM485LAN connected to device 192.168.178.37:1000
2013.08.25 09:33:00 1: 192.168.178.37:1000 disconnected, waiting to reappear


Bin nicht so sicher, was das verursacht...

Dirk

ZitatIch habe jetzt nochmals einen anderen Portscanner (LaMa-Creation 3.0) angeschmissen
Probier mal NMAP
Den gibts auch für Windows und eine GUI gibts dafür auch. (Zenmap)

Ein Portscan auf meinen HMLAN findet nur den Port 1000.
Ich hatte bisher Vermutet der HMW-LGW währ ggf. vergleichbar. Sieht wohl erstmal nicht so aus.

ZitatEine CCU habe ich leider auch nicht.
Das ist doof.
Währ schön mal den Verkehr zwischen CCU2 und dem HMW-LGW belauschen zu können.

Zitatverstehe ich das 'FD' als dokumentiertes Startzeichen.
Ja.

Zitat'98' verstehe ich als das Kontrollzeichen/byte. Ist das immer konstant?
Nein, ist eigentlich nicht immer 98. 98 Wird aber immer von den Modulen verarbeitet. Daher ist das für RAW-Befehle gut geeignet. Sonst muss man die RX und TX-Counter entsprechend zurück setzen. Im späteren fertigen Code will ich das entsprechend berücksichtigen.

ZitatAber woher bekommst Du vorher die '78'?
Das ist der Befehl den der Empfänger ausführen soll.

In der Dokumentation hier ist der Aufbau der Messages übrigens ausführlich dokumentiert. Zumindest die Sachen die ich bisher herrausgefunden habe.
Link

ZitatJetzt habe ich im Log noch gesehen, dass alle 30s sich die entity verabschiedet und nach 3s wieder kommt: ... Bin nicht so sicher, was das verursacht...
Nun, das passiert wenn die Verbindung zwar zuerst aufgebaut wurde, es sich dann aber herausstellt, dass die Verbindung doch nicht existiert. Daher sieht es für das HMW-LGW hier wohl erstmal nicht so gut aus.

Gruß
Dirk