Hi guys!
Does anyone have an example of how to use History Statistics Sensor or InfluxDB ?
I’m trying to write the following app:
Notify me if my electricity consumption is more than X kw in 3 weeks
thanks in advance,
Humberto
Hi guys!
Does anyone have an example of how to use History Statistics Sensor or InfluxDB ?
I’m trying to write the following app:
Notify me if my electricity consumption is more than X kw in 3 weeks
thanks in advance,
Humberto
I have an app pulls data from Influx to create a chart. You can execute any query against the database
class InfluxChart(hass.Hass):
def initialize(self):
self.log("Hello from InfluxChart Data Plot App")
self.host = self.args.get("host", "localhost")
self.port=8086
self.user = self.args.get("user", "home_assistant")
self.password = self.args.get("password", None)
self.dbname = self.args.get("dbname", "home_assistant")
self.query = self.args.get("query", None)
if not self.entity_exists("sensor.monthlypower"):
self.log("Our virtual sensor doesn't exist so we'll create it now to prevent false alerts")
self.set_state("sensor.monthlypower", state = 0)
#run at midnight
self.run_daily(self.create_chart, datetime.time(23, 55, 50))
self.listen_event(self.ha_event, "plugin_started")
self.listen_event(self.appd_event, "appd_started")
def ha_event(self, event_name, data, kwargs):
self.log("Home Assistant restart detected")
self.run_in(self.create_chart, 60)
def appd_event(self, event_name, data, kwargs):
self.log("AppDaemon restart detected")
self.run_in(self.create_chart, 180)
......
Chart:
class: InfluxChart
module: influx_chart
host: localhost
user: home_assistant
password: 'xxx'
dbname: home_assistant
query: "select max(value) from kWh where entity_id = 'energy_generation' and time >= now() - 30d group by time(1d) fill(null) order by time asc;"
Hope this helps