Homie ESP8266 Node developed using Automaton State Machines and VL53L1x
- OpenHab3 RollerShutter Type
- Homie/SknGarageDoor/SknRanger/Position [ 0:100 ]
- Homie/SknGarageDoor/SknRanger/State [ STOPPED | MOVING_UP | MOVING_DOWN | MOVING_POS | LEARN_UP | LEARN_DOWN ]
- Homie/SknGarageDoor/SknRanger/Service/set [ AUTO_LEARN_UP | AUTO_LEARN_DOWN | REBOOT ]
- Measures door position in mm, translate to 0:100 range; with 0 considered UP, and 100 Down
- Auto Learn stores min or max positions in EEPROM via Preferences(SPIFFS); basis for 0:100 range translation.
- Wemos D1 Mini ESP8266
- VL53L1x Time of Flight Sensor
- 5v Relay Board Relay Module 1 Channel Opto-Isolated High or Low Level Trigger
- Full travel: 86.5" or 2198 mm
- Device mount point: 13.0" or 330 mm
- Maximum range: 2528 mm
- Compile option to disable relay: SKN_DISABLE_RELAY
Module
ESP8266EX
VL53L1x (5VDC)
13 DataReady
5 SCL
4 SDA
{
"name": "Garage Door",
"device_id": "SknGarageDoor",
"device_stats_interval": 900,
"wifi": {
"ssid": "<wifi-host>",
"password": "<wifi-password>"
},
"mqtt": {
"host": "<mqtt-hostname-or-ip>",
"port": 1883,
"base_topic": "sknSensors/",
"auth": true,
"username": "<mqtt-username>",
"password": "<mqtt-password>"
},
"ota": {
"enabled": true
},
"settings": {
}
}
{} Stored configuration
• Hardware device ID: 84f3eb0c386f
• Device ID: SknRangerD1
• Name: Garage Door Position Monitor
• Device Stats Interval: 300 sec
• Wi-Fi:
◦ SSID: SFNSS1-24G
◦ Password not shown
• MQTT:
◦ Host: openhabianpi.local.skoona.net
◦ Port: 1883
◦ Base topic: sknSensors/
◦ Auth? yes
◦ Username: openhabian
◦ Password not shown
• OTA:
◦ Enabled? yes
✖ Node: Garage Door Position Homie setup() Complete
↕ Attempting to connect to Wi-Fi...
✔ Wi-Fi connected, IP: 10.100.1.239
Triggering WIFI_CONNECTED event...
↕ Attempting to connect to MQTT...
Sending initial information...
✔ MQTT ready
Triggering MQTT_READY event...
MQTT connected
✖ SknLoxRanger initialization starting.
📢 Calling broadcast handler...
Received broadcast level alert: Anyone can view broadcasts
📢 Calling broadcast handler...
Received broadcast level LWT: skoona-iot-hub going offLine!
〽 limitsRestore(True) min: 235 max: 2528
〽 Exited initialize sensor!
〽 Medium distance mode accepted.
〽 250ms timing budget accepted.
✖ SknLoxRanger initialization Complete.
✖ Node: Garage Door Position Ready to operate: DOWN(0) Services Mode: Range Limits, min: 330 mm, max: 2528 mm
Calling setup function...
〽 Sending statistics...
• Interval: 305s (300s including 5s grace time)
• Wi-Fi signal quality: 100%
• Uptime: 2s
• FreeHeap: 40256b
Sending statistics
✖ SknLoxRanger startContinuous(500ms) accepted.
〽 [ ] range: 1533 mm avg: 0 mm status: range valid raw status: 0 signal: 8.6 MCPS ambient: 0.2 MCPS move: MOVING_DOWN
〽 relativeDistance(0 mm) NOT accepted.
〽 [ ] range: 1533 mm avg: 306 mm status: range valid raw status: 0 signal: 9.3 MCPS ambient: 0.2 MCPS move: MOVING_DOWN
✖ relativeDistance(3 %) accepted.
〽 [ 1] range: 1533 mm avg: 613 mm status: range valid raw status: 0 signal: 9.2 MCPS ambient: 0.3 MCPS move: MOVING_DOWN
✖ relativeDistance(16 %) accepted.
〽 [ 2] range: 1531 mm avg: 919 mm status: range valid raw status: 0 signal: 9.2 MCPS ambient: 0.3 MCPS move: MOVING_DOWN
✖ relativeDistance(30 %) accepted.
〽 [ 3] range: 1532 mm avg: 1226 mm status: range valid raw status: 0 signal: 9.3 MCPS ambient: 0.2 MCPS move: MOVING_DOWN
✖ relativeDistance(43 %) accepted.
〽 [ 4] range: 1533 mm avg: 1532 mm status: range valid raw status: 0 signal: 9.3 MCPS ambient: 0.3 MCPS move: STOPPED
✖ relativeDistance(57 %) accepted.
〽 [ 5] range: 1532 mm avg: 1532 mm status: range valid raw status: 0 signal: 9.2 MCPS ambient: 0.2 MCPS move: MOVING_UP
✖ relativeDistance(57 %) accepted.
〽 [ 6] range: 1533 mm avg: 1532 mm status: range valid raw status: 0 signal: 9.2 MCPS ambient: 0.3 MCPS move: STOPPED
...
✖ relativeDistance(57 %) accepted.
〽 [ 51] range: 1533 mm avg: 1533 mm status: range valid raw status: 0 signal: 9.2 MCPS ambient: 0.3 MCPS move: STOPPED
✖ relativeDistance(57 %) accepted.
〽 [ 52] range: 1533 mm avg: 1533 mm status: range valid raw status: 0 signal: 9.2 MCPS ambient: 0.3 MCPS move: STOPPED
✖ relativeDistance(57 %) accepted.
〽 [ 53] range: 1534 mm avg: 1533 mm status: range valid raw status: 0 signal: 9.3 MCPS ambient: 0.3 MCPS move: MOVING_UP
✖ relativeDistance(57 %) accepted.
〽 [ 54] range: 1533 mm avg: 1533 mm status: range valid raw status: 0 signal: 9.2 MCPS ambient: 0.3 MCPS move: MOVING_UP
✖ relativeDistance(57 %) accepted.
〽 [ 55] range: 1534 mm avg: 1533 mm status: range valid raw status: 0 signal: 9.3 MCPS ambient: 0.3 MCPS move: MOVING_DOWN
✖ relativeDistance(57 %) accepted.
〽 [ 56] range: 1534 mm avg: 1533 mm status: range valid raw status: 0 signal: 9.3 MCPS ambient: 0.3 MCPS move: MOVING_DOWN
✖ relativeDistance(57 %) accepted.
〽 [ 57] range: 1534 mm avg: 1533 mm status: range valid raw status: 0 signal: 9.2 MCPS ambient: 0.3 MCPS move: MOVING_DOWN
✖ relativeDistance(57 %) accepted.
〽 [ 58] range: 1533 mm avg: 1533 mm status: range valid raw status: 0 signal: 9.2 MCPS ambient: 0.3 MCPS move: MOVING_UP
✖ relativeDistance(57 %) accepted.
〽 [ 59] range: 1534 mm avg: 1533 mm status: range valid raw status: 0 signal: 9.2 MCPS ambient: 0.3 MCPS move: MOVING_DOWN
✖ relativeDistance(57 %) accepted.
〽 [ 60] range: 1535 mm avg: 1533 mm status: range valid raw status: 0 signal: 9.3 MCPS ambient: 0.3 MCPS move: MOVING_DOWN
✖ SknLoxRanger stopContinuous() accepted.
✖ relativeDistance(57 %) accepted.
〽 Sending statistics...
• Interval: 305s (300s including 5s grace time)
• Wi-Fi signal quality: 100%
• Uptime: 302s
• FreeHeap: 39128b
Sending statistics
✖ SknLoxRanger startContinuous(500ms) accepted.
〽 [ 61] range: 1533 mm avg: 1534 mm status: range valid raw status: 0 signal: 8.9 MCPS ambient: 0.3 MCPS move: MOVING_UP
✖ relativeDistance(57 %) accepted.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
The project is available as open source under the terms of the MIT License.