ZME_KFOB_S / ZME_KFOB2

Begonnen von rudolfkoenig, 13 Mai 2015, 00:04:41

Vorheriges Thema - Nächstes Thema

krikan

Das WakeupInterval der KFOB-S lässt sich aufgrund eines "known Problem" nicht anpassen: http://forum.z-wave.me/viewtopic.php?f=3423&t=21325&p=56252&hilit=kfob#p55399 . Leider habe ich das erst gesucht und gefunden, nachdem ich schon Ewigkeiten probiert hatte... Alternativlösung zur Batterieschonung steht dort auch.

rudolfkoenig

Mein wakeupInterval scheint zu funktionieren. War urspruenglich zwar auf "604800 0" eingestellt, ich konnte es aber auf "240 1" einstelen (die Nachricht kommt regelmaessig alle 4 Minuten), und danach wieder auf "604800 1", und ich habe jetzt seit ueber 15 Minuten nichts empfangen. Vlt. habe ich eine neue Version (Lib 3 Prot 3.92 App 1.1)

Wg bit 0x40 bin ich noch unsicher, ob wir das auch verwenden sollten, da ich nicht weiss, ob ich sonstnochwas dafuer machen muss. Weiterhin finde ich dass es nicht tragisch ist, ein neues Geraet fuers Inkludieren unweit vom Dongle zu haben.

Meinst du mit "manche Geräte SECURITY über die Device Classes mitteilen, statt über NIF"  den Befehl ZW_REQUEST_NODE_INFO bzw createNode?

krikan

KFOB-S hat bei mir die gleiche Version. Ich kann beim wakeupInterval einstellen, was ich will. Es bleibt immer bei den 240 Sek, obwohl get den abweichend gesetzten Wert meldet. Ruhe habe ich nur, wenn ich Parameter 25 auf 0 (blocked) setze. Dann kommt keine wakeup notification mehr und ich muss einen Wakeup manuell im Managementmode auslösen.

0x40: Habe testweise mal so inkludiert und kein Problem festgestellt, was aber nichts bedeuten muss. Der openhab-Entwickler hatte in der Mailing-List geschrieben, dass er Explorer Frames nicht eingebaut hat, weil er nicht weiß, was noch zu machen ist. Eigentlich dachte ich, dass Explorer Frames rein hardwargesteuert ablaufen, aber nach der  Aussage des Openhab-Entwicklers und einem Blick in zwapi habe ich an meinen Gedanken zu den Explorer Frames meine Zweifel. Inkludieren mit großem Abstand fände ich schon nicht schlecht, kann aber das Risiko nicht abschätzen.

"ZW_REQUEST_NODE_INFO bzw createNode": so verstehe ich openzwave, habe aber selbst noch nicht verstanden, wie man das an der Device Class festmachen soll. Welche soll SECURITY haben und welche nicht? Hatte auf Deine Idee gehofft; suche mal weiter.

krikan

Habe mich noch einmal mit dem Thema SECURITY beim KFOB-S beschäftigt; die Erkenntnisse sind aber schmal:

  • Abfrage der versionClass SECURITY ergibt 1, also ist die vorhanden - ansonsten müsste es 0 sein - leider habe ich keine Ahnung, wie ich Funktionsfähigkeit von SECURITY testen kann
  • bei openzwave wird gerade darüber spekuliert, ob neben den DEVICE Class Angaben aus dem NIF auch die Infos aus CC ZWAVEPLUS_INFO beim Festlegen von CC berücksichtigt werden müssen. Aus der Device Class wird nach  SDS10242-17 abgeleitet, welche CCs das Gerät pflichtgemäß haben muss und dies gesetzt (BASIC also immer!). Wie das bei CC ZWAVEPLUS_INFO funktionieren soll, habe ich nicht gefunden, vielleicht hat noch jemand Infos dazu.

A.Harrenberg

Hi,

hab' mich damit jetzt nicht wirklich beschäftigt, aber soweit ich das verstehe, muss direkt beim Includieren ein Key übertragen werden, ansonsten wird Security nicht angeboten...

https://github.com/OpenZWave/open-zwave/blob/master/cpp/src/command_classes/Security.cpp
/* in order to communicate with a Secure Device, we need to send the Network Key to the
* Device with a SecurityCmd_NetworkKeySet packet containing our Network Key.
* Fairly simple right?
*
* BUT
*
* The NetworkKeySet should be done during a inclusion of the device (there is technically a timeout)
* and not at any random time. This means that when including Secure Devices, we must use the OZW AddNode
* Controller Commands, and then once the Inclusion is complete, initiate a NetworkKeySet. Including a
* Secure Device by say using the button on a Z-Stick is technically not possible, as OZW needs to send
* the Network Key right away after negotiating the SecurityScheme (before the timeout).
*
*/


Und laut der Doku zu SECURITY_V1 ist da ja gleich das "volle" Programm nötig:

-Scheme Get / Scheme Report
-Nonce Get / Nonce Report
-Key Set (verschlüsselt!) / Nonce Get
-Nonce Report / Key verify (verschlüsselt!)

Das ganze dann noch mit Timern "gesichert"

Da ist wohl noch 'ne Menge an offenen Punkten zu klären ,-) Die vorhandene Doko ist für mich jedenfalls nicht auf den ersten Blick zu verstehen...

Welche "Quellen" habt Ihr denn? Momentan habe ich dieses SDS11060 und OpenZwave, Krikan hatte dann noch SDS10242 ins Spiel gebracht.

Gibt es eigentlich schon eine AES Implementation in fhem / perl mit der verschlüsselt werden könnte?

Die Befehle von Security kennt Ihr bestimmt schon, oder:
SecurityCmd_SupportedGet = 0x02,
SecurityCmd_SupportedReport = 0x03,
SecurityCmd_SchemeGet = 0x04,
SecurityCmd_SchemeReport = 0x05,
SecurityCmd_NetworkKeySet = 0x06,
SecurityCmd_NetworkKeyVerify = 0x07,
SecurityCmd_SchemeInherit = 0x08,
SecurityCmd_NonceGet = 0x40,
SecurityCmd_NonceReport = 0x80,
SecurityCmd_MessageEncap = 0x81,
SecurityCmd_MessageEncapNonceGet = 0xc1


Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

krikan

ZitatUnd laut der Doku zu SECURITY_V1 ist da ja gleich das "volle" Programm nötig
Leider, daher bin ich da programmiertechnisch raus. Hoffe daher auf Forscherdrang von anderen und bin zu Tests bereit.
Keine der von Dir aufgeführten Befehle von SECURITY reagieren -wie eigentlich zu erwarten- auf unverschlüsselte Telegramme.

ZitatSDS10242-17
Das Dokument gibt "nur" Infos zum NIF und den diversen ZWave-Geräteklassen. Problem ist, dass ich mit KFOB-S ein Gerät hier "beworben" habe, dass SECURITY im NIF nicht meldet.

Mehr Infos zu SECURITY kenne ich auch nicht. Am Besten habe ich aber sowieso die Laienerklärung in der Mailinglist von openzwave verstanden.

AES wird vom EnOcean-Modul genutzt. Habe aber keine Ahnung, ob das nicht eine besondere Form ist. Zudem nutzt das WMBUS-Modul AES.

A.Harrenberg

Hi,

mir fehlen da auch noch die Grundlagen von Z-Wave, aber auch Grundlagen zu den internen Abläufen von fhem... Aber man muss sich ja Ziele setzen...

WMBus nutzt eine AES-Implementierung von perl/OpenSSL:
use Crypt::CBC;  # libcrypt-cbc-perl
use Digest::CRC; # libdigest-crc-perl

# there seems to be no debian package for Crypt::OpenSSL::AES, so use
# sudo apt-get install libssl-dev
# sudo cpan -i Crypt::OpenSSL::AES

Das wäre also schon mal eine Grundlage.

Zitat von: krikan am 23 Mai 2015, 22:12:06
Keine der von Dir aufgeführten Befehle von SECURITY reagieren -wie eigentlich zu erwarten- auf unverschlüsselte Telegramme.
Das Dokument gibt "nur" Infos zum NIF und den diversen ZWave-Geräteklassen. Problem ist, dass ich mit KFOB-S ein Gerät hier "beworben" habe, dass SECURITY im NIF nicht meldet.
Wobei ich das nicht so ganz verstehe... Ein SecurityCmd_NonceGet = 0x40 müsste ja erst einmal mit einem unverschlüsselten SecurityCmd_NonceReport = 0x80 beantwortet werden. Wahrscheinlich wird bei dem Teil die gesamte Security Class abgeschaltet, wenn das nicht bei der Inclusion irgendwie ausgehandelt wurde.

If Network Key Verify fails or the timeout is reached , Trust Center
informs installer and the node must be excluded and included
using same process again. If the process is not attemped again
the included node will not be part of the secure network but will be
present in the network as a non -secure node. The node may
communicate with other non-secure nodes in the network


Hast Du evtl. mal die Logmessages/Rohwerte von einem NIF? Am besten wäre natürlich mal zu sehen ob sich der NIF eventuell ändert, nachdem das Gerät ohne Security angelernt wurde. So wie ich es verstanden habe wird ja momentan SECURITY nicht gemeldet, vor der Inclusion sollte das aber eigentlich der Fall sein. Im NIF ist das zweite Byte mit "Security" beschrieben, Bit 7 davon mit  "Opt. Func.". Wenn es nichts damit bzw. mit dem NIF zu tun hat, sondern mit ZWAVEPLUS_INFO dann wird es wahrscheinlich erst mal schwierig da an Informationen zu kommen. Wobei das Ding ja bei OpenZWave angeblich voll unterstützt wird. Vielleicht sollte man da noch mal ein "wenig" im Code stöbern und schauen was die so gemacht haben.

Zitat von: krikan am 23 Mai 2015, 22:12:06
Mehr Infos zu SECURITY kenne ich auch nicht. Am Besten habe ich aber sowieso die Laienerklärung in der Mailinglist von openzwave verstanden.

Kannst Du vielleicht mal einen Link auf das Thema in der Maillingliste schicken? Ich habe versucht danach zu suchen, das einzige was ich da gefunden habe, ist das jemand die XML-Definitionsdatei für den KFOB-S erzeugt und eingepflegt hat...

Oh Mann, ich seh' mich schon auch noch so ein Teil kaufen... Habe aber in den nächsten 2 Monaten eigentlich gar keine Zeit für sowas.

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

rudolfkoenig

Christian: kannst du rauskriegen, was alles was SECURITY betrifft mit openzwave funktioniert? Kann man damit das KFOB sicher  ansprechen? Ich vermute wir muessen openzwave als "Doku" verwenden.

krikan

@Rudi: Werde testen und berichten. Openzwave hat für die ZwavePlus-SECURITY einen neuen Branch, da es wohl Probleme gab.

@Andreas: Antwort (Rohmessage) und Weiteres folgt in Kürze

Mittlerweile habe ich meine Zweifel, ob ein batteriebetriebenes Gerät ideal für solche Implementationspielereien ist; netzbetriebenes Gerät wäre für Tests einfacher.

A.Harrenberg

Hi Krikan,

Zitat von: krikan am 24 Mai 2015, 12:36:51
@Rudi: Werde testen und berichten. Openzwave hat für die ZwavePlus-SECURITY einen neuen Branch, da es wohl Probleme gab.
Nutzt Du denn OpenZWave? Oder hast die Möglichkeit damit in "real" zu testen? Das wäre dann natürlich sehr hilfreich.

Zitat von: krikan am 24 Mai 2015, 12:36:51
@Andreas: Antwort (Rohmessage) und Weiteres folgt in Kürze

Mittlerweile habe ich meine Zweifel, ob ein batteriebetriebenes Gerät ideal für solche Implementationspielereien ist; netzbetriebenes Gerät wäre für Tests einfacher.

Was für ein netzbetriebenes Gerät würde denn noch Security unterstützen was zugleich günstig ist und leicht erhältlich?

Wenn mit in de pepper Datenbank nach Security filtert ist ja jedes zweite Gerät so ein amerikanisches Door-Lock, dann noch ein paar Sirenen / Rauchmelder.

Allerdings ist mir gerade was aufgefallen wenn man sich die Liste der Command Classes dieser Geräte anschaut:

Command Class   Byte    Version    Support   Control   In NIF   Secure   Non Secure
Security                0x98   1              Yes          Yes         Yes       No         Yes                   KFOB-S ZWave.me
Security                0x98   1              Yes          Yes         Yes       No         Yes                   WALLC-S ZWave.me
Security                0x98   1              Yes          No          Yes       Yes        Yes                   SES3 AEON Labs

Es scheint Unterschiede zu geben ob man die Geräte nun Secure oder Non Secure genutzt werden. Wobei ich das irgendwie bei dem KFOB-S dann nicht verstehe... Sollte der SECURITY dann in nur in einer Non Secure Umgebung anbieten?

Die Spalte "In NIF" sagt eigentlich das Security im NIF auftauchen sollte...

Gruß,
Andreas.

P.S.: Der SES3 scheint recht teuer zu sein... ~60-65€
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

krikan

ZitatNutzt Du denn OpenZWave? Oder hast die Möglichkeit damit in "real" zu testen? Das wäre dann natürlich sehr hilfreich.
Noch nicht, aber bald  ;). Mein Problem ist eher ein fehlender 2. Controller, damit hier bei den Experimenten nicht alles zusammenbricht.
Zitat
Was für ein netzbetriebenes Gerät würde denn noch Security unterstützen was zugleich günstig ist und leicht erhältlich?
Habe noch eine Aeon Labs Gen5-Sirene AEO_DSD31, die SECURITY kann. Dank der Unterstützung von ungebetenen Besuchern in der Nachbarschaft musste ich die sogar kaufen...
ZitatEs scheint Unterschiede zu geben ob man die Geräte nun Secure oder Non Secure genutzt werden.
Das ist eine der Merkwürdigkeiten, die ich eigentlich  noch im Zwave.me Forum hinterfragen wollte. Scheint  irgendwie mit den Neuerungen von ZWave+ zusammenzuhängen.
ZitatWobei ich das irgendwie bei dem KFOB-S dann nicht verstehe...
Das http://www.pepper1.net/zwavedb/device/562 ist eine andere Version als Rudi und ich haben. Unsere (0115-0100-0102) scheint neuer zu sein.

A.Harrenberg

Hi Krikan,

Zitat von: krikan am 24 Mai 2015, 14:08:31
Noch nicht, aber bald  ;). Mein Problem ist eher ein fehlender 2. Controller, damit hier bei den Experimenten nicht alles zusammenbricht.Habe noch eine Aeon Labs Gen5-Sirene AEO_DSD31, die SECURITY kann.
Yep, das wäre auch mein Problem, ich müsste einen Controller und ein Secure-Gerät kaufen.

Eine Sirene zum Testen ist vielleicht nicht ganz das geeignetste Gerät... Könnte laut werden... Die Experimente mit dem Rauchmelder habe ich noch nicht ganz verdaut...

Zitat von: krikan am 24 Mai 2015, 14:08:31
Dank der Unterstützung von ungebetenen Besuchern in der Nachbarschaft musste ich die sogar kaufen...

Yep, die alte Alarmanlage wurde auch nach einem Einbruchsversuch angeschafft. Nur gibt es da keine Teile, vor allem keine Fernbedienungen mehr zu kaufen. Daher bin ich ja erst mal auf den RFID Leser, Rauchmelder zum Krach machen und einen MP3-Gong für Ansagen umgestiegen (natürlich noch einen Türkontakt und einen Bewegungsmelder). Hat nur den Nachteil das ich die Alarmauslösung dann natürlich etwas verzögern muss, damit man auch Zeit hat das Ding zu entschärfen. (Aber zumindest geht schon mal Licht an und eine Stimme aus dem MP3-Player sagt: "Alarm, Haustür geöffnet"... Damit sollte auch einem Schwachmaten hoffentlich klar sein das er gerade eine Alarmkette ausgelöst hat.

Zitat von: krikan am 24 Mai 2015, 14:08:31
Das ist eine der Merkwürdigkeiten, die ich eigentlich  noch im Zwave.me Forum hinterfragen wollte. Scheint  irgendwie mit den Neuerungen von ZWave+ zusammenzuhängen.Das http://www.pepper1.net/zwavedb/device/562 ist eine andere Version als Rudi und ich haben. Unsere (0115-0100-0102) scheint neuer zu sein.

Mal sehen, die nächsten 2-3 Wochen ist wenig Zeit, dann ist erst mal Urlaub. Aber ein bischen was geht ja immer ,-)

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

krikan

Zitat von: A.Harrenberg am 24 Mai 2015, 15:02:49
Eine Sirene zum Testen ist vielleicht nicht ganz das geeignetste Gerät... Könnte laut werden... Die Experimente mit dem Rauchmelder habe ich noch nicht ganz verdaut...
Lautstärke kann man bei Sirene- im Gegensatz zum Rauchmelder- einstellen. Und man muss nicht zwangsweise jedesmal Alarm auslösen, Abfragen reichen auch. Eigentlich interessiert mich aber SECURITY bei KFOB-S mehr als bei der Sirene. Ersatzcontroller ist unterwegs...

krikan

Hallo Rudi,
KFOB-S lässt sich in openzwave (dieser Branch: https://github.com/OpenZWave/open-zwave/tree/Issue-352-Security) mit SECURITY einbinden. Anliegend Log über Inklusion (mit Network Key: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10), manuellem Wakeup und ein bei Tastendrücken.

Secure Inklusion war nur nach Factory Reset und anschließenden Druck auf eine einzelne Taste (siehe Anleitung Seite 1 unter "Installation Guideslines") möglich. Eine secure-Inklusion durch Einschalten des Management Modes und Druck auf Taste 1 (nach vorheriger Exklusion) habe ich nicht hinbekommen.

Bei meinen Experimenten mit Fhem habe ich auch festgestellt, dass mein KFOB-S bei In- und Exklusion recht anspruchsvoll ist. Es funktioniert nicht immer auf Anhieb und ich brauche immer mehrere Anläufe. System habe ich noch nicht erkannt.

Wenn mehr notwendig ist, bitte Testwunsch nennen.

Gruß,Christian

A.Harrenberg

Hi Christian,

Zitat von: krikan am 24 Mai 2015, 15:49:54
Lautstärke kann man bei Sirene- im Gegensatz zum Rauchmelder- einstellen. Und man muss nicht zwangsweise jedesmal Alarm auslösen, Abfragen reichen auch. Eigentlich interessiert mich aber SECURITY bei KFOB-S mehr als bei der Sirene. Ersatzcontroller ist unterwegs...

wie LEISE kann man die denn stellen? Evtl. könnte mir das Ding auch gefallen... Kann man die auf leisester Stufe als Voralarm nutzen der nicht gleich das ganze Haus aufweckt? Und kann man dann jederzeit auf lauten Alarm umstellen?

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY