Comments (3)
Touch sensors are now supported :) https://esphomelib.com/esphomeyaml/components/binary_sensor/esp32_touch.html
Though not through the interface you proposed (even though I like it a lot), but in a more generic binary touched/not touched way as that was way easier to implement.
Closing this feature request now...
from esphome-core.
Sorry for the late reply, somehow this issue/feature request didn't get to my notification center.
Anyway, yes that's a feature I've been working on some time ago. And it would definitely be a good thing to support.
From an API perspective, there are a few problems with the touch sensor support that have delayed my progress on this:
- The only good way to get notified of a "touch event" is through interrupts (polling takes ~5ms per touch pad, not good). The problem is that we're only notified when a touch begins and we don't know when the user lifts the finger from the touch pad again.
- Another question is how to integrate this into esphomelib. My current implementation just exposes it as a binary sensor that gets enabled for a short period of time when a touch is detected. Ideally, an "event" domain would be better suited for this, but Home Assistant currently has no such MQTT platform.
- The values obtained by the touch pads are very different depending on the touch pad used. Therefore there needs to be a lot of customizability. esp-idf does offer this customizability with tons of options like threshold, filters, meas/idle time, attenuation, high/low voltage reference, charge/discharge speed. I will need to evaluate which ones are necessary for good calibration and which ones confuse the user and aren't required for calibration.
(above text is mostly just a small write-up of the problems. It always helps me to write down what needs to be done to make good solutions)
from esphome-core.
I can't really contribute with any technical stuff but i would imagine "a touch-event" and "a long touch-event" of some kind. Maybe a double-press?
An example could be for turning light on/off and a long-touch for diming lights.
I've just noticed it when reading this article: http://www.instructables.com/id/IOT-Made-Simple-Playing-With-the-ESP32-on-Arduino-/
Personally I prefer mechanical buttons because i've like the felling compared to touch, but since the esp32 have capacitive touch sensors it could be a nice feature.
from esphome-core.
Related Issues (20)
- Auto-load esphome component upon discovery by Home Assistant HOT 10
- esp32_ble_tracker scan_interval not used correctly HOT 1
- Firmware seems to have watchdog issues for esp32_ble_tracker HOT 1
- PMSx003 does not work
- MQ-2 Sensor. HOT 5
- [RGB Light Platform] Remember brightness and color after restart HOT 5
- Error in HA since 0.86 HOT 1
- DO NOT POST ISSUES HERE
- ESP32 goes to boot loops with option exrire_after HOT 1
- Error OTA update ESP8266 12e HOT 2
- MIC sensor, status fast change HOT 1
- esphomeyaml showing terminated process HOT 1
- esp32 access point not enabled HOT 1
- Update Failed: ERROR[8]: Flash config wrong real: 4194304 IDE: 16777216 HOT 1
- Returning NAN when using id.value HOT 1
- esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header HOT 1
- Ok, now I understand, so you want to have all three units show up as sensor at the same time. HOT 2
- witty cloud with LDR and RGB HOT 2
- Cannot connect to hidden SSID HOT 1
- ERROR Error binary size: Error: ESP has been flashed with wrong flash size. Please choose the correct 'board' option (esp01_1m always works) and then flash over USB. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from esphome-core.