Plugin to HomeBridge optimized for work with Itead Sonoff POW hardware with firmware Sonoff-Tasmota via MQTT with log data to file. Partially emulate Elgato Eve Energy. Measure used power and write logged data to csv files. It acts as a power switch and meter energy consumed.
Like this? Please buy me a beer (or coffee) ;-)
MacWyznawca.pl Jaromir Kopp
sudo npm install -g homebridge-mqtt-power-consumption-log-tasmota
Period file: 2017-03-06 08:10:00 0.03798 1712 1712 1.00 7.560 213 0.03798 0.700 32.960
Data and time \t period used power [kWh] \t power [W] \t apparent power [VA] \t power factor \t current [A] \t voltage [V] \t hourly used power [kWh] \t today used power [kWh] \t total used power [kWh]
Hourly file: 2017-03-04 08:00:00 1.23468 9.80263 14.68135 7 6 4
Data and time \t hourly used power [kWh] \t today used power [kWh] \t total used power [kWh] \t hour (UTC) \t day of week \t day of month
Daily file: 2017-03-04 08:41:02 9.80263 14.68135 6 4 2
Data and time \t daily used power [kWh] \t total used power [kWh] \t day of week \t day of month \t month (0-11)
Files are tab \t separated.
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
},
"description": "This is an example configuration file. You can use this as a template for creating your own configuration file.",
"platforms": [],
"accessories": [
{
"accessory": "mqtt-power-consumption-log-tasmota",
"name": "NAME OF THIS ACCESSORY",
"url": "mqtt://MQTT-ADDRESS",
"username": "MQTT USER NAME",
"password": "MQTT PASSWORD",
"topics": {
"statusGet": "stat/sonoff/POWER",
"statusSet": "cmnd/sonoff/power",
"energyGet": "tele/sonoff/ENERGY",
"stateGet": "tele/sonoff/STATE"
},
"onValue": "ON",
"offValue": "OFF",
"outletInUseBy": "current",
"outletInUseCurrent": "0.01",
"totalPowerResetBy": "month",
"activityTopic": "tele/sonoff/LWT",
"activityParameter": "Online",
"startCmd": "cmnd/sonoff/TelePeriod",
"startParameter": "15",
"patchToSave":"/root/.homebridge/",
"savePeriod": "15",
"timeOffset": "-60",
"manufacturer": "ITEAD",
"model": "Sonoff TH",
"serialNumberMAC": "MAC OR SERIAL NUMBER"
}
]
}
sonoff in topic - topics name of Your Sonoff switch.
"statusGet": "stat/sonoff/POWER" - status of switch.
"statusSet": "cmnd/sonoff/power" - command topic to set switch.
"energyGet": "tele/sonoff/ENERGY" - topic for energy telemetry information.
"stateGet": "tele/sonoff/STATE" - topic for cyclic telemetry information.
"onValue": "ON", "offValue": "OFF" - on and off value for switch. [optional]
"outletInUseBy": "current" - "outlet in use" it will be set only if the circuit current flows. [optional]
"outletInUseCurrent": "0.01" - The current above which the "outlet in use" will be activated. [optional]
"totalPowerResetBy": "month" - How often reset the consumed power: every "month", "year", or "" - never. [optional]
"activityTopic": "tele/sonoff/LWT" - last will topic for check online state. [optional]
"activityParameter": "Online" - last will payload for online state. [optional]
"startCmd": "cmnd/sonoff/TelePeriod" - command sent after the connection. [optional]
"startParameter": "60" - payload for startCmd. [optional]
"patchToSave":"/root/.homebridge/" - path to save text files with temperature data. [optional]
"savePeriod": "15" - period (minutes) for saving and check temperature. For save only min. and max. 24h temperature data set with "minus" ex "-15". Minimal preriod 10 minutes. Empty: save every 15 min. [optional]
"zeroHour": "23" - time (UTC) at which you want to reset the timer min./max. Empty to reset after 24 hours since the last minimum or maximum. [optional]
The files will be saved in the specified path with the "topic" (ex. Sonoff) in the file name ex. "/root/.homebridge/sonoff_period_10.csv", "/root/.homebridge/sonoff_hourly.csv".