# emonESP firmware development

**URL:** <https://community.openenergymonitor.org/t/emonesp-firmware-development/1191>\
**Category:** Labs\
**Tags:** emonesp\
**Created:** [5 August 2016 09:23 UTC](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191 "2016-08-05T09:23:40Z")\
**Posts on this page:** 20\
**Page:** 3

<div class="post-metadata">

**Author:** ![Paul](https://community.openenergymonitor.org/user_avatar/community.openenergymonitor.org/paul/32/28_2.png) [@Paul](https://community.openenergymonitor.org/u/Paul)\
**Post date:** [26 August 2016 21:32 UTC](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191/54 "2016-08-26T21:32:25Z")

</div>

You’ve probably already considered this, but did you;  
`git fetch origin`  
before checking out the code\_split\_up\_cpp branch?

Paul

---

<div class="post-metadata">

**Author:** ![jeremypoulter](https://community.openenergymonitor.org/user_avatar/community.openenergymonitor.org/jeremypoulter/32/1006_2.png) [@jeremypoulter](https://community.openenergymonitor.org/u/jeremypoulter)\
**Post date:** [26 August 2016 21:46 UTC](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191/55 "2016-08-26T21:46:48Z")

</div>

> [@Paul](#):
>
> You’ve probably already considered this, but did you;git fetch originbefore checking out the code\_split\_up\_cpp branch?

This worked for me from a fresh clone;

```auto
jeremy@MOONSHADE:~$ git clone https://github.com/openenergymonitor/EmonESP.git
Cloning into 'EmonESP'...
remote: Counting objects: 1015, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 1015 (delta 0), reused 0 (delta 0), pack-reused 1011
Receiving objects: 100% (1015/1015), 462.41 KiB | 0 bytes/s, done.
Resolving deltas: 100% (494/494), done.
Checking connectivity... done.
jeremy@MOONSHADE:~$ cd EmonESP/
jeremy@MOONSHADE:~/EmonESP$ git fetch origin
jeremy@MOONSHADE:~/EmonESP$ git checkout code_split_up_cpp
Branch code_split_up_cpp set up to track remote branch code_split_up_cpp from origin.
Switched to a new branch 'code_split_up_cpp'
jeremy@MOONSHADE:~/EmonESP$

```

or I think you can also use `git pull origin code_split_up_cpp`

---

<div class="post-metadata">

**Author:** ![Paul](https://community.openenergymonitor.org/user_avatar/community.openenergymonitor.org/paul/32/28_2.png) [@Paul](https://community.openenergymonitor.org/u/Paul)\
**Post date:** [26 August 2016 22:01 UTC](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191/56 "2016-08-26T22:01:26Z")

</div>

From a fresh clone, the available branches should already be synced from Github, and immediately available to checkout.  
With existing ‘clones’, it’s necessary to refresh the branch list, to pull-in new branches before they can be checked out.

Paul

---

<div class="post-metadata">

**Author:** ![jeremypoulter](https://community.openenergymonitor.org/user_avatar/community.openenergymonitor.org/jeremypoulter/32/1006_2.png) [@jeremypoulter](https://community.openenergymonitor.org/u/jeremypoulter)\
**Post date:** [26 August 2016 22:06 UTC](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191/57 "2016-08-26T22:06:40Z")

</div>

I though only the master was fetched… clearly not 😉

---

<div class="post-metadata">

**Author:** ![Paul](https://community.openenergymonitor.org/user_avatar/community.openenergymonitor.org/paul/32/28_2.png) [@Paul](https://community.openenergymonitor.org/u/Paul)\
**Post date:** [26 August 2016 22:09 UTC](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191/58 "2016-08-26T22:09:24Z")

</div>

I’m no expert Jeremy - I’m slowly learning from my disasters!!

Paul

---

<div class="post-metadata">

**Author:** ![jeremypoulter](https://community.openenergymonitor.org/user_avatar/community.openenergymonitor.org/jeremypoulter/32/1006_2.png) [@jeremypoulter](https://community.openenergymonitor.org/u/jeremypoulter)\
**Post date:** [26 August 2016 22:12 UTC](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191/59 "2016-08-26T22:12:39Z")

</div>

> [@Paul](#):
>
> I’m no expert Jeremy - I’m slowly learning from my disasters!!

Ditto 😉 You can’t become the former without the latter

---

<div class="post-metadata">

**Author:** ![glyn.hudson](https://community.openenergymonitor.org/user_avatar/community.openenergymonitor.org/glyn.hudson/32/35003_2.png) [@glyn.hudson](https://community.openenergymonitor.org/u/glyn.hudson)\
**Post date:** [27 August 2016 11:36 UTC](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191/60 "2016-08-27T11:36:04Z")

</div>

Thanks Paul 👍

@jeremypoulter are you running the latest code from `code_split_up_cpp`? How’s it working for you? I don’t have access to an ESP untill next week. I will test then. It would be good to ensure stability by running for a week or so before we decided to merge. I’m happy with (and actually quite like 😊) the new code layout. It will make mentainability and adding new feautres much easier in the future.

Also like @chris1howell said it will make it easier to share code modules between EmonESP and OpenEVSE 🙂

---

<div class="post-metadata">

**Author:** ![jeremypoulter](https://community.openenergymonitor.org/user_avatar/community.openenergymonitor.org/jeremypoulter/32/1006_2.png) [@jeremypoulter](https://community.openenergymonitor.org/u/jeremypoulter)\
**Post date:** [27 August 2016 15:49 UTC](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191/61 "2016-08-27T15:49:31Z")

</div>

> [@glyn.hudson](#):
>
> @jeremypoulter are you running the latest code from code\_split\_up\_cpp? How’s it working for you?

Yeah, looks to be working well, have a look at the message delivery stats (code\_split\_up\_cpp code was installed around 21:30 on the 24/08/2016) from EmonCMS;

> **[Emoncms - vis multigraph](https://emoncms.org/vis/multigraph?mid=11834)**

and the power stats via MQTT (via Adafruit io);

> **[Adafruit IO](https://io.adafruit.com/jeremypoulter/emonesp)**
>
> Adafruit IO is the easiest way to get your projects onto the Internet of Things!

Need to test out the management side of things a bit more.

---

<div class="post-metadata">

**Author:** ![glyn.hudson](https://community.openenergymonitor.org/user_avatar/community.openenergymonitor.org/glyn.hudson/32/35003_2.png) [@glyn.hudson](https://community.openenergymonitor.org/u/glyn.hudson)\
**Post date:** [29 August 2016 16:47 UTC](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191/62 "2016-08-29T16:47:00Z")

</div>

Awesome! Interesting to see that Free Heap dropped, probably not significant. It certainly looks like it’s still working reliably. [Adafruit.io](http://Adafruit.io) is quite nice

---

<div class="post-metadata">

**Author:** ![kevin](https://community.openenergymonitor.org/letter_avatar_proxy/v4/letter/k/2acd7d/32.png) [@kevin](https://community.openenergymonitor.org/u/kevin)\
**Post date:** [29 August 2016 21:52 UTC](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191/63 "2016-08-29T21:52:06Z")

</div>

My EMONPI module has started playing up so I’m thinking of taking the ESP route.  
Is it possible in future to extend the ESP firmware to allow control of the GPIO ports? I currently have 2 ESP8266 Wemos D1 Mini’s running ESP Easy and via MQTT I control lights and 1-Wire sensors. I’d like to extend this via additional ESP Modules attached to my EMONTX’s if possible.

---

<div class="post-metadata">

**Author:** ![jeremypoulter](https://community.openenergymonitor.org/user_avatar/community.openenergymonitor.org/jeremypoulter/32/1006_2.png) [@jeremypoulter](https://community.openenergymonitor.org/u/jeremypoulter)\
**Post date:** [30 August 2016 21:34 UTC](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191/64 "2016-08-30T21:34:00Z")

</div>

> [@glyn.hudson](#):
>
> Awesome! Interesting to see that Free Heap dropped, probably not significant. It certainly looks like it’s still working reliably.

I think this is because I accessed the web server soon after installing the new firmware. Once it has been up for a week or so will I will reboot and see if that recovers the memory. Not that keeping memory free is actually a good thing 😉 free memory is wasted memory 😉

> [@glyn.hudson](#):
>
> [Adafruit.io](http://Adafruit.io) is quite nice

Indeed, there are a lot of nice features about it, eg mobile friendly dashboards, real time updates, but it is also rather limited when compared to EmonCMS.

---

<div class="post-metadata">

**Author:** ![jeremypoulter](https://community.openenergymonitor.org/user_avatar/community.openenergymonitor.org/jeremypoulter/32/1006_2.png) [@jeremypoulter](https://community.openenergymonitor.org/u/jeremypoulter)\
**Post date:** [7 September 2016 21:13 UTC](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191/65 "2016-09-07T21:13:39Z")

</div>

> [@jeremypoulter](#):
>
> I think this is because I accessed the web server soon after installing the new firmware. Once it has been up for a week or so will I will reboot and see if that recovers the memory. Not that keeping memory free is actually a good thing 😉 free memory is wasted memory 😉

FYI I rebooted the EmonESP earlier this week and there is a lot more free memory now. Interestingly there are two other points where the memory jumps up by ~200 bytes when it gets disconnected from the WiFi (I had to move the router so it was turned off fir a while).

 ![](https://community.openenergymonitor.org/uploads/default/original/2X/3/3145e3b1c95c6605b44bf618a5c4437649d03a70.png)

---

<div class="post-metadata">

**Author:** ![glyn.hudson](https://community.openenergymonitor.org/user_avatar/community.openenergymonitor.org/glyn.hudson/32/35003_2.png) [@glyn.hudson](https://community.openenergymonitor.org/u/glyn.hudson)\
**Post date:** [13 September 2016 14:03 UTC](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191/66 "2016-09-13T14:03:39Z")

</div>

`code_split_up_cpp` branch has been merged into master, tested and working great for me 🙂

Actually, it was merged 8 days ago, I just forgot to post here 😐 . Are you happy for me to delete the `code_split_up_cpp` branch?

> <https://github.com/openenergymonitor/EmonESP/pull/15>

---

<div class="post-metadata">

**Author:** ![jeremypoulter](https://community.openenergymonitor.org/user_avatar/community.openenergymonitor.org/jeremypoulter/32/1006_2.png) [@jeremypoulter](https://community.openenergymonitor.org/u/jeremypoulter)\
**Post date:** [13 September 2016 16:38 UTC](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191/67 "2016-09-13T16:38:44Z")

</div>

Go for it, was only documentation that was outstanding.

---

<div class="post-metadata">

**Author:** ![felice\_comodo](https://community.openenergymonitor.org/letter_avatar_proxy/v4/letter/f/6a8cbe/32.png) [@felice\_comodo](https://community.openenergymonitor.org/u/felice_comodo)\
**Post date:** [17 November 2016 16:05 UTC](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191/68 "2016-11-17T16:05:51Z")

</div>

I am also interested in accessing gpio to allow reading data from pin.

---

<div class="post-metadata">

**Author:** ![kevin](https://community.openenergymonitor.org/letter_avatar_proxy/v4/letter/k/2acd7d/32.png) [@kevin](https://community.openenergymonitor.org/u/kevin)\
**Post date:** [17 November 2016 20:44 UTC](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191/69 "2016-11-17T20:44:41Z")

</div>

Take a look in this thread [ESPEasy and EMONTX - it seems to work!](https://community.openenergymonitor.org/t/espeasy-and-emontx-it-seems-to-work/1433)  
I’ve been using this for a few weeks now without issue

---

<div class="post-metadata">

**Author:** ![felice\_comodo](https://community.openenergymonitor.org/letter_avatar_proxy/v4/letter/f/6a8cbe/32.png) [@felice\_comodo](https://community.openenergymonitor.org/u/felice_comodo)\
**Post date:** [17 November 2016 21:37 UTC](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191/70 "2016-11-17T21:37:45Z")

</div>

Thank you. But i think it’s easier to slightly change emonesp sketch to read from pins aswell rather than uart. Any help?

---

<div class="post-metadata">

**Author:** ![kevin](https://community.openenergymonitor.org/letter_avatar_proxy/v4/letter/k/2acd7d/32.png) [@kevin](https://community.openenergymonitor.org/u/kevin)\
**Post date:** [17 November 2016 21:44 UTC](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191/71 "2016-11-17T21:44:41Z")

</div>

Hopefully someone else can help you with this one, I already use ESPEasy on other ESP devices reliably to control things so have no need to develop another solution. I run EMONCMS locally on the same Pi as Openhab which is detailed in the other thread.

---

<div class="post-metadata">

**Author:** ![felice\_comodo](https://community.openenergymonitor.org/letter_avatar_proxy/v4/letter/f/6a8cbe/32.png) [@felice\_comodo](https://community.openenergymonitor.org/u/felice_comodo)\
**Post date:** [18 November 2016 07:41 UTC](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191/72 "2016-11-18T07:41:30Z")

</div>

How do you send data to emoncms through espeasy?

---

<div class="post-metadata">

**Author:** ![kevin](https://community.openenergymonitor.org/letter_avatar_proxy/v4/letter/k/2acd7d/32.png) [@kevin](https://community.openenergymonitor.org/u/kevin)\
**Post date:** [18 November 2016 07:56 UTC](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191/73 "2016-11-18T07:56:47Z")

</div>

see first post on [ESPEasy and EMONTX - it seems to work!](https://community.openenergymonitor.org/t/espeasy-and-emontx-it-seems-to-work/1433)

[Previous page](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191.md?page=2)

[Next page](https://community.openenergymonitor.org/t/emonesp-firmware-development/1191.md?page=4)
