HMLAN mit eigenem AES Signierungsschlüssel

Begonnen von Samsi, 25 September 2013, 13:16:23

Vorheriges Thema - Nächstes Thema

Zeitisen

Danke für die klaren Antworten.

HMid für Windows  habe ich jetzt gleich gesetzt zu FHEM. Ich hatte eigentlich erwartet, dass so etwas in "Einstellungen" zu finden ist.
Statt dessen muss man googeln und dann Konfigurationsdateien ändern. 

Das mit der Seriennummer funktioniert mit Aktoren, nicht aber mit Batterie betriebenen Schaltern.
Vor allem nicht, wenn der Schalter im OG und der Rechner im Keller steht. Also ausbauen! (HM-SCl-3-FM)

Bei der Windowssoftware  ist es angenehm, dass die Beschreibungen direkt da stehen, wo man sie auch benötigt.
In FHEM muss ich immer ein Fenster mit der manchmal kärglichen Beschreibung offen haben und im andern Fenster FHEM bedienen.
Bei einem Touchpad ist das mühsam. Wie wäre es mit einem Tooltip mit der Beschreibung, wenn man auf ein Register zeigt?

Gibt es hier eine Wunschliste?
1. Platz : AES verteilen auch mit FHEM

Bei jedem neuen Gerät, das ich mit AES betreiben will (ich werde, denn ich möchte vermeiden, dass irgendein Spaßvogel mir das Licht ausschaltet!),
muss ich also die Windowssoftware auspacken.


Joachim

ZitatGibt es hier eine Wunschliste?
1. Platz : AES verteilen auch mit FHEM

Hallo Zeitisen, dann programmiere da doch einfach, wenn es Dir so wichtig ist.

Gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

Zeitisen

Wenn das so einfach wäre, würde ich es doch glatt machen.
Aber mir fehlt zum einen noch das Know how. Nach zwei Wochen Homematic muss ich mich wohl noch als blutigen Anfänger bezeichnen.
Außerdem ist Perl nicht gerade meine Lieblingssprache.

Zum anderen fehlt mir die Zeit. Meine Freizeit verbringe ich gerade damit, Sensoren und Aktoren zu paramtrieren und zu verbauen.

Joachim

ZitatZum anderen fehlt mir die Zeit. Meine Freizeit verbringe ich gerade damit, Sensoren und Aktoren zu paramtrieren und zu verbauen.

Dir ist schon klar, dass dieses Projekt von uns allen in der Freizeit betrieben wird.
Also freu Dich über dass was schon alles geht, und schraube Dein Anspruchdenken etwas herab.
ZitatHMid für Windows  habe ich jetzt gleich gesetzt zu FHEM. Ich hatte eigentlich erwartet, dass so etwas in "Einstellungen" zu finden ist.
Statt dessen muss man googeln und dann Konfigurationsdateien ändern. 
Wenn Dir Googeln und Das Ändern von Konfigurationsdateien zu anstrengend ist, dann bist Du hier falsch.
FHEM ist unheimlich mächtig, und sticht wahrscheinlich jedes zur Zeit vorhandene Programm aus, es ist allerdings nötig, sich eine nicht unerhebliche Menge an Wissen anzueignen. Wenn Du dazu bereit bist, dann bist Du hier richtig

Gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

Zeitisen

Autsch.
Wahrscheinlich habe ich das verdient.

Mein zweiter Name ist Ungeduld, und es geht nicht so voran, wie ich mir es vorgestellt habe.
Wenn ich das mit AES mal am Laufen habe, werde ich zumindest ein Wiki Howto dafür schreiben.

Das Ändern von Konfigurationsdateien ist mir nicht zu anstrengend. Ich hätte nur vom kommerziellen Hersteller der Konfigurationssoftware  etwas anderes  erwartet.

Ich bin noch dabei, die vielen kleinen Mosaiksteinchen zusammen zu setzen, um ein Verständis für das Ganze zu bekomnmen
Und dabei läuft mir irgendwie die Zeit davon.

Zeitisen

#50
Noch funktioniert das ganze bei mir nicht.

Ich habe jetzt die hmId von FHEM umgerechnet in Dezimal und dann in die Datei  ids vom Homematic Konfigurator eingetragen.( Kann man irgendwie verifizieren, ob das erfolgreich war?)

Dann habe ich alle verfügbaren Komponenten an Homematic Konfigurator angelernt.
Bei zwei Aktoren habe ich umgestellt auf "Gesichert". Dazu muss man die Baumstruktur öffnen und im Kanal in der Spalte "Übertragungsmodus" auf das weiße Feld klicken, wo normalerweise "Standard" steht.

Das Umstellen auf " Gesichert" geht geht ohne weiteres Nachfragen. Das Zurückstellen erfordert aber den Anlernmodus  durch Drücken der entsprechenden Taste und damit physikalischen Zugriff.

Nach dem die betreffenden Aktoren mit AES funktioniert haben, wollte ich das Ganze mit FHEM prüfen.
Also Homematic Konfigurator beenden, Netzwerkkabel vom Raspberry wieder rein.
Wegen der gleichen hmId sollte das jetzt funktionieren, auch ohne dass das Attribut hmkey gesetzt ist, weil der Key noch im HMLAN steht.
Ist das so korrekt?

Genau das funktioniert nicht. protEvt_AESerrReject wird hochgezählt und auf die Zeit des  letzten Versuchs gesetzt.

Nächster Versuch: Ich will den hmkey setzen. Dabei sollten nach Doku sowohl der Key selbst als  auch die Eingabe des Hashwertes möglich sein.
Ich versuche zunächst den Key selbst. Dabei kommt die Fehlermeldung: "illegal number: " . Das kann ja eigentlich nicht sein, den ein Key kann keine illegalen Zahlen haben ( abgesehen von den Problemen mit & in älteren CCU firmwares)
Den  Key habe ich ohne vorgestelltes 01: eingegeben. Die Schreibweise ist mir hier nicht ganz klar.

[edit]
Ich habe jetzt heraus gefunden, warum das nicht geht. Mein Key enthält einen ":" . Damit fällt die Abfrage, ob hash oder Key auf die Nase. Mit diesem Code ist ein ":" im Key überhaupt nicht erlaubt:
if ($aVal =~ m/:/){#number given
($no,$val) = split ":",$aVal;
return "illegal number:$no" if (hex($no) < 1 || hex($no) > 255 || length($no) != 2);
}

Anmerkung: Ich verstehe die Perl Syntax nur eingeschränkt. Klar ist mir hier nur, dass  der : als Aufteilungsmarke zwischen Nr und hash genutzt wird.
Abhilfe: als Unterscheidung "01: " definieren. Leerzeichen sind in einem Key nicht erlaubt. Damit ist eine Unterscheidung zuverlässig möglich.


Nach dem Fehlschlag mit dem Key selbst nächster Versuch mit dem Hashwert. und vorangestelltem 01: . Dabei sollte der Wert ja unverändert bleiben. Als Ergebnis kommt aber ein anderer Wert heraus.. Das bedeutet doch wohl, dass der Hash für einen Key gehalten und in einen Hash umgerechnet wurde. Ich meine aber mich dunkel zu errinnern, dass ich das ganz am Anfang schon einmal so gemacht habe und es funktionierte.
Hat sich etwas geändert?
Wie sind die erlaubten Eingabeformate definiert?

Habe ich etwas übersehen?
Mache ich etwas falsch?

Updates habe ich am 14.12014 und am 23.1.2014 gemacht.
Mein Softwarestand:
# $Id: fhem.pl 4709 2014-01-21 18:00:07Z rudolfkoenig $
# $Id: 10_CUL_HM.pm 4718 2014-01-22 23:31:06Z martinp876 $
# $Id: 01_FHEMWEB.pm 4648 2014-01-14 19:23:34Z rudolfkoenig $
# $Id: 92_FileLog.pm 4664 2014-01-16 09:45:47Z rudolfkoenig $
# $Id: 00_HMLAN.pm 4718 2014-01-22 23:31:06Z martinp876 $
# $Id: 98_HMinfo.pm 4718 2014-01-22 23:31:06Z martinp876 $
# $Id: 99_SUNRISE_EL.pm 4537 2014-01-03 08:28:59Z rudolfkoenig $
# $Id: 99_Utils.pm 3595 2013-08-05 05:38:48Z tobiasfaust $
# $Id: 98_autocreate.pm 4648 2014-01-14 19:23:34Z rudolfkoenig $
# $Id: 91_eventTypes.pm 2982 2013-03-24 17:47:28Z rudolfkoenig $
# $Id: 91_notify.pm 4664 2014-01-16 09:45:47Z rudolfkoenig $
# $Id: 98_openweathermap.pm 4347 2013-12-08 16:49:02Z betateilchen $
# $Id: 33_readingsGroup.pm 4714 2014-01-22 16:29:16Z justme1968 $



Samsi

Hallo,

ZitatIch habe jetzt die hmId von FHEM umgerechnet in Dezimal und dann in die Datei  ids vom Homematic Konfigurator eingetragen.( Kann man irgendwie verifizieren, ob das erfolgreich war?)

Schließe den HMLAN an FHEM an und versuche ob Du die Aktoren steuern kannst (wenn sie schon vorher FHEM bekannt waren) .

Bsp.:
Anlernen an FHEM mit 123456
Probieren ob der Aktor steuerbar ist
Wechsel zu winSoft
Anlernen an Winsoft mit 123456
Wechsle zu FHEM
Schauen ob der Aktor noch zu steuern ist -> Ja:OK nein:Nicht OK

Die Software macht beim Anlernen nichts anderes als die HMID des HMLANS in das Gerät zu programmieren. Hast Du unterschiedliche IDs in FHEM und WinSoft, würde die sich immer gegenseitig überschreiben.



"Das Umstellen auf " Gesichert" geht geht ohne weiteres Nachfragen. Das Zurückstellen erfordert aber den Anlernmodus  durch Drücken der entsprechenden Taste und damit physikalischen Zugriff."
Bei Batteriebetrieben musst auch beim einschalten anlernen drücken, sonst kann er nicht übertragen. Schau am besten rechts oben in der Windows Software, das steht ob noch Übertragungen anstehen.



ZitatWegen der gleichen hmId sollte das jetzt funktionieren, auch ohne dass das Attribut hmkey gesetzt ist, weil der Key noch im HMLAN steht.
Ist das so korrekt?
Richtig, der HMLAN behält die keys bis er stromlos gemacht wird. ICh würde Sie sicherheitshalber aber trotzdem gleich in FHEM angeben. Man weiß ja nie.



ZitatDen  Key habe ich ohne vorgestelltes 01: eingegeben. Die Schreibweise ist mir hier nicht ganz klar.

01: brauchst Du. Das ist der Index des keys und du musst alle Keys so angeben wie sie in der keys datei mit index stehen (falls du schon mehrmals den AES  key geändert hast).

also ungefähr so muss es dann in der fhem.cfg bzw. bei den Attributen im Webfrontend  stehen: hmkey 01:00aa00124432affddeecc

Grüße





FHEM 5.5 / BBB Debian Wheezy

Homematic CFG-LAN

HM-Sec-MDIR / HM-Sec-SD / HM-Sec-WDS / HM-LC-Sw2-FM / HM-Sec-SC / HM-LC-Sw1PBU-FM / HM-SCI-3-FM / HM-Sec-Key / HM-RC-Key3-B / HM-LC-Dim1TPBU-FM /  HM-CC-RT-DN / HM-PBI-4-FM / HM-RC-Key4-2 / HM-ES-PMSw1-Pl / HM-LC-Sw4-WM

Zeitisen

#52
Ich habe jetzt bei einem Rolladenaktor wieder auf "Standard" - Übertragung gestellt.

Nach dem Schalten mit winsoft habe ich umgesteckt auf FHEM: Die Bedienung funktioniert. Also ist die hmId gleich.
Wieso aber ist das Steuern des mit AES gesicherten Aktors nicht möglich, obwohl der HMLan durchläuft?

Dieses Mal funktionierte das Zurückstellen auf "Standard" ohne Anlernmodus. Kann es sein, dass der Empfangspegel zu schwach war?. An Ort und Stelle war RSSi auf -80. Das Bedienen funktionierte aber. Jetzt liegt das Teil wieder auf dem Schreibtisch.
Batteriebetriebene Geräte müssen quasi erst aufgeweckt werden. Ist mir klar.

Natürlich möchte ich die Keys eintragen. Aber in der bestehenden Software ist mein Key nicht eintragbar. Ich meine, auch den Hash aus dem File keys kopiert und eingefügt zu haben und die Darstellung hat sich nicht geändert. Wenn ich das jetzt mache, wird der Hash verändert also Hash vom Hash?
Wie soll den die Syntax nun lauten? 
xx:yyyyyyyyyyyyyyyyyyyyyyyyyy
mit xx = [01 .. 99] und yy..yyy ein Hashwert

Stehen in der keys Datei jetzt Hashwerte oder Keys? Ich denke doch Hashwerte.
Dann dürfte sich bei der obengenannten Schreibweise der Wert selbst nach der Eingabe nicht mehr ändern. Softwarefehler? Leider kann ich den Pearl code auf die Schnelle nicht entziffern.

Zeitisen

Das Problem mit der Eingabe des Hash hat sich geklärt:

Beim Kopieren wurden irgendwo die letzten vier Stellen abgeschnitten.
Nach dem der Hashwert jetzt vollständig eingegeben wurde, bleibt er auch unverändert erhalten.
Damit war sofort ein Schalten des bei Betrieb mit winsoft verschlüsselten Aktors möglich.

Jetzt bleibt also noch die Frage, wieso das Steuern des mit AES gesicherten Aktors nicht möglich war , obwohl der HMLan durchlief.
Offensichtlich wird der AES-Wert doch öfter zum HMlan geschrieben.

Vielen Dank noch einmal an alle, die sich die Mühe gemacht haben, mir weiter zu helfen.

Samsi

ZitatJetzt bleibt also noch die Frage, wieso das Steuern des mit AES gesicherten Aktors nicht möglich war , obwohl der HMLan durchlief.
Offensichtlich wird der AES-Wert doch öfter zum HMlan geschrieben.

Also wenn falsche keys in FHEM hinterlegt waren, werden diese natürlich in den HMLAN beim anschließen geschrieben. Nur wenn Du in FHEM keine keys eingetragen hast, bleiben die durch die winsoft geschreibenen keys im HMLAN bis zum Stromausfall bestehen.
FHEM 5.5 / BBB Debian Wheezy

Homematic CFG-LAN

HM-Sec-MDIR / HM-Sec-SD / HM-Sec-WDS / HM-LC-Sw2-FM / HM-Sec-SC / HM-LC-Sw1PBU-FM / HM-SCI-3-FM / HM-Sec-Key / HM-RC-Key3-B / HM-LC-Dim1TPBU-FM /  HM-CC-RT-DN / HM-PBI-4-FM / HM-RC-Key4-2 / HM-ES-PMSw1-Pl / HM-LC-Sw4-WM