SolarPower: Difference between revisions
Jump to navigation
Jump to search
Line 38: | Line 38: | ||
=== Monitoring Setup === | === Monitoring Setup === | ||
* Power route: Panel -> Esmart3 -> BMS -> 12V LiFePOs -> Inverter -> 220 V / 500 W continuous power (7 switchable output plugs) | * Power route: Panel -> Esmart3 -> BMS -> 12V LiFePOs -> Inverter -> 220 V / 500 W continuous power (7 manually switchable output plugs, 2 USB ports) | ||
* Control/Monitoring: The BMS and the ESmart3 report to an ESP32 via RS485 serial line. | * Control/Monitoring: The BMS and the ESmart3 report to an ESP32 via RS485 serial line. | ||
* The ESP32 is behind a Tasmota port forwarding range extender http://nat2, reachable via http://nat2:8080 | * The ESP32 is behind a Tasmota port forwarding range extender http://nat2, reachable via http://nat2:8080 |
Revision as of 13:33, 19 June 2023
Solar Power
Balkonkraftwerk
My "Balkonkraftwerk" uses OpenDTU to query the rf data of the microinverter TSOL-M800 from TSUN (Hoymiles HM600 compatible).
Monitoring Setup
- http://OpenDTU1
- mqtt@job4 (mosquitto_sub -v -t 'OpenDTU1/#')
- job4:/etc/systemd/system/openDtu2Db@OpenDTU1.service (sudo systemctl status openDtu2Db@OpenDTU1.service, sudo journalctl -f -u openDtu2Db@OpenDTU1.service)
- python -u /home/joachim/bin/openDtu2Db.py OpenDTU1 (prints to stdout)
- Influx database openDtu (influx -database openDtu -precision rfc3339 -execute "select * from string order by time desc limit 10")
- Grafana Source openDtu@InfluxDB
- Grafana Dashboard https://banzhaf.chickenkiller.com/grafana/d/_rNE2oO7k/stromverbrauch?orgId=1&refresh=10s&viewPanel=7
Troubleshooting
- Sometimes mqtt connection gets lost (see https://github.com/tbnobody/OpenDTU/issues/965)
- Symptom: no new data in influx db and Grafana dashboard
- Fix: Go to http://opendtu1/settings/mqtt, hit "Save".
Garagenkraftwerk
My "Garagenkraftwerk" uses Tasmota to query power data and control a fan via Nous power plugs
Monitoring Setup
- Fan http://nous1 (on after 2 min > 250 W, off after 6 min < 150 W by tasmogy.py)
- Power: http//nous2
- mqtt@job4 (mosquitto_sub -v -t '+/nous1/#' -t '+/nous2/#')
- job4:/etc/systemd/system/tasmogy.service (sudo systemctl status tasmogy.service, sudo journalctl -f -u tasmogy.service)
- See my repo https://github.com/joba-1/Tasmogy
- python -u /home/joachim/bin/tasmogy.py nous2 nous1 (prints to stdout)
- Influx database energies (influx -database energies -precision rfc3339 -execute "select * from energy order by time desc limit 10")
- Grafana Source energies@InfluxDB
- Grafana Dashboard https://banzhaf.chickenkiller.com/grafana/d/_rNE2oO7k/stromverbrauch?orgId=1&refresh=10s&editPanel=12
- Fan and Solar Plug can be controlled and monitored via Domoticz (using my Tasmoticz Gateway)
LiFePO-Island
My shed in the garden has LiFePO backeded island solar power
Monitoring Setup
- Power route: Panel -> Esmart3 -> BMS -> 12V LiFePOs -> Inverter -> 220 V / 500 W continuous power (7 manually switchable output plugs, 2 USB ports)
- Control/Monitoring: The BMS and the ESmart3 report to an ESP32 via RS485 serial line.
- The ESP32 is behind a Tasmota port forwarding range extender http://nat2, reachable via http://nat2:8080
- The ESP32 runs my firmware https://github.com/joba-1/LiFePO_Island which posts data to influx
- Influx DB (influx --database LiFePO_Island --execute "show measurements" for all available data tables) e.g.:
- ESmart3 charge and load status: influx -precision rfc3339 --database LiFePO_Island --execute 'select * from ChgSts order by time desc limit 10'
- BMS cell voltages: influx -precision rfc3339 --database LiFePO_Island --execute 'select * from Cells order by time desc limit 10'
- Grafana Source LiFePO_Island@InfluxDB
- Grafana Dashboard https://banzhaf.chickenkiller.com/grafana/d/mYiP89N4z/lifepo_island?orgId=1
- Load can be switched via Domoticz (Dummy Hardware LiFePO_Island with virtual sensor LiFePO_Island_Load, type switch)
- Switch script: /opt/domoticz/scripts/lua/script_device_LiFePO_Island_Load.lua
- Status script: /opt/domoticz/scripts/lua/script_time_LiFePO_Island_Load.lua