jasonacox / pypowerwall

Python API for Tesla Powerwall and Solar Power Data
MIT License
120 stars 21 forks source link

Localize PowerFlow Animation #58

Closed jasonacox closed 6 months ago

jasonacox commented 6 months ago

Proxy t29 Updates

image
jasonacox commented 6 months ago

You can test this container image (update your powerwall.yml file): jasonacox/pypowerwall:0.6.4t29

jasonacox commented 6 months ago

@mcbirse I just merged this. If you have time to test, I would like to roll this into the Powerwall-Dashboard pinning.

mcbirse commented 6 months ago

Hi @jasonacox - This is fantastic!

I have just tested and looks to be working correctly with the proxy serving assets from the local filesystem. The Power Flow animation loads about 10x faster as well. 😃

However, I did notice an issue perhaps? Is the "0.6.4t29" version of the pypowerwall container on Docker Hub actually installing "0.6.4" of pypowerwall from pip?

To test I had created a powerwall.extend.yml file with the below content, to override the default pinning, and upgrade my container to pypowerwall:0.6.4t29

version: "3.5"

services:
    pypowerwall:
        image: jasonacox/pypowerwall:0.6.4t29

To confirm the upgrade, I checked docker logs.

12/17/2023 06:08:11 PM [proxy] [INFO] pyPowerwall [0.6.2] Proxy Server [t29] - HTTP Port 8675 - DEBUG
12/17/2023 06:08:11 PM [pypowerwall] [DEBUG] pypowerwall [0.6.2]
12/17/2023 06:08:11 PM [proxy] [INFO] pyPowerwall Proxy Started

And noticed "0.6.2" for pyPowerwall.

Proxy Server build however confirms the proxy build is updated, and I checked the container files contained the "web" directory/assets, and the logs in debug mode shows it is server assets from the local filesystem.

12/17/2023 06:08:27 PM [proxy] [DEBUG] 192.168.222.50 "GET /app.css HTTP/1.1" 200 -
12/17/2023 06:08:27 PM [proxy] [DEBUG] Served from local web root: /app.css
12/17/2023 06:08:27 PM [proxy] [DEBUG] 192.168.222.50 "GET /vendor.js HTTP/1.1" 200 -
12/17/2023 06:08:27 PM [proxy] [DEBUG] Served from local web root: /vendor.js
12/17/2023 06:08:27 PM [proxy] [DEBUG] 192.168.222.50 "GET /app.js HTTP/1.1" 200 -
12/17/2023 06:08:27 PM [proxy] [DEBUG] Served from local web root: /app.js

But if the the container should be using "0.6.4" of pypowerwall, Dockerfile needs an update before pushing to Docker Hub I believe - it has the version pinned to "0.6.2" - unless using that version is intended still?

Current Dockerfile

FROM python:3.10-alpine
WORKDIR /app
RUN pip3 install pypowerwall==0.6.2 bs4
COPY . .
CMD ["python3", "server.py"]
EXPOSE 8675 

Below line needs to be updated then re-pushed to Docker Hub.

RUN pip3 install pypowerwall==0.6.4 bs4

As for the proxy serving assets from the local filesystem instead, it seems to work perfectly in my testing and the initial page load is significantly faster!

jasonacox commented 6 months ago

GREAT catch! Fixed. I just pushed the new container.

12/17/2023 12:07:40 AM [proxy] [INFO] pyPowerwall [0.6.4] Proxy Server [t29] - HTTP Port 8675
12/17/2023 12:07:40 AM [proxy] [INFO] pyPowerwall Proxy Started
jasonacox commented 6 months ago

Also, I pushed a teslacloud branch and a terrible placeholder cloud.py file. Feel free to work on it if you want (or push something different). I'm out until tomorrow. 💤

mcbirse commented 6 months ago

GREAT catch! Fixed. I just pushed the new container.

All good - I have re-tested and confirmed versions updated and everything working fine.

Also, I pushed a teslacloud branch and a terrible placeholder cloud.py file. Feel free to work on it if you want (or push something different). I'm out until tomorrow. 💤

Nice - I've had a quick check and looks like a good start for working out the structure and what we need to determine relevant metrics we can interpret and return from the Tesla Cloud. Time for 💤 for me now also though...