Gesture - APDS9960¶
.
Plugin details¶
Type: Gesture
Name: APDS9960
Status ESP32: COLLECTION
Status ESP8266: COLLECTION
GitHub: P064_APDS9960.ino
Maintainer: .
Used libraries: https://github.com/sparkfun/APDS-9960_RGB_and_Gesture_Sensor (extended and improved)
Description¶
The APDS9960 sensor provides Gesture, Proximity and Ambient Light data or R/G/B color values from the light sensor, depending on the Plugin Mode. After changing the Plugin Mode, the Values arguments may need to be adjusted according to their function (Gesture, Proximity, Light or R, G, B). If the initial Values names are used, they will be replaced when switching the Plugin Mode, and the settings are actually saved.
Device Configuration¶
Name: Required by ESPEasy, must be unique among the list of available devices/tasks.
Enabled: The device can be disabled or enabled. When not enabled the device should not use any resources.
I2C options¶
The available settings here depend on the build used. At least the Force Slow I2C speed option is available, but selections for the I2C Multiplexer can also be shown. For details see the I2C Bus page
There is only 1 I2C address available for this sensor, 0x39 (not shown).
The Gain, LED Drive and LED Boost parameters may need adjustment from the defaults as some of the low-cost clone sensors aren’t as carefully calibrated as the original SparkFun or AdaFruit sensors. The suggested defaults are taken from the original SparkFun driver software settings. When first configuring this plugin it is advised to start with these default settings, and adjust when the sensor isn’t responding as required.
Device Settings¶
Plugin Mode: Select the desired operation mode.
Gesture/Proximity/Ambient Light Sensor: Will measure the Gesture, Proximity and Ambient light values. If Separate Gesture events is disabled, then events will be generated when a Gesture is detected. Also, when Interval is set, events are generated.
R/G/B Colors: Will measure the R, G and B components of the current Ambient light condition. Will generate events if Interval is set.
For the R/G/B Colors mode, only Light Sensor Gain and Light Sensor LED Drive parameters are available. They correspond with the Ambient Light Sensor Gain and Proximity/ALS LED Drive parameters (and use the same settings storage), but with different labels.
NB: Defaults are not automatically set after adding the plugin!
Gesture parameters¶
Gesture Gain: Selection of the gain factor, select from 1x, 2x, 4x (default) or 8x.
Gesture LED Drive: Selection of the current to drive the Gesture IR LED, select from 100 mA (default), 50 mA, 25 mA or 12.5 mA.
Gesture LED Boost: Selection of the LED Boost factor, select from 100%, 150%, 200% or 300% (default).
Proximity & Ambient Light Sensor parameters¶
Proximity Gain: Selection of the gain factor, select from 1x, 2x, 4x (default) or 8x.
Ambient Light Sensor Gain: Selection of the gain factor, select from 1x, 2x, 4x (default) or 8x.
Proximity/ALS LED Drive: Selection of the current to drive the Proximity/Ambient Light Sensor IR LED, select from 100 mA (default), 50 mA, 25 mA or 12.5 mA.
R/G/B Colors parameters¶
Light Sensor Gain: Selection of the gain factor, select from 1x, 2x, 4x (default) or 8x.
Light Sensor LED Drive: Selection of the current to drive the Light Sensor IR LED, select from 100 mA (default), 50 mA, 25 mA or 12.5 mA.
Event generation¶
Separate Gesture events: When enabled will generate a
<TaskName>#Swipe=<gesture>event (see below), independent from Interval. This allows gestures to be handled independently from measuring the proximity and ambient light, or R/G/B colors. TheGesturevalue will be updated for every gesture detected, but the Values events will only trigger on Interval, if this checkbox is enabled.
Data Acquisition¶
This group of settings are standard available configuration items.
Single event with all values: When this setting is enabled, all available values will be sent in a single event
<TaskName>#All, with all values in order as arguments to the event.Show derived values: When checked, the Devices overview page, and the
/jsonendpoint (used for updating the Devices overview page) will include any Derived values as defined. See theTaskValueSetDerivedandTaskValueSetPresentationcommands.Event & Log derived values: When checked, the Derived values will be generated as Events, to be handled in Rules, and sent to logging devices like the Syslog server and/or SD-card logging.
(The derived values options are only available if String variables feature is included in the build.)
Send to Controller: Select the Controller(s) to send the Values to, either on a
TaskRuncommand applied to the task, or on an Interval time action.
Send to Controller is only visible when one or more Controllers are configured.
Depending on the controller capabilities, some configuration settings may be shown:
All configured Controllers are shown here, including the enabled or disabled state (multiple Controllers can be enabled, only a single MQTT Controller can be enabled at one time!).
For each controller the user can select wether the data should be sent on each Interval (or explicit TaskRun).
For the Domoticz controllers the value index (IDX) has to be configured.
For some controllers, like Home Assistant/openHAB, there are extra options available.
Group: This represents the group id to combine all values from multiple tasks into a single grouped-device during MQTT AutoDiscovery. Groups, by design, can span multiple ESPEasy devices, if desired, as long as the Task/Valuename combinations are unique. If a group should only combine Tasks from a single ESPEasy unit, the group id should be unique across multiple ESPEasy units. The group description, default Group <n>, can be adjusted in Home Assistant. If the Group value matches the current Unit nr, the Unit name,
%sysname%, is used instead of Group <nr>.Retained: For MQTT Controllers, this setting can be enabled to send the values for the current task with the Retain flag set. The Publish Retain flag in the Controller settings will override this by sending all task values with Retain flag enabled.
Send derived: This checkbox determines if any configured Derived values should also be sent to the controller (and included in the AutoDiscovery if that’s available and enabled).
Resend MQTT Discovery: When checked, will start a resend of the MQTT Discovery process for this task after a random delay, when Submit is clicked, so any changed settings will be updated in the MQTT broker. This setting is only available if the controller is enabled, the Auto Discovery feature is available and enabled for the controller. This setting is not stored.
Other controllers, like f.e. FHEM HTTP, do not support additional settings besides the checkbox to enable sending the data.
Values¶
Depending on the Plugin Mode setting either the Values are Gesture, Proximity and Light or R, G and B. When not manually changed, they will be switched by the plugin when selecting the other Plugin Mode setting.
.
Events¶
Event |
Example |
|---|---|
|
Will trigger when the configuration option Separate Gesture events is enabled. These values are the same for the |
Change log¶
Changed in version 2.0: …
added 2024-03-30: Separate Gesture events option.
added Major overhaul for 2.0 release.
Added in version 1.0: …
added Initial release version.