Benachrichtigungen
Alles löschen

[Oben angepinnt] Solaranzeige, ein OPEN SOURCE Projekt

13 Beiträge
9 Benutzer
2 Reactions
2,690 Ansichten
Funkboje
(@funkboje)
Vorsichtiger Stromfühler
Beigetreten: Vor 7 Monaten
Beiträge: 36
Themenstarter  

Die Solaranzeige (solaranzeige.de) ist ein Open Source Projekt, gestartet 2016 und dient der grafischen Anzeige von PV Daten aller Art sowie Betriebsdaten von Pellet Öfen, Wärmepumpen usw. Es sind Überschusssteuerungen integriert. Alles was man für eine Energiewende so gebrauchen könnte. 

 

Hier ein Beispiel der Anzeige für ein Balkonkraftwerk:

Dieses Thema wurde geändert Vor 7 Monaten 2 mal von Funkboje

_________________________________
Ulrich
Admin der Solaranzeige
solaranzeige.de
Überschusssteuerungen und Energie-Grafiken.


   
Zitat
(@linuxdep)
Heroischer Stromgenerator
Beigetreten: Vor 3 Jahren
Beiträge: 2941
 

Wie werden da die WR angebunden? Per Kabel oder per API über die externen Herstellerseiten? Die Webseite sagt ja erst mal nicht so viel darüber aus, schade eigentlich, ein Bild sagt mehr als tausend Worte.

Victron MPPT Rechner
Leitungsrechner by polz
SolarRechner HTW-Berlin
Akkutester A40L zu verleihen
Anleitung Deye 12k Einrichtung mit Bildern


   
AntwortZitat
mdkeil
(@mdkeil)
Batterielecker
Beigetreten: Vor 1 Jahr
Beiträge: 433
 

Veröffentlicht von: @linuxdep

er Kabel oder per API über die externen Herstellerseiten?

Das was der Hersteller anbietet und wie es schlussendlich implementiert wird-- primär ist die Anbindung aber über lokale (API/Modbus/etc.)-Schnittstellen.

IBN: 07/2021
Fronius Symo 20.0-3-M : 13.2kWp S 45° + 3.96 kWp S 15° (Verschattung) &
Fronius Primo 3.0-1 : 2.97 kWp N 15° (Verschattung)
06/2023 : Speichererweiterung 14,34kWh DIY (EEL Gehäuse) LiFePO4 EVE LF280K @ Victron MP II 48/5000 - Seplos 10E BMS
######
Wallbox: 11kW echarge Hardy Barth Cpμ2 Pro - Überschuss-Steuerung via evcc.io
Peugeot e-208 Allure Pack seit 11.11.22!
Kia Niro EV Edition 7 seit 28.04.23.


   
AntwortZitat
(@jan106)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 215
 

@linuxdep 

https://solaranzeige.de/phpBB3/viewtopic.php?f=13&t=1069

 

Hier ist dokumentiert, wie jeder einzelne Wechselrichter angeschlossen wird. Zugegeben, nicht besonders catchy. Informativ aber allemal. 


   
linuxdep and E-t0m reacted
AntwortZitat
(@schwarzermann)
Vorsichtiger Stromfühler
Beigetreten: Vor 5 Monaten
Beiträge: 4
 

Ich betreibe auch seit ca Anfang Dezember die Solaranzeige insgesammt werden bei mir 6 Geräte schon ausgelesen und Visualisiert  ja es ist Arbeit und ja man  denkt sich manchesmal warum tu ich mir ds an aber der Lohn ist auch nicht zu verachten wenn mal alles soweit steht.

Der mit der sympatishen Vollmeise


   
AntwortZitat
Carolus
(@carolus)
Famous Member Admin
Beigetreten: Vor 2 Jahren
Beiträge: 6972
 

Ich verneige mich mal vor der Arbeit, die Funkboje da gemacht hat.

Ich bin kein Amateur, aber ich lerne trotzdem noch.
Bürokratie schafft man nicht durch neue Regeln oder Gesetze ab.


   
AntwortZitat
 Wilm
(@wilm)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 77
 

Ich hatte das Projekt auch auf einem meiner Raspi's laufen um meinen ersten Inverter aufzuzeichnen. Soweit, so gut. Aber das dauerhafte hämmern der Influx-Datenbank auf die SD-Karte bringt nach ca. 4-6 Monaten einen Crash. Also niemals, wie in der Standart-Konfiguration, die Datenbank auf der SD-Karte ablegen, sondern sonst wo. Sonst freut man sich für ein paar Monate und dann ist alles weg.

Multiplus II 3000/48 GX
Süd-Ost: Jinko Solar 4,92kWp
West: Jinko Solar 2,15kWp
Nord-West: No Name 720Wp
Süd: Jinko Solar 820Wp an Hoymiles HM-600 und OpenDTU
Seplos Mason 280Ah LFP Akku
Homebrew. 100Ah LFP Akku

Betrieb als ESS mit erweiterter Steuerung über Node-Red


   
AntwortZitat
(@concierge)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 167
 

Hallo zusammen, ich bin erst gestern auf den Beitrag gestoßen als ich mein Homeassistant ESP Inverter und BMS Monitoring projekt zu grabe getragen habe.

Die halbe Nacht sowie jetzt schon etliche stunden lese ich da Beiträge. 

Was es wer von euch laufen? Kann man mit dieser Software auch BMS und Inverter steuern? Und sollte diesen FTDI usb Adaptern gegebenfalls auch sollte ich es noch mal aufgreifen Homeasisstant mit daten füttern? 

und zuletzt schafft man es das ohne IT Programmierkenntnissen zum laufen zu bringen der fernzugriff hab ich schon gelesen solls ja nicht so einfach zu bewerkstelligen sein.

 

dank euch und einen schönen tag noch

Wer fragt ist ein Narr für 5 minuten, wer nicht fragt ein Narr für immer.

Deye 5KSG03LP1
Hoymiles HM800
ACTIIAC7392
3,28kw/p DAH 54x10 (8*410) WSW
2,75kw/p Future Solar FSM72S30-550M (5x550) ONO
850w/p TSM-425DE09R.08 Vertex S (2*425) WSW


   
AntwortZitat
(@jan106)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 215
 

@concierge

Woran ist denn dein Homeassistant Projekt gescheitert? Grundsätzlich kann man mit der Solaranzeige ne Menge anfangen und sie eignet sich auch um in die gesamte Materie rein zu kommen. Ich hab daran gelernt mich in Linux zurecht zu finden. Terminal und so war vorher mein größter Albtraum - also ja, ohne Vorkenntnisse ist das machbar, einfach strikt der guten Dokumentation folgen. Es ist wirklich gut zu schaffen.

Ob du deinen Inverter und BMS steuern kannst, kommt aufs Modell an. Idr ist das auch alles dokumentiert. Die Solaranzeige ist eher zum Auslesen der Daten gedacht. Also aktuelle Produktion, Spannung etc... Meinen Inverter konnte ich wenigstens An/Aus schalten. Mehr war nicht drin steuerungstechnisch. 

JK-BMS hab ich nicht verbunden bekommen. Hab aber auf dem gleichen Raspberry ein anderes Programm installiert mit dems geklappt hat. 


   
AntwortZitat
(@concierge)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 167
 

@jan106 , Hallo und danke für deine nachricht.

Woran ist es gescheitert, sagen wir mal besser so was hab ich 

Einen Deye Sun 5kSg03LP1

Ein B2A24S15P JK BMS

 

einen Pi mit 256GB SSD und HA laufen installiert, mit tailscale und (derzeit deaktiviert Duckdns und SSH Anbindung) Installierten und vermutlich auch funktionierenden MQTT. Tailscale hab ich nur deshalb weil ich hinter 3 Routern mit einer Share IP adresse vom Provider bin lieber wäre mir über Https gewesen aber naka vielleicht bekomme ich das noch hin. Und mehrere ESP32 Devkit V1 und Nodemcu

dann hab ich das Dashboard "Solardesktop" nach der Anleitung installiert und auch den Demo ESP Dongle geflasht und mit dem TTL Rs485 Adapter verbunden und auch mit meinem Wlan verbunden. Die TX LED blinkt RX da kam keine Antwort bzw wenn er abgeschlossen ist. Ich hab auch 2 adern eines RJ45 Kabels 1B 2A bzw 7A 8B an einem RJ45 in Bucht 1 verwendet. Hier könnte der fehler aber an mir gelegen sein da ich erst viel später bemerkt habe das die Identitäten im solardesktop andere Namen haben als der Demodongle welcher ja nur dazu dient zu sehen obs läuft. Wenns Läuft gibts für ein Paar euro die vollversion auf Vaters Inverter zugeschnitten. Aber erst muss ma was rauskommen.

Und als zweites möchte ich gerne von Syssi das JK to ESP HA verwenden über ESP und den JST1.25 Stecker. Den ESP Hab ich geflasht mit dem wlan verbunden und mal im logg hatte ich unmengen von bunten zeilen ich füge meinen Code mal als Spoiler ein. Zellen 17-24 hab ich rausgelöscht da nicht vorhanden

Spoiler
JK2ESP-Syssi-V2.0.0
#JK-BMS via UART-TTL
#esphome:
  #name: jk-bms-mqtt
  #friendly_name: JK-BMS-MQTT

#esp32:
  #board: esp32dev
  #framework:
    #type: arduino

substitutions:
  name: jk-bms
  device_description: "Monitor a JK-BMS via UART-TTL"
  external_components_source: github://syssi/esphome-jk-bms@main
  tx_pin: GPIO16
  rx_pin: GPIO17

esphome:
  name: ${name}
  comment: ${device_description}
  project:
    name: "syssi.esphome-jk-bms"
    version: 2.0.0

esp32:
  #board: wemos_d1_mini32
  board: esp32dev
  framework:
    type: esp-idf

external_components:
  - source: ${external_components_source}
    refresh: 0s

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

ota:

logger:
  level: DEBUG

# If you use Home Assistant please remove this `mqtt` section and uncomment the `api` component!
# The native API has many advantages over MQTT: https://esphome.io/components/api.html#advantages-over-mqtt
mqtt:
  broker: !secret mqtt_host
  username: !secret mqtt_username
  password: !secret mqtt_password
  id: mqtt_client

# api:

uart:
  - id: uart_0
    baud_rate: 115200
    rx_buffer_size: 384
    tx_pin: ${tx_pin}
    rx_pin: ${rx_pin}

jk_modbus:
  - id: modbus0
    uart_id: uart_0
    rx_timeout: 50ms

jk_bms:
  - id: bms0
    jk_modbus_id: modbus0
    update_interval: 5s

binary_sensor:
  - platform: jk_bms
    balancing:
      name: "${name} balancing"
    balancing_switch:
      name: "${name} balancing switch"
    charging:
      name: "${name} charging"
    discharging:
      name: "${name} discharging"
    dedicated_charger_switch:
      name: "${name} dedicated charger switch"
    online_status:
      name: "${name} online status"

sensor:
  - platform: jk_bms
    min_cell_voltage:
      name: "${name} min cell voltage"
    max_cell_voltage:
      name: "${name} max cell voltage"
    min_voltage_cell:
      name: "${name} min voltage cell"
    max_voltage_cell:
      name: "${name} max voltage cell"
    delta_cell_voltage:
      name: "${name} delta cell voltage"
    average_cell_voltage:
      name: "${name} average cell voltage"
    cell_voltage_1:
      name: "${name} cell voltage 1"
    cell_voltage_2:
      name: "${name} cell voltage 2"
    cell_voltage_3:
      name: "${name} cell voltage 3"
    cell_voltage_4:
      name: "${name} cell voltage 4"
    cell_voltage_5:
      name: "${name} cell voltage 5"
    cell_voltage_6:
      name: "${name} cell voltage 6"
    cell_voltage_7:
      name: "${name} cell voltage 7"
    cell_voltage_8:
      name: "${name} cell voltage 8"
    cell_voltage_9:
      name: "${name} cell voltage 9"
    cell_voltage_10:
      name: "${name} cell voltage 10"
    cell_voltage_11:
      name: "${name} cell voltage 11"
    cell_voltage_12:
      name: "${name} cell voltage 12"
    cell_voltage_13:
      name: "${name} cell voltage 13"
    cell_voltage_14:
      name: "${name} cell voltage 14"
    cell_voltage_15:
      name: "${name} cell voltage 15"
    cell_voltage_16:
      name: "${name} cell voltage 16"
    power_tube_temperature:
      name: "${name} power tube temperature"
    temperature_sensor_1:
      name: "${name} temperature sensor 1"
    temperature_sensor_2:
      name: "${name} temperature sensor 2"
    total_voltage:
      name: "${name} total voltage"
    current:
      name: "${name} current"
    power:
      name: "${name} power"
    charging_power:
      name: "${name} charging power"
    discharging_power:
      name: "${name} discharging power"
    capacity_remaining:
      name: "${name} capacity remaining"
    capacity_remaining_derived:
      name: "${name} capacity remaining derived"
    temperature_sensors:
      name: "${name} temperature sensors"
    charging_cycles:
      name: "${name} charging cycles"
    total_charging_cycle_capacity:
      name: "${name} total charging cycle capacity"
    battery_strings:
      name: "${name} battery strings"
    errors_bitmask:
      name: "${name} errors bitmask"
    operation_mode_bitmask:
      name: "${name} operation mode bitmask"
    total_voltage_overvoltage_protection:
      name: "${name} total voltage overvoltage protection"
    total_voltage_undervoltage_protection:
      name: "${name} total voltage undervoltage protection"
    cell_voltage_overvoltage_protection:
      name: "${name} cell voltage overvoltage protection"
    cell_voltage_overvoltage_recovery:
      name: "${name} cell voltage overvoltage recovery"
    cell_voltage_overvoltage_delay:
      name: "${name} cell voltage overvoltage delay"
    cell_voltage_undervoltage_protection:
      name: "${name} cell voltage undervoltage protection"
    cell_voltage_undervoltage_recovery:
      name: "${name} cell voltage undervoltage recovery"
    cell_voltage_undervoltage_delay:
      name: "${name} cell voltage undervoltage delay"
    cell_pressure_difference_protection:
      name: "${name} cell pressure difference protection"
    discharging_overcurrent_protection:
      name: "${name} discharging overcurrent protection"
    discharging_overcurrent_delay:
      name: "${name} discharging overcurrent delay"
    charging_overcurrent_protection:
      name: "${name} charging overcurrent protection"
    charging_overcurrent_delay:
      name: "${name} charging overcurrent delay"
    balance_starting_voltage:
      name: "${name} balance starting voltage"
    balance_opening_pressure_difference:
      name: "${name} balance opening pressure difference"
    power_tube_temperature_protection:
      name: "${name} power tube temperature protection"
    power_tube_temperature_recovery:
      name: "${name} power tube temperature recovery"
    temperature_sensor_temperature_protection:
      name: "${name} temperature sensor temperature protection"
    temperature_sensor_temperature_recovery:
      name: "${name} temperature sensor temperature recovery"
    temperature_sensor_temperature_difference_protection:
      name: "${name} temperature sensor temperature difference protection"
    charging_high_temperature_protection:
      name: "${name} charging high temperature protection"
    discharging_high_temperature_protection:
      name: "${name} discharging high temperature protection"
    charging_low_temperature_protection:
      name: "${name} charging low temperature protection"
    charging_low_temperature_recovery:
      name: "${name} charging low temperature recovery"
    discharging_low_temperature_protection:
      name: "${name} discharging low temperature protection"
    discharging_low_temperature_recovery:
      name: "${name} discharging low temperature recovery"
    total_battery_capacity_setting:
      name: "${name} total battery capacity setting"
    current_calibration:
      name: "${name} current calibration"
    device_address:
      name: "${name} device address"
    sleep_wait_time:
      name: "${name} sleep wait time"
    alarm_low_volume:
      name: "${name} alarm low volume"
    manufacturing_date:
      name: "${name} manufacturing date"
    total_runtime:
      name: "${name} total runtime"
#    start_current_calibration:
#      name: "${name} start current calibration"
    actual_battery_capacity:
      name: "${name} actual battery capacity"
#    protocol_version:
#      name: "${name} protocol version"

switch:
  - platform: jk_bms
    charging:
      name: "${name} charging"
    discharging:
      name: "${name} discharging"

text_sensor:
  - platform: jk_bms
    errors:
      name: "${name} errors"
    operation_mode:
      name: "${name} operation mode"
    battery_type:
      name: "${name} battery type"
    password:
      name: "${name} password"
    device_type:
      name: "${name} device type"
    software_version:
      name: "${name} software version"
    manufacturer:
      name: "${name} manufacturer"
    total_runtime_formatted:
      name: "${name} total runtime formatted"

dann hab ich zeitgleich das JK Dashboard von dr3amr  eingepflegt aber da bekam ich keine anzeigen i dont know why. Bei API das ja angeblich besser sein soll weis ich wirklich nicht was da an zeilen fehlt denn da kommt wenn ich es aktiviere immer nur eine Fehlermeldung. Und bei Solardesktop sollte das Loadshedding raus das braucht man in unseren breiten so gar nicht. aber das sind Feinheiten.

ich hoffe ich konnte mal darstellen was ich schon versucht und gemacht habe. Nächsten Freitag fahre ich wieder um Inverter der hängt leider etwas weiter weg.

also auf dem weg alles gute und danke für die Hilfe, sollte man das entwirren können

 

Wer fragt ist ein Narr für 5 minuten, wer nicht fragt ein Narr für immer.

Deye 5KSG03LP1
Hoymiles HM800
ACTIIAC7392
3,28kw/p DAH 54x10 (8*410) WSW
2,75kw/p Future Solar FSM72S30-550M (5x550) ONO
850w/p TSM-425DE09R.08 Vertex S (2*425) WSW


   
AntwortZitat
(@solong)
Newbie
Beigetreten: Vor 1 Jahr
Beiträge: 4
 

Veröffentlicht von: @jan106

@concierge

JK-BMS hab ich nicht verbunden bekommen. Hab aber auf dem gleichen Raspberry ein anderes Programm installiert mit dems geklappt hat. 

Mit welchem Programm hat das JK geklappt ?

 


   
AntwortZitat
(@jan106)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 215
 

@solong 

Die Standalone  Version von Batmon läuft bei mir auf dem Raspberry und sendet per mqtt die Daten zu Homeassistant.

https://github.com/fl4p/batmon-ha/blob/master/doc/Standalone.md


   
AntwortZitat
Funkboje
(@funkboje)
Vorsichtiger Stromfühler
Beigetreten: Vor 7 Monaten
Beiträge: 36
Themenstarter  

Veröffentlicht von: @wilm

Ich hatte das Projekt auch auf einem meiner Raspi's laufen um meinen ersten Inverter aufzuzeichnen. Soweit, so gut. Aber das dauerhafte hämmern der Influx-Datenbank auf die SD-Karte bringt nach ca. 4-6 Monaten einen Crash. Also niemals, wie in der Standart-Konfiguration, die Datenbank auf der SD-Karte ablegen, sondern sonst wo. Sonst freut man sich für ein paar Monate und dann ist alles weg.

 

Wenn die SD-Karte zerschrieben wird, hat das meist einen anderen Grund. Bei den Raspberry Modellen bis 3B wird das Schreiben auf die SD-Karte vom USB Bus gemacht, genau so wie jeglicher Netzwerk Traffic. Das ist der Flaschenhals. Ist sehr viel Nertzwerktraffic vorhanden, kann manchmal die SD-Karte nicht mehr schnell genug beschrieben werden. Natürlich tritt das um so öfter auf, je mehr auf die SD-Karte geschrieben werden muss. Z.B. durch viele Einträge in die LOG Datei oder viel Abspeichern in die Influx Datenbank.

Abhilfe schafft zum Einen, wenn man anstatt einer SD-Karte einen USB Stick nimmt und ein Raspberry 4B oder 5B. (Modell 3B+ ist auch schon besser)

Ein Raspberry 4B mit USB-Stick läuft schon mehrere Jahre ohne Probleme, obwohl das Gerät in einem Schuppen installiert ist, der sich im Sommer auf 40 °C aufheizt.

 

 

_________________________________
Ulrich
Admin der Solaranzeige
solaranzeige.de
Überschusssteuerungen und Energie-Grafiken.


   
AntwortZitat
Teilen: