Emoncms Home Assistant

Great, thanks! Nice work

  • sent from my mobile device

@glyn.hudson someone using hass had a very nice idea … an extra history component for emons inside hass. There are a few other components like this for hass already like for example the dweet.io one.

Basically a history component monitors for state changes of entities for example if a sensor’s value changes the component detects it. The emoncms_history component then uses the input api of emoncms to log a json value to a specific node value with the entityid as name and the changed value as input value for emoncms

In practise this would allow hass to send any sensor’s data ever being made to emoncms.

The use case of the person in question was that he has a “zwave energy meter sensors” and “ecobee temperature sensors” and then those devices data can be send to emoncms with the component acting as a bridge between the device and emoncms.

so if people have perhaps energy loggers that are supported in home assistant but there does not exist some kind of tool to submit the data to emoncms but there does exist a component in hass that displays numerical data, this new component can then be used as a bridge to get the values inside emoncms and do whatever you like with it afterwards in emoncms (creating feeds / graphs / dashboards etc)

If i had known about this myselve for example i wouldn’t had to create a tool in windows to send my nuc cpu use ram use disk use etc to emoncms as i could have used this component then :slight_smile:

same goes for wemo insight switches to send the power usuage data to emoncms.

it opens up a whole lot of possibilities

edt: pull request created:

2 Likes

figured something else out…

you can directly view the dashboards from emoncms inside home assistant by making them public and using an iframe panel comonent :slight_smile:

I tried linking to the dashboard without making it public but providing the readapikey but for some reason some of the widgets did not display then so i guess if you want to do this you’d have to make it public

a few example screenshots

1 Like

@glyn.hudson Home Assistant 29.1 just got released. The emoncms feeds sensor is included the history component is not yet, that will be for the next release once the pr gets accepted.

The documentation for the emon cms sensor is availible here https://home-assistant.io/components/sensor.emoncms/

once the history component gets released i’ll report as well

A post was split to a new topic: Home Assistant emonSD

A post was merged into an existing topic: Home Assistant emonSD

Quick update the emoncms_history component for home assistant got accepted and is due to release in ha 0.31 (normally this weekend, guessing saturday)

Nice :thumbsup:

How does the Emoncms history component work in HA?

You specify the write api key, base url (like https://emoncms.org or your local installation), an input node id, optional scan interval and whitelisted entities in the config. Entities are like sensors for example temprature power meters etc

What it does then is every “Scan interval” seconds it will gather all whitelisted entities states (values) and try to convert it to a numeric value place it all in the json format like {entitiy1:entity1value,entitiy2:entity2value,…} and use http post using the data parameter (input api) to send the data to emoncms on the chosen input node id in the config.

That’s basically all it does and how it works.

The default scan interval is set at 30 seconds so every 30 seconds it would send data to emoncms but users can lower this value or make multiple emoncms_history sensor config’s each with their own scan interval (for example one with whitelisted entities that don’t change much with a higher scan interval and another with one that changes a lot with lower scan itnerval).

This makes it possible to send every (current) number value from components like sensors etc to emoncms to create feeds, graphs, dashboards etc for it afterwards.

So if somone has a zwave power reading outlet and uses home assistant to read its value they can send the power value to emoncms using this component. But it’s not just for power values any numeric value can be send and dashboards can be created for it or the data can be kept in feeds for historical data etc.

there currently is a bug in home assistant with the wemo insights so that it does not update the power value when it changes (it’s reported) but if that’s fixed you can create a template sensor that gets this power value and then you can add the (template) sensor to the whitelisted entities in emoncms_history component so then you can send power values from wemo insights to emoncms and don’t need any self made code to send the values to emoncms (like i did in the past).

or send the temprature data from open weather map to emoncms anything you can think of basically as long as home assistant supports it and it’s a numeric value it can be send to emoncms

1 Like

I am trying to bring in emonpi.local data in to my Home Assistant / hassio dashboard, which is running on a separate Raspberry Pi. I have been following the guide on Emoncms - Home Assistant but I keep getting an error. The Feed id of 106 is what I see when I hover over the Feed (Office Temp) within my emonpi.local

The error log states

Log Details (ERROR)
Mon Dec 09 2019 13:17:54 GMT+0000 (GMT)
HTTPConnectionPool(host='emonpi.local', port=80): Max retries exceeded with url: /feed/list.json?apikey=*my emonpi.local read API is redacted here* (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f86639e10>: Failed to establish a new connection: [Errno -2] Name does not resolve'))

Does anyone know what I should use in place of http://emonpi.local which I think is what the issue is?

TIA, Julian

PS: This is what my config.yaml looks like …

sensor:
  - platform: emoncms
    api_key: *my emonpi.local read API is redacted here*
    url: http://emonpi.local
    scan_interval: 300
    id: 1
    unit_of_measurement: "ºC"
    include_only_feed_id:
      - 106

.

Mmmm, never found this component before and I use HA quite a lot!!!

HA has moved on a lot since this was created so it is very possible it is now broken.

Try the IP address?

I currently post everything from EmonCMS to an ‘output’ MQTT topic which I pick up in HA.

I’m about to (over Christmas) move my HA install to a new 4Gb RPi 4 with an HDD. I’ll have a play with the node then.

Just tried it, works fine with an IP such as http://192.168.1.10

Thanks @borpin ; I have finally managed to get it to work - and for the possible benefit of others following in the future, this is what I needed to include…

sensor:
  - platform: emoncms
    api_key: XXmyAPI_read_key_redactedXX
    url: http://192.168.1.150/emoncms
    id: 1
    unit_of_measurement: "C"
    include_only_feed_id:
      - 106

For me, the inclusion of the trailing /emoncms made all the difference.

Yee Gads, this is all very exciting when I get it to work :grinning:

1 Like

There have been some changes in the Apache config so yes, sometimes you need the trailing emoncms, depends on when the install was done. It is the same for the HTTP interfacer in emonhub.

1 Like


Since January i cannot write to my emoncms
I can send by other devices but not with home assistant.
what can i do to debug?

@joyrider3774

nice one, how would you send to multiple nodes?

emoncms_history:
  api_key: 
  url: 
  scan_interval: 10
  inputnode: 2
  whitelist:
    - sensor.bedroom_bo_battery_level
emoncms_history:
  api_key: 
  url: 
  scan_interval: 10
  inputnode: 1
  whitelist:
    - sensor.openweathermap_temperature
    - sensor.openweathermap_pressure
    - sensor.openweathermap_humidity

it only send to the last node, if i swith them arround it will send to node 2

it was only made for 1 config so that explains it

@joyrider3774 any chance you will revisit it as some point?

@boelle no chanse of revisiting, i stopped using emoncms. However having only one input node is not a problem, as you normally create feeds out of certain inputnode’s data inside emoncms anyway or at least should. So you can just put everything in a single inputnode and then create feeds from it inside emoncms

that would be one way yes

i’m just an old fart that is used to keep everything seperate all the way

@joyrider3774, did you switch to something else or stop monitoring altogether?