Project Description

Last hackweek I worked on a solar monitor for our solar installation detail are here. At the time I didn't have a device to load it on but eventually I got a hold of a raspberry pi (and screen). I ended up building yast for it and got it working. Unfortunately I couldn't get the touch screen to work for it with tumbleweed on pi so I ended up using the debian based raspberry pi OS. This works pretty well except for an annoying wrinkle, it seems a long running yast (using our yast python bindings) ui app burns memory and it ends freezing the raspberry pi nearly once a day so now I have a cron job to kill the X server twice a day (just to be sure) so that the monitor UI is restarted. This is probably the most serious issue (and really I suppose needs attention as it affects anything else using the yast python bindings). There are other issues (and bugs) with the solar monitor that I haven't had a chance to investigate that I would love to work on over hack week

Goal for this Hackweek

  • basic code maintenance

    • currently there is a repo for the code here but I know that I have some extra changes both on the raspberry pi, a vm and a local dir where I made changes (and minor rewrites/test code). Currently I don't know which changes are which, which are the more valid, which are in progress real work or just experimentation. I need to clean this up
    • clean up the code itself, the code is pretty monolithic (and full of commented out debug) and has some obvious places that need some basic rewriting and splitting into smaller more manageable pieces
  • Bugs

    • investigate, fix and upstream yast-python-binding leaks
    • every once and a while the progress bars display momentarily 100% usage, looks like I get some over/underflow or maybe I actually get bad data from the invertor. Need to investigate this and either fix or detect and ignore bad values
    • online/offline detection is still very flacky and I sometimes get multiple signal messages, from the timestamps it's clear some of these are just wrong. It's clear the logic that I have in place is brutally ugly and confusing (and doesn't work properly) I should have used a proper state machine to do this (probably I will still get some multiple messages due to flacky connection but not as many
    • I accumulate daily totals (from the cloud) to calculate daily usage, I only realised recently that the timestamps stored in the cloud are UTC+0. This means for the last couple of months (before daylight savings kicked in) I was reading the wrong range of values for the day (if I haven't got things backward I should (before october 30) have been pulling from the cloud values from the last hour of the previous day up to the current day (at 11pm) in order to calculate the correct day range. (confusing I know)
  • UI changes - Mostly due to now displaying in a 7 in screen

    • Change size of icons (they are too small)
    • Think about a different way of representing the current actual usage (at the moment I am show a little house icon circled in green for exporting and a plug and cable circled in red for importing) Maybe some sort of dial or bar, I dunno, ideally a new Qt control would be best but I don't have the skill or time for that, I might come up with something using a combination of existing images and switching between them depending on the value
    • There are 2 devices shown and both show the same representation for import and export, one device (the inverter) is only available during daylight hours and the other available all the time however both have a different refresh rate, showing both is confusing, I should just show use a single representation and use the value from inverter when it is available and swap to the other device value otherwise
    • currently the ui has a soft button on the ui for shutting off the raspberry pi, it would nice to be have the option to be able to switch to the gnome desktop, shutdown or reboot

Looking for hackers with the skills:

Nothing? Add some keywords!

This project is part of:

Hack Week 23


  • 29 days ago: dfaggioli liked this project.
  • about 1 month ago: npower originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    This project is one of its kind!