konnected-io / konnected-security

Konnected connects wired sensors and switches to SmartThings, Home Assistant, Hubitat and OpenHAB
https://konnected.io
Apache License 2.0
418 stars 323 forks source link
nodemcu nodemcu-lua smartthings

konnected.io

GitHub release

Konnected

Konnected integrates wired alarm system sensors and sirens to SmartThings, Alexa, Home Assistant, OpenHAB, Hubitat using the Konnected Alarm Panel or a ESP8266 development board.

This is open-source software designed to run on the ESP8266 platform only! This is what powers the Konnected Alarm Panel family of ESP8266-based products and is available open-source for you to use on any compatible device.

Devices running this software can connect to local home automation platforms using our 2-way realtime REST API or connect to the Konnected Cloud, a cloud service that enables simple integrations with SmartThings or Alexa (currently free to use!).

This project is built upon the NodeMCU Lua firmware.

alarm-panel-plus-addon-2 3-soona

Skip this Installation!

Buy a Konnected Alarm Panel, our commercial product that was the inspiration of this open-source library. Buying from us is great way to support the developers who have worked hard on this project.

Getting Started

  1. Flash the device with the latest firmware and filesystem firmware/releases using the instructions in the Konnected Security Support Documentation
  2. Connect to the WiFi network konnected-security_XXXXXX to set up WiFi
  3. Follow wiring instructions and application setup instructions in the Konnected Getting Started Guide

Device Drivers

Windows and Mac users will need to download drivers so your computer can talk to the ESP8266 chip over USB. Depending on which board you have, there are different drivers:

Silicon Labs USB to UART drivers for:

WeMos CH340 drivers for boards that:

Download Latest Firmware

Go to the releases section for a downloadable image that you can flash on your Konnected Alarm Panel or ESP8266 device.

Building the Firmware Yourself

Konnected leverages the NodeMCU codebase to create a base nodeMCU firmware image and a filesystem containing the Konnected application. Building only requires a few steps.

  1. Clone the Konnected repo

    git clone https://github.com/konnected-io/konnected-security.git
  2. Use the build-firmware script to kick off the build. The build script will automatically pull down the correct nodeMCU image, and use this to create base firmware, an LFS image, and a SPIFFS file system containing the entire Konnected application.

    cd konnected-security
    ./scripts/build-firmware
  3. Once the build completes a folder will be created in build. This folder will contain three files reflecting the version or branch.

    1. konnected-filesystem-0x100000-{BRANCH/VERSION}.img
    2. konnected-firmware-{BRANCH/VERSION}.bin
    3. konnected-esp8266-*.bin

The konnected-firmware-* contains the firmware partition and should be flashed at location 0x0. The konnected-filesystem-* image contains the Konnected application and should be flashed at the memory location in the filename. For convenience, the konnected-esp8266-latest image is an all-in-one image to be flashed at memory location 0x0 containing the two images above.

Flashing a Build

Flashing a build is simple with the NodeMCU PyFlasher. Simply flash the konnected-esp8266-latest.bin file to your device. Typically use baud rate 115200 and flash mode dio.

Mac and Linux users can also easily flash from the command line using esptool

  1. You must have Python installed with pip or pip3.

    • Mac users: Recommend using Homebrew and brew install python
  2. Open up a terminal and install esptool packages:

    pip3 install esptool
  3. Flash the downloaded image using esptool:

     esptool.py --port=/dev/cu.SLAB_USBtoUART write_flash --flash_mode dio --flash_size detect 0x0 konnected-esp8266-latest.bin

    Note: The USB port may vary depending on your computer platform and board.

For more information, click here for Konnected Documentation, Help and Community support