Ja, Ihr habt richtig gelesen. Mit der neuen Firmware 4.091 Beta für das Fibaro HomeCenter 2 wird der Zipato RFID Tagreader offiziell seitens Fibaro unterstützt. Was Ihr dazu genau machen müsst, erfahrt Ihr hier in diesem Artikel.
Es war lange Zeit still, was die offizielle Unterstützung des Tagreaders seitens Fibaro angeht, doch vor einiger Zeit wurde diese Unterstützung für die nächste Beta 4.091 angekündigt. Seit dem 30. August 2016 ist diese Beta nun offiziell verfügbar und wir haben es uns natürlich nicht nehmen lassen, dieses Firmware-Update zu installieren und in Bezug auf den RFID Tagreader zu testen.
Kurz danach machte sich dann auch gleich Ernüchterung breit. Das Modul hatte nach einer "Soft-Reconfiguration" zwar ein Template, unsere bekannte Szene funktionierte allerdings gar nicht mehr und nach ein paar weiteren Tests war dann auch klar, dass Sie in der Form auch nicht mehr funktionieren wird... War aber eigentlich zu erwarten und deshalb keine sonderliche Überraschung, da Fibaro die Integration mit den dokumentierten Klassen des RFID Tagreaders realisiert hat. Unsere Szene basierte lange Zeit auf einem Workaround, da in der API des HC2 die Daten der Tags/PINs gespeichert wurden und so auslesbar waren. Dies war allerdings nicht den eigentlichen Anforderungen des Tagreaders vereinbar. Lange Rede, kurzer Sinn... Schauen wir uns die offizielle Integration doch mal genauer an.
RFID Tagreader im HomeCenter 2
Nach dem Anlernen, bzw. einem Soft-Reconfig des Tagreaders haben wir ab jetzt zwei Module auf dem Webinterface. Dies ist zum einen der eigentliche Tagreader, welcher signalisiert ob es geschlossen (Niemand zu Hause, Away-Taste wurde gedrückt) oder offen (Jemand zu Hause, Home-Taste wurde gedrückt) ist, zum anderen die Ansteuerung der LED, beziehungsweise des kleinen Piepsers im Tagreader.
Wenn Ihr nun die Home- oder Away-Taste betätigt und einen RFID Tag vor den Sensor haltet oder eine PIN eingebt und mit Enter bestätigt, dann erscheint oben in dem Debug-Feld eine Meldung, dass ein unregistrierter Code genutzt wurde. Dies ist kein Fehler, sondern so gewollt.
Code für einen RFID Tag setzen
Denn genau mit dieser Funktion kann der Code für den Tag ermittelt werden, welcher dann über eine LUA-Szene zu dem Tagreader gesendet werden muss. Dieser Code sieht folgendermaßen aus:
1 |
fibaro:call(ID, "setUserCodeDec", "1", "Occupied", "143,40,31,11,1,32,2,128,0,0", "opt") |
Hier müssen natürlich die ID des Moduls (Variable ID), die ID, an welche Stelle in der Tabelle userCodes der Code geschrieben werden soll (die 0 ist vorbelegt und kann nicht verwendet werden), und der Wert aus dem Debug-Fenster von euch eingetragen werden. Was bei opt eingetragen wird, ist nicht relevant, da diese Daten nur intern in der Z-Wave-Datenbank gespeichert werden und (bis jetzt) nirgendwo abrufbar sind. Der Status "Occupied" bedeutet, dass diese ID durch einen anderen Code bereits vergeben ist. Hier muss dann eine andere ID gewählt werden.
Nach dem Ausführen des LUA Codes wird in der HC2-API der Status "PendingUpdate" für die ID 3 gesetzt:
Diese Anzeige im Debug-Fenster der Szene könnt Ihr mit folgendem LUA Code realisieren:
1 2 |
local usersStatus = fibaro:getValue(ID, "userCodes") print(usersStatus) |
Wenn der Tagreader jetzt manuell aufgeweckt wird (Oder Ihr wartet bis zum nächsten, automatischen WakeUp), werden die Daten übertragen. Um den Tagreader manuell aufzuwecken, habt Ihr drei unterschiedliche Möglichkeiten:
- Home/Away-Taste betätigen, 1 Sekunde warten, RFID vor den Sensor halten
- Home/Away-Taste betätigen, PIN-Code eingeben, Enter-Taste drücken
- Auf der Rückseite des Gerätes den Sabotage-Kontakt 1 Sekunde drücken
Nach der Übertragung ändert sich dann der Status in der API von "PendingUpdate" zu "Occupied":
Alternativ könnt Ihr euch die API in der device-API des HomeCenter 2 anschauen. Dazu müsst Ihr folgende Adresse im Browser aufrufen: http://HC2-IP/api/devices/deviceID Hier müssen natürlich die IP und die deviceID an eure Geräte angepasst werden.
Neben dem Status "Occupied" gibt es noch weitere Status, welche über LUA gesetzt werden können. Diese sind
- Available // ID ist nicht belegt, kann genutzt werden
- Occupied // ID bereits vergeben, kann nicht genutzt werden
- ReservedByAdministrator // Vom Administrator reserviert
- StatusNotAvailable // Nicht verfügbar
Code für einen Pin-Code setzen
Es kann natürlich auch ein PIN-Code, welcher dann über die 4 Zahlentasten des Tagreaders eingegeben wird, gesetzt werden. Dies funktioniert mit folgendem LUA-Befehl:
1 |
fibaro:call(ID, "setUserCode", "2", "Occupied", "1234", "") |
Auch hier werden die Daten nach dem Aufwecken des Tagreaders übertragen. Die Möglichkeiten zum manuellen Aufwecken des Moduls haben wir ja bereits oben beschrieben. Es muss wieder die Device ID, die UserID und der Code (Im Beispiel 1234) angepasst werden. Es wird eine Länge von 4 bis 10 Stellen ünterstützt.
Solltet Ihr mal einen RFID Tag verlieren oder einen PIN-Code deaktivieren wollen, dann kann die ID auch wieder freigegeben werden. Dazu muss in der API die UserID wieder auf den Status "Available" gesetzt werden und das kann mit folgender Codezeile umgesetzt werden:
1 |
fibaro:call(ID, "setUserCode", "1", "Available", "9999", ""); |
Dies waren alle benötigten Befehle, um den Tagreader im Fibaro HomeCenter 2 zu integrieren. Wenn Ihr jetzt mit den angelernten RFID Tags die Home/Away-Taste drückt und den Tag vor den Sensor haltet, dann wird das Keypad symbolisch auf-, bzw. zugeschlossen.
Solltet Ihr dazu noch Fragen haben, dann stellt diese gerne in den Kommentaren. :)
Nachteile im Vergleich zum alten, nicht mehr funktionierenden Workaround
Es ergeben sich durch die offizielle Integration leider auch ein paar Nachteile im Vergleich zu dem alten RFID Skript. Diese haben wir für euch mal in einer kleinen Übersicht zusammengefasst.
- Es kann keine Unterscheidung mehr zwischen den einzelnen RFID Tags oder PIN Codes mehr erfolgen, da der Tagreader darüber entscheidet, ob der Code autorisiert ist.
- Jeder autorisierte Code (Egal ob RFID oder PIN) kann den Status Home/Away setzen.
- PINs/RFID Tags können zeitlich nicht mehr begrenzt werden
- Das erneute Setzen des Status funktioniert nicht, da die Szene nicht getriggert wird.
- Das manuelle Ausführen der Szene und das Auslesen der RFID Tags funktioniert leider nicht mehr, da keine Informationen über die Codes in der API des HC2 gespeichert werden.
Dies muss allerdings nicht der letzte Stand der Entwicklung sein. Es könnte sein, dass Fibaro weiterhin Änderungen an der Einbindung des Tagreaders vornimmt und so neue Funktionen noch dazu kommen. Da würden wir dann natürlich in einem Update-Artikel drauf eingehen.
Alles in Allem ist die Umsetzung durch Fibaro trotzdem gut realisiert worden. Anhand des nun funktionierenden Status des Tagreaders kann nun eine Szene getriggert werden, welche beim "Abschließen" dann alle benötigten Aktionen ausführt.
Dies könnte dann ungefähr so aussehen (Die Device ID im header muss angepasst werden):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
--[[ %% properties 399 value %% events %% globals --]] local trigger = fibaro:getSourceTrigger() local rfid_value_status = '' Debug = function ( color, message ) fibaro:debug(string.format('<%s style="color:%s;">%s</%s>', "span", color, message, "span")) end if (trigger['type'] == 'property') then fibaro:debug('RFID-Szene 3.0a (Official) gestartet.') local rfid_ID = tonumber(trigger['deviceID']) local rfid_value = tonumber(fibaro:getValue(rfid_ID, 'value')) if (rfid_value == 1) then rfid_value_status = 'Away' Debug('red', 'Status ' ..rfid_value_status.. ' gesetzt.') -- Eigene Aktionen definieren elseif (rfid_value == 0) then rfid_value_status = 'Home' Debug('green', 'Status ' ..rfid_value_status.. ' gesetzt.') -- Eigene Aktionen definieren end end |
In einem der nächsten Artikel werden wir euch eine ausführliche Szene, ähnlich wie die alte RFID Szene (Wir versuchen so viele Funktionen wie beim alten Skript umzusetzen; Einschränkungen wird es aber geben, siehe die oben angeführten Punkte), vorstellen. Dies hat leider zeitlich nicht mehr ganz gepasst. Mit diesem Artikel wollten wir euch aber ausführlich das Setzen der Codes im Fibaro HomeCenter 2 vorstellen, da dies die Grundvorraussetzung für die Nutzung des RFID-Tagreaders ist.
Wir haben natürlich wieder an euch gedacht und zwei neue Icons erstellt:
Käuflich erwerben könnt Ihr den Tagreader übrigens über Amazon oder über den Shop von "Control your Home" (Bis Sonntag für 49,00 €). Und nun viel Spaß beim Umsetzen. :)
Danke für die Ausführliche Anleitung. Allerdings ist die Anzahl der RFIDs nicht auf 4 begrenzt. Ich persönliche habe 6 Stück erfolgreich zugewiesen und es können insgesamt 254 freie RFIDS/PINS zugewiesen werden.
Ok. Änder ich im Artikel noch ab. Wie gesagt, ich konnte es nicht testen :(
Gruß
was mir noch aufgefallen ist, der Code für 1234 wird im Debug Fenster als "[49,50,51,52,0,0,0,0,0,0]" ausgegeben. Muss dieser dann nicht auch mit dem "setUserCode" so festgelegt werden?
Nein, das wird sowieso im Hintergrund anders codiert :)
Gruß
Hi Daniel,
vielen Dank, dass Du das Thema so schnell angehst!
Die Codeausgabe funktioniert bei mir allerdings nur mit einem manuell eigegebenen Zahlencode, dann schreibt er "unregistered code" und den Code. Die Angabe locked oder unlocked by user sehe ich nicht. Mache ich das Gleiche mit dem RFID-Tag passiert nichts.
Ich habe 2 Devices, wie Du auch schreibst: ein Doorlock und einen An/Aus-Schalter. Für den An/Aus-Schalter fragt er mich, was ich damit steuern möchte, da kann ich dann z.B. arm/disarm Alarm auswählen. Sollte das nicht via Szene und Doorlock laufen?
Kannst Du da noch mal eine Erklärung für Doofe nachlegen? ;-)
Danke!
TT
Hi, ziehe meine Fragen erst mal zurück...
2x ex/inkludiert, dann klappte das auch mit dem Code.
Warte mal Dein Final-Script ab, danke für´s erste!
LG TT
OK :) Ist grundsätzlich fertig. Baue morgen noch ein paar Verbesserungen ein und kümmere mich um den Artikel :) Wollte das wie schon erwähnt in 2 Teilen machen :)
Gruß
Hallo boomx,
vielen Dank für den interessanten Artikel und die tolle Ausarbeitung und Erklärung. Ich nutze aktuell noch die Firmware 4.070 mit dem Keepad und finde einige Funktionen wie Prüfung der offener Fenster und push Mitteilung in dem „alten“ Skript sehr gut.
Ist es mit der neuen Ansteuerung möglich, die Status LED des Keepads zu nutzen? D.h. wenn armed = LED rot, bei disarm = LED aus, somit würde ich mir die Anzeige über mein Fibaro WallPlug sparen . Ist eine Widget-Funktion möglich?
LG
Hi,
nein, das funktioniert nicht. Wird es auch nie, da die LED nicht von außen ansteuerbar ist.
Gruß
wann kommt deine erweiterte version? ;-)
Das Skript ist soweit fertig... Mache mich demnächst an den Artikel.
Gruß
Super Arbeit, besten Dank für die Mühe. Bei mir klappen die erforderlichen Grundfunktionen prima. Ich hatte noch einen RGBW Dimmer von Fibaro auf Lager und Reste einer LED Strippe. Damit Wird der Zustand Away und Home, den ich mit dem Zipato Tag Reader triggere gleichzeitig passend illuminiert. Für die kleineren Mitbewohner gibt es dann noch einen Hinweis über Sonos, dass nun der Alarm geschaltet oder entschärft ist :-)
Sehr gut :)
Der nächste Artikel folgt bald :)
Gruß
Ich hätte mal ne Frage.
Die Tokens zu registrieren hab ich hinbekommen.
Löse momentan das scharfschalten meines Alarms Magic scenes.
Scharf schalten lassen sich meine Motion Sensoren über das RFID jedoch wenn ich sie wieder entschärfen möchte regieren sie nicht auf die Szene.
Ich muss mich korrigieren ich habe gerade gemerkt das sich der Alarm insgesamt egal ob RFID oder Button, Nicht mehr entschärfen lässt. Seit der neuen Software lässt sich der Motionsensor nur noch über die Szenen schärfen. Entschärfen kann ich nur noch über die App
Ja, das ist ein Bug der Firmware. Im Forum gibt es dazu bereits einen Workaround und die nächsten Tage kommt ein Artikel mit einem kompletten Skript für die Alarmsteuerung.
:)
Gruß
Hi boomx,
wollte mal vorsichtig nachfragen, wann es weiter geht ;-) Warte schon sehnsüchtig auf die Fortsetzung.
Gruß,Valle
Schon lange veröffentlicht :)
https://www.siio.de/sicherheitalarm/so-aktivierst-du-deinen-alarm-mit-dem-rfid-tagreader/
Hallo Boomx,
kannst du mir evtl. nochmal helfen bei dem Einbinden des RFID. Ich habe mir vor kurzen den Tagender zugelegt und heute das beta Update 4.104 aufgespielt. Den Tagender habe ich erfolgreich inkludiert und dann komme ich nicht weiter. Dieser Abschnitt verwirrt mich schon total:
fibaro:call(ID, "setUserCodeDec", "1", "Occupied", "143,40,31,11,1,32,2,128,0,0", "opt")
Hier müssen natürlich die ID des Moduls (Variable ID), die ID, an welche Stelle in der Tabelle userCodes der Code geschrieben werden soll (die 0 ist vorbelegt und kann nicht verwendet werden), und der Wert aus dem Debug-Fenster von euch eingetragen werden. Was bei opt eingetragen wird, ist nicht relevant, da diese Daten nur intern in der Z-Wave-Datenbank gespeichert werden und (bis jetzt) nirgendwo abrufbar sind. Der Status „Occupied“ bedeutet, dass diese ID durch einen anderen Code bereits vergeben ist. Hier muss dann eine andere ID gewählt werden.
Also ich habe die ID vom Tagreader eingesetzt und diese Zahlenkombination ersetzt durch die was im API Fenster zu sehen ist wenn ich am Tagender eine Taste drücke und den Tocken davor halte:
Wenn ich dann die Szene ausführe, passiert nix es zeigt auch nix im DEBUG an!? Ich stehe irgendwie aufm Schlauch.
Hier noch die LUA Szene: fibaro:call(222, "setusercodeDec", "1", "Occupied", "143,XXX,167,178,102,80,1,4,0,0", "opt")
Vor dem nächsten Abschnitt graut es mich schon.
Danke schon mal für deine Geduld!
Hi,
achte beim ausführen bitte auf die richtige Schreibweise. Muss CaseSensitive sein. Wenn es erfolgreich war, dann ändert sich die entsprechende ID in der API von dem Tagreader.
Gruß
Was muss "CaseSensitive" sein?
setUserCodeDec
Hallo Boomx,
also ich habe es jetzt geschafft das ich mit dem Token den RFID Reader sperren und entsperren kann. (puhhh)
Jetzt noch eine Verständnisfrage: Welche Skript nehme ich jetzt um die einzelnen Sensoren Schaf zu schalten?
Achja, kann es sein das mit dem Beta 104 die Wetteranzeige bzw das "HC2 Wetter mit eigenen Werten füllen" nicht mehr funktioniert?
Danke für deine Geduld!
Hi,
folgendes Skript : https://www.siio.de/sicherheitalarm/so-aktivierst-du-deinen-alarm-mit-dem-rfid-tagreader/
Und nein, das funktioniert nicht mehr.
Gruß
Hab alles hinbekommen! Vielen Dank nochmal!
Eine Frage noch: Wo stelle ich den Delay ein?
Hi,
der Delay wird über die Sensoren ausgelesen. Reicht auch ein Sensor mit Delay. Dann muss dieser aber an erster Stelle im Array stehen. Freut mich :)
Gruß
Hallo Daniel,
ich habe mein HC2 auf Version 4.100 geupdatet, klar das alte RFID Alarm Skript funktioniert nicht.
Nun hänge ich an dem Artikel fest. Den Tag Reader habe ich neu included., sehe aber nur ein Modul die Türklinke mit den Schloßsymbolen, wenn ich den Tag an den Reader halte bekomme ich auch die Fehlermeldung ( [16:25:34] ID 124: Unregistered code [143,214,75,10,X,0,X,X,0,0]) wie oben im Artikel beschrieben, wo trage ich jetzt was ein?
Gruß
Stefan
Hi,
das ist doch genau das Thema des Artikels ;) steht hier alles beschrieben.
Gruß :)
Hallo,
Ich hänge hier genau and der gleichen Stelle (HC2 Firmware 4.110) .
Eingetragen ist alles wie beschrieben nur wird der Tag nicht erkannt. Wo kommt denn das "setUserCodeDec" her, vemute daran liegts?
Danke
Gruß
Jürgen
Hi,
ist der Status der gesetzten ID in der API auch "Occupied"? Was meinst du mit "Wo kommt denn das „setUserCodeDec“ her"?
Gruß
Hi,
danke für Deine schnelle Antwort - muss gestehen ich bin neuer Nutzer von HC2 und somit noch etwas unerfahren was LUA und auch manche Anleitungen hier angeht, in bestimmten Bereichen fehlt mir einfach noch der "logische Kurzschluss" wie etwas funktioniert wenn was hier in Deinem Blog so "einfach" beschrieben wird.
Habe mich gerade durch das Fibaro.com Forum gelesen und habe es nun geschafft die Tags anzulernen, und das hat nun schon mal funktioniert. Alles über verschieden erstellte Szenen - aber es klappt.
Ja der Status war Occupied von meiner gewähtlen ID "1"
Ich meinte mit setUserCodeDec ob diese Variable irgendwo in Fibaro versteckt ist oder manuel angelegt werden muss - auch gefunden, ist ja im Zipato eine Variable.
Du machst hier echt einen guten Job - nur halt für Newbies manchmal etwas schwer nachvollziehbar.
Gruß
Nur der Vollständigkeit halber meine verwendeten Szenen
--- Auslesen der freien RFID (alle welche nicht auf "occupied" stehen können verwendet werden) Im nachfolgenden Beispiel hat mein Zipato die ID 00 ---
--[[
%% properties
%% events
%% globals
--]]
local ID = -- RFID Reader ID
local usersStatus = fibaro:getValue(00, "userCodes");
print(usersStatus);
---- Anlernen der RFID Tags ----
--[[
%% properties
%% events
%% globals
--]]
local ID = 00 -- RFID Reader ID
fibaro:call(ID, "setUserCodeDec", "13", "Occupied", "49,50,51,52,0,0,0,0,0,0", "name_arg_is_optional");
Hier einfach die Tag ID wie bei der HC2 im oberen NachrichtenFenster eintragen (home drücken, Tag vorhalten) die 13 war frei nach der Auslese Szene
--- PIN Code setzen ---
--[[
%% properties
%% events
%% globals
--]]
local ID = 00 -- RFID Reader ID
fibaro:call(ID, "setUserCode", "13", "Occupied", "1234", "");
Sicherlich lässt sich das in einer kompletten Szene besser lösen
Hallo,
ich glaube ich bin zu blöd dafür. Bitte noch mal erklären was folgendes eingetragen werden muss:
fibaro:call(ID, "setUserCodeDec", "1", "Occupied", "143,40,31,11,1,32,2,128,0,0", "opt")
Ich habe ID geändert auf 68
143,40,31,11,1,32,2,128,0,0 habe ich geändert auf das was bei mir, als ich den RFID davor gehalten habe im Fenster angezeigt wurde.
fibaro:call(68, "setUserCodeDec", "1", "Occupied", "143,81,81,179,102,80,1,4,0,0",
Muss dort in der Zeile noch was geändert werden? Wenn ja was, denn es wurde geschrieben:
" die ID, an welche Stelle in der Tabelle userCodes der Code geschrieben werden soll (die 0 ist vorbelegt und kann nicht verwendet werden),"
Was ist damit gemeint?
Wenn ich die Szene starte kommt folgende Meldung:
[DEBUG] 15:51:05: line 115: attempt to concatenate local 'deviceId' (a nil value)
Danke und Gruß
Marco
Hi Marco,
Du musst erstmal schauen welche User Codes noch frei (Available in der HC2) sind (bei mir war der ,"1" , occupied.
Das über eine angelegte Szene
–[[
%% properties
%% events
%% globals
–]]
local ID = — RFID Reader ID
local usersStatus = fibaro:getValue(00, „userCodes“);
print(usersStatus);
Dann findest Du "available" IDs und eine diese Nummern die trägst Du dann anstatt der bei Dir gesetzen "1" ein (fibaro:call(68, „setUserCodeDec“, „HIER AVAILABLE ID !!“, „Occupied“, „143,81,81,179,102,80,1,4,0,0“,
Damit hat es bei mir geklappt
Gruß
Jürgen
Hallo zusammen
Ich steuere mit dem RFID-Reader mein Nuki. Türschloss.
Habe 4 Badge und eine RFID-Card im Einsatz, welche ich auch benannt habe.
Nun möchte ich gerne eine Blockszene erstellen, welche mir eine Push oder SMS sendet, wenn z.B. meine Tochter mit ihrem Badge die Türe öffnet.
Somit wüsste ich, wenn ich mal nicht zuhause bin, dass Sie zuhause angekommen ist.
Könnt ihr mir weiterhelfen?
Hi,
das funktioniert leider nicht. Mit dem HC2 könnte es funktionieren, wenn ich die Szene erweitere (Ist in Planung). Mit dem HCL wird dies, wie gesagt, nie funktionieren.
Gruß
Hallo zusammen,
hatte leider beim alten Script meine Frage hinterlassen, bevor ich auf dieses hier gestoßen bin. Erstmal vielen Dank. Funktioniert super. Aber... Ich habe einen Reader mit 5 Tags. Alle sind eingelesen und funktionieren. Das Hauptproblem ist der Reader (Zipato Mini Keypad). Wenn die Batterie eingelegt wurde, blinkt die LED und ein Piep kommt, man kann die Away Taste drücken und mit einem der Tags bestätigen - Reader und Fensterkontakt gehen auf scharf. Will mann danach wieder mit der Home Taste auf unscharf schalten passiert überhaupt nichts mehr. Man kann jede beliebige Taste oder auch den Tamper drücken, es zuckt sich nichts. Erst wenn ich die Batterie raus nehme und wieder einlege, den Tamper kurz drücke und dann meinetwegen auf den Tisch lege (Tamper gedrückt) kann mann wieder einmalig (oder manchmal kurz hintereinander) zweimal eine Taste betätigen und mit dem Tag bestätigen. Woran kann das liegen, das der Reader immer gleich einschläft?
Ich hoffe, es kann mir damit jemand helfen, da ich nun schon stundenlang gebastelt habe.
Gruß
Hallo zusammen,
vielleicht kann mir jemand helfen, denn ich bekomme es nicht hin.
Ich habe den LUA Code so wie oben beschrieben in eine neue LUA-Szene kopiert, nur das ID in 1582 (also die ID des Türschlosssymbols) und logischerweise den Code "143,xx,xx usw." mit dem Code überschrieben, der mit das HC2 anzeigt wenn ich die Hometaste auf dem Zipato drücke und dann einen der "Chips" vorhalte.
fibaro:call(1582, "setUserCodeDec", "1", "Occupied", "143,xx,xxx,xxx,xxx, etc.", "opt")
Alles abgespeichert und dann Szene gestartet. Es passiert nix. Es kommt noch nicht mal eine Fehlermeldung. Den Tagreader habe ich auch aufgeweckt durchs drücken des Tampers hinten oder der Home-Taste vorn. Wenn ich danach wieder den Zipato-Chip vorhalte, kommt wieder die Unknown-Meldung.
Was mache ich falsch?
Vielleicht kann es mir jemand erklären.
VG
Dirk
Mit der aktuellen Firmware-Version funktioniert das nicht mehr.
Kannst es nur über die erweiterten Einstellungen des Moduls setzen.
Gruß
Probier mal die aktuellste Beta 4.134 aus, da steht im Changelog, dass da was geändert wurde.
Gruß
Hey,
da kann ich leider nur die vierstelligen Pins setzen.
VG
Dirk
Ich habe ein Problemchen mit dem Reader. Seit über einem Jahr im Einsatz hat er immer problemlos funktioniert, mit der "alten" Software und jetzt auch mit der neuen. Ich habe 5 TAG`s im Einsatz. Meine Tochter hatte Ihren Schlüssel verloren, also habe ich den TAG deaktiviert. Dies funktionierte aber als ich ihn wieder aktivieren wollte ging dies nicht mehr. Habe die aktuelle Firmware auf meinem HC2, also habe ich mal die Syncronisierung im Modul durchlaufen lassen auch das hat nichts gebracht. Danach habe ich excludiert und wieder neu angelernt mit dem erfolg das jetzt kein TAG mehr anlernbar ist.
Hat sich die Prozedur des Anlernens gegenüber der oben angegebenen geändert oder was muss ich tum um meine Alarmanlage wieder flott zu bekommen?
Im Voraus schon mal Vielen Dank.
Hi,
es gibt derzeit ein Problem mit dem Tagreader. Neue Codes können nicht gesetzt werden. Hier hilft nur warten auf den Fix von Fibaro.
Gruß
Danke für die Info.
Habe gerade im Beitrag über meinem gelesen das dies das gleiche Problem ist, nur kann ich in den Erweiterten Einstellungen gar nichts eintragen.
Hallo Zusammen,
meine Fibaro läuft auf Version 4.130 und nimmt ebenfalls die Codes nicht an.
Wofür ist das 2. Modul (Schalter der LED?) gedacht?
Ich möchte mit dem Reader meinen Presentstate Status setzen. Away / Home.
Die ID des Readers lautet 270.
81 ist mein Widget was die Variable auf Home setzt. 82 auf Away.
233 ist mein Handy
Reicht das so aus ? Bin ein wenig irritiert wegen dem "Sync Script".
Vielen Dank
Markus
--[[
%% properties
270 value
%% events
%% globals
--]]
local trigger = fibaro:getSourceTrigger()
local rfid_value_status = ''
Debug = function ( color, message )
fibaro:debug(string.format('%s', "span", color, message, "span"))
end
if (trigger['type'] == 'property') then
fibaro:debug('RFID-Szene 3.0a (Official) gestartet.')
local rfid_ID = tonumber(trigger['deviceID'])
local rfid_value = tonumber(fibaro:getValue(rfid_ID, 'value'))
if (rfid_value == 1) then
rfid_value_status = 'Away'
Debug('red', 'Status ' ..rfid_value_status.. ' gesetzt.')
fibaro:startScene(82);
fibaro:call(233, "sendPush", "RFID wurde betätigt. Der Status ist AWAY.")
elseif (rfid_value == 0) then
rfid_value_status = 'Home'
Debug('green', 'Status ' ..rfid_value_status.. ' gesetzt.')
fibaro:startScene(81);
fibaro:call(233, "sendPush", "RFID wurde betätigt. Der Status ist HOME.")
end
end
Hallo,
mit der Firmware-Version besteht der bekannte Bug noch.
Du findest ein fertiges Skript hier:
https://www.siio.de/so-aktivierst-du-deinen-alarm-mit-dem-rfid-tagreader/
Gruß
um mit der Firmware ab 4.140 RFID-Tags in den Zipato-RFID Reader zu bekommen muss man:
To set tag reader code you should use action:
fibaro:call(ID, "setUserCodeDec", userId, "0,1,2,3,4,5,6,7,8,9") /// not fibaro:call(ID, "setUserCodeDec", "1", "Occupied", "143,31,0,0,0,0,0,0,0,0", "Name") like before
To delete tag reader code use:
fibaro:call(ID, "deleteUserCode", userId)
To get user code:
fibaro:call(ID, "getUserCode", userId)
To set user name use:
fibaro:call(ID, "setUserName", userId, "name")
bei Fragen bin ich gerne da
Für die RFID Tags funtioniert es, aber wie kann ich einen Zahlencode festlegen, dies ist mir bis jetzt nicht gelungen.
Das kannst du über die erweiterten Device-Einstellungen vornehmen.
Gruß
Hallo Sven,
eingebunden sind sie, aber ich kann keine User-Namen vergeben. Meine Tags wurden alle akzeptiert und beim Testen wird auch User 1 - 5 angezeigt.
Aber mit (z.B.)
fibaro:call(1583, "setUserName", "1", "Dirk")
funktioniert es nicht. 1583 ist meine ID des Readers.
VG
Dirk
Sorry, aber diesen Befehl (setUserName) gibt es nicht und macht auch wenig Sinn. ;)
Gruß.
die Gänsefüßchen setzt er nur hier oben und unten, in der Szene habe ich sie oben.
Hallo zusammen,
kann mir bitte mal jemand mitteilen, wie ich unter der Firmware 4.140 den Tag am Reader anlernen kann?
Ich weiß aufgrund der Vielzahl von Beiträgen nicht, was jetzt zum Erfolg führt. Ich bekomme das nicht gebacken...
Viele Grüße Thomas
Nun geht's...
warum auch immer....
Hallo Newbee,
welchen Code hast du benutzt um den Tag einzulernen?
VG Andy
Hallo,
ich möchte gerne
fibaro:call(ID, "setUserCodeDec", "1", "Occupied", "143,40,31,11,1,32,2,128,0,0", "opt")
in einen API Call übersetzen. In der API Active Documentation wähle ich POST /devices/{deviceID}/action/{actionName} mit {actionName} = setUserCode und body =
{
"args": [
"1",
"Occupied",
"143,40,31,11,1,32,2,128,0,0",
"opt"
]
}
Das scheint zu funktionieren, zumindest bekomme ich 202 als Antwort. Allerdings bleibt userCodes dauerhaut auf InProgress und der Tag bleibt unregistriert:
userCodes: "[{"id":1,"name":"","status":"Unknown","update":"InProgress"}.......
Meine Tag-ID ist natürlich eine andere als die im Beispiel. Nummer-Pins zeigen das gleiche Verhalten. Bin auf HCL mit SW 4.150.
Ich würde mich freuen über Ideen!
BG,
jayrock
Note so self - so geht's:
{
„args“: [
„1“,
„143,40,31,11,1,32,2,128,0,0“,
]
}
Oder im Browser:
http://192.168.0.1/api/callAction?deviceID=272&name=setUserCodeDec&arg1=2&arg2=143,40,31,11,1,32,2,128,0,0
Anleitung anlernen von RFID Transpondern am Zipato RFID Tagreader (ab 4.162 Beta)
In der Gerätevorlage im ersten Modul mit dem Türcodeschloss folgende einstellungen vornehmen:
1. PIN für den ersten Nutzer festlegen hierfür die PIN in das erste Feld und die Bezeichung in das zweite Feld eintragen
2. "Hinzufügen" und "speichern" drücken
3. Button "Synchronisation starten" drücken
4. Test des PIN am Zipato RFID Tagreader, drücken Sie "Home" am Zipato RFID Tagreader > geben Sie die PIN ein und drücken Sie "Enter"
Am oberen Debug-Feld eine Meldung ausgegeben z.B."[20:20:20] ID XXX: unlocked by user 1"
Ist dieser Test geglückt, müssen Sie sich einen API link nach folgender Vorgabe zusammenbauen:
Drücken Sie "Home" am Zipato RFID Tagreader > und halten den RFID Transponder davor
Am oberen Debug-Feld eine Meldung ausgegeben z.B."[20:25:30] ID XXX: Unregistered code [144,48,55,36,132,80,1,4,0,0]"
Kopieren Sie den code und erstezen Sie diesen in folgendem link ein um die Registration vornehmen zu können
http://192.168.0.10/api/callAction?deviceID=XXX&name=setUserCodeDec&arg1=2&arg2=144,48,55,36,132,80,1,4,0,0
die IP des FibaroHC anpassen
die deviceID mit XXX gekennzeichnet aus der ausgegeben Debug-Feld-Meldung ersetzen
setUserCodeDec&arg1=2 die 2 am Ende gegen die nächsten freien ID (aus Spalte 1) aus dem Template unter "PIN Konfiguration" ersetzen
den code 144,48,55,36,132,80,1,4,0,0 gegen den zuvor ausgegebenen oberen Debug-Feld-Meldung ersetzen
Dann diesen link durch aufrufen des links bestätigen
Es kommt folgende Bestätigunsmeldung im Browser: {"id":0,"jsonrpc":"2.0","result":{"result":0}}
Jetzt im FibaroHC in das Template zur "PIN Konfiguration" wechseln
Drücken Sie "Home" am Zipato RFID Tagreader > und halten den entsprechenden RFID Transponder davor
2 sec. warte und
Drücken Sie "Home" am Zipato RFID Tagreader > und halten den entsprechenden RFID Transponder davor
Jetzt erscheint der neu hinzugefügte Transponder in der Liste mit der Bezeichnung "Unbekannt"
Mit dem Bearbeitungsbutton "Stift" kann nun der Name angepasst werden