NEWS
Zipato RFID Keypad Konfiguration
-
@Tan:{"type":"Buffer","data":[143,6,124,179,102,80,1,4,0,0]} ```` `
Die Darstellung ist etwas verwirrend, das ist kein Objekt, was so aussieht, sondern ein NodeJS-Buffer. Auf den Inhalt kannst du wie bei Arrays zugreifen:
`var value = state.value; value.length // => Anzahl Bytes value[i] // => Wert an Index i` [https://nodejs.org/api/buffer.html](https://nodejs.org/api/buffer.html)[/i]
-
Ah, ich verstehe. Vielen Dank für die Erklärung. Bin relativ neu in diesem Thema und muss mich erst noch etwas einarbeiten
Jetzt kenne ich leider die Abhängigkeiten zu der OpenZwave-Shared-Lib nicht. Da anscheinend der empfangene Enrollment Code automatisch an den entsprechenden Datenpunkt in ioBroker gesendet wird, was müsste man anpassen (Datentyp etc.) um diesen korrekt als Value anzeigen zu können? Irgendeine Idee?
-
Hast du irgendeine Ahnung bzw. Dokumentation wie der übermittelte Code bzw. Buffer aufgebaut ist?
-
Laut Doku ein 4-10 Stelliger ASCII Code. Wird dann anscheinend als Byte Array übertragen (hier in dezimaler und nicht in hexadezimaler Form).
Setze ich einen Integer Code in irgendeinem Usercode, so crashed sofort der ZWave Adapter:
2017-09-20 11:38:38.802 - debug: zwave.0 inMem message zwave.0.* zwave.0.NODE8.USER_CODE.Code_1:_1 val=1234567890, ack=false, ts=1505900318796, q=0, from=system.adapter.admin.0, lc=1505900318796
2017-09-20 11:38:38.877 - warn: host.debian instance system.adapter.zwave.0 terminated due to SIGABRT
2017-09-20 11:38:38.886 - error: host.debian instance system.adapter.zwave.0 terminated with code null ()
Im Open Z-Wave Control Panel soll es wie folgt ablaufen (aus dem Home Assistant Forum):
2: Add RFiD tags and/or codes
Once the device is correctly included the network, close the cover of the device.
It should show up as 'Schlage Link Mini Keypad RFID', select it and then "Current Values" on the left.
On the device, press home then place the RFiD tag close to the face of the device (within one second).
You should see "Enrollment Code" change to a 10 value hex. Copy this number and paste into "Code 1".
Press submit. Now press home again placing the RFiD close and you should see Code 1 is set.
To set keypad code, the process is the same, with the numbers being simply 0x31, 0x32, 0x33 and 0x34 for 1, 2, 3 and 4 respectively. You must press "Enter" after the last key press.
-
@Tan:Laut Doku ein 4-10 Stelliger ASCII Code. Wird dann anscheinend als Byte Array übertragen (hier in dezimaler und nicht in hexadezimaler Form).
Setze ich einen Integer Code in irgendeinem Usercode, so crashed sofort der ZWave Adapter: `
Poste doch mal einen Screenshot von der Baumstruktur, würde mir das gerne mal ansehen. Bin aber etwas überfragt, was das Gerät angeht, eventuell musst du mal beim OZW-Github ein Issue eröffnen (englisch!) https://github.com/OpenZWave/open-zwave/issuesDein Buffer hat allerdings nicht wirklich was mit einem ASCII-Zahlencode zu tun, die meisten Zeichen darin lassen sich nicht mal darstellen. Ist der eventuell noch verschlüsselt?
-
In der zwcfg_.xml steht folgendes:
<commandclass id="99" name="COMMAND_CLASS_USER_CODE" version="1" request_flags="4" innif="true" codes="254"><instance index="1"><value type="raw" genre="user" instance="1" index="0" label="Enrollment Code" units/read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0x8f 0x06 0x7c 0xb3 0x66 0x50 0x01 0x04 0x00 0x00" length="10"><value type="raw" genre="user" instance="1" index="1" label="Code 1:" units/read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00" length="10"><value type="raw" genre="user" instance="1" index="2" label="Code 2:" units/read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00" length="10">etc...</value></value></value></instance></commandclass>
10 Zeichen HEX
-
Ach, die gesendeten User Codes sind dann ASCII-kodiert und nicht der Enrollment-Code? Nagut, soweit sind wir noch nicht.
Warum der Adapter abschmiert, sollte sich auf der Konsole herausfinden lassen. Dazu einmal stoppen, und in der Konsole folgendes ausführen:
cd /opt/iobroker/node_modules/iobroker.zwave node main.js --force --logs
Und im Admin nochmal das tun, was zuletzt zum Absturz geführt hat. Die Baumstruktur in ioBroker würde mich trotzdem noch interessieren.
-
Sobald ich den Value direkt über Objekte setze, z.B. "1234567890" dann crashed der ZWave Adapter mit folgender Meldung:
stateChange zwave.0.NODE8.USER_CODE.Code_200:_1 set {"val":"","ack":false,"ts":1505927657307,"q":0,"from":"system.adapter.admin.0","lc":1505673774121} setState for: nodeID=8: comClass=99: index=200: instance=1: value= /usr/bin/node[14633]: ../src/node_buffer.cc:198:char* node::Buffer::Data(v8::Local<v8::value>): Assertion `val->IsUint8Array()' failed. 1: node::Abort() [io.zwave.0] 2: node::Assert(char const* const (*) [4]) [io.zwave.0] 3: node::Buffer::Data(v8::Local<v8::object>) [io.zwave.0] 4: OZW::OZW::SetValue(Nan::FunctionCallbackInfo <v8::value>const&) [/opt/iobroker/node_modules/openzwave-shared/build/Release/openzwave_shared.node] 5: 0x7f986420deb6 [/opt/iobroker/node_modules/openzwave-shared/build/Release/openzwave_shared.node] 6: v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo <v8::value>const&)) [io.zwave.0] 7: 0x9ed4ee [io.zwave.0] 8: 0x9edd8e [io.zwave.0] 9: 0x1a93a1092a7 Abgebrochen</v8::value></v8::value></v8::object></v8::value>
-
Hallo Zusammen, der Beitrag ist schon ein wenig älter.
Gibt es mittlerweile eine Möglichkeit die User-Codes zu setzen, bzw. den RFID Chip einzulassen?
Oder wird es in ioBroker und den Zwave Adapter noch nicht unterstützt?
Vielen Dank.
-
Ich würde hier auch gerne aufspringen,
habe das Keypad includiert und kann so gar nichts damit anfangen :?
Hat da jemand Instruktionen für mich?
Viele Grüße
Christian
-
Hallo zusammen,
das Keypad habe ich auch includiert bekommen. Problem ist jetzt das auslesen, ich denke das wird nur über einen seperaten Code gehen.
Habe dazu folgende Seite gefunden siio.de, da gibt es eine Möglichkeit das beim Fibaro einzubauen.
Da ich leider nicht wirklich viel Ahnung vom Coding habe, hat jemand vllt. eine Idee wie man das auf iobroker "übersetzten" übersetzten kann.
gruß