From 06bc1277054baa7f3fab23c53e80eeb75cb28d59 Mon Sep 17 00:00:00 2001 From: Philipp Wo Date: Thu, 20 Apr 2023 12:59:11 +0200 Subject: [PATCH] -added missing door sensor to mqtt publish - doc updated --- Readme.md | 44 ++++++++++++++++++++++++++++++++++--------- doc/fhem.jpg | Bin 0 -> 28027 bytes doc/fhem2.jpg | Bin 0 -> 45429 bytes fingerprintdoor.yaml | 4 +++- 4 files changed, 38 insertions(+), 10 deletions(-) create mode 100644 doc/fhem.jpg create mode 100644 doc/fhem2.jpg diff --git a/Readme.md b/Readme.md index 41e0965..696d7dc 100644 --- a/Readme.md +++ b/Readme.md @@ -58,20 +58,35 @@ esphome run fingerprintdoor.yaml --device COM4 ## FHEM MQTT2 device ```shell -defmod myFingerDevice MQTT2_DEVICE fingerprintdoor -attr myFingerDevice event-on-change-reading .* -attr myFingerDevice setList GREEN:ALWAYS_ON,ALWAYS_OFF,BREATHING,FLASHING,GRADUAL_ON,GRADUAL_OFF fingerprintdoor/led/command {"color":"$EVTPART0","effect":"$EVTPART1","speed":120, "count":0}\ -BLUE:ALWAYS_ON,ALWAYS_OFF,BREATHING,FLASHING,GRADUAL_ON,GRADUAL_OFF fingerprintdoor/led/command {"color":"$EVTPART0","effect":"$EVTPART1","speed":120, "count":0}\ -RED:ALWAYS_ON,ALWAYS_OFF,BREATHING,FLASHING,GRADUAL_ON,GRADUAL_OFF fingerprintdoor/led/command {"color":"$EVTPART0","effect":"$EVTPART1","speed":120, "count":0}\ -PURPLE:ALWAYS_ON,ALWAYS_OFF,BREATHING,FLASHING,GRADUAL_ON,GRADUAL_OFF fingerprintdoor/led/command {"color":"$EVTPART0","effect":"$EVTPART1","speed":120, "count":0}\ -WHITE:ALWAYS_ON,ALWAYS_OFF,BREATHING,FLASHING,GRADUAL_ON,GRADUAL_OFF fingerprintdoor/led/command {"color":"$EVTPART0","effect":"$EVTPART1","speed":120, "count":0}\ -CYAN:ALWAYS_ON,ALWAYS_OFF,BREATHING,FLASHING,GRADUAL_ON,GRADUAL_OFF fingerprintdoor/led/command {"color":"$EVTPART0","effect":"$EVTPART1","speed":120, "count":0}\ -YELLOW:ALWAYS_ON,ALWAYS_OFF,BREATHING,FLASHING,GRADUAL_ON,GRADUAL_OFF fingerprintdoor/led/command {"color":"$EVTPART0","effect":"$EVTPART1","speed":120, "count":0}\ +defmod myFingerprintReader MQTT2_DEVICE fingerprintdoor +attr myFingerprintReader comment ToDo neuer Finger:\ +- enroll neue ID\ +- ID in userreading speichern\ +- ID in Hashtable im notify eintragen (Admin oder Standard User) +attr myFingerprintReader event-on-change-reading .* +attr myFingerprintReader event-on-update-reading msg +attr myFingerprintReader setList GREEN:ALWAYS_ON,ALWAYS_OFF,BREATHING,FLASHING,GRADUAL_ON,GRADUAL_OFF fingerprintdoor/led/command {"color":"$EVTPART0","effect":"$EVTPART1","speed":150, "count":0}\ +BLUE:ALWAYS_ON,ALWAYS_OFF,BREATHING,FLASHING,GRADUAL_ON,GRADUAL_OFF fingerprintdoor/led/command {"color":"$EVTPART0","effect":"$EVTPART1","speed":150, "count":0}\ +RED:ALWAYS_ON,ALWAYS_OFF,BREATHING,FLASHING,GRADUAL_ON,GRADUAL_OFF fingerprintdoor/led/command {"color":"$EVTPART0","effect":"$EVTPART1","speed":150, "count":0}\ +PURPLE:ALWAYS_ON,ALWAYS_OFF,BREATHING,FLASHING,GRADUAL_ON,GRADUAL_OFF fingerprintdoor/led/command {"color":"$EVTPART0","effect":"$EVTPART1","speed":150, "count":0}\ +WHITE:ALWAYS_ON,ALWAYS_OFF,BREATHING,FLASHING,GRADUAL_ON,GRADUAL_OFF fingerprintdoor/led/command {"color":"$EVTPART0","effect":"$EVTPART1","speed":150, "count":0}\ +CYAN:ALWAYS_ON,ALWAYS_OFF,BREATHING,FLASHING,GRADUAL_ON,GRADUAL_OFF fingerprintdoor/led/command {"color":"$EVTPART0","effect":"$EVTPART1","speed":150, "count":0}\ +YELLOW:ALWAYS_ON,ALWAYS_OFF,BREATHING,FLASHING,GRADUAL_ON,GRADUAL_OFF fingerprintdoor/led/command {"color":"$EVTPART0","effect":"$EVTPART1","speed":150, "count":0}\ +purple_breath fingerprintdoor/led/command {"color":"purple","effect":"breathing","speed":90, "count":0}\ +light_master:noArg fingerprintdoor/led/command {"color":"BLUE","effect":"BREATHING","speed":165, "count":0}\ +light_master_off:noArg fingerprintdoor/led/command {"color":"BLUE","effect":"GRADUAL_OFF","speed":165, "count":0}\ +ready4finger:noArg fingerprintdoor/led/command {"color":"PURPLE","effect":"BREATHING","speed":165, "count":0}\ +ready4finger_off:noArg fingerprintdoor/led/command {"color":"PURPLE","effect":"ALWAYS_OFF","speed":165, "count":0}\ custom fingerprintdoor/led/command {"color":"$EVTPART1","effect":"$EVTPART2","speed":$EVTPART3, "count":$EVTPART4}\ +off:noArg fingerprintdoor/led/command {"color":"RED","effect":"ALWAYS_OFF","speed":20, "count":0}\ cancel:noArg fingerprintdoor/cancel_enroll\ enroll fingerprintdoor/enroll $EVTPART1\ delete fingerprintdoor/delete $EVTPART1\ \ + +attr myFingerprintReader userReadings ID1 {"Person 1"},\ +ID2 {"Person 2"},\ +ID3 {"Person 3"} ``` ## Usage in FHEM @@ -118,6 +133,17 @@ set myFingerprint blue flash 120 3 >Note: If `=0` for effect "flashing" or "breathing" will run continously and can be interrupted +# Example + + + +## Device Readings + + + +## Setlist + + ## Credits [ESPHome project](https://esphome.io/) diff --git a/doc/fhem.jpg b/doc/fhem.jpg new file mode 100644 index 0000000000000000000000000000000000000000..241aa05c659f9fb963de80985af2399b7f56a69f GIT binary patch literal 28027 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 literal 0 HcmV?d00001 diff --git a/doc/fhem2.jpg b/doc/fhem2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..be7cf4cdc484501637dbe043d06ce3e6a5b7fefd GIT binary patch literal 45429 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 Y0OtMhtD^f6_dNqo$+I6};{R^~01Q@0{Qv*} literal 0 HcmV?d00001 diff --git a/fingerprintdoor.yaml b/fingerprintdoor.yaml index 2b474d6..c4f2e2a 100644 --- a/fingerprintdoor.yaml +++ b/fingerprintdoor.yaml @@ -300,9 +300,11 @@ binary_sensor: input: true pullup: true name: "Main Door" - device_class: window + device_class: door + state_topic: $devicename/door filters: - delayed_on: 10ms + # BUTTONS button: