Homie2Config
Homie2Config is a node.js module to configure esp8266 boards loaded with Homie firmware.
This is for Homie version 2.0+, original codebase from HomieConfig
QuickStart
You can grab homie2-config from npm.
npm install --save homie2-config
Make sure to set an ip address or hostname for the board. By default, 192.168.123.1
is used in case you don't pass anything.
var Homie2Config = ; var homie2 = ;
If you want to set the url/ip you can do it this way:
var homie2 = new Homie2Config({url: 'homie.local'});
Traditional Callbacks
// You can choose to use traditional callbackshomie2;
Promises are also supported by attaching (async) to method names
homie2 ;
You can chain up the methods easily using promises. I recommend you always use getHeartBeat before other methods.
homie2 ;
Please find more examples in the examples directory.
Meteor Package
There is also a Meteor Package available that uses this npm module, and includes numerous other Homie helper methods:
https://github.com/tripflex/meteor-homie
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, and check out the Meteor Package that includes this module, as well as numerous other helper methods: https://github.com/tripflex/meteor-homie