Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/syssi/esphome-soyosource-gtn-virtual-meter
ESPHome component to simulate the current clamp to control the Soyosource GTN1200 limiter
https://github.com/syssi/esphome-soyosource-gtn-virtual-meter
esphome esphome-component gtn1200 gtn1200w hacktoberfest rs485-limiter soyosource wifi-version
Last synced: 4 days ago
JSON representation
ESPHome component to simulate the current clamp to control the Soyosource GTN1200 limiter
- Host: GitHub
- URL: https://github.com/syssi/esphome-soyosource-gtn-virtual-meter
- Owner: syssi
- License: apache-2.0
- Created: 2021-08-03T07:28:10.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-12-05T13:56:30.000Z (29 days ago)
- Last Synced: 2024-12-23T16:12:08.380Z (11 days ago)
- Topics: esphome, esphome-component, gtn1200, gtn1200w, hacktoberfest, rs485-limiter, soyosource, wifi-version
- Language: C++
- Homepage:
- Size: 7.51 MB
- Stars: 80
- Watchers: 10
- Forks: 23
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# esphome-soyosource-gtn-virtual-meter
![GitHub actions](https://github.com/syssi/esphome-soyosource-gtn-virtual-meter/actions/workflows/ci.yaml/badge.svg)
![GitHub stars](https://img.shields.io/github/stars/syssi/esphome-soyosource-gtn-virtual-meter)
![GitHub forks](https://img.shields.io/github/forks/syssi/esphome-soyosource-gtn-virtual-meter)
![GitHub watchers](https://img.shields.io/github/watchers/syssi/esphome-soyosource-gtn-virtual-meter)
[!["Buy Me A Coffee"](https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg)](https://www.buymeacoffee.com/syssi)ESPHome component to simulate the current clamp to control the Soyosource GTN1200 limiter
![Lovelace entities card](lovelace-entities-card.png "lovelace entities card")
## Supported devices
* GTN-1000LIM24, GTN-1000LIM36, GTN-1000LIM48, GTN-1000LIM72, GTN-1000LIM96
* GTN-1200LIM48, GTN-1200LIM72, GTN-1200LIM96
* GTN-1000LIM24W, GTN-1000LIM36W, GTN-1000LIM48W, GTN-1000LIM72W, GTN-1000LIM96W
* GTN-1200LIM48W, GTN-1200LIM72W, GTN-1200LIM96WIt looks like there is no GTW (waterproof) version of the device with limiter / RS485 support.
## Supported setups
| Configuration example | Description |
|----------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------|
| [esp32-example.yaml](esp32-example.yaml) | Monitor[^1] the inverter and control the power output on demand **both** via RS485 using a ESP32 |
| [esp8266-example.yaml](esp8266-example.yaml) | Monitor[^1] the inverter and control the power output on demand **both** via RS485 using a ESP8266 |
| [esp32-limiter-example.yaml](esp32-limiter-example.yaml) | Control the power output only on demand via RS485 using a ESP32 |
| [esp8266-limiter-example.yaml](esp8266-limiter-example.yaml) | Control the power output only on demand via RS485 using a ESP8266 |
| [esp8266-display-display-version-example.yaml](esp8266-display-display-version-example.yaml) | Monitor and control the inverter (Display version) using the **internal display port** |
| [esp8266-display-display-version-limiter-example.yaml](esp8266-display-display-version-limiter-example.yaml) | Monitor and control the inverter (Display version) using the **internal display port** and control the power output on demand via RS485 |
| [esp8266-display-wifi-version-example.yaml](esp8266-display-wifi-version-example.yaml) | Monitor and control the inverter (WiFi version) using the **display port** |
| [esp8266-display-wifi-version-limiter-example.yaml](esp8266-display-wifi-version-limiter-example.yaml) | Monitor and control the inverter (WiFi version) using the **display port** and control the power output on demand via RS485 |
| [esp8266-wifi-dongle-example.yaml](esp8266-wifi-dongle-example.yaml) | Monitor and control the inverter using the **OEM WiFi dongle** with a custom firmware |
| [esp8266-wifi-dongle-example-web-only.yaml](esp8266-wifi-dongle-example-web-only.yaml) | Monitor and control the inverter using the **OEM WiFi dongle** with a custom firmware providing a nice **web interface** |
| [esp8266-wifi-dongle-limiter-example.yaml](esp8266-wifi-dongle-limiter-example.yaml) | Monitor and control the inverter using the **OEM WiFi dongle** and control the power output on demand via RS485 |
| [esp32-multiple-uarts-example.yaml](esp32-multiple-uarts-example.yaml) | Monitor[^1] **multiple inverters** and control the power output on demand **both** via RS485 |## Requirements
* [ESPHome 2024.6.0 or higher](https://github.com/esphome/esphome/releases).
* RS485-to-TTL module (`HW-0519` f.e.)
* Generic ESP32 or ESP8266 board
* Required [Soyosource inverter settings](docs/soyosource-settings.jpg "Soyosource config panel")
* Battery CP Grid `N`
* Bat CP Mode Power `Upper power limit`
* Bat AutoLimit Grid `Y`## Schematics
```
RS485 UART
┌─────────┐ ┌──────────┐ ┌─────────┐
│ │ │ │<----- RX ----->│ │
│ │<-----B- ---->│ RS485 │<----- TX ----->│ ESP32/ │
│ GTN1200 │<---- A+ ---->│ to TTL │<----- GND ---->│ ESP8266 │
│ │<--- GND ---->│ module │<-- 3.3 VCC --->│ │<-- VCC
│ │ │ │ │ │<-- GND
└─────────┘ └──────────┘ └─────────┘```
Please make sure to power the RS485 module with 3.3V because it affects the TTL (transistor-transistor logic) voltage between RS485 module and ESP.
## Installation
You can install this component with [ESPHome external components feature](https://esphome.io/components/external_components.html) like this:
```yaml
external_components:
- source: github://syssi/esphome-soyosource-gtn-virtual-meter@main
```or just use the `esp32-example.yaml` / `esp8266-example.yaml` as proof of concept:
```bash
# Install esphome
pip3 install esphome# Clone this external component
git clone https://github.com/syssi/esphome-soyosource-gtn-virtual-meter.git
cd esphome-soyosource-gtn-virtual-meter# Create a secrets.yaml containing some setup specific secrets
cat > secrets.yaml <