This project is archived
Smarties.io is a complete home automation system. It allows you to use multiple devices brands and orchestrate them together, for example you can turn on your Philips Hue lights with a Chacon switch.
It is free and open source and use Node.JS which is light, powerful and accessible.
Smarties.io use Ngrok secured tunnel and can be accessed from everywhere without configuring your router, even over a 4G router.
No cloud - All data is stored on the local device ! Yes, your privacy is very important. The system will only transmit smarties ID, boot date and tunnel url to a gateway. Those informations are needed to access system anywhere around the world.
The application can easily run on a Raspberry PI which implies a really cheap home automation system.
For developers, you can easily create plugins, lot of APIs are available and you can add a specific camera model or new light system.
The most important informations are presented with tiles on a personal dashboard.
-
Linux Raspberry PI 2 or 3 (armv7+ arch) or a x86_64 PC
-
Debian or Raspbian stretch and above
curl -sSL https://smarties.le-programmeur.com/install-rep.sh | bash
Using a RFLink will allow you to control lights and sensors for a really interesting price. Note that you'll need to buy a USB Gateway (http://www.rflink.nl) to access this feature.
Using a Conbee II USB key will allow you to control Zigbee lights, sensors and switches.
Control Philips Hue lights, state and colors, for example in combination with 433 Mhz switches.
Supports most of Aqara devices
Nuki lock compatibility
Control Tuya outlets and lights
Keep an eye on your house. OpenCV is used to detect locally pre-trained models. You can be alerted when a model is detected.
You can check camera history over 5 days, and 2 timelapses are generated every day :
- Last 24 hours : Check in 60 sec whole past day (one picture per minute over 24h)
- Season : Contemplate the evolution of seasons (one picture per day over one year)
Receive notifications and never forget to put the trash out. Be alerted when a suspect activity occurred at home. This may need a USB Dongle with SIM card. Interact with the system by sending messages (french only).
Get daily / monthly / yearly statistics on your sensors : temperature, humidity, Internet throughput, ...
Stay cool in holidays, Smarties will keep housebreakers out.
Create scenarios to automate home. For example, you can turn off all lights when nobody is at home, or prepare your coffee every morning at 7AM. Send a message if the wind blows above 35 mph.
Create your own cheap sensors or anything else using ESP8266 or Arduino. An Arduino framework is provided and is very easy to use. Over The Air updates available.
Use voice command to control home devices.
Basic IFTTT usage with scenario triggering URL (both way).
- Node.js 14.15.1 or upper version
- Mac or Linux. Windows is not yet supported.
- On Mac, brew must be installed
- On Linux, only Debian system supported, tested on x86 and ARM architectures
A Raspberry PI with ethernet cable plugged, or WiFI already configured. For installation in this mode, refer to the "Deployment" section of this documentation.
In console, type npm install
and everything should go on.
npm start
Once app is started, open your browser and type https://me.smarties.le-programmeur.com/.
Then, you have to login with default username admin
and default password admin
.
Note : If you can't log in, check logs - If dependencies installation is finished, you may retrieve your Smarties ID
which is a 4 hexadecimal code. This information is logged just after starting. Then open browser and type https://me.smarties.le-programmeur.com/XXXX/ where XXXX
is your smarties ID.
The web site can also be added as a progressive web app (pwa) on your smartphone.
For iOS :
- Open the web site with Safari
- Click on 'Share' button
- Click on 'Add to Home Screen'
- Click on 'Add'
- The app is now on available on the springboard
For Android :
- Open the web site with Google Chrome
- Click on the three dots on the top right to unfold menu
- Click on 'Add to Home screen'
- The app is now on available on the springboard
You can list the available rest APIS with https://me.smarties.le-programmeur.com/XXXX/api/infos/ where XXXX
is your smarties ID.
npm update
: Update dependenciesnpm run start
: Start smarties.ionpm run dev
: Run dev server with lintnpm run test
: Run all unit testnpm run lint
: Check code issuesnpm run coverage
: Generate test coveragenpm run test-ci
: Execute tests and generate test coveragenpm run doc
: Generate code documentationnpm run doc-apis
: Generate Public APIs documentationnpm run build
: Build for current architecturenpm run build-deb
: Build the deb from the build folder
Nothing reported yet
Copyright © 2020, WoodySlum
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
The Software is provided “as is”, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders X be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the Software.
Except as contained in this notice, the name of the WoodySlum shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from WoodySlum.