English · Français · Deutsch · Nederlands · Italiano · Español · Polski · 简体中文
Local. Read-only. No cloud. No proxy.
Open-source HACS integration providing direct local access to compatible TSUN solar micro-inverters in Home Assistant.
1.6.2
⭐ Using TSUN Local? If it helps you, star the project on GitHub — it helps other TSUN users discover it.
Home Assistant 2026.3.0 or later.
| Protocol | Family | Tested hardware & field evidence | Status |
|---|---|---|---|
| 1511 | TITAN | TSOL-MP3000 | ✅ Validated |
| 02B0 | GEN3 / GEN3 PLUS | Sunology PLAY2 TSOL-MS300 TSOL-MS800 TSOL-MS2000 TSOL-MX450 TSOL-MX500 Sunology GO 🧪 TSOL-MS800 Balcony 🧪 |
✅ Validated · 🧪 GO / MS800 Balcony: 02B0 field evidence only, HA pending |
| 1097 | GEN4 | Sunology PLAY2 (GEN4) TSOL-MX3000D |
✅ Validated |
Tip
Not listed does not mean unsupported. TSUN Local identifies compatibility primarily from the detected local protocol, not only from the commercial model name.
Likely compatible models by protocol
- 1511 — Likely compatible:
TSOL-MP2250·TSOL-MS3000(TITAN) - 02B0 — Likely compatible:
TSOL-MX800·TSOL-MX1000·TSOL-MX3000·TSOL-MS1600·TSOL-MS1800· corresponding-Dvariants - 1097 — Likely compatible:
TSOL-MS350·TSOL-MS400·TSOL-MS600·TSOL-MS700·TSOL-MS800·TSOL-MS3000
📚 TSOL-MX500 Home Assistant · TSOL-MS800 Home Assistant · TSOL-MS2000 Home Assistant 📚 TSOL-MS300 Home Assistant · TSOL-MX450 Home Assistant · TSOL-MX3000D Home Assistant 📚 Sunology GO Home Assistant · TSOL-MS800 Balcony Home Assistant
Validated MX3000D support: TSOL-MX3000D runs with TSUN Local in Home Assistant on GEN4 / 1097. The hardware owner confirms that all values are reported correctly; two complete diagnostic reports also document the six PV inputs. The TSOL-MX450 / 02B0 is also validated by its Home Assistant user; earlier connection problems were traced to Wi-Fi, not protocol incompatibility.
Additional MS800 protocol evidence (October 2026): A separate 800 W / two-PV 02B0 diagnostic recorded logger firmware LSW5_SSL_02B0_1.05, 144 registers and 15/15 successful block reads. The exact commercial model was not declared, so this is complementary protocol evidence rather than a second Home Assistant validation.
Additional 02B0 community evidence (October 2026): Sunology GO is a probable 300 W / single-PV match for report TSL-20261013-C465E71C (15/15 reads, logger 1.04), while TSOL-MS800 Balcony has a separate 800 W / dual-PV capture TSL-20261010-CC270E05 (15/15 reads, logger 1.05). Both use 02B0, not a confirmed 02B2. Full Home Assistant operation is still unconfirmed for these submissions.
New in 1.6.0: Adaptive polling is enabled by default and automatically adjusts the read interval after communication failures: 20 s normal, 30 s after an error and 300 s offline/night.
| What TSUN Local exposes | |
|---|---|
| ☀️ PV | Voltage · Current · Power · Daily energy · Total energy |
| ⚡ AC | Voltage · Current · Frequency · Power · Daily energy · Total energy |
| 🚨 Diagnostics | Active alarms · Communication · Logger information |
| 🛡️ Advanced | Grid protection · Firmware · Inverter diagnostics · Experimental field-validation data |
| 🔒 Safety | Read-only · No inverter configuration writes |
📚 Full entity reference by protocol
TSUN Local keeps the Home Assistant alarm interface compact while preserving every alarm-bit position used by each supported protocol. 1511 exposes 224 catalogue positions; 02B0 and 1097 expose 64 positions each.
Every active alarm is presented as Description (PROTOCOL-Axxx), including alarms whose functional meaning is already known. Unknown positions remain visible with neutral localized wording, for example Unidentified inverter alarm (02B0-A006).
Home Assistant exposes one Inverter alarm state, an Active alarms count and an Active alarm names sensor for 1511, 02B0 and 1097. Active alarm names are localized clear-text descriptions with stable protocol-position codes (for example Grid undervoltage (02B0-A014)). On Sunology PLAY2, the four raw 02B0 ERR words remain available as disabled-by-default diagnostics.
Advanced entities are intentionally disabled by default. They include protocol-dependent grid-protection values, firmware and inverter diagnostics, plus selected experimental field-validation values.
To enable one:
Settings → Devices & services → TSUN Local → Device → Entities → Disabled entities
Experimental semantic mappings remain explicitly marked until independently validated. No inverter configuration writes are implemented.
Communication logs and exported diagnostics can include only the first three alphanumeric characters of the micro-inverter serial number (for example Y47) to distinguish devices while keeping the complete serial number redacted.
📚 MP3000 field-validation evidence 📚 Full entity reference
Or add https://github.com/jptstar/tsun-local as HACS → Custom repositories → Integration, install TSUN Local, then restart Home Assistant.
Copy custom_components/tsun_local to /config/custom_components/, restart Home Assistant, then add TSUN Local from Settings → Devices & services.
TSUN inverter
│
│ Local network
▼
TSUN Local
│
▼
Home Assistant
No cloud in the data path. No proxy. No remote runtime service. No inverter configuration writes.
Direct local polling only.
TSUN Local provides a privacy-safe, strictly read-only diagnostic for unlisted models and communication issues.
| Platform | Download | SHA-256 |
|---|---|---|
| Windows x86_64 | TSUN-Local-Diagnostic.exe | checksum |
Current public diagnostic versions: desktop GUI 1.5.12 · dump engine 2.8.3.
Important
The rolling tag and historical Windows asset name are deliberately preserved. Older Windows diagnostic links continue to point to the current Windows build.
The Windows desktop interface uses the same 1 → 2 → 3 → 4 flow:
- Disable TSUN Local for the affected logger.
- Run the diagnostic.
- Direct report upload — recommended; explicit consent is mandatory.
- Manual e-mail report — optional fallback only.
The direct-upload dialog can remember the tester name/pseudonym and up to 10 searchable micro-inverter model/quantity rows. The consent checkbox is never remembered. After a successful upload, the application shows the TSL-... receipt plus a private-token Open report link so the tester can see exactly the anonymized JSON that was submitted.
For an upload-only test away from the installation, use 89:89:89:89 as logger IP and 89898989 as Monitor SN. This mode records that no logger or micro-inverter communication was attempted.
⬇️ Download tsun_dump.py — Python 3.10+.
🔐 SHA-256 checksum
python tsun_dump.py --full
📦 Open the rolling diagnostic release · 📚 Hardware Validation Dump Tool guide · 📋 Desktop/direct-upload validation protocol · 🌐 Public test page
Sunology PLAY2 is validated on real Home Assistant hardware through both the local 02B0 / GEN3 Plus path and the 1097 / GEN4 path.
- Automatic discovery and normal TSUN Local setup confirmed independently.
- Local and read-only: no cloud or inverter configuration writes.
- The commercial PLAY2 name spans more than one local hardware generation; the detected 02B0 or 1097 protocol is authoritative.
📚 PLAY2 research details · 🔬 Optional read-only PLAY2 probe
If TSUN Local detects 1511, 02B0 or 1097, let it run and check the discovered entities.
Useful compatibility feedback includes the exact inverter model, detected protocol, firmware version, number of PV inputs and which entities return plausible values.
Tip
Your inverter could become the next validated model.
TSUN Local separates confirmed hardware support from experimental protocol research.
Functional names and model support are labelled as validated only after repeatable checks on real hardware. A value that merely matches an expected profile is treated as evidence, not proof; experimental mappings remain labelled until an independent observation can distinguish them.
TSUN Local benefits from public protocol research and independent hardware testing. These credits describe reference work and validation only; they do not imply affiliation or endorsement.
- David Rapan /
ha-solarman— independent public cross-reference used during selected Solarman / 02B0 register research. - Stefan Allius /
tsun-gen3-proxy— public GEN3 / 1097 protocol and country/profile research used during validation. - TheSmartGerman — real-device testing that revealed the additional 1097 protocol family.
- dca31 — independent Sunology PLAY2 validation through the normal TSUN Local Home Assistant flow.
- Kmotr — independent TSOL-MS800 validation with TSUN Local and an anonymized Home Assistant diagnostic.
- nxenara — repeated TSOL-MS300 / 02B0 hardware captures, plus multi-device communication testing.
- phklrz (Philippe K.) — TSOL-MX450 / 02B0 hardware dump and Home Assistant diagnostic exposing intermittent Modbus frames.
- Valentin Fleuret — two complete TSOL-MX3000D / 1097 diagnostics; the device owner also confirmed TSUN Local works in Home Assistant with all values reporting.
- Anonymous community contributors — thanks for October 2026 Sunology GO and TSOL-MS800 Balcony read-only diagnostic captures; identities were not provided. Separate Y4Z Balcony testing by @puppenstube is documented in issue #110.
- Hugo Tinot — research logs that helped distinguish MP3000 candidates from unrelated LAN devices.
- paloindici — independent TSOL-MS2000 validation with TSUN Local, including anonymized Home Assistant diagnostics for both TSOL-MS2000 and TSOL-MP3000 plus the hardware dump that confirmed the 02B0 / four-PV path.
Important
Unofficial community project. TSUN Local is independent and is not developed, approved, endorsed or maintained by TSUN.
Created and maintained by Jean-Philippe TESTART · jptstar
Developed and shared for fun, technical curiosity and the Home Assistant community.
Copyright © 2026 Jean-Philippe TESTART (jptstar).
Distributed under GNU General Public License v3.0 or later. See LICENSE.