GithubHelp home page GithubHelp logo

solectrus / solectrus Goto Github PK

View Code? Open in Web Editor NEW
97.0 7.0 10.0 16.52 MB

SOLECTRUS is an innovative photovoltaic dashboard that not only visualizes the energy yield and consumption of a PV system but also calculates the costs and savings.

Home Page: https://solectrus.de

License: GNU Affero General Public License v3.0

Shell 1.92% Ruby 68.22% JavaScript 5.28% Dockerfile 0.18% Slim 14.44% CSS 0.97% Procfile 0.02% TypeScript 8.98%
senec photovoltaic photovoltaics photovoltaics-dashboard influxdb

solectrus's Introduction

Build Status Maintainability Test Coverage wakatime

SOLECTRUS

Photovoltaic Dashboard, read here about the motivation (in German): https://ledermann.dev/blog/2021/02/03/photovoltaik-dashboard-als-web-applikation/

Screenshot

Live Demo

A live demo with realtime data is available at https://demo.solectrus.de

Installation

For self-hosting SOLECTRUS, please look at https://github.com/solectrus/hosting

Development

  1. Clone the repo locally:
git clone [email protected]:solectrus/solectrus.git
cd solectrus
  1. Install PostgreSQL, Redis, and puma-dev (if not already present). On a Mac with HomeBrew, run this to install from the Brewfile:
brew bundle
  1. Install and set up puma-dev to use HTTPS for development. Do this on macOS:
sudo puma-dev -setup
puma-dev -install
puma-dev link

# Use Vite via puma-dev proxy
# Adopted from https://github.com/puma/puma-dev#webpack-dev-server
echo 3036 > ~/.puma-dev/vite.solectrus
  1. Setup the application to install gems and NPM packages and create the database:
bin/setup
  1. Start the application locally:
bin/dev

Then open https://solectrus.test in your browser.

Test

After preparing development environment (see above):

bin/influxdb-restart.sh
DISABLE_SPRING=1 bin/rspec
DISABLE_SPRING=1 RAILS_ENV=test bin/rake cypress:run
open coverage/index.html

RuboCop:

bin/rubocop

ESLint:

bin/yarn lint

TypeScript:

bin/yarn tsc

There is a shortcut to run all test and linting tools:

bin/test

Performance monitoring

The Live Demo is hosted at Hetzner Cloud. For performance monitoring, it uses RorVsWild, which is free for OpenSource projects. You can see internal metrics like CPU, memory, and disk usage, as well as request times and errors here: https://www.rorvswild.com/applications/136101/requests

License

Copyright (c) 2020-2024 Georg Ledermann, released under the AGPL-3.0 License

solectrus's People

Contributors

alexdetsch avatar dependabot-preview[bot] avatar dependabot[bot] avatar ledermann avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

solectrus's Issues

Battery statistics choice of charge or discharge

On all overview pages (now/day/week/month/year/total) the battery status is always shown as what has been selected in the URL first (I guess it's bat_power_minus by default).

It would be good if one had the choice between charge and discharge by clicking either the left side of the battery panel (discharge, bat_power_minus) or the right side of the panel (charge, bat_power_plus).

wrong visualization on mobile phone and tablet

There's a problem in showing values on mobile devices. It's the same on phone and tablet. I guess it's about calculating screen margins. Problem is independed of diagram type ( current, day, week, month...) and it happens at portrait and landscape mode.

At portrait mode: the percentage values are missing the circle (1) and the chart (2) is overlapping to the right bar. There's a lot of space below the bars. I guess the chart should be placed there.
At landscape mode: the percentage circles are overlapping (1) as the chart (2) is. The value screen area is compressed. I guess the idea was to show the bars larger in vertical direction and the chart on the right hand.

Because it is the best overview I know, I want to use an older tablet for doing a continous visualization. I use the browers in full screen mode. So it would be a great idea to show all on one screen without scrolling. Without the problems described above it will work perfectly. Some space could be save if the line containing the period selector will be dropped and the selector will be shown in title bar between left edge and the menu icon. I don't know whether that's possible at all, and I'v no idea about the effort.
Screenshot_2022-12-06-15-55-45
Screenshot_2022-12-06-15-57-44

Dashboard zeigt uneinheitliche Statistiken

Das importieren der Statistiken von Mai 22 bis zum 26.1. (dem Tage der Inbetriebnahme) hat funktioniert, jedoch ist die Darstellung im Dashboard "uneinheitlich".

  • Monatsstatistik: ich sehe im Januar alle Tage mit Daten, vor dem 1.1. aber nichts
  • Wochenstatistik: keine Daten für KW1-3, KW4: nichts vor dem 26.1.
  • Jahresstatistik: keine Daten für das Jahr 2022

Ein Restart der Services hat nichts gebracht. Hier ein paar Screenshots:

2023-01-31_09-11-Dashboard-KW4
2023-01-31_09-10-Dashboard-Januar
2023-01-31_09-09-influx-Januar

too_many-retries after update to docker image v0.7.5 on Synology.

I just updated my docker container running on a Synology DS from 7.0.4 to 7.0.5. Solectrus is not reachable any longer.
Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann. (Too_many_retries). All updates done before were running fine. I also did clear the cookies to be sure. Any idea?

[Feature Request] Price calculation Car power consumption

First of all, very nice work, thanks for that !
The Senec app isn't very helpful, so your project is a huge benefit!

A nice feature would be, to add a cost calculation based on the power working costs for the power consumption of the car and put it on the overview pages as a dedicated circle.

/ronny

Error 500 beim Aufruf des Dashboards

Hi,
wir wollten heute auf einem Synology Server Solectrus installieren.
Leider bleiben wir beim Versuch, das Dashboard zu öffnen, beim Fehler 500 (Internal Server Error) hängen.
Als Fehlermeldung in Docker-Compose erhalten wir folgenden Fehler:

app_1 | F, [2023-02-18T12:51:58.383197 #12] FATAL -- : [172.19.0.1]
app_1 | [172.19.0.1] ActionView::Template::Error (NaN):
app_1 | [172.19.0.1] 6: turbo-stream action="morph" target="stats" children-only= true
app_1 | [172.19.0.1] 7: template
app_1 | [172.19.0.1] 8: - if timeframe.now?
app_1 | [172.19.0.1] 9: = render DashboardNow::Component.new calculator:
app_1 | [172.19.0.1] 10: - else
app_1 | [172.19.0.1] 11: = render DashboardRange::Component.new calculator:, timeframe:
app_1 | [172.19.0.1] 12:
app_1 | [172.19.0.1]
app_1 | [172.19.0.1] app/services/scale.rb:17:in `round'
app_1 | [172.19.0.1] app/services/scale.rb:17:in `result'
app_1 | [172.19.0.1] app/components/balance_segment/component.rb:46:in `icon_size'
app_1 | [172.19.0.1] app/components/balance_segment/component.html.slim:21:in `block in call'
app_1 | [172.19.0.1] app/components/balance_segment/component.html.slim:1:in `call'
app_1 | [172.19.0.1] app/components/balance/component.html.slim:5:in `block in call'
app_1 | [172.19.0.1] app/components/balance/component.html.slim:4:in `each'
app_1 | [172.19.0.1] app/components/balance/component.html.slim:4:in `call'
app_1 | [172.19.0.1] app/components/dashboard_now/component.html.slim:32:in `call'
app_1 | [172.19.0.1] app/views/stats/index.turbo_stream.slim:9
app_1 | [172.19.0.1] app/controllers/stats_controller.rb:5:in `index'

Habe gesehen, dass ein anderer Nutzer in #1489 bereits dasselbe Problem mit anderer Ursache hat.
Der Senec-Collector scheint Daten erfolgreich zu empfangen, auch die Datenbankkommunikation läuft laut compose-logs einwandfrei. Irgendeine Idee, wo ich am Debugging ansetzen kann?

Vielen Dank im Voraus!

Timeout requesting chart for year or all

Secting "Jahr" (year) or "Gesamt" (all) the dashboard shows after some time an error "We're sorry, but something went wrong."
The log shows this:

F, [2022-10-31T14:58:07.949340 #19] FATAL -- : [192.168.30.49]
[192.168.30.49] ActionView::Template::Error (Net::ReadTimeout with #Socket:(closed)):
[192.168.30.49] 3: = render Status::Component.new(live: calculator.live?, time: calculator.time) if period == 'now'
[192.168.30.49] 4:
[192.168.30.49] 5: = turbo_stream.update 'stats' do
[192.168.30.49] 6: - if calculator.present?
[192.168.30.49] 7: div id="tab-#{period}"
[192.168.30.49] 8: - if period == 'now'
[192.168.30.49] 9: = render DashboardNow::Component.new calculator:
[192.168.30.49]
[192.168.30.49] app/services/flux/reader.rb:50:in query_without_cache' [192.168.30.49] app/services/flux/reader.rb:45:in query'
[192.168.30.49] app/services/power_sum.rb:70:in sum_query' [192.168.30.49] app/services/power_sum.rb:52:in block in sum'
[192.168.30.49] app/services/power_sum.rb:51:in map' [192.168.30.49] app/services/power_sum.rb:51:in sum'
[192.168.30.49] app/services/power_sum.rb:21:in year' [192.168.30.49] app/services/calculator/range.rb:21:in public_send'
[192.168.30.49] app/services/calculator/range.rb:21:in initialize' [192.168.30.49] app/controllers/stats_controller.rb:15:in new'
[192.168.30.49] app/controllers/stats_controller.rb:15:in calculator' [192.168.30.49] app/controllers/stats_controller.rb:11:in calculator'
[192.168.30.49] app/views/stats/index.turbo_stream.slim:6
[192.168.30.49] app/views/stats/index.turbo_stream.slim:5
[192.168.30.49] app/controllers/stats_controller.rb:5:in `index

Probably a timeout issue with the influxdb I suppose. Is there a way to set a higher timeout?

Layout is defect when entering realtime tab

For any reason the page layout is defect when entering the realtime tab.
Day / Week View is completely fine.

Browser: Chrome Version 107.0.5304.121
Solectrus Release: 0.7.1
branch: develop

No errors in DevTools / App Console stdout ...

Rendering Now Tab
rendering dashboard_now

Rendering Day Tab

rendering dashboard day (ok)

Temperature chart

SENEC-Collector already gets and stores the case temperature (since v0.5.0).

A chart should be added to displays this data.

Plant management

Belongs to user (#28)

Important:

  • KW peak

Maybe:

  • Address (or lat/lng)
  • Declination (e.g. 30°)
  • Azimuth (e.g. 0° for South)

dashboard does not communicate with influxdb

root@sau:/home/guenni/solectrus# docker ps -f health=unhealthy
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
77574092c556 ghcr.io/solectrus/solectrus:latest "docker/startup.sh" 33 minutes ago Up 15 minutes (unhealthy) 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp solectrus-app-1

root@sau:/home/guenni/solectrus# docker restart 77574092c556
77574092c556

root@sau:/home/guenni/solectrus# docker ps -f health=unhealthy
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
77574092c556 ghcr.io/solectrus/solectrus:latest "docker/startup.sh" About an hour ago Up 43 minutes (unhealthy) 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp solectrus-app-1
root@sau:/home/guenni/solectrus#

Auszug aus syslog:
root@sau:/var/log# tail -f syslog|grep -i docker
Jan 30 14:16:09 sau systemd[1]: run-docker-runtime\x2drunc-moby-77574092c556c1fee00117538a8de3f3690f10635b6f0d0a9546bbfccfdf4372-runc.B1PPXc.mount: Succeeded.
Jan 30 14:16:09 sau systemd[2671263]: run-docker-runtime\x2drunc-moby-77574092c556c1fee00117538a8de3f3690f10635b6f0d0a9546bbfccfdf4372-runc.B1PPXc.mount: Succeeded.
Jan 30 14:16:48 sau dockerd[1361846]: time="2023-01-30T14:16:48.088605434+01:00" level=info msg="Container failed to exit within 10s of signal 15 - using the force" container=77574092c556c1fee00117538a8de3f3690f10635b6f0d0a9546bbfccfdf4372
Jan 30 14:16:48 sau systemd[1]: docker-77574092c556c1fee00117538a8de3f3690f10635b6f0d0a9546bbfccfdf4372.scope: Succeeded.
Jan 30 14:16:48 sau systemd[1]: docker-77574092c556c1fee00117538a8de3f3690f10635b6f0d0a9546bbfccfdf4372.scope: Consumed 4.025s CPU time.
Jan 30 14:16:48 sau dockerd[1361846]: time="2023-01-30T14:16:48.172467131+01:00" level=info msg="ignoring event" container=77574092c556c1fee00117538a8de3f3690f10635b6f0d0a9546bbfccfdf4372 module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
Jan 30 14:16:48 sau systemd[1783]: run-docker-netns-0a9ee033f7bf.mount: Succeeded.
Jan 30 14:16:48 sau systemd[2671263]: run-docker-netns-0a9ee033f7bf.mount: Succeeded.
Jan 30 14:16:48 sau systemd[1]: run-docker-netns-0a9ee033f7bf.mount: Succeeded.
Jan 30 14:16:48 sau systemd[1783]: run-docker-runtime\x2drunc-moby-77574092c556c1fee00117538a8de3f3690f10635b6f0d0a9546bbfccfdf4372-runc.TD48ap.mount: Succeeded.
Jan 30 14:16:48 sau systemd[2671263]: run-docker-runtime\x2drunc-moby-77574092c556c1fee00117538a8de3f3690f10635b6f0d0a9546bbfccfdf4372-runc.TD48ap.mount: Succeeded.
Jan 30 14:17:18 sau systemd[2671263]: run-docker-runtime\x2drunc-moby-77574092c556c1fee00117538a8de3f3690f10635b6f0d0a9546bbfccfdf4372-runc.yKpDXO.mount: Succeeded.
Jan 30 14:17:18 sau systemd[1]: run-docker-runtime\x2drunc-moby-77574092c556c1fee00117538a8de3f3690f10635b6f0d0a9546bbfccfdf4372-runc.yKpDXO.mount: Succeeded.
Jan 30 14:17:18 sau systemd[1783]: run-docker-runtime\x2drunc-moby-77574092c556c1fee00117538a8de3f3690f10635b6f0d0a9546bbfccfdf4372-runc.yKpDXO.mount: Succeeded.
Jan 30 14:17:48 sau systemd[2671263]: run-docker-runtime\x2drunc-moby-77574092c556c1fee00117538a8de3f3690f10635b6f0d0a9546bbfccfdf4372-runc.ALW6qm.mount: Succeeded.

Auf die Datenbank komme ich und der Collector läuft (Auszug der aktuellen Daten):
#group,false,false,true,true,false,false,true,true
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string
#default,mean,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement
,,0,2023-01-30T12:52:09.109513401Z,2023-01-30T13:52:09.109513401Z,2023-01-30T12:52:20Z,2.6,bat_charge_current,SENEC
,,0,2023-01-30T12:52:09.109513401Z,2023-01-30T13:52:09.109513401Z,2023-01-30T12:52:30Z,2.4,bat_charge_current,SENEC
,,0,2023-01-30T12:52:09.109513401Z,2023-01-30T13:52:09.109513401Z,2023-01-30T12:52:40Z,2.1,bat_charge_current,SENEC
,,0,2023-01-30T12:52:09.109513401Z,2023-01-30T13:52:09.109513401Z,2023-01-30T12:52:50Z,2.3,bat_charge_current,SENEC

Originally posted by @GuenniAC in solectrus/csv-importer#4 (comment)

Problem in stats year / all years

Error in displaying stat of the first year and all years.
Strompreis : 01.05.22 0,2268€
01.05.21 0,2586€
Einspeisevergütung: 30.11.2021 0,0693 €

Errorlog:

I, [2022-11-15T17:10:37.017877 #11] INFO -- : method= path= format= params={} controller=ApplicationCable::Connection action=disconnect status=200 duration=0.53 I, [2022-11-15T17:10:37.057169 #11] INFO -- : [172.19.0.1] method=GET path=/stats/year/inverter_power format=html controller=StatsController action=index status=500 duration=16.98 view=0.00 db=0.30 user_agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 F, [2022-11-15T17:10:37.058771 #11] FATAL -- : [172.19.0.1] [172.19.0.1] ActionView::Template::Error (nil can't be coerced into Float): [172.19.0.1] 10: - if period == 'now' [172.19.0.1] 11: = render DashboardNow::Component.new calculator: [172.19.0.1] 12: - else [172.19.0.1] 13: = render DashboardRange::Component.new calculator:, [172.19.0.1] 14: period: permitted_params[:period], [172.19.0.1] 15: timestamp: permitted_params[:timestamp] [172.19.0.1] 16: [172.19.0.1] [172.19.0.1] app/services/calculator/range.rb:38:in *'
[172.19.0.1] app/services/calculator/range.rb:38:in block in paid' [172.19.0.1] app/services/calculator/range.rb:37:in paid'
[172.19.0.1] app/services/calculator/range.rb:55:in solar_price' [172.19.0.1] app/services/calculator/range.rb:72:in profit'
[72.19.0.1] app/components/dashboard_range/component.html.slim:28:in block in call' [172.19.0.1] app/components/radial_badge/component.html.slim:10:in call'
[172.19.0.1] app/components/dashboard_range/component.html.slim:27:in call' [172.19.0.1] app/views/stats/index.turbo_stream.slim:13 [172.19.0.1] app/controllers/stats_controller.rb:5:in index'`

All other dashboards are working. So only the starting year 2021 is crashing. Current year 2022 is working fine. By the way starting date of the photovoltaik was 30.11.2021.
I guess the error was first shown, when I started using the renaul-collector for the first time.

[Feature Request] Display Current Battery Precentage

As I saw, the Current Battery Percentage is shown on the new Layout there:
image

Also this Value ist monitored in the InfluxDB and can be accessed at https://solectrus-domain.com/bat_fuel_charge/
Could you implement it, that the chart at this URL gets a proper Color and can be accessed when clicking on the Current Battery Percentage.

I hope this isn't too hard and it would be a huge improvement to daily use for me.
Hope you can make use of this. Have a great Day!

InfluxDB: Data downsampling

Manage two buckets instead of just one:

  1. NOW

    • Original data (5sec)
    • Retentation: One day (+ buffer for data coming late)
  2. ARCHIVE

    • Downsampled data (5min)
    • Retentation: Forever

TODO:

  • Add downsampling task, running every day
  • In app, query both buckets
  • Set bucket retentation

Public vs. private mode

Public mode:

  • No login
  • Reduced data presentation - Inverter power only (no consumption)

Private mode:

  • Admin login required
  • All data, including consumption

Depends on #28

Autarky values missing in diagram

For some reason the autarky diagram isn't filled in all the time. I attached 2 screenshots. It seems that the values are available, because the sum is shown. If you need more details or access to the dbs, pls send a personal mail.

Screenshot_20230213-134510_Opera Screenshot_20230213-134414_Opera

Add more parameters and second roof

Hi,
Great tool. I am running a system that is distributed over two parts of the roof with different orientation. Now I am interested in evaluating the performance of the individual sections. I see in the Webserver of the SENEC the different MPP powerlevels[U,I,P] can be read out and I know how my strings are connected so could map that to evaluate then performance of the different sections.
Question is could you include MPP1, MPP2, MPP3 parameters to the database and visualization? And could a second roof with different kWp and orientation for the predicted power be included?
Thanks, JP

arm64 build

Hallo,
Ich versuche alles auf einem NanoPi M4 zum laufen zu bringen. Er hat einen arm64 Prozessor, so das influxdb darauf läuft.
Aber beim starten von solectrus kommt immer
app_1 | standard_init_linux.go:228: exec user process caused: exec format error

Ist es möglich solectrus auf einem arm64 Prozessor zum laufen zu bringen?

Beim builden auf dem nanopi bin ich irgendwie an den zwei rails images verzweifelt.

Fatal error when trying to enter the dashboard locally

Hi Georg,

followed the in-house instructions and data is being pulled from the storage successfully but I got an error when entering the dashboard on http://localhost:3000 - there's the generic error screen only.

Dev Console:
The request to http://localhost:3000/stats/now/inverter_power?field=inverter_power&period=now responds with a 500 :-(

It would be really great to get a hint ...

System:
Docker version 20.10.11, build dea9396

image

Docker Application Logs:

senec-collector_1     | Successfully pushed record to InfluxDB
app_1                 | I, [2022-11-18T21:22:58.256468 #14]  INFO -- : [172.19.0.1] method=GET path=/stats/now/inverter_power format=html controller=StatsController action=index status=500 duration=19.90 view=0.00 user_agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36
app_1                 | F, [2022-11-18T21:22:58.257869 #14] FATAL -- : [172.19.0.1]   
app_1                 | [172.19.0.1] ActionView::Template::Error (NaN):
app_1                 | [172.19.0.1]      8:     - if calculator.present?
app_1                 | [172.19.0.1]      9:       div id="tab-#{period}" class="flex-auto w-full"
app_1                 | [172.19.0.1]     10:         - if period == 'now'
app_1                 | [172.19.0.1]     11:           = render DashboardNow::Component.new calculator:
app_1                 | [172.19.0.1]     12:         - else
app_1                 | [172.19.0.1]     13:           = render DashboardRange::Component.new calculator:,
app_1                 | [172.19.0.1]     14:                                                 period: permitted_params[:period],
app_1                 | [172.19.0.1]   
app_1                 | [172.19.0.1] app/services/scale.rb:13:in `round'
app_1                 | [172.19.0.1] app/services/scale.rb:13:in `result'
app_1                 | [172.19.0.1] app/components/balance_segment/component.rb:44:in `icon_size'
app_1                 | [172.19.0.1] app/components/balance_segment/component.html.slim:20:in `block in call'
app_1                 | [172.19.0.1] app/components/balance_segment/component.html.slim:1:in `call'
app_1                 | [172.19.0.1] app/components/balance/component.html.slim:5:in `block in call'
app_1                 | [172.19.0.1] app/components/balance/component.html.slim:4:in `each'
app_1                 | [172.19.0.1] app/components/balance/component.html.slim:4:in `call'
app_1                 | [172.19.0.1] app/components/dashboard_now/component.html.slim:2:in `call'
app_1                 | [172.19.0.1] app/views/stats/index.turbo_stream.slim:11
app_1                 | [172.19.0.1] app/controllers/stats_controller.rb:5:in `index'
app_1                 | E, [2022-11-18T21:22:58.259782 #14] ERROR -- honeybadger: ** [Honeybadger] Unable to send error report: API key is missing. id=f0e62d9e-e106-4429-9b0f-92e8c9bee71c level=3 pid=14

Auto-refresh for day/week/month/year/all

On the NOW tab, there is an auto-refresh feature that updated the content every 5 seconds.

However, it would be useful to implement this feature on the period-related tabs (DAY/MONTH/YEAR/ALL) as well. These tabs should be set to update automatically every few minutes and automatically switch to the next period when the current period ends (for example, at midnight). This should also include a change in the URL.

This feature would be especially useful in kiosk operations.

[Feature Request] Connect Solectrus to existing influxdb

Hi,

I already collect data from other pv inverters (e.g. fronius) and write them continously to my influx db. I just need a cool frontend for displaying the data. So just displaying is needed, no database, no collection etc.)

It would be nice to have the possibility to connect solectrus to an existing database. It would make solectrus very useful for other inverters. I think we need a config file to configure the field mapping needed for solectrus to display. E.G. Solectrus needs a value "pv_consumption" and reads that from DB Schema xyz on measurement "pv_fronius_123_consumption".

Thanks

Tobintax

Charts: Missing label of first day/month/year

In the overview for "Woche", "Monat", "Jahr" and "Gesamt" is the first date missing. This is no bug especially in the actual version, I've observed this in the older versions too. Can this be improved?
Best regards,
Benny

By the way: GREAT WORK, many thanks for this!
image
image
image
image

[Feature Request] Flop 10

Hallo,
in Ergänzung zu der Top 10 Funktion, wäre eine Übersicht der Flop 10 toll! So könnte man z.B. verschiedene Wintermonate der vergangenen Jahre vergleichen. Diese tauchen ja verständlicherweise nie in den Top 10 auf. Vielleicht lässt sich das realisieren.

Vielen Dank nochmal für dieses tolle Projekt!!
Viele Grüße
Julian

Simplify URL scheme for dates

Currently Better
/now/inverter_power /inverter_power
/day/inverter_power/2022-11-09 /inverter_power/2022-11-09
/week/inverter_power/2022-11-07 /inverter_power/2022-W45
/month/inverter_power/2022-11-01 /inverter_power/2022-11
/year/inverter_power/2022-01-01 /inverter_power/2022
/all/inverter_power /inverter_power/all

[Feature request] Add manually car power consumption

Senec don't offer the car power consumption in exported statistic values. But we can get the past values per day from the Android/IOS app. There is no interface to get those past values into Solectrus. So an imput box for manually add those values would be great.

(b) The total engergy consumption of the vehicle(s) is of interest too.
It may be useful to add also power consumption from public wallboxes and an identifier for the car manually. I know that (b) is much more work and adaption in interfaces

Display of forecast

Is it possible to improve the display of the forecast? My suggestion would be: "Genau wie erwartet" or something like that.
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.