ZWave SendStack

Begonnen von A.Harrenberg, 18 September 2016, 15:59:44

Vorheriges Thema - Nächstes Thema

A.Harrenberg

Hallo Rudi,

ich versuche gerade den ZWave-SendStack zu verstehen, da ich eine Möglichkeit finden muss bei abgebrochenen/fehlgeschlagenen SECURITY Nachrichten den Security-Stack zu leeren.

Meine Schwierigkeiten fangen schon damit an das hierfür anscheinend $acktype='next' genutzt wird, das in der Form aber gar nicht im Code vorkommt und man jetzt schauen muss was passiert wenn die anderen typen NICHT zutreffen...

Sehe ich das richtig das falls ein "sent" oben auf dem Stack liegt ein "shift sendStack" ausgelöst wird, und danach dann auf jeden Fall der nächste Befehl (falls vorhanden) per IOWrite gesendet wird und das direkt gesendet wird wenn kein "sent" auf dem Stack liegt?

In ZWave_Parse wird ja je nach Antwort vom Dongle die verschiedenen Modi von processSendStack aufgerufen. Mir ist aber auf Anhieb nicht klar was bei CAN-Msg passiert? Das läuft nur in ZWDongle ab, oder? Ein Fehlschlagen wg. CAN wird auch nur über den Timer erkannt der dann "next" auslöst, richtig?

Wenn ich mich da "reinklinken" möchte müsste ich nach meinem momentanen Stand auf 'next" und einen gesendeten Befehl auf dem Stack prüfen, und dann, falls es ein verschlüsselter Befehl ist, diesen Befehl auch vom Security-Stack löschen.

Ist das soweit richtig oder habe ich die Logik hinter dem SendStack hier irgendwo/irgendwie falsch gedeutet?

Danke schon mal,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

A.Harrenberg

Hallo Rudi,

ich habe das mal so implementiert wie ich das oben beschrieben habe und es scheint so zu funktionieren wie ich mir das gedacht habe :-)

Der Timer für das secUnlock (ruft secEnd auf) muss ich mir noch mal ansehen, der sollte eigentlich überflüssig sein und bei WakeUp-Geräten greift er nicht. Ich muss mal schauen ob der jetzt ganz raus kann oder ob der in abgewandelter Form als Hosenträger doch drin bleibt.

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

A.Harrenberg

Hi Rudi,

kann es sein das Du den Patch übersehen hast oder gibt es Gründe den zurückzuhalten?
Oder einfach nur Zeitproblem?

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

rudolfkoenig

Ich meine deine Theorie wg. Sendstack ist korrekt. Wir haben z.Zt. N+1 Stacks: jeweils eins pro Geraet und eins fuers Dongle. Ist wohl nicht ganz optimal wenn was schiefgeht, allerdings alle zusammenlegen hat auch diverse Nachteile.

Habe dein Patch eingespielt.

Zurueckhaltung ist meiner laengeren TODO Liste und der merkwuerdigen Abarbeitungstechnik geschuldet. Ich habe die Nachricht im Forum nicht aufs Beobachten gesetzt, weil ich eh was machen musste, und so habe ich deine weiteren Beitraege erst heute gesehen.

A.Harrenberg

Hi Rudi,
Zitat von: rudolfkoenig am 25 September 2016, 08:55:44
Ich meine deine Theorie wg. Sendstack ist korrekt. Wir haben z.Zt. N+1 Stacks: jeweils eins pro Geraet und eins fuers Dongle. Ist wohl nicht ganz optimal wenn was schiefgeht, allerdings alle zusammenlegen hat auch diverse Nachteile.
zusammenlegen halten ich auch nicht für eine gute Idee. Solange der Sendstack (und damit das Gerät) mitbekommt das was beim Senden schief gelaufen ist solle alles i.O. sein.

Zitat von: rudolfkoenig am 25 September 2016, 08:55:44
Habe dein Patch eingespielt.
Danke,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY