Alarm schalten mit Zipato RFID Tagreader im Fibaro HC2 – UPDATE 3

Geschrieben von boomx

Mit diesem Update erweitern wir das RFID Skript um eine Widget-Funktion, sowie der Möglichkeit ein Doorlock zu integrieren und dies dann automatisch zu öffnen und zu verschließen.

ACHTUNG: Seit der Beta-Version 4.071 und den späteren Versionen funktioniert das Skript nicht mehr, da Fibaro Änderungen an der API des Gerätes vorgenommen hat und das Skript deshalb die Codes nicht mehr auslesen kann.

[alert variation="alert-info" dismiss="dismiss"]ACHTUNG! Die Nutzung des Skriptes erfolgt auf eigene Gefahr![/alert]

Neue Funktionen

  • Option, ein Doorlock mit einzubinden (Abschließen bei Alarm-Aktivierung, Aufschließen nach Entschärfen, Öffnen der Tür mit PIN/RFID - Nur wenn bereits jemand zu Hause ist - )
  • Widget-Support (Szene kann manuell ausgeführt werden)
  • Umstellung auf die Variable "PresentState" (häufig bereits vorhanden, rfid_alarm wird nicht mehr unterstützt)

Solltet Ihr die Variable "PresentState" noch nicht eingerichtet haben, dann begebt euch bitte in euer Variablenpanel und erstellt hier eine neue vordefinierte Variable mit den Status "Home", "Away" und "Holiday".

Kommen wir also nun zu den vorzunehmenden Anpassungen am Skript. Da diese mit den ganzen Updates sehr umfangreich geworden sind, erklären wir an dieser Stelle alle noch einmal explizit. Wir gehen dabei von oben nach unten vor.

Die notwendigen IDs

In diesem Teil werden die notwendigen IDs festgelegt. Die Angaben sind zwingend einzutragen, die Erklärungen zu den einzelnen Punkten findet Ihr in den Kommentaren zu den jeweiligen Punkten und sind eigentlich selbsterklärend.

Die Variable "countID" muss nur angepasst werden, wenn eure IDs größer sind als 200.

Optionale Einstellungen

RFID Tags inaktiv setzen

Mit dieser Einstellung könnt Ihr über globale Variablen die RFID Tags 3 und 4 als aktiv oder inaktiv kennzeichen.

Hier kam es in der Vergangenheit zu vielen Verständnisfragen, weshalb wir hier einmal ausführlicher drauf eingehen möchten. Wir haben mit dieser Option die Möglichkeit geschaffen, Szenenübergreifend RFID Tags zu aktivieren oder zu deaktiveren. Dies könnte man zum Beispiel einsetzen, um einer Haushaltshilfe den Zutritt in der Zeit von 13:00 Uhr bis 14:00 Uhr zu gewähren. Dazu müssen nur die oben beschriebenen globalen, vordefinierten Variablen mit den Status "active" und "inactive" erstellt werden. Mit einer zeitgesteuerten Szene können dann die RFID Tags in diesem Zeitraum auf aktiv gesetzt werden und nach der Zeit wieder auf inaktiv gesetzt werden.

Solltet Ihr diese Funktion nicht nutzen wollen, dann müssen die Variablen nicht erstellt werden. Die RFID Tags sind dann automatisch auf aktiv gestellt.

Mit PIN/RFID den Alarm aktivieren

Hier kann festgelegt werden, wie der Alarm geschärft werden soll.

Solltet Ihr also die Möglichkeit präferieren, nur mit einem PIN-Code den Alarm zu aktivieren, dann muss die Option auf 1 gesetzt werden. In diesem Fall kann dann der Alarm nur mit dem PIN aktiviert werden und mit dem RFID-Tag deaktiviert werden. Solltet Ihr es bevorzugen ohne PIN die Alarmanlage zu steuern, dann müssen die Optionen auf 0 gesetzt werden.

Eigene Aktionen ausführen

In der Zeile 27 legt Ihr fest, ob zu bestimmten Zeitpunkten Aktionen ausgeführt werden sollen.

Damit ist es zum Beispiel möglich beim erfolgreichen Schärfen/Entschärfen kurz die Sirene einzuschalten und dies als akustisches Signal zu nutzen. Ein weitere Möglichkeit wäre alle nicht benötigten Verbraucher stromlos zu setzen, um die Energie zu sparen. Hier kann grundsätzlich erstmal alles frei eingetragen werden. Die Befehle können in die Funktionen ab Zeile 59 eingetragen werden. Es gibt dabei 3 Zeitpunkte, welche unterschieden werden:

  1. actionsbeforeArmed(): Nach der Aktivierung des Alarms; der Alarm aber noch nicht aktiv ist, da eine Delay-Time vorhanden ist
  2. actionsafterArmed(): Nachdem der Alarm endgültig aktiv ist
  3. actionsafterDisarmed(): Nachdem der Alarm entschärft wurde

In die Funktionen kann beliebiger LUA-Code eingetragen werden.

own actions rfid

Eigene Aktionen in die Funktion eintragen

RFID/PIN

Kommen wir zu dem wichtigsten Teil des Skriptes. Hier werden alle Informationen zu den einzelnen Tags und dem PIN hinterlegt. (Zeile 30-34)

Um die Informationen von dem RFID Tag abrufbar zu machen, drückt Ihr auf eurem Tag Reader die Home/Away-Taste, wartet 1 Sekunde, bis die LED dauerhaft leuchtet und haltet dann den Tag davor. Es wird mit einem kurzen Signal bestätigt, dass das Tag von dem Reader erkannt wurde. Um nun das Byte-Array zu erhalten, könnt Ihr die Szene manuell ausführen. Im Debug findet Ihr dann alle notwendigen Informationen.

Der PIN-Code kann genauso abgefragt werden. Dazu einfach wieder die Home/Away-Taste betätigen und innerhalb einer Sekunde anfangen den Code einzutippen. Nach dem Eintippen mit Enter bestätigen und die Szene manuell ausführen.

ACHTUNG: Die Variable "widget" muss dazu auf false gesetzt sein, sonst wird die Szene normal ausgeführt

Widget-Support

Mit der App-Version 2.8 gibt uns Fibaro die Möglichkeit sogenannte Widgets zu nutzen. Dies sind kleine Icons in der Mitteilungszentrale von iOS. Hier können, ohne die eigentliche App zu starten, 4 Szenen ausgeführt werden. Da bietet es sich natürlich an, dies auch in diesem Skript umzusetzen.

widget rfid

RFID Widget

Hier kann der Wert auf "true/false" gesetzt werden. Wenn der Wert auf "true" steht, dann wird beim manuellen Ausführen der Szene geprüft, welchen Status die Variable "PresentState" hat und dort dann das jeweilige Gegenteil (Also "Home" wird zu "Away" und der Alarm aktiv) gesetzt. Die Sensoren werden dabei dann natürlich auch geschärft/entschärft. Dies hat den Vorteil, dass Ihr die Szene bereits ausführen könnt, ohne den physischen Zugriff auf den RFID Tagreader zu besitzen. So ist die Tür bereits aufgeschlossen, wenn Ihr vor eurer Tür steht. Es ist daher grundsätzlich möglich, das Skript auch ohne vorhandenen Tagreader zu nutzen und den Alarm mit der Szene zu aktivieren/deaktivieren.

doorlock

Kommen wir zur nächsten Option: dem doorlock. Hier könnt Ihr auswählen, ob Ihr ein doorlock nutzen wollt. Dazu könnt Ihr die Variable doorlock auf "true" setzen. Solltet Ihr die Option aktivieren, dann wird immer, wenn Ihr den Alarm entschärft, das Türschloss aufgeschlossen und wenn Ihr den Alarm aktiviert zugeschlossen. Die ID des doorlocks muss natürlich auch eingetragen werden.

Zusätzlich besteht die Möglichkeit das doorlock ohne Schlüssel aufzuschließen, wenn die Variable "PresentState" den Status "Home" hat. Dies kann entweder mit einem PIN-Code oder alternativ mit den RFID-Tags erfolgen. Dies könnt Ihr in den folgenden Optionen einstellen. Solltet Ihr mit einem PIN aufschließen wollen, dann bitte die Option "doorlock_open" auf "pin" setzen. Ansonsten hier bitte "rfid" eintragen. Mit dem "open_code" könnt Ihr im oben genannten Fall die Tür aufschließen, diesen könnt Ihr in der Variable frei vergeben.

Ab der Zeile 52 könnt Ihr festlegen mit welchen RFID Tags es möglich sein soll, die Tür ohne Schlüssel zu öffnen, wenn bereits jemand zu Hause ist. Solltet Ihr dies nutzen wollen, dann muss der Wert auf 1 gesetzt werden. Soll dies nicht funktionieren, dann den Wert auf 0.

ACHTUNGEs ist natürlich NICHT möglich, mit einem RFID Tag den Alarm zu aktivieren und gleichzeitig die Tür damit aufzuschließen. Parallel dazu kann auch nicht mit EINEM PIN-Code der Alarm aktiviert werden und mit dem gleichen PIN-Code die Tür aufgeschlossen werden. Um diese Abhängigkeiten zu prüfen könnt Ihr die Szene im ausgeschalteten Widget-Modus ausführen. Das Skript prüft dann die oben erwähnten Abhängigkeiten:

pruefung

Prüfung der Abhängigkeiten

Diese Prüfung solltet Ihr in jedem Fall vor der ersten Inbetriebnahme durchführen. Sofern dort kein roter Debug erscheint, könnt Ihr das Skript in eurer vorliegender Konfiguration nutzen.

Das Skript könnt Ihr euch hier herunterladen. Das Skript liegt in Form einer Zip-Datei vor. Ihr könnt diese entpacken, woraufhin Ihr eine LUA-Datei vorfindet. Diese könnt Ihr mit dem Editor öffnen und in euer HC2 kopieren. Danach sollten alle notwendigen Einstellungen vorgenommen werden und dann ein umfangreicher Test durchgeführt werden.

User1003-2

Die weiteren Anregungen in den vergangenen Artikeln haben wir natürlich nicht vergessen und versuchen diese auch noch umzusetzen. Und nun viel Spaß bei der Umsetzung. Würden uns freuen, wenn Ihr eure Erfahrung oder auftretende Fehler mit dem Skript in den Kommentaren teilt. :)

Diesen Blogpost hat geschrieben ...

boomx

122 Kommentare

  • Hallo,
    danke für das Script und die tolle Beschreibung.
    Ich habe noch kein ZIPATO RFID und wollte die Szene mit der Widget Funktion testen, jedoch ohne Erfolg :(
    Beim Starten der Szene kommen nur die drei folgenden Meldungen und das wars:
    RFID-Scene -Version 1.5 RC-gestartet
    Keine Variable für RFID3 gesetzt; Funktion wird nicht genutzt
    Keine Variable für RFID4 gesetzt; Funktion wird nicht genutzt

    Was habe ich falsch gemacht?

      • Hallo,
        Erstmal ein großes Lob ! Dieses Forum hat mir den Einstieg in mein Smart Home sehr vereinfacht.

        Ich habe ein Fibaro Home Center und habe dieses mit diesem Skript an den Zipato RFID Tagreader gekoppelt. Es funktioniert alles wunderbar - allerdings habe ich folgendes Problem :

        Der Tagreader hängt im Flur an der Eintagstüre (Innen)
        Ich brauche zum verlassen des Hauses ca. 10 Sek. Allerdings bekomme ich in der Türe schon die Push Nachrichten:

        Alarm SCHARF
        Bewegungmelder im Flur UNSICHER
        Eingangstüre UNSICHER

        Diese beiden Aktoren werden dann nartürlich auch nicht scharf gestellt.

        Die Delay Time in allen Modulen ist beim Verlassen schon 60 Sek.+
        Diese Zeit schein aber bei scharfstellen nicht beachtet zu werden !? Da ich die Push Benachrichtungen 1 Sek nach dem aktivieren des RFID bekomme!?

        Ich stehe gerade etwas auf dem Schlauch wo ich die "Wartezeit" ändern muss!?

        Gruß

        Markus

        • Hi,

          freut mich zu hören :)

          Zu deinem Problem:

          Die Sensoren müssen sicher sein, wenn du setArmed setzt. Unabhängig von dem ArmDelay. Du kannst mal in die Funktion actionsbeforeArmed einen 10-sekündigen sleep-Befehl einbauen. Dann sollten die Sensoren sicher sein, wenn du innerhalb der 10 Sekunden die Wohnung verlässt. Sollte eine Delay-Time erkannt werden, dann sollte dies im Debug zu finden sein. Kannst ja mal nachschauen, ob dies der Fall ist.

          Gruß

          • Hi,
            die Delay Zeit wird im Debug erkannt. -> 60 Sek.

            Ich habe in setArmed mal die Zeile: fibaro:sleep(1000) eingefügt.
            Hätte ich ja fast selbst drauf kommen können ... ***KOPFSCHÜTTEL***

            Werde ich heute Abend direkt mal testen.

            Vielen Dank!!!!!

            Gruß

          • Hi,
            ...also
            Leider funktioniert es noch nicht perfekt.

            Sowohl der Bewegungssensor als auch der Türkontakt werden nicht scharf gestellt,
            da diese beim scharf aktiv sind.

            Die Push Benachrichtungen kommen weiterhin sofort.

            Wer hat eine Idee?

            Gruß

            Markus

          • Dann musst du die Zeit des zusätzlichen fibaro:sleep erhöhen oder du hast es an eine Stelle eingefügt, die noch anderweitig abgeprüft wird. Würd es in die fertige actionsbeforeArmed() packen. Dort wird es 100% ausgeführt. Die Sensoren müssen sicher sein.

            Gruß

      • Hallo Boomx,
        erstmal danke für Deine ständige Hilfe!!!!

        Die Zeit ist ausreichend. Ich benötige 5 Sekunden um die Wohnung zu verlassen.
        Allerdings ist der Bewegungsmelder im Flur beim schärfen nie sicher. Da ich direkt vor dem Sensor stehe. ;-) Ich überlege gerade ob ich die Bewegungsensoren rausnehme - da ich einen Roomba und ein Thinking Cleaner bestellt habe. Perfekt wäre ein schärfen wenn der Roomba in der Ladestation ist. Vieleicht fällt mir dazu noch was schlaues ein ... oder gibt es schon was ? ;-)

        THX

        Markus

        • Dann muss die Zeit über der eingestellten Zeit beim Motion liegen. Dann würde es gehen. ;)

          Klar, das würde gehen. Solltest du dann allerdings nicht über das Skript machen, sondern über ein Extra-Skript. Was fertiges dazu hab ich nicht.

          Gruß

  • Funktioniert alles super, habe das ganze auf 5 RFID Karten erweitert. Hatte mir jetzt erst ein Danalock bestellt welches ich sofort eingebunden habe und auch das geht einwandfrei. Danke für die sehr gute Leistung.

  • Hallo Daniel,

    ist mit dieser Szene auch folgendes möglich:

    1) Alarmanlage über RFID oder Widget aktiviert
    2) Ansage "Alarm aktiviert" , rote LED Lampe an, nach Zeit X Gärete scharfgestellt
    bis hier ist es kein Problem
    3) Bewegung erkannt!!!
    4) Ansage " Authentifizierung erforderlich + Count down"
    5) wenn innerhalb von z.B. 10 Sek. der Code eingegeben wird, dann ist alles ok
    6) wenn kein Code eingegeben wird, dann Alarm auslösen

    Sind Pkt.3 bis 6 realisierbar?

    • Hi,

      nette Ideen. Leider aber mit diesem Skript nicht umsetzbar, da das Skript nur die Sensoren auf Armed setzt. Der Rest läuft mit dem Alarmpanel. Dort wäre das sicherlich umsetzbar.

      Gruß

  • Warum werden meine Aktionen nicht ausgeführt?

    -- Aktionen nach dem Schärfen mit Delay, bevor die Sensoren geschäft sind
    function actionsbeforeArmed()
    fibaro:debug('Führe eigene Funktionen vor Schärfen aus')
    fibaro:call(140, "pressButton", "12")
    fibaro:call(150, "pressButton", "22")
    end
    -- Aktionen nach dem endgültigen Schärfen
    function actionsafterArmed()
    fibaro:debug('Führe eigene Funktionen nach dem Schärfen aus')

    end
    -- Aktionen nach dem Entschärfen
    function actionsafterDisarmed()
    fibaro:debug('Führe eigene Funktionen nach dem Entschärfen aus')
    fibaro:call(150, "pressButton", "52")
    end

    140 ist ein VD mit SONOS Ansagen
    150 ist ein VD um die LED-Farbe des Fibaro Wallplug zu ändern
    local own_action ist auf 1 gesetzt

  • Hallo ,

    im Debug sieht alles gut aus. Ich glaube auch nicht, dass es an Deiner Szene liegt.
    Ich kriege es einfach nicht hin die Buttons der VDs anzusteuern bzw. die jeweiligen Aktionen auszuführen.

  • Hallo,

    was kann der Fehler sein? Ich bekomme für die Tags nicht die Byte-Array´s?
    Beim manuellen Starten habe ich auch nur:
    RFID-Scene -Version 1.5 RC-gestartet
    Keine Variable für RFID3 gesetzt; Funktion wird nicht genutzt
    Keine Variable für RFID4 gesetzt; Funktion wird nicht genutzt

    Habt Ihr eine Idee?

    • Hi,

      scheint so, als ob du den Wigdet-Modus auf "true" gesetzt hast und die Variable "PresentState" nicht eingerichtet hast. Setz mal den Wigdet-Modus auf "false" und führ die Szene aus. Dann sollte es laufen.

      Gruß

      • Hi,

        danke für die schnelle Antwort.
        Wigdet ist doch von automatisch zunächst auf false eingestellt, oder? Schau hier bei mir:
        -- WIDGET-Support
        -- Solltet Ihr die Widget-Funktion der App nutzen wollen, dann könnt Ihr die Option hier aktivieren
        -- ACHTUNG: Solltet Ihr die Szene manuell ausführen, dann wird der Alarm gesetzt
        local widget = false -- false = Widget wird nicht genutzt; true = Widget wird genutzt

        Die Variable PresentState hatte ich vorher schon eingerichtet... Hatte ich in der Tat erst nicht. Aber es klappt dennoch nicht. Muss der value auf eine bestimmte Position eingestellt werden?

        sry, bin ganz neu am Thema dran. Wahrscheinlich blöde Fragen;-)

        Einige andere Skripte laufen aber schon;-p

        thx

        • Ne ne, sind keine doofen Fragen. Versuche das gerade anhand des Codes nachzuvollziehen und kann das grad nicht so ganz nachvollziehen. Auf was die Variable steht sollte eigentlich nicht geprüft werden.

          Wie startest du denn die Szene manuell? Über den Klick auf Start, oder? Hast du die ID des Readers angepasst? Welche Version vom HC2 hast du installiert?

          • ja, über start

            dein Skript sieht kaum verändert aus...

            --[[
            %% properties
            61 userCodes
            %% globals
            --]]

            -- HIER DIE ARRAYS ANPASSEN (neue IDs können einfach hinzugefügt werden)
            local tagReader = 61 -- ID des RFID-Leser (bitte auch in dem Header ändern)
            local sensorID = {17,29} -- IDs der Sensoren
            local phoneID = {11} -- IDs der Handys, an die eine Push geschickt werden soll
            local countID = 1000 -- Anzahl eurer devices (Muss nicht zwangsläufig geändert werden)

            -- OPTIONEN
            -- Prüfung einer globalen Variable für Chip 3/4, ob diese gültig ist.
            -- Bei nicht Nutzung dieser Funktion müsst Ihr nichts weiter einrichten.
            -- Solltet Ihr diese nutzen wollen, dann müsst Ihr für jeden Chip eine Variable anlegen (z.B rfid_active1)
            local rfid_active3 = fibaro:getGlobalValue('rfid_active3') -- Variable zum Prüfen ob RFID-Chip3 gültig ist oder nicht (active = gültig/inactive = ungültig)
            local rfid_active4 = fibaro:getGlobalValue('rfid_active4') -- Variable zum Prüfen ob RFID-Chip4 gültig ist oder nicht (active = gültig/inactive = ungültig)

            -- Hier könnt Ihr mit der 1 setzen, dass die RFID-Tags nur zum entschärfen genutzt werden sollen
            local rfid_use1 = 1 -- Wenn Ihr mit dem RFID-Tag1 nur entschärfen wollt, bitte auf 1 setzen
            local rfid_use2 = 1 -- Wenn Ihr mit dem RFID-Tag2 nur entschärfen wollt, bitte auf 1 setzen
            local rfid_use3 = 0 -- Wenn Ihr mit dem RFID-Tag3 nur entschärfen wollt, bitte auf 1 setzen
            local rfid_use4 = 0 -- Wenn Ihr mit dem RFID-Tag4 nur entschärfen wollt, bitte auf 1 setzen

            -- Prüfung, ob Ihr eigene Aktionen ausführen möchtet (Siehe FUNKTIONEN FÜR AKTIONEN)
            local own_action = 0 -- Bitte auf 1 setzen, wenn Ihr eigene Aktionen ausführen wollt.

            -- 10-stellige Byte-Array's (Bytes, weil RFID-Tags auch Zeichen ausserhalb des lesbaren Bereichs liefern)
            local rfid1 = {143, 80, 84, 84, 42, 0, 1, 4, 0, 0} -- <--ANPASSEN: Byte-Array eines RFID-Tags
            local rfid2 = {143, 174, 97, 84, 42, 0, 1, 4, 0, 0} -- <--ANPASSEN: Byte-Array eines RFID-Tags
            local rfid3 = {143, 80, 84, 84, 42, 0, 1, 4, 0, 0} -- <--ANPASSEN: Byte-Array eines RFID-Tags
            local rfid4 = {143, 174, 97, 84, 42, 0, 1, 4, 0, 0} -- <--ANPASSEN: Byte-Array eines RFID-Tags
            local code = {49, 50, 51, 52, 0, 0, 0, 0, 0, 0} -- <--ANPASSEN: Byte-Array für Zahlencode (1234 als Unicode)

            -- WIDGET-Support
            -- Solltet Ihr die Widget-Funktion der App nutzen wollen, dann könnt Ihr die Option hier aktivieren
            -- ACHTUNG: Solltet Ihr die Szene manuell ausführen, dann wird der Alarm gesetzt
            local widget = false -- false = Widget wird nicht genutzt; true = Widget wird genutzt

            -- DOORLOCK-Integration
            -- Hier kann ein Doorlock hinzugefügt werden, was die Tür nach schärfen/entschärfen automatisch auf/zu schließt.
            -- Die Option kann über die Variable doorlock auf true/false (Standart ist false) gesetzt werden
            -- ACHTUNG: Die Funktion zum Öffnen mit RFID/Code funktioniert nur, wenn PresentState auf 'home' steht; NUTZUNG AUF EIGENE GEFAHR
            local doorlock = false -- false = Kein Doorlock im Einsatz; true = Doorlock soll über das Skript geschaltet werden
            local doorlockID = 211 -- ID des Doorlocks
            -- Wie soll der doorlock geöffnet werden (Falls jemand zu Hause ist und Ihr kommt zusätzlich nach Hause und wollt keinen Schlüssel nutzen)
            -- rfid = Über den RFID-Chip (dann kann dieser aber nicht mehr zum schärfen der Alarmanlage verwendet werden)
            -- pin = Dann könnt Ihr mit einem zusätzlichen Code (open_code) die Tür öffnen
            local doorlock_open = 'pin'
            local open_code = {50, 50, 50, 50, 0, 0, 0, 0, 0, 0} -- <--ANPASSEN: Byte-Array für Zahlencode (1234 als Unicode)
            local rfid_doorlock1 = 1 -- Wenn Ihr mit dem RFID-Tag1 die Tür aufschließen wollt, bitte auf 1 setzen
            local rfid_doorlock2 = 1 -- Wenn Ihr mit dem RFID-Tag2 die Tür aufschließen wollt, bitte auf 1 setzen
            local rfid_doorlock3 = 0 -- Wenn Ihr mit dem RFID-Tag3 die Tür aufschließen wollt, bitte auf 1 setzen
            local rfid_doorlock4 = 0 -- Wenn Ihr mit dem RFID-Tag4 die Tür aufschließen wollt, bitte auf 1 setzen

            local readerCode = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0} -- leeres Byte-Array, in dem nachher der gelesene Code steht (RFID-Tag oder Zahlencode)

            -- FUNKTIONEN FÜR AKTIONEN (z.B. TTS, LICHT AUS)
            ------------------------------------------------
            -- Aktionen nach dem Schärfen mit Delay, bvor die Sensoren geschäft sind
            function actionsbeforeArmed()
            fibaro:debug('Führe eigene Funktionen vor Schärfen aus')

            end
            -- Aktionen nach dem endgültigen Schärfen
            function actionsafterArmed()
            fibaro:debug('Führe eigene Funktionen nach dem Schärfen aus')

            end
            -- Aktionen nach dem Entschärfen
            function actionsafterDisarmed()
            fibaro:debug('Führe eigene Funktionen nach dem Entschärfen aus')

            end
            -------------------------------------------------
            -- OPTIONEN ENDE -- AB HIER NICHTS MEHR ÄNDERN --

            fibaro:debug('RFID-Scene -Version 1.5 RC- gestartet');

            Debug = function ( color, message )
            fibaro:debug(string.format('%s', "span", color, message, "span"))
            end

            if (rfid_active3 == nil) then
            fibaro:debug('Keine Variable für RFID3 gesetzt; Funktion wird nicht genutzt')
            local rfid_active3 = 'active'
            end

            if (rfid_active4 == nil) then
            fibaro:debug('Keine Variable für RFID4 gesetzt; Funktion wird nicht genutzt')
            local rfid_active4 = 'active'
            end

            -- FUNKTIONEN (bitte nicht ändern)
            function compareCodes(array1, array2)
            if (#array1 ~= 10 or #array2 ~= 10) then
            fibaro:debug('Grösse der Arrays ungültig...')
            return false
            end
            for i = 1, #array1 do
            if (array1[i] ~= array2[i]) then
            return false
            end
            end
            return true
            end

  • Hallo liebes Forum,

    ist es möglich die rote Lampe des Zipato RFID dauerhaft rot leuchten zu lassen wenn der Alarm scharf ist und wenn die Anlage deaktiviert wird auch die Lampe zu deaktivieren?
    Wie habt ihr eine optische Rückmeldung ob die Alarmanlage aktiv oder inaktiv ist realisiert?

    LG Daniel

  • Hi boomx,

    also das alte Skript war kein Problem. Die tags hat er sofort beim manuellen start ausgelesen...
    Merkwürdig, oder? Bei diesem hier, will er die tags nicht auslese.

    Kann es daran liegen, dass ich bei den Variablen drei neu angelegt hatte? Also SleepState, PresentState sowie TimeOfDay?

    Oder doch an meiner Version?

    Hat jemand ein ähnliches Problem?

    LG

      • Hi,

        ich habe bei "Predefined variables" drei variables angelegt. Nicht nur PresentState, sondern auch SleepeState und TimeOfDay... Dürfte eigentlich nicht stören, denke ich...

        Werde am WE noch einmal fummeln und Dir berichten, wenn ich den Fehler finde;-)

        LG

  • Hi
    Erstmal danke für deine Mühe und die geile Arbeit.

    Was mir am ganzen irgendwie fehlt oder ich gerne machen würde ist den verschiedenen rfid auch verschiedene Pushmeldungen senden.
    Sprich wenn ich die Anlage aktiviere sollte es nur auf meine Device ID ankommen.
    wenn z.b. meine Freundin mit Ihrem rfid die Anlage scharf stellt, sollten ich und Sie es bekommen.
    Denke für dich Peanuts. bei mir happert das noch.

    Zusätzlich habe ich bim Delay irgendwie ein Problem. Habe bei den Magnetsensoren den Delay auf 30 Sekunden gesetzt. Beim Fibaro Motion Auge kann ich das irgendwie nirgends einstellen und somit springt die Anlage sofort auf scharf.

    Ist es auch möglich bei Armed einen Delay einzubauen? sprich Türe geht auf und dir bleiben 10 Sekunden um zu deaktivieren bevor der Alarm los geht?

    lg

    • Hi,

      auch beim Motion kannst du eine Delay-Time setzen. Funktioniert genau wie bei den Tür-/Fenstersensoren.

      Deine andere Funktion, mit der verzögerter Aktivierung des Alarms, kann auch direkt unter den erweiterten Einstellungen des Sensors vorgenommen werden. Nennt sich "Disarming Relay". Nach Auslösen wartet das Gerät die Anzahl an Sekunden bis es dem Alarmpanel meldet, dass es ausgelöst wurde.

      Den Wunsch mit den Push-Benachrichtigungen kann ich nicht ganz nachvollziehen. Was hat das für einen Sinn? Technisch wäre das natürlich umsetzbar, mir erschließt es sich nur nicht so ganz.

      Gruß

      • Einstellungen gefunden. Vielen Dank ==)

        Hier geht es mehr darum z.B.
        Kind 1 bekommt nur von seinem eigenen RFID die Meldung ob die Anlage entschärft wurde oder scharf gestellt wurde, wobei der admin z.B. alle kriegt.
        Denke auch hier falls Personen im Haushalt die nicht jeden Tag anwesend sind, nicht immer die Meldung von allen RFID erhalten sollten. (nur so als Idee)

        irgendwie sowas falls das stimmt
        local rfid1 = {{143, 143, 143, 143, 37, 0, 0, 0, 0, 0}, deviceid = '105'}
        local rfid2 = {{143, 133, 133, 133, 37, 0, 0, 0, 0, 0}, deviceid = '133,105'}

        gruss

  • Hallo,

    endlich ist main ZIPATO Tagreader da. :)
    Nach dem Hinzufügen kommt aber eine Fehlermeldung: Devices without templates
    Ist das Richtig so?

    Grüße

  • Hi, erstmal: Danke für die ganzen derben Infos zu dem Hausautomationen und maximum Respekt, dass ihr euch dem Fibaro System, widmet. Toll! Hab ne Menge guter Dinge durch eure Hilfe damit umgesetzt. DANKE! Ich hatte diese Szene mal testweise laufen auf dem HC2 mit dem Tag-Reader. Voll geil! Dann lange nichts gemacht. Zwischendurch mal Updates gemacht vom HC2. Und irgendwann mit voller Absicht oder in einem dummen Moment das Zipato Key Pad aus der Steuerung geworfen. Jetzt wollte ichnach all den tollen Updates die ihr diesem Thema widmet, mal wieder die Szene aufbauen. Aber nichts ist! Kriege den Tag Reader inkludiert (musste zwar die Soft-Konfi benutzen weil er nicht mehr weiter wollte automatisch) mit dem fehlenden Template, so wie man es kennt, aber das Teil nimmt auf Druck auf Home/Away den Tag nicht mehr an. Es quittiert jeden Druck auf die Tasten immernur mit 6 x piepen. Kann es sein, dass sich das Teil auf dem letzten stabilen Release 4.070 nicht mehr "sauber" inkludieren lässt? Oder habe ich es verguckt als ich das Teil aus meinem System gekickt habe ohne es sauber zu exkludieren? Habt ihr nen Tipp? Grüße

    • Hi,

      erstmal vielen lieben Dank für dein Lob :)

      Da ich mein System mit 4.070 neu aufgesetzt habe, bin ich mir relativ sicher, dass es ohne Probleme geht ;) Du kannst Geräte immer ohne Probleme erneut exkludieren. Versuch das am Besten mal. Und danach einfach nochmal neu inkludieren. Sollte dann eigentlich funktionieren.

      Gruß

      • Ja, danke. Nach dem dritten Mal hat es dann doch geklappt. Leider finde ich den Inkludierungsprozess bei manchen Geräten sehr uneindeutig und bin auch der Meinung, dass es eine Hürde darstellt für den Erfolg des System/Protokolls. Aber Jungs, bitte macht weiter. Ist derbe was ich tut! Beste Grüße

  • Hi,

    Thank you so much for this awesome script! I really like the feature to run activities before or after arming the alarm. The script turns all my lights off when I leave the house. Next I will try to get TTS to work for arming and disarming.

    Big +1 for the personalized push message for multiple users :)

    Thanks again for sharing this!

    Gruß

  • Hallo zusammern nachdem das Senden von SMS schon nicht klappt, nun weiter mit der Unentlichen Geschichte.
    Ich möchte den Tagreader in Betrieb nehmen, wo finde ich den das Variablen panel um Presentstate zu erstellen. Wie kann ich den RFID Chip auslesen, oder muß dieser nicht mehr vorher ausgelesen und manuell eingetragen werden ?

    Grüße
    Stefan

  • Aktuell bekomme ich folgende Fehlermeldung:

    [DEBUG] 20:44:42: RFID-Scene -Version 1.5 RC- gestartet
    [ERROR] 20:44:42: line 120: attempt to call method 'getSourceTrigger' (a nil value)

    • Hi,

      das Panel findest du unter Steuerung -> Variablensteuerung. Richte erstmal die Variable ein und teste es dann nochmal. Und ändere bitte erstmal nichts am Code.

      Welche Version vom HC2 hast du im Einsatz?

      Gruß

      • Hallo habe unter Steuerungen / Variablen Steuerung / Vordefinierte Werte hinzugefügt: Variabken Name : PresentState, Wert: Home, Wert: Away, Wert,: Holiday den Code ohne änderungen habe ich auch eingefügt in einem Virtuellen Modul mit Button. Bei Debug kommt folgendes heraus:
        [DEBUG] 20:35:29: RFID-Scene -Version 1.5 RC- gestartet
        [ERROR] 20:35:29: line 120: attempt to call method 'getSourceTrigger' (a nil value)

          • Danke, habe eine Szene erstellt und einem Raum zugeordnet.
            Folgende Fehlermeldung
            Line 74: bad argument #1 to 'match' (string expected, go nil)

          • Wenn ich in dem Menü/ Szenen meine Szene/Erweitert "Start" klicke.

            Wenn ich den Chip an den Reader halte und vorher Away drücke sieht man unter Module/ Tagreader nur "Übertragung OK" das Schloss "verschlossen Symbol" wir nicht aktiviert.

          • Wie bereits öfter erwähnt kann nicht zwischen dem Drücken von Home/Away unterschieden werden. Wird durch Fibaro nicht unterstützt.

            Hast du bereits Änderungen an der Szene vorgenommen? Oder einfach nur den Inhalt der Datei kopiert?

          • Habe die Datei runtergeladen mit dem Editor geöffnet, alles markiert und in die Szene reinkopiert, dabei habe ich die Graue Schrift die dort drin Stand, stehen lassen.

            Es kommt die gleiche Fehlermeldung wie schon oben genannt.

          • Wenn ich den Tag an den Reader halte und vorher Home oder Away drücke kommt die Meldung unter Module RFID tagreader "Übertragung OK, Modul schläft, Übertragung fehlgeschlagen"

          • end
            -- Aktionen nach dem endgültigen Schärfen
            function actionsafterArmed()
            fibaro:debug('Führe eigene Funktionen nach dem Schärfen aus')

            end
            -- Aktionen nach dem Entschärfen
            function actionsafterDisarmed()
            fibaro:debug('Führe eigene Funktionen nach dem Entschärfen aus')

            end

          • Nein, wie mache ich das ?
            Momentan steht bei ID:

            Name: RFID Tagreader
            Raum: Flur
            Modulart: Tüschloss
            Hersteller: Wintop
            Version: 0.28
            Konfiguration: Modul konfiguriert
            ID: 38

          • O.k. habe einfach die ID meines TagReaders in den Code geschrieben genauso wie die ID's der Türsensoren.
            Der Debug in der Szene sagt jetzt:
            Die Variable PresentState wurde gefunden Status Home

            Wenn ich den Tag an den Reader halte und vorher Home oder Away drücke kommt die Meldung unter Module RFID tagreader “Übertragung OK, Modul schläft, Übertragung fehlgeschlagen”

          • O.K. nach erneuten Includen kommt keine Meldunge mehr von wegen Modul Schläft.
            Aber warum stellt er die im Lua Code angegebenen Geräte nicht unter Module auf "Scharf"??

          • Kann ich dir so nicht beantworten, brauche mehr Infos. Was hast du gemacht und Debug beim manuellen Ausführen der Szene, sowie beim Scharfschalten.

          • Kann ich dir so nicht beantworten, brauche mehr Infos. Was hast du gemacht und Debug beim manuellen Ausführen der Szene, sowie beim Scharfschalten.

            Wie kann ich den DEBUG auslesen beim manuellen ausführen/ scharfschalten?
            Ich habe:
            - dem Tagreader einen Raum " Flur" zugeordnet
            - eine Szene (LUA Code) erstellt, und dem "Flur" zugeordnet
            - den Lua Code hineinkopiert
            - den Code angepasst, ID des Tagreaders und ID's der Türsensoren die ich scharf schalten will
            (ich hoffe ich verwende die richtigen ID's , unter Module/ Modul/ Allgemein/ ID

          • Sorry, ich kann dir so nicht helfen.

            Was du beschreibst bringt mir nichts. Wie oben beschrieben, benötige ich Infos wie du die Szene startest und den Debug. Solltest du manuell die Szene starten, dann lies die Beschreibung nochmal ;)

          • Wie soll ich den eine Szene starten?
            Ich bin davon ausgegangen das die Szene bei drücken der Home/ Away Taste und anhalten des Chips aktiviert wird.

          • Um nun das Byte-Array zu erhalten, könnt Ihr die Szene manuell ausführen. Im Debug findet Ihr dann alle notwendigen Informationen.

            Wo gibt es eine Beschreibung die mir sagt wie ich eine Szene manuell ausführe?
            Sorry

          • Manuelles Ausführen: Auf "Run" klicken. Wusste nicht, dass dafür auch noch eine Anleitung benötigt wird ;)

            Und ja: Die Szene wird durch das Davorhalten des Chips gestartet. Du musst diese aber schon so konfigurieren, dass auch alle benötigten Infos in dem Skript enthalten sind.

          • Ja, danke für deine Geduld.

            Wenn ich unter Szenen meine erstellte Szene mit LUA Code auf Start klicke wird im Debug folgendes ausgegeben: Die Variable PresentState wurde gefunden Status Home
            Das ist dann wohl der Part: Szene manuell Starten

            Was außer der ID des Tagreaders und der Türsensoren muß ich noch konfigurieren um die Szene automatisch zu starten?

          • Hallo, ich habe nur einen Tag in Benutzung muß der Rest aus dem Code entfernt werden?
            Den Tag der im Debug ausgegeben wuird habe ich im Lua code unter rfid1 eingetragen.

            Laut der Beschreibung oben bekomme ich keinen PIN ausgegeben im DEBUG.
            Was ich mache:
            Home/Away drücken, dann vierstelligen Code innerhalb einer Sekunde dann Enter, dann Debug starten

          • Nein, kann drin bleiben. Der PIN-Code ist so aufgebaut: 49 = 1, 50 = 2 usw.

            Steht das so bei dir drin?

            Sollte ansonsten funktionieren.

            Gruß

          • O.K. kommen so anscheinend nicht weiter.
            Was gibt es für Möglichkeiten?
            Kann sich jemand mit Teamviewer bei mir draufschalten?
            Oder wollen wir ein Theme im Forum aufmachen und ich poste den code und Bilder von den einzelnen Punkten, das kann doch nicht sein das neben dem SMS versenden auch das nicht funktioniert.

          • Hallo,
            bitte nutzt das Forum, die Kommentare werden sehr unübersichtlich.
            Bitte dann hier den Link zum Forum posten, damit auch andere Leser es weiter verfolgen können.

  • Hi,
    ist es mit diesem Skript möglich, die Alarmanlage mit dem RFID zu aktivieren und mit dem Code zu deaktivieren? Wenn ja, bitte um kurze Erklärung.
    Gruß

    • Hi,

      nein, das funktioniert leider nicht. Hatte dies nicht bedacht, da ja meistens das Pad für die Allgemeinheit zugänglich ist. Möglicherweise wäre dies noch eine Idee für einen weiteres Update.

      Gruß

      PS: Wenn du Programmiertechnisch begabt bist, dann könntest du den Code in Zeile 270 (elseif (compareCodes(code, readerCode)) then) selbst anpassen :)

  • Guten Morgen,
    die Idee dahinter ist folgende:
    Das Pad hängt direkt neben der Türe ( innen) und ein RFID Chip liegt in greifbarer Nähe ( natürlich versteckt), so dass beim Verlassen des Hases, jeder leicht die Alarmanlage aktivieren kann.
    Zum Deaktivieren muss dann ein bestimmter Code eingegeben werden.

    PS: Mein Bruder kann mich hier bestimmt unterstützen

  • Hi.

    Funktioniert das Script mit der neuen Version 4.080 wieder, nachdem 4.071 ja Probleme gemacht hat? Habe es derzeit unter 4.070 laufen und es funktioniert super (Danke!!).

    LG,
    Martin

    • Hi,

      können wir leider erst nach der Cebit testen, da wir vorher keinen Zugriff auf unser Test-HC2 haben. Da sich die Stable nicht groß von der Beta ändert, denke ich mal nicht.

      Gruß

  • Morgen,

    das Skript funktioniert leider nicht mehr mit der Version 4.080. Hatte gestern Abend auch das Update vorgenommen und musste feststellen, dass das Zipato RFID Bedienfeld nicht mehr erkannt wird. Laut Daniel gibt es aktuell auch keine Lösung für das Problem.
    Ich werde jetzt versuchen auf Werkseinstellungen zu wechseln und anschließend wieder auf die Version 4.070, hoffe das bekomme ich irgendwie hin. Muss anschließend natürlich alles wieder einrichten 

    LG

      • Hallo,

        gibt es eine alternative zum Zipate RFID Bedienfeld für die Softwareversion 4.080 mit welchem ich die Alarmanlage an und ausschalten kann? Für mich ist die Fibaro mit der Umstellung fast nutzlos geworden, da ich vollständig auf die Alarmfunktion abgestellt habe. Klar kann ich die Alarmanlage noch über das Widget aktivieren, ich wollte mich aber unabhängig von meinem Handy machen (akku leer, kein Empfang etc.) weiterhin kann ich meiner Tochter (9Jahre) kein Smartphone in die Hand drücken mit welcher sie die Anlage an oder aus schaltet.

        @Boomx:
        Kann das Script so abgeändert werden, dass ich statt über den RFID Chip mit einem PIN an dem Bedienfeld der Zipato RFID die Anlage aktivieren und deaktivieren kann?
        Lg Daniel

  • Ich habe auch mal beim Support angefragt - mit der v4.080 funktioniert ja das Paaren schon gar nicht mehr.
    Das Gerät gilt bei Fibaro als nicht unterstützt und sie raten vom Einsatz / Koppeln ab - ich interpretiere das jetzt so, dass dieses Keypad mit dem HC2 (und neuen Firmware-Versionen) nicht mehr nutzbar ist.
    Fibaro empfiehlt die Verwendung eines anderen Keypads.

    Kennt jemand kompatible Keypads mit Batterieversorgung?
    Mir Fallen jetzt nur noch Keypads in Verwendung mit dem Fibaro Universalsensor ein.

  • Hallo,
    wenn ich den Alarm mit dem RFID aktiviere, und dann das Haus verlasse, erhalte ich immer die Meldung: "ACHTUNG: Bewegungssensor im Raum: Flur nicht sicher." und der Bewegungssensor wird nicht scharf geschaltet. Ich befinde mich beim Verlassen des Hauses natürlich im Erfassungsbereich der Bewegungssensors und werde daher registriert. Das gleiche Problem habe ich noch mit der Haustür. Gibt es dafür eine Lösung?

  • Hallo Zusammen,
    diese geniale Szene läuft nicht auf der neuen 4.091 Beta.

    Der Tag Reader wird zwar unterstützt und auch die ID`s der RFID Chips werden gelesen.
    Aber der Vergleich der hinterlegen ID´s funktioniert leider nicht richt(nur 4.091 Beta).

    Ist geplant das Skript an die 4.091 Beta anzupassen?
    Meine bescheiden Kenntnisse reichen leider nicht um das Problem einzukreisen.

    Danke

    Gruß

    Markus

    • Hi,

      schreib grad eine neue Szene, da diese Szene auf anderen Grundlagen basiert, welche jetzt nicht mehr existent sind. Die Funktionsvielfalt wird sehr eingeschränkt sein, was ich aber leider nicht ändern kann :(

      Gruß

  • Hallo Daniel,
    war mir klar dass Du schon dran bist .... ?

    Kurze Frage oder Vorschlag :
    Ich stelle fest das gerade bei Produkten von Drittanbietern teileweise durch Updates der Fibaro es zu Funktionseinschränkungen kommt. Wäre es nicht sinnvoll dass man die Steurung des RFID auf eine Variable lenkt.

    RIFD -> scharf --- RFID -> entschärft

    So wäre es im Fall des Ausfalls einfach möglich die Variable und somit den Alarm manuell oder durch ein anderes Device zu schärfen !? Oder ist das nicht sinnvoll?

    Gruß

    Markus

Gib deinen Senf dazu!

Cookie Consent mit Real Cookie Banner