phgachoud / sty-pub-raspi-modbus-drivers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Summary of project

Solarity is an enterprise involved in Photovoltaic systems. The IT department works on various projects basically to get informations from PV associated devices, show its status and do required jobs to maintain the plants. The technologies used are mostly debian linux, eiffel, python, postgresql and angular.

As responsible for IT department I'd like to share the maximum of code I can so that I contribute to this big concept of knowledge sharing through humanity.

I recommend for ethical purpose to use sourceforge repository more than github since github belongs to microsoft I personnaly don't agree with many ethical choices.

Sorry for inconsistencies and things that need some more time to be as good as I would like to be.

Documentation

  • Into this file
  • Into the doc directory the manuals
  • Into each file a peace of documentation
  • Ask and I'll be happy to answer you and complete the missing ones.

Generalities

  • For each driver the --help option will give you some informations
  • Each file will generate a csv when the option --store_values is invoqued
    • CSV file format are with metadata starting with #, column abbreviations, lines of data
    • stored into /var/solarity/yyyy/mm (feel free to add an option for that directory ;))
    • filenames are yyyymmdd_ipAddress_macAddress_slaveAddress_driverName.py.csv
  • Timestamps are in UTC
  • Coma separated

Requirements

as tested on a raspberry pi 3B+ with raspbian 9 and 10, linux commands are put here for reference and quick installation

included as submodules to this project

	git@github.com:sunspec/pysunspec.git
	git@github.com:jebeaudet/SunriseSunsetCalculator.git


`sudo apt-get install python-pygments python-pip python-pymodbus python3-pip python3-serial
sudo pip3 install serial requests click pymodbus prompt_toolkit`

Installation

  • Nothing more than this repository with libs, above requirements and run the code mentioned into file header

License

This project is under LGPLv2.1, see LICENCE file

Tips and tricks:

In case pip3 install fails sudo pip3 install --upgrade setuptools helped me

Devices and drivers

You'll find samples into the sample directory

SUNSPEC

Tested on ABB device PVS 100 and TRIO 50, documentation into doc/ABB directory and example into sunspec_device.py file, also working on SMA inverter_manager

SMA

Inverter manager, inverters and janitza (energy meter) attached to it

respectivly

  • /sma/inverter_manager.py
  • /sma/sunny_tripower_60.py
  • /sma/janitza_UMG604.py

Cluster controller and inverters (sma energy meter) attached to it

respectivly

  • /sma/cluster_controller.py
  • /sma/cluster_controller_inverter.py note that the inverters have to be configured each one with its slave_address. Most reliable way is to edit the plant xml file

Schneider PM 5500 series (tested on 5560)

  • /sma/schneider_pm5500.py

Legrand comunication module 145671 which is for meter model 14668

  • /sma/legrand_145671.py

Huawei Smart Logger 1000a (or SmartLogger 1000a) driver and inverter for SUN2000 series

  • /huawei/smart_logger_1000a.py
  • /huawei/smart_logger_1000a_inverter.py

Renke irradiation sensor rs-ra-n01-JT

  • /renke/renke_rs-ra-n01-jt_irra_irradiance.py

About

License:GNU Lesser General Public License v2.1


Languages

Language:Python 100.0%