HomieConfig
HomieConfig is a node.js module to configure esp8266 boards loaded with Homie firmware.
It seems the only options are a web-based interface or an Android app. I wasn't very happy with this so I created a node.js module so I could configure one or more boards easily.
QuickStart
You can grab homie-config from npm.
npm install --save homie-config
Make sure to set an ip address or hostname for the board. By default, homie.local is used in case you don't pass anything.
var HomieConfig = ; var homie = ;
If you want to set the url you can do it this way:
var homie = new HomieConfig({url: 'homie.local'});
Traditional Callbacks
// You can choose to use traditional callbackshomie;
Promises are also supported by attaching (async) to method names
homie ;
You can chain up the methods easily using promises. I recommend you always use getHeartBeat before otehr methods.
homie ;
Please find more examples in the examples directory.
Configuration Wizard
There is a simple interactive configuration wizard available incase you just don't want to both with using it programatically.
In the examples directory run node ./configWizard.js
Supported Methods
The library supports all current Configuration API functions.
These require the board to be accessible.
- getHeartBeat(callback)
- getDeviceInfo(callback)
- getNetworks(callback)
- saveConfig(config, callback)
- connectToWifi(ssid, password, callback)
- getWifiStatus(callback)
- setTransparentWifiProxy(enable, callback)
- generateConfig(device_name, device_id, wifi_ssid, wifi_password, mqtt_host, mqtt_options, ota, callback)
Contributing
Feel free to submit any pull requests or add functionality, I'm usually pretty responsive.
If you like the module, please consider donating some bitcoin or litecoin.
Bitcoin
1DJsQhquTjUakES5Pddh94t1XSMb7LDYyh
LiteCoin
LNzdZksXcCF6qXbuiQpHPQ7LUeHuWa8dDW