issues
search
alexnathanson
/
solar-protocol
A repository in development for a solar powered network of servers that host a distributed web platform. Project by Tega Brain, Alex Nathanson and Benedetta Piantella. Supported by Eyebeam, Mozilla, and CS&S
http://solarprotocol.net
220
stars
19
forks
source link
beta bookworm
#40
Closed
jedahan
closed
1 year ago
jedahan
commented
1 year ago
Remove supposedly unused skia dependency
Update numpy to 1.21.0 to fix build issues
Document container building
Update unicodedata to 14 for python 3.9/3.10 support
Mount /Users/ in virtual machine and explain why
Latest updates
Import installation.md docs into containerfile
fix apache postinstall in container
! update pandas to hopefully speedup install
duh, cannot enable during build
Copy requirements.txt to keep cache of installed pip items
fix capitalization
use DEV when creating html
Move dev scripts and container stuff into dev/
use apache in foreground for server
simplify dev scripts
migrate to compose file for running the server
temporarily have dev viz go to actual viz
ignore viz-archive in gitignore
Update devicelist
regen frontend
small cleanup to installer script
Fix docs
Massive documentation reorg
Fix typos
Make scripts portable - run from anywhere
use universal method of portable dev script
Do not generate files in initial container image
fix
Stringify port
Switch to dashes in viz archive for better windows support
quit drawing ring if no data
Remove files with :
Fix iloc
git add to remove
Start cleaning up viz.py
move root into /home/pi/solar-protocol for dev
gitignore server gifs
create_html: only support arg version for DEV mode
formatting
Try making dev and prod the same paths
we in /home/pi now
Make more of the backend work the same for dev and prod
Setup local data path
add stop script
make viz dumber
we are local!
small dev fixes
reduce instances of DEV
Create test to show difference between local and active server
get latest deviceList
compare diffs for test scripting
cleanup viz stdout output
Fix viz things i broke while refactoring
Cleanup datetime conversions
integrate skipping pi-a/b/c
Lots of simplification
Run black python formatter on all files
Fix indentation
Use newest version of api client
Fix viz
updateDeviceList: simplify output
Add charge-controller tests, and run php-cs-fixer
round out v1 tests
Add dev/test-watch which runs api tests in a loop
Create dev containerfile which has utilities to run test scripts
Cleanup clientPostIP
cleanup getNewDST
Beginning of fastapi + a2wsgi
update-devicelist
add wsgi config, and php-cs-fixer in dev
Cleanup runner
Try splitting the services into separate containers
more movement
Get charge-controller container working
Get api and protocol containers building
Add a fake device for charge-controller in dev
move generator into protocol
add missing deps
add stop script
dynamic import
expose port
need to activate venv too...
remove deprecated append, and less hardcoded directories
deviceList.json devices.json
add devices.json
I feel like a crazy person
use the internal port of the other service omg
it fuckin works
some straggling renames
refactoring install script to prep for pi
Add directory descriptions
Specify build files for compose
Use separate dev file to bind mount / live edit
Fix passing named params
start migrating away from dataframes
move all the scripts to a single solar-protocol command
Move compose to top level to fix project name
Try and force localhost instead of dockerhub
sync readme
Always build when bringing the service up
Add shell command to solar-protocol cli
Move shell install to solar-protocol init
fix merged compose paths
add colors to help message
Add status command
First endpoint for api v3 done
Add openapi definition to api proxy
b
Add api/system-info
cli: add args to solar-protocol down
finish system info
Change charge-controller to always return an array, even if one element
Add pip and podman-compose install for rpi
FQDN for docker images
Add build-essential for numpy compiling C
cli: make folder-independent
Fix local.json file path when using the compose file
install wheel dependency
passthrough compose build options
Upgrade pi to bookworm
apply shellcheck suggestions
Fix unattended variable
Add libffi dependency
solar-protocol: inline some functions
add missing pillow dependencies
Only run machine on macOS
Move raspberry pi detection first
Fix prompt ordering
sudo needed for sources.list
nice space in prompt
Update before upgrade to new OS
bullseye and buster upgrade support
initial network api endpoint
viz: fix extra )
api: rename /network to /devices to match devices.json
api: add day path param to /charge api
Always return timestamp with other data
getRemoteData: remove multi-file merging - i think this was not doing anything
Update protocol/run to api v3
remove commented-out code
small formatting updates
Update getRemoteData and solarProtocol to api v3
Remove v1/v2 gateway
More migration to api v3
Initial migration of admin status page to api v3
solar-protocol: add tracing, some help aliases
admin: more progress migrating from php to javascript
api: move gateway into api v3
Add api log for reviewing
Start migrating frontend/admin/settings to javascript
format
Remove set/get env, replace with secrets.json in /local
document secrets in api dev log
Update docs/developing to latest instructions
remove file management admin frontend
cli: remove generate command, fix format
cli: fix format command, format python
temporary fixes for getting dev environment up
fix nginx conf
fix nginx conf
fix build/viz list comprehension
only set local server in devices list
point to local port for now
build/viz: update to api v3
build/viz: fix mixed up error defs
build/viz: add missing energyValues array
build/viz: more typos
Add zsh completion installation for solar-protocol
rename api/charge to api/charge-controller
work with any port in ip: device property
start migrating viz to new v3 api
Add POST /api/device for updating a device, migrate clientPostIp script
Rename clientPostIp to publishDevice
Add password, hash, and genkey functions to solar-protocol script
Add secrets json
fix typo
add secrets to gitignore
Detach on dev
small cleanups
fixes
put in some watts and volts
Extract secrets to common library
Make a base image
Add zsh completion, base container image
bad venv path
name clash
move to src folder
try hatchling
prep hatch
Extract allow and blocklist to files
run formatter
Remove init
Move solar_secrets to own module
Move solar_secrets import up a directory
Extract fieldnames to solar_common
Fix uvicorn invocation, Add reset command to cli
Hide debug output of podman-compose in status command
Cleanup secrets management
I guess order matters
going cross-eyed
Try multi-stage build
Use StrEnum instead of str, Enum
update secrets keys
Move apt upgrade into builders
protocol container: split dev/run deps
update for run deps
More file path fixes
abuse try_files in nginx
mount /local to web container
fixin fixin
cleanup of build/html
format
Add default serverprofile.gif to local
ignore generated clock/clock-exhibit images
Remove generated images
venv now top-level
move mounted app from /solar-protocol to /protocol
Move datalogger to 2-stage build
And we are live on v3
Rename init to install, compact help output
Cleanup some straggling php references
Remove redirect docs
Run HTML Tidy
Run HTML Tidy
cleanup update-dns script
Add update-dns utility to solar-protocol cli
remove unused unit test
switch update-dns to beta subdomain
fqdn for nginx
use :beta tag for local builds
missed some tags
Add systemd-install to solar-protocol cli
Add kubic repository for podman
Upgrade pymodbus to v3
make service dir if not found
create exists command for commands that should be in path
enable each service file
bug
full names
exit codes
filenames and service names
cleanup update-dns api call
shellcheck script
format
upgrade raspi.list
formatting
First upgrade to latest stable OS
docs developing update
always add solar-protocol to shell'
Fix quoting
Fix compinit
add start to reset
add traces folder
Use default mounts for podman machine
Upgrade podman and podman-compose in install
typo
Only support fresh install bullseye
Only support fresh install bullseye
require podman-compose 1.0.4
add archive folder
encoding
encoding
encoding
Update installation docs for beta branch
mention using podman desktop to view services
install development version of podman-compose
extend the base html
document some of the scripts
post to ourselves
internal container addresses dont use https
allow start/stop aliases for up/down
Remove DEV for csv_datalogger
Remove DEV everywhere
Remove DEV everywhere
format
Handle SIGINT/KILL for datalogger
Use logging.info/debug/error instead of print() for everything
Start hoisting hardcoded host and domain for dns updates
Remove vestiges of myIP tracking
fix typos
readability
remove empty info()
format
rename
cleanup logging formatting
fix imports
sigkill takes no handle
fix debug strings
full path for image assets
use named params because order was wrong
use https for api calls
get my time zone without api call
formatstrings should be the default tbh
im tired
lets enable LSP later
no https
singular key
get timezone from local environment
add defaults for local http port setting
Update local.md docs
quotes
real-dumb
improve mac address getting to be cross-platform
grab mac interface from local.json
pass in self
correct imports
add back log
new api endpoint location
api endpoint
remove solarProtocol.getRequest wrapper
Move gateway /?myip into nginx config
js/py
fallback to empty string for empty device keys
FIXME: workaround current ip address in case of bad network
Add tz, needed
extend more
add mac
Use get instead of direct access
Safer data access
ignore secrets
fix disovery mechanism
default to eth0 in dev, since thats what containers use
time.time for unix epoch
get apiKey and poeLog inside publish
publish to all ips at once
concat
log as dict
api/beta for new discovery ips
Wait for api to be up before starting protocol
fix lint
format
move templates to .jinja
fix healthcheck
fix max_freq
break when successfull
base.html is actually a jinja template
formatting keeps changing
remove hack
api not localhost for checking serverprofile.gif
rewrite image copying/downloading
missing imports
describe issues with deprecating dns.log
remove unfiltered debug info
use exception for exceptions;
always return a string, even if its just a comma
getting sloppy
Fix poe log file path open
fix line endings in poe log
fix status_code in requests response
finding an element is more annoying than necessary
system is a single result
cleanup
Add LOGLEVEL env for development
format
We cannot use next() because of an exception handling bug
lots of small fixes
Fix getting wan ip
Fix empty var for LOGLEVEL
Round the random values
Better debug lines
move server images
Deal with empty server
Update dev docs
update install docs
relative links
fix images in installation docs
half-size images
fix image link
try balena
Try using a testing image
switch to bookworm image
try building image with github actions