Inverter plugin
Az ADA P1 Meter képes a napelemes rendszered inverterét is monitorozni: a termelt teljesítményt, napi és teljes hozamot, akkumulátoros rendszereknél a töltöttségi szintet. Az összes adat ugyanabba a JSON válaszba kerül, és használható a szabályrendszerben is.
Emellett egyes invertereknél vezérelni is tudja a visszatáplálást – hasznos, ha például 0 visszatáplálású szerződésed van, vagy korlátozott a hálózati visszatápláló kapacitás.
Támogatott protokollok
Az ADA három különböző módon tud invertert olvasni:
- Modbus TCP – közvetlen csatlakozás, ha az inverter LAN-portos vagy WiFi-modulos és Modbus-t beszél
- Solarman – a Solarman logger dongle-k (pl. Deye, Sofar, Growatt egyes típusok) saját protokollja
- HTTP/JSON scraping – ha az inverternek saját HTTP API-ja van, onnan kiolvasható
Inverter típus beállítása
Gyári sablon
Jelenleg előre beállított gyári sablon az SMA-STPx000 sorozathoz van. Ez az inverter helyi hálózaton keresztül, Modbus TCP-n olvasható.
Beállítás MQTT-n keresztül:
mosquitto_pub -t 'ada/cmd/<topicKey>' \
-m '{"m":"SET_INVERTER","type":"SMA-STPx000","id":"set1"}'
Vagy a webes felületen a Beállítások → Inverter menüpontban, a legördülőből.
Egyedi inverter JSON konfiguráció
Minden más inverterhez egyedi JSON konfigurációt tudsz megadni. Ez részletesen leírja, milyen Modbus kéréseket kell küldeni, és hogyan kell értelmezni a válaszokat.
{
"name": "Deye-12K",
"solarman_sn": 2734567890,
"solarman_port": 8899,
"pwr": {
"hex": "010300860002",
"div": 10.0,
"mask": 4,
"kind": 8
},
"day": {
"hex": "01030108000A",
"div": 10.0,
"mask": 2,
"kind": 0
},
"tot": {
"hex": "01030096000A",
"div": 10.0,
"mask": 4,
"kind": 2
},
"soc": {
"hex": "010300B4000A",
"div": 1.0,
"mask": 2,
"kind": 0
}
}
A JSON-t MQTT-n keresztül tudod feltölteni:
mosquitto_pub -t 'ada/cmd/<topicKey>' -f inverter_deye.json \
-m '{"m":"SET_INVERTER","type":"<...JSON...>","id":"set"}'
Egyedi konfiguráció készítéséhez a konkrét inverter típusod Modbus regiszter-térképére van szükség. Ha egy általad támogatott gyártóhoz nincs még sablon, és szeretnéd elkészíteni, lépj kapcsolatba a támogatással – egy új sablont kb. 15-30 perc elkészíteni.
Mezők a konfigurációban
| Mező | Jelentés |
|---|---|
name | A kijelzendő név |
solarman_sn | Solarman logger sorozatszám (ha Solarman-t használsz). Ha 0, akkor közvetlen Modbus TCP lesz |
solarman_port | Solarman port (alapesetben 8899) |
pwr | Pillanatnyi aktív teljesítmény |
day | Napi hozam |
tot | Összes hozam |
soc | Akkumulátor töltöttsége (csak hibrid inverterekhez) |
Minden pwr/day/tot/soc objektumnak a következő mezői vannak:
hex: a Modbus kérés hexadecimálisandiv: a nyers érték osztója (pl. 10.0 ha 0.1 pontossággal adja)mask: a várt bájtok számakind: az érték típusa (lásd lent)
Érték típusok (kind)
| kind | Jelentés |
|---|---|
| 0 | U16 (16 bites előjel nélküli) |
| 1 | S16 (16 bites előjeles) |
| 2 | U32 |
| 3 | S32 |
| 4 | U64 |
| 5 | S64 |
| 6 | S16 + skálafaktor (SunSpec) |
| 7 | U32 + skálafaktor (SunSpec) |
| 8 | U32 word-swapped (Deye, Sunsynk) |
| 9 | 2 × U16 összeadva (pl. Deye PV1+PV2) |
Leolvasott adatok
Az inverter értékek bekerülnek a JSON-be az inverter objektumban, és az eszköz dashboardján is megjelennek.
{
"...": "...",
"inverter": {
"name": "Deye-12K",
"enabled": true,
"ok": true,
"active_power_kw": 4.2,
"daily_yield_kwh": 18.4,
"total_yield_kwh": 14832.7,
"battery_soc": 85
}
}
Az olvasás gyakorisága kb. 10 másodperc.
Visszatáplálás szabályozás
Az újabb invertereknél (pl. Deye, Sunsynk) az ADA P1 Meter a nettó 0 export szabályozást is tudja intézni. Négy mód közül választhatsz:
| Mód | Jelentés |
|---|---|
empty | Semmilyen szabályozás (alapértelmezett) |
prod | Maximális termelés engedélyezve (nincs export-korlátozás) |
noprod | Export teljesen tiltva (inverter nem táplál vissza) |
auto | Automatikus szabályozás a P1 mérés alapján |
Auto mód részletesen
Az auto mód folyamatosan figyeli a P1 mérőt, és valós időben állítja az inverter maximális teljesítményét, hogy a visszatáplálás 0 körül maradjon:
- Ha van hálózati vételezés → inverter kapacitást felszabadít
- Ha van visszatáplálás → inverter teljesítményt csökkenti
- Cél: net 0 energia a mérőnél
Ez különösen hasznos, ha:
- A szolgáltatóddal 0 visszatáplálásos szerződésed van
- Korlátozott a hálózati visszatápláló kapacitás (pl. hálózati engedély csak 5 kW-ot enged, de 10 kW-os rendszered van)
- Szeretnéd maximalizálni a saját fogyasztást
Beállítás
A szabályozási mezőket a JSON konfiguráció control objektumában adod meg:
{
"name": "Deye-12K",
"solarman_sn": 2734567890,
"pwr": { "...": "..." },
"control": {
"prod": "010680280FA0C9B7",
"noprod": "010680280000C9B7",
"function": "auto",
"scale_unit": "percent",
"scale_min": 0,
"scale_max": 1000,
"rated_kw": 10.0,
"val_off": 26
}
}
| Mező | Jelentés |
|---|---|
prod | HEX parancs a max termelés engedélyezésére |
noprod | HEX parancs az export tiltására |
function | Aktuális mód (empty / prod / noprod / auto) |
scale_unit | Skála mértékegysége: percent / watt / kw |
scale_min / scale_max | A skála tartománya (pl. 0–1000 = 0–100% 0,1% felbontással) |
rated_kw | Inverter névleges teljesítménye – auto kalkulációhoz |
val_off | A szabályzó érték pozíciója a HEX string-ben (karakter index) |
Mód váltás futás közben
MQTT-vel:
# Auto mód be
mosquitto_pub -t 'ada/cmd/<topicKey>' \
-m '{"m":"INVERTER_CONTROL","cmd":"auto","id":"c1"}'
# Ideiglenes tiltás
mosquitto_pub -t 'ada/cmd/<topicKey>' \
-m '{"m":"INVERTER_CONTROL","cmd":"noprod","id":"c2"}'
Vagy szabályból is hívhatod (webhookként):
{
"id": "csucs_tilt",
"condition": "current_stock_price < 0",
"min_timer_seconds": 60,
"repeat": true,
"actions": [
{
"method": "POST",
"url": "http://okosvillanyora.local:8989/inverter/async",
"body": "{\"cmd\":\"noprod\"}"
}
]
}
Modbus IP keresés
Ha közvetlen Modbus TCP-vel (nem Solarman-en át) csatlakozol, a készülék segít megtalálni az inverter IP-jét a helyi hálózaton:
Manuális beállítás
curl -X POST http://okosvillanyora.local:8989/modbus_ip \
-H "Content-Type: application/json" \
-d '{"ip":"192.168.1.100"}'
Automatikus keresés
MQTT-n keresztül a teljes alhálózat ellenőrzése (502-es porton Modbus TCP):
mosquitto_pub -t 'ada/cmd/<topicKey>' \
-m '{"m":"SCAN_MODBUS","id":"scan1"}'
A keresés 1–2 percet vesz igénybe, és az ada/ack/... topicra érkezik, hogy melyik IP-ken van aktív Modbus TCP szerver.
Jó tudni
- Az inverter-lekérdezés nem blokkolja a P1 feldolgozást – ha az inverter lassú, a P1 adatok továbbra is frissülnek
- Hibák esetén (inverter offline, hálózati probléma) a JSON-ben
"inverter": {"ok": false, "error": "..."}jelenik meg - Az inverter plugin teljesen kikapcsolható a dashboardról, ha nem szeretnéd használni
- A Solarman logger sorozatszámát a logger címkéjén vagy a hivatalos appjában találod