Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenEVSE GUI #51

Merged
merged 73 commits into from
Aug 2, 2017
Merged

OpenEVSE GUI #51

merged 73 commits into from
Aug 2, 2017

Conversation

jeremypoulter
Copy link
Collaborator

@jeremypoulter jeremypoulter commented Jul 24, 2017

These are the changes to add a GUI for OpenEVSE, see #34.

This following features have been implemented;

  • Partial OpenEVSE JavaScript library, JavaScript 'port' of Python RAPI library #38
  • Implements setting the service level and current capacity
  • Updating of the charge and time limits
  • Setting of the delay timer
  • Switch between sleep/enabled
  • Setting the time
  • Reboot the OpenEVSE
  • Added Developer Mode to show RAPI tab and switches to enable/disable tests

Eric Sandeen and others added 30 commits May 25, 2017 11:04
This is the rapiSender class from @lincomatic, with minor
changes.

Cleans up all of the rapi code quite a lot, with the small
caveat that it puts the serial delay in the main loop.
Helps pick up errors as code is been written and can be used to help auto review code.
…nto OpenEVSE_GUI

# Conflicts:
#	src/data/config.js
#	src/data/home.htm
…v2.x into OpenEVSE_GUI

# Conflicts:
#	src/emonesp.h
#	src/input.cpp
#	src/web_server.cpp
#	src/wifi.cpp
Cleans up all of the rapi code quite a lot, with the small
caveat that it puts the serial delay in the main loop.
…v2.x into OpenEVSE_GUI

# Conflicts:
#	src/RapiSender.cpp
#	src/RapiSender.h
#	src/wifi.cpp
…nto OpenEVSE_GUI

# Conflicts:
#	src/RapiSender.cpp
#	src/data/config.js
#	src/data/home.htm
#	src/input.cpp
#	src/web_server.cpp
Added a version that takes a String for convenience and flash string to help save memory.
@glynhudson
Copy link
Contributor

glynhudson commented Jul 27, 2017

Few other little issues

  • After connecting to a Wifi network, a reboot is required before I can load the webpage. This is not a problem if you can force a reboot after Wifi connection? This would also turn off AP?
  • I can't see to turn off Temperature Monitoring: or Vent Required: checks via the UI. However, this not an issue. I while back I talked to Chris about this and due to the possible safety implications I don't think users should be able to disable safety checks via the GUI. These should be manual LCD only operations. Please could you remove the toggles. Sorry, should have mentioned this earlier. I know it's still possible via RAPI however its much too easy to accidentally toggle a UI toggle and not realise!

@jeremypoulter jeremypoulter added this to the Solar PV Diversion milestone Jul 27, 2017
@glynhudson
Copy link
Contributor

glynhudson commented Jul 27, 2017

Setting charger, time limit and charge limit all seems to work great. This is awesome! 👍

Few more minor things I notice on the UI. Would you prefer me to open issues or continue to post here for issues regarding the GUI?

  • After entering a charge limit (kwh) there is no enter button, I had to Sleep then Enable charging to see the little energy symbol on the LCD. Is this due to Setting the charge/time limit via RAPI does not update LCD lincomatic/open_evse#65? Even if the LCD does not update having some sort of confirmation that the setting has been set on the GUI would improve UX.

  • Setting the charge limit on the LCD seems to crash the webserver. Tried twice with same issue. After ESP reboot the correct energy limit it shown on the GUI. Same issue with time limit.

  • The 'Disable' button moves position, minor issue but did cause me to hit the wrong button one a few times!

selection_077
selection_076

  • Rename Session Option > Charge Options

  • Rename Sleep > Pause

  • Rename Enable > Start

  • Rename Sleeping charge state > Waiting

  • Remove Disable button from the GUI see @chris1howell comment below

  • Current time does not quite fit in the box:

screenshot 2017-07-27 at 21 24 29

For the benefit of other devs, this is what the GUI looks like so far:

openevse

@glynhudson glynhudson mentioned this pull request Jul 27, 2017
@jeremypoulter
Copy link
Collaborator Author

Would you prefer me to open issues or continue to post here for issues regarding the GUI?

Here is fine, just put the check boxes so I can track them.

@chris1howell
Copy link
Member

chris1howell commented Jul 27, 2017 via email

@jeremypoulter
Copy link
Collaborator Author

jeremypoulter commented Jul 28, 2017

After entering a charge limit (kwh) there is no enter button, I had to Sleep then Enable charging to see the little energy symbol on the LCD. Is this due to lincomatic/open_evse#65?

Yes, the lack of update is related to lincomatic/open_evse#65

@jeremypoulter
Copy link
Collaborator Author

After connecting to a Wifi network, a reboot is required before I can load the webpage. This is not a problem if you can force a reboot after Wifi connection? This would also turn off AP?

I think this should be broken out in to a new issue of generally improving the initial setup. I don't think it is specifically related to the OpenEVSE GUI

It was felt it was to easy to disable safetly tests with the switches on the GUI so these have been hidden. The switches can be re-enabled using developer mode.

Developer mode (currently) enables (shows) the RAPI tab and switches to enable/disable test
@jeremypoulter
Copy link
Collaborator Author

jeremypoulter commented Jul 28, 2017

Setting the charge limit on the LCD seems to crash the webserver. Tried twice with same issue. After ESP reboot the correct energy limit it shown on the GUI. Same issue with time limit.

I can't reproduce this can you give more details, log, .elf file? What state is the EV in?

…le them.

This allows floating left/right to eat up all the space.
@jeremypoulter
Copy link
Collaborator Author

sometimes there are big spaces between html GUI boxes

I managed to fix this, however all the elements in the Charge Options are always shown rather than being hidden.

image

vs

image

The fundamental problem is the combination of the different size blocks and trying to keep the right hand blocks near the top when in a single column.

There does not look to be a CSS only way to do this. The only reasonable way to get the desired effect is to use a JS library like masonry, but that had issues with the tabs and needs some more extensive re-work of the UI.

The other option is to do something similar to emonESP and have all the content of the right hand side shift to under all the left hand side content.

@jeremypoulter jeremypoulter changed the title WIP OpenEVSE GUI OpenEVSE GUI Jul 31, 2017
@glynhudson
Copy link
Contributor

Just tested, layout looks much better now. Not nearly as much whitespace

@jeremypoulter jeremypoulter merged commit 758501b into OpenEVSE:master Aug 2, 2017
@jeremypoulter jeremypoulter deleted the OpenEVSE_GUI branch May 15, 2018 19:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants