Quick Summary (TL;DR)
Choose SolisCloud when you want straightforward remote plant monitoring and an installer-supported record; choose a verified local Modbus path when you need more responsive, internet-independent readings for Home Assistant. These are not automatically interchangeable. SolisCloud is a monitoring platform, its optional account API is a separate service, and an inverter with an RS485 port does not necessarily have a usable Modbus TCP server on your home network.
The most important purchasing trap is the Solis S2-WL-ST logger. Solis advertises Modbus TCP support, but its own setup procedure explicitly warns that enabling TCP/IP for the documented local reading mode disconnects the logger from SolisCloud. Do not buy it assuming simultaneous cloud uploads and local polling; obtain written confirmation of the exact logger firmware and operating mode if both matter. Other logger generations must be checked independently. See Solis’s S2-WL-ST Modbus TCP procedure.
Start with the full inverter model number, logger model and connector type. Many 5G installations use a four-pin logger, while numerous S6 variants use a USB-form logger; even within S6, exceptions exist. For a read-only local installation, the alternative may be a correctly designed RS485-to-network gateway on an available, manufacturer-approved communications interface. Have the installer confirm bus ownership, meter and battery wiring, electrical safety and warranty implications before changing connections.
The decision is not simply “cloud versus local”
A Solis solar installation can expose several distinct sources of information: the inverter’s internal power and energy registers; a grid meter that the inverter uses for export management; a battery management system; the communications stick; and SolisCloud’s plant-level calculations. They can display different values without any of them being faulty. The right monitoring path depends on which source owns the measurement you need and how frequently you need it.
For example, the inverter can report AC generation while a separate grid meter is needed to measure import and export at the property boundary. A cloud graph is useful for daily yield and faults but should not be treated as a continuous, instantaneous feed suitable for second-by-second control of an EV charger. Conversely, reading local registers does not turn Home Assistant into a certified export limiter or battery safety controller.
| Route | Where Home Assistant gets data | Internet dependency | What you gain | What can prevent it working |
|---|---|---|---|---|
| SolisCloud web/app | You view SolisCloud separately; HA data requires an integration or API bridge | Yes for remote portal and cloud API | Convenient installer view, alarms and historical portal | Account access, cloud availability, API permissions |
| SolisCloud account API | An authorised client queries SolisCloud | Yes | Programmatic access to cloud-reported data | API approval and maintenance of the chosen HA bridge |
| S2-WL-ST local Modbus TCP | HA connects to logger on LAN, typically TCP 502 in Solis SOP | No internet for live local reads | Local read path over Ethernet | Solis says documented TCP mode disconnects cloud |
| Direct Modbus RTU via RS485 gateway | HA connects to gateway which polls inverter RS485 | No internet for live local reads | Potentially independent local path and flexible gateway placement | Port conflicts, model-specific registers, installation complexity |
| Separate energy meterAliExpress price | HA reads a dedicated grid/solar meter | Depends on meter/gateway | Independent grid import/export or circuit measurement | Additional electrical installation and correct meter location |
There is no verified universal “Solis local API” that applies to every SolisCloud stick. A logger’s ability to upload data through Wi-Fi does not establish that it accepts arbitrary local HTTP, MQTT or Modbus queries. In particular, do not treat the availability of a web configuration page as proof of a supported telemetry endpoint.
First identify the exact Solis inverter and data logger
Solis sells different grid-tied, hybrid and off-grid families. A model name such as “S6” or “5 kW Solis” is too imprecise to choose a communications accessory. Record the entire model identifier from the inverter label, the installed logger’s model and hardware revision, its firmware, and any meter/battery connections already in use. Ask the installer which communications port is intended for third-party monitoring.
The manufacturer’s USB-versus-four-pin compatibility list gives a useful starting point. It explicitly shows that not all S6 models use the same connector; a broad “S6 means USB” rule is wrong.
| Inverter example from Solis list | Logger connection listed | Why it matters |
|---|---|---|
| S5-EH1P(3–6)K-L single-phase hybrid | Four-pin | A USB logger is not a direct plug-in replacement without a compatible adapter |
| S5-GR3P(5–20)K three-phase grid-tied | Four-pin | Confirm the specific COM arrangement before adding an RS485 gateway |
| S6-GR1P(2.5–6)K-S single-phase grid-tied | USB-type | Do not confuse with the similarly named S6-GR1P(2.5–6)K without “-S” |
| S6-GR1P(2.5–6)K without “-S” | Four-pin in Solis list | Example of an S6 exception |
| S6-EH1P(3–8)K-L-PLUS single-phase hybrid | USB-type | Meter/BMS communications remain separate considerations |
| S6-EH3P(5–10)K-H-EU three-phase hybrid | USB-type | Additional RS485 ports may exist, but exact pin assignments and functions vary |
Solis describes adapters for some four-pin-to-USB and USB-to-four-pin migrations, but an adapter only addresses the physical interface. It is not proof of protocol compatibility, simultaneous logger/cloud operation or access to every battery register. Verify the adapter part and the firmware combination with the regional service team.
The UK S2-WL-ST product page lists both four-pin and USB versions, Wi-Fi and LAN connectivity, Bluetooth nearby setup, Modbus TCP support and connection of up to ten inverters. Those are product-family features; check the actual variant and operating mode supplied to your installation. The stated offline history cache is up to 30 days for one inverter, reducing as additional inverters are attached. It is not an unconditional guarantee that Home Assistant will retrieve missed local samples.
SolisCloud portal: what it does well and what it cannot do
SolisCloud is the normal monitoring route for an owner who wants a plant overview, production history, fault notifications and an installer who can assist remotely. The inverter sends readings through a supported datalogger to Solis’s platform; the browser or app reads the platform, not necessarily the inverter. This is a useful distinction when diagnosing missing data: a plant can be generating electricity normally even if its logger or internet connection is offline.
Solis explicitly states that displayed telemetry is generally uploaded as five-minute snapshots, not five-minute averages. A sample taken while a cloud passes or a battery changes charging power can look dramatic, even though the interval’s energy use was much steadier. That is a reason to prefer accumulated kWh registers for energy accounting and local measurements for fast automations. See Solis’s explanation of its five-minute values.
The difference can be demonstrated without claiming a laboratory benchmark. Imagine a hypothetical load running at 3 kW for two minutes during each of twelve five-minute intervals. Its actual energy over the hour is 3 × (24/60) = 1.2 kWh. If each snapshot happens while the load is off, a naïve calculation that integrates only those zero-watt samples would incorrectly produce zero. The opposite timing could exaggerate usage. Use the inverter’s genuine energy counters, a dedicated meter or sufficiently frequent measured samples—not a sequence of portal snapshots presented as averages.
Cloud telemetry is therefore appropriate for trends, daily yield checks, alerts and installer support. It is a poor sole feedback loop for controlling a fast-diverting immersion heater, balancing an EV charge rate against export, or making decisions that need a bounded response time. An API client cannot recover time resolution that the underlying upload never supplied.
Can SolisCloud data be brought into Home Assistant?
There is a documented SolisCloud account API, but do not confuse that with a preinstalled official Home Assistant Solis integration. Solis says end users can request API access through a support ticket, and its published instructions distinguish API data access from remote inverter control. The same Solis support page states that the described access route is not available to installers; because account policies may change, confirm current entitlement for your account rather than assuming automatic approval. Refer to SolisCloud API access requests and the activation procedure.
Once approved, Solis describes activation under API Management and provides credentials such as an API ID and secret. These are sensitive credentials: store them in Home Assistant’s secrets or the relevant integration’s protected configuration, do not paste them into a public YAML example, and do not publish screenshots showing keys. The cloud API is not a free pass to poll every second. Check the current API document, any stated limits and your chosen client’s update interval before deployment.
Community Home Assistant bridges may use SolisCloud API credentials or unofficial endpoints. Their capabilities, maintenance status, authentication requirements and compatibility can change independently of Solis. Evaluate the current project documentation and release history before relying on one; an unofficial cloud scraper is not equivalent to an authorised API integration. For a household whose only goal is to see yesterday’s solar yield, a simple cloud bridge can be sufficient. For critical automations, a local source is preferable where it can be implemented safely.
S2-WL-ST local Modbus TCP: the easily missed trade-off
The S2-WL-ST is attractive because it offers a wired Ethernet connection and Solis publishes an actual Modbus TCP setup procedure. The procedure describes reaching the logger’s configuration interface, assigning an appropriate local IP address and reading registers over TCP port 502. Its test example uses a Modbus unit/slave address of 1, function 03 and a register block beginning at 3000. Those are values used in Solis’s demonstration—not a validated, universal Home Assistant sensor map for every inverter.
Important: Solis’s own instruction says: “Enabling TCP/IP results in the logger being disconnected from Soliscloud.” This means the documented local mode cannot be sold as a guaranteed “best of both worlds” setup. Treat simultaneous cloud and local operation as unconfirmed unless Solis explicitly documents it for your exact hardware/firmware. Read the manufacturer procedure before changing the logger.
This changes the buying decision. If your installer depends on SolisCloud for warranty support, fault history or remote assistance, sacrificing cloud uploads may be unacceptable. A separate, approved RS485 monitoring connection or a dedicated external meter might be a better engineering choice. Conversely, if the homeowner deliberately wants a LAN-only installation and accepts loss of the portal, the S2 route is worth investigating after verifying compatibility and reversible configuration steps.
| Question to ask before switching S2 to local TCP | Why the answer matters |
|---|---|
| Will SolisCloud remain online in the proposed mode? | Official SOP warns that it will not; verify the exact firmware before proceeding |
| Can the installer restore cloud mode without losing access? | Avoid disabling the only working support channel |
| Which inverter register map and Modbus unit ID apply? | Solis grid-tied and hybrid tables differ |
| Does TCP expose read-only measurements only in your setup? | Do not enable control/write operations casually |
| Does the logger have a stable wired LAN connection? | Avoid unnecessary Wi-Fi variability where Ethernet is available |
| Will local polling continue when the inverter sleeps overnight? | Availability can change with inverter state; design HA sensors for unavailable periods |
Do not port-forward TCP 502 to the internet. Modbus TCP is normally unauthenticated at the protocol level. Restrict access to trusted local hosts or an appropriate isolated network; use a VPN for remote Home Assistant access rather than exposing the inverter or logger.
Direct RS485 Modbus RTU: more flexible, but not plug-and-play
A direct RS485 arrangement uses a compatible inverter communications port, an RS485-to-Ethernet or RS485-to-USB gateway, and a Modbus client such as Home Assistant. It can avoid dependence on SolisCloud for local reads, but it may also compete with an existing logger, meter, export controller or battery interface. Do not assume two independent Modbus masters can share the same two-wire bus. Ordinary Modbus RTU is designed around a master/client polling the addressed slaves; adding another master without a supported arbitration arrangement can cause collisions and intermittent monitoring faults.
Solis’s RS485 communications-port guide documents different physical arrangements across the product families: external four-pin COM ports on 4G/5G units, USB-form datalogger connections on many S6 models, model-dependent RJ45 RS485 ports on S6 hybrids, and multi-pin connectors on some larger grid-tied inverters. An RJ45 socket used for RS485 is not an Ethernet socket. The pin assignments can differ even between S6 hybrid variants; never wire from a generic internet diagram.
Some hybrid inverters have dedicated connections for the energy meterAliExpress price and battery-management system. Those connections are not spare monitoring ports. Disconnecting or loading a metering bus can interfere with export limiting, self-consumption logic or battery operation. An installer should determine whether a supported second monitoring interface is available, whether the original datalogger can remain connected, and whether isolation and surge protection are appropriate for the cable route.
| Component or constraint | What to verify before buying |
|---|---|
| RS485 gateway | Actual Modbus RTU support, 2-wire/4-wire mode, TCP bridging behaviour and documented unit-ID handling |
| Electrical isolation | Isolation rating and safe power arrangement; avoid hobby USB adapters inside a live inverter enclosure |
| Cable and termination | Twisted pair, correct A/B polarity, termination at physical bus ends when required, shielding/earthing per manuals |
| Serial settings | Baud rate, parity, stop bits and unique slave IDs must match the inverter’s documented settings |
| Register map | Correct grid-tied versus hybrid document and firmware revision; signedness, scale and word order |
| Meter/BMS bus ownership | No accidental second Modbus master or interference with export control |
| Physical access | No removal of sealed covers or disturbance of DC/AC equipment by an unqualified person |
| Network security | Gateway reachable only from trusted local systems; no exposed Modbus port |
An ESP32AliExpress price can be used as an RS485-to-Home Assistant bridge for an appropriately designed low-voltage monitoring project, but it does not eliminate the communications, isolation or enclosure requirements. If you are choosing between a production DIN-rail meter and a DIY gateway, the ESP32 SDM120/SDM630 Modbus guide explains the meter side; it is not a Solis-specific wiring diagram.
Modbus register maps: do not paste arbitrary addresses from a forum
Solis maintains separate public Modbus tables for grid-tied and hybrid inverters. Its register-table support page, updated 8 October 2026 recommends reading contiguous blocks, applying the correct scaling, respecting byte/word order, avoiding excessive polling and not writing control registers without authorisation. A register number copied from a different Solis model may be reserved, return a plausible but unrelated number, or represent a different unit. That is particularly dangerous when a wrong sign or scale factor makes grid export look like import.
Modbus documentation can also use different addressing conventions: a printed holding-register label may be one-based, while a software library expects a zero-based protocol offset. Home Assistant’s address field is not automatically the same as the number printed in a vendor spreadsheet. Confirm the table’s convention and validate one known value before adding dozens of sensors.
For a new read-only integration, start with inverter state and one known power register, then an accumulated generation counter. Check units and signs against the inverter display or SolisCloud at a stable operating point. Only after that add grid-meter, battery and fault registers. Store the exact map version and firmware in your configuration notes so a future update can be investigated rather than guessed.
| Register-data issue | Visible symptom | Corrective action |
|---|---|---|
| One-based versus zero-based offset | All values wrong or Modbus exception | Reconcile documented address with protocol offset |
| Input versus holding register | Illegal function or empty result | Use the documented Modbus function for that register |
| Signed versus unsigned | Negative power appears as a huge positive number | Use the correct signed data type |
| Two-register word order | Implausibly enormous or tiny kWh | Check 32-bit type and word order |
| Scale factor | Power or voltage is exactly 10× or 100× wrong | Apply the table’s documented multiplier |
| Wrong model-family map | Some registers work, others are nonsense | Obtain matching GTI/ESS table and firmware |
| Overpolling / fragmented requests | Timeouts, delayed logger or inverter responses | Use moderate intervals and supported contiguous block reads |
Home Assistant setup path A: keep SolisCloud
- Confirm the plant is correctly commissioned and SolisCloud shows current production, expected grid readings and any battery values. Resolve offline logger status before adding another layer.
- Confirm you have the owner account and ask Solis whether API access is currently available for your account and region. Apply using its documented support process; do not use someone else’s installer credentials.
- Choose a maintained Home Assistant integration or bridge that explicitly documents SolisCloud API authentication and the exact entities it creates. Verify whether it uses the authorised API or an unsupported login-scraping method.
- Start with daily/lifetime generation and diagnostic entities. Avoid using cloud power snapshots as a tight control loop. Observe the integration’s request rate and handle missing data as unavailable, not as zero.
- Compare a full day of accumulated generation with the portal’s daily total, allowing for update delay, timezone differences and any definition of “generation” that includes battery flows.
This route normally involves no changes to inverter cabling. Its main limitations are cloud dependency, latency, account permissions and the software quality of the chosen Home Assistant bridge. It is the least invasive first step for many existing installations.
Home Assistant setup path B: S2-WL-ST in documented local TCP mode
- Photograph or record the exact inverter and S2-WL-ST variants, firmware and current SolisCloud status. Discuss the documented loss of cloud connectivity with the installer and obtain an agreed rollback procedure.
- Confirm the specific logger version supports the manufacturer’s TCP procedure and that the local network can provide a stable IP address, ideally through a wired connection.
- Follow Solis’s configuration guide for the logger interface and LAN address; the guide gives an initial configuration address of 10.10.100.254 in its described setup, not a universal address to use after deployment.
- From a trusted computer on the same network, test a read-only Modbus TCP query against the documented unit ID and a register known to exist for the exact inverter. Solis’s demonstration uses port 502; do not assume other loggers expose it.
- Only after the read is validated, configure Home Assistant’s Modbus integration or a maintained, model-compatible integration. Start with a handful of registers, not a full uncontrolled scan.
- Check that values match the inverter and that the chosen monitoring arrangement does not impair any grid meter, battery interface, alarm reporting or installer workflow.
If keeping SolisCloud is mandatory, stop at step one and select another topology. Disabling the cloud first and discovering later that the household relies on remote installer support is an avoidable mistake.
Home Assistant setup path C: approved RS485 gateway
- Ask the installer to identify an independent, supported monitoring RS485 port or approved shared topology for the exact inverter. Do not attach to a battery CAN or export-meter bus simply because the connector fits.
- Choose an isolated, documented RS485 gateway appropriate for the location. For outdoor runs, review lightning/surge exposure, cable routing and the inverter manufacturer’s installation guidance.
- Configure the inverter and gateway with matching serial settings and the intended slave address. Use a single Modbus master per bus unless the architecture explicitly supports more.
- Validate the physical layer and a small number of read-only registers with the correct Solis map. Record raw values, scales and the date/firmware.
- Expose the gateway only on the trusted LAN. In Home Assistant, define the serial or TCP Modbus hub and sensors with verified register definitions.
- Confirm that normal SolisCloud reporting and all inverter safety/energy-management functions continue unchanged, if simultaneous operation was part of the design.
This option has the highest commissioning effort but can be the cleanest choice for an owner who needs local data without changing the cloud logger’s operating mode. It is only the best choice where the specific inverter genuinely provides a supported independent interface.
What a safe Home Assistant Modbus configuration looks like
Home Assistant’s official Modbus integration supports serial and TCP connections and defines sensors by address, input type, data type, scale and polling interval. The following example is a connection template, not a validated Solis register map. Replace the example IP, unit ID and the deliberately omitted sensor definitions only after consulting the correct Solis table. It intentionally contains no invented production, battery or grid register numbers.
# Connection template only: no Solis registers are guessed here.
# Verify logger/gateway IP, port, slave ID and firmware first.
modbus:
- name: solis_readonly
type: tcp
host: 192.0.2.10 # documentation-only example IP; replace
port: 502 # only if supported by your chosen gateway/logger
# Add sensors using the exact model-specific Solis register table.
# Validate address offsets, input_type, data_type and scale.
# Never add write commands for ordinary monitoring.
If your configuration validator or integration version requires at least one sensor under the hub, add a single fully verified sensor rather than pasting an arbitrary address from an online example. Prefer an existing maintained integration with an explicit compatibility list where available. Do not assume an “auto-discovery” scanner is safe on a production inverter.
Polling frequency should be chosen according to the manufacturer’s limits, number of registers and communications quality. A cautious initial interval of tens of seconds may be useful as a commissioning choice, not a Solis-certified universal rate. A crowded RS485 bus or logger serving multiple inverters may need a slower interval. Use grouped reads where supported and avoid parallel clients hammering the same connection.
Build an Energy Dashboard that measures the right thing
A solar inverter is not a replacement for a correctly positioned grid import/export meter. In Home Assistant, solar production, grid import, grid export and battery charge/discharge represent different physical flows. The Energy Dashboard needs suitable accumulated-energy entities, not merely a live watts reading. The official Home Assistant energy documentation and sensor requirements explain the required metadata and statistics behaviour.
| Quantity | Preferred measurement source | Energy Dashboard treatment | Common mistake |
|---|---|---|---|
| PV production (kWh) | Documented inverter cumulative generation counter with understood definition | Solar production | Treating instantaneous PV watts as kWh |
| Grid import (kWh) | Bidirectional meter at grid connection point | Grid consumption | Using inverter AC output as household consumption |
| Grid export (kWh) | Same correctly configured grid meter | Return to grid | Taking absolute value of a signed net-power sensor |
| Battery charge energy (kWh) | Hybrid/battery cumulative charging energy counter if available | Home battery storage – energy charged | Using state of charge percentage as energy |
| Battery discharge energy (kWh) | Hybrid/battery cumulative discharging energy counter if available | Home battery storage – energy discharged | Assuming charge and discharge have no conversion losses |
| Battery state of charge (%) | Supported battery/inverter BMS-derived value | Optional state-of-charge indicator | Converting percentage directly to kWh without usable capacity |
| Instantaneous power (W) | Read-only inverter or meter power register | Live power cards and cautious automations | Integrating sparse cloud snapshots as though they were continuous readings |
The exact meaning of “generation” on a hybrid inverter needs checking. Some reported AC energy may reflect power delivered from a battery as well as direct PV conversion, depending on register and topology. Do not silently add battery discharge to a total that already includes it. With an AC-coupled second inverter, a single Solis inverter may not see all household PV generation unless appropriate metering has been commissioned.
Home Assistant normally expects an energy sensor with device_class: energy, a compatible state_class such as total_increasing, and Wh or kWh units. A power sensor normally uses device_class: power, state_class: measurement, and W or kW. If a counter resets daily, check whether the integration models its resets correctly before trusting long-term statistics. For more detail, the existing Energy Dashboard troubleshooting guide covers units, resets and statistics errors.
How to reconcile cloud, Modbus and the electricity bill
Do not compare three different clocks or boundaries and declare one source inaccurate. A grid utility bill covers imported electricity over a billing interval; inverter generation is not the same quantity. A cloud daily total may use the inverter’s configured timezone, while Home Assistant may display a local-time aggregation and a billing meter may have its own reading schedule. Compare like with like: identical counter, identical physical location and aligned start/end timestamps.
A practical acceptance test is to record the inverter lifetime generation counter and the utility meter’s import/export counters at two times separated by a full day. Then compare the deltas with Home Assistant’s accumulated-energy changes. If the cloud’s five-minute chart disagrees with local watts during passing clouds but the daily kWh counters agree, the issue may be sampling rather than hardware accuracy.
| Check | Pass condition | What a failure suggests |
|---|---|---|
| Inverter lifetime energy delta | HA tracks same physical counter over same interval | Scale, rollover, reset or data gaps |
| Grid import delta | HA grid meter agrees reasonably with utility meter interval | Wrong CT direction, phase mapping or meter location |
| Grid export delta | Separate export counter moves when actual export occurs | Signed net power misused as export energy |
| Cloud-versus-local power | Broad trend agrees; instantaneous values may differ | Cloud snapshots/latency or wrong register |
| Overnight behaviour | Unavailable/zero values follow real inverter state | HA erroneously treating unavailable as zero or vice versa |
| Post-restart history | Counter does not create a large false jump | State class, reset handling or stale retained values |
The site’s pulse/CT/PZEM/Modbus monitoring comparison helps explain why a separate metering device may be needed even when the inverter reports plenty of values. Independent monitoring is particularly valuable when the installation has multiple PV inverters, a battery on a separate AC path or an EV charger with its own metering.
Outages, backfill and the myth of “offline means no missing data”
Three outage types must be distinguished: internet failure, local network failure and Home Assistant host failure. With a functioning local Modbus path, an internet outage need not interrupt live reads. If the LAN fails or Home Assistant is off, Home Assistant will miss the instantaneous samples it did not collect. Reading a cumulative energy counter after recovery can still give the correct total energy difference, but it cannot reconstruct every intermediate power transient.
Solis’s July 2026 backfill guidance states that supported stick loggers—including S2-WL-ST and several S3/S4/S5 variants—can cache up to 30 days of inverter data for one inverter and upload the stored history to SolisCloud after network recovery; the duration decreases as more inverters share a stick. This is cloud backfill, not a promise that Home Assistant’s local Modbus integration will be retroactively populated. The S2 TCP mode’s cloud-disconnection warning is a separate limitation.
| Failure | SolisCloud route | Local Modbus route | Practical mitigation |
|---|---|---|---|
| Home internet down, LAN up | New portal readings delayed; supported logger may cache | HA can continue reading locally | Use cumulative counters; verify logger cache model |
| Wi-Fi/LAN down | Logger may buffer for later cloud upload | HA loses live connection | Wired LAN, stable power, sensible reconnect handling |
| Home Assistant off | Portal may keep recording | HA misses local samples | Read cumulative energy after restart; maintain backups |
| Inverter sleeping at night | Portal may show no current inverter values | Modbus replies may stop or registers become stale | Mark unavailable, avoid false zero-based triggers |
| Cloud API credentials revoked | Cloud integration stops | Independent local path can continue | Document and test recovery paths |
| S2 switched to TCP mode | Solis SOP warns logger disconnects from SolisCloud | Local TCP may work | Agree trade-off and rollback before changing mode |
Buying and installation costs: what is actually in the basket?
There is no honest universal price for this comparison. The inverter may already include a compatible logger, a gateway may require an installer visit, and a “cheap” RS485 adapter can become costly if it needs an industrial enclosure, isolated power, cabling and commissioning. Prices and labour rates vary by country and installation, so compare the complete bill of materials and support burden rather than a headline dongle price.
| Cost item | Cloud/API route | S2 local TCP route | Independent RS485 gateway |
|---|---|---|---|
| Existing compatible logger | Usually reused | Requires compatible S2-WL-ST | May remain in place if independent port exists |
| Additional network hardware | Usually none beyond working internet | Possibly Ethernet run/switch | Gateway, cabling and possibly Ethernet/Wi-Fi bridge |
| Power and enclosure | Existing approved installation | Logger’s existing arrangement | Safe supply, enclosure, isolation and protection |
| Commissioning labour | Account/API setup and integration checks | S2 mode change, IP and register validation | Port assessment, serial wiring and register validation |
| Ongoing dependency | SolisCloud and API/bridge | Logger firmware and local network | Gateway, inverter firmware and local network |
| Remote installer support | Normally preserved | May be lost in documented TCP mode | Can be preserved only if topology supports coexistence |
| Future maintenance | Credentials, API/client changes | S2 firmware, local settings | Register-map changes, gateway and bus troubleshooting |
Before ordering, request the full model codes and a written confirmation of the intended communications mode. Ask whether the proposed hardware is available with the correct UK/EU connector, whether the product’s conformity and cybersecurity documentation suits the market, and whether the installer will commission and support it. A “Solis compatible” product listing that omits its logger generation, connector and inverter family is insufficient evidence.
UK and European electrical, network and warranty considerations
The UK and EU use broadly similar low-voltage solar monitoring concepts, but electrical installation rules and grid-connection obligations are jurisdiction-specific. In Britain, permanent wiring must comply with applicable BS 7671 requirements and the relevant building and DNO arrangements; grid-connected generation is subject to applicable G98/G99 processes (see Energy Networks Association guidance). Monitoring work must not be used to alter protection, anti-islanding, export-limit or grid-code settings. Elsewhere in Europe, follow the national electrical and grid-connection rules, the approved inverter configuration and the installer’s documentation.
Connecting a gateway to an external low-voltage communications port is not the same risk as opening a mains/DC compartment. Nevertheless, inverter DC strings can remain hazardous in daylight and some internal covers expose mains or battery circuits. See Electrical Safety First’s solar PV safety advice. A qualified installer should perform any work requiring covers to be opened, cable glands to be modified, or a meter/BMS connection to be moved. Do not power an ESP32AliExpress price or RS485 adapter from an undocumented inverter pin or assume a connector labelled “USB” is a general-purpose USB host port.
Use appropriately rated and routed cables, protect outdoor network runs against environmental and surge hazards, and follow manufacturer separation requirements between SELV/communications wiring and power conductors. Do not defeat safety interlocks or grid-export protection to obtain better telemetry. Preserve the original settings and a documented rollback path, particularly when a change might remove SolisCloud access needed by the installer.
Troubleshooting: symptoms, likely causes and sensible first checks
| Symptom | Likely cause | Safe first check |
|---|---|---|
| SolisCloud works, HA cannot reach logger | Cloud-upload function does not imply local TCP server | Identify logger model; read official TCP support procedure |
| S2 local TCP works, SolisCloud goes offline | Documented operating-mode trade-off | Confirm intended mode; plan supported rollback |
| Modbus TCP connection refused | Wrong IP, port, disabled mode or firewall | Check LAN address and documented port on trusted LAN |
| Modbus timeout on RS485 | Wrong serial settings, A/B wiring, bus contention | Installer checks port and serial configuration |
| Only some registers return values | Wrong map, firmware or unsupported register | Use correct GTI/ESS table and one verified test register |
| Readings 10× too large | Scaling error | Compare raw register and published unit multiplier |
| Power sign appears backwards | Sign convention or meter orientation | Check grid direction against physical meter |
| Battery SoC available, battery kWh missing | BMS value not equal to charge/discharge energy counters | Look for separately documented cumulative battery registers |
| Night-time zero or unavailable | Inverter sleep, logger power or stale sensor | Check timestamp and availability before automations |
| Cloud graph disagrees with fast local watts | Five-minute snapshot and upload delay | Compare energy counters over matched intervals |
| HA energy graph spikes after restart | Counter rollover, reset or wrong state class | Inspect sensor history and Statistics diagnostics |
| Multiple Modbus clients cause random dropouts | Bus ownership or polling overload | Reduce polling, remove competing masters with installer approval |
Recommended architecture by household requirement
| Your priority | Best starting route | Why | Avoid |
|---|---|---|---|
| See daily yield and fault alerts remotely | Keep SolisCloud | Installer-friendly monitoring with minimal changes | Changing logger mode just for a prettier dashboard |
| Put daily generation into Home Assistant | Authorised cloud API bridge if available | Least invasive to existing hardware | Assuming API access or bridge support is automatic |
| Run local, relatively responsive automations | Supported local Modbus interface | Internet-independent data with known latency | Treating five-minute cloud snapshots as real-time |
| Keep SolisCloud and also get local data | Approved independent RS485 path or separate meter | Avoids S2 TCP cloud trade-off when coexistence is supported | Assuming any RS485 bus accepts another master |
| Measure household grid import/export accurately | Correctly located compatible grid meter | Measures the physical boundary, not just inverter output | Using PV generation as household consumption |
| Monitor a complex hybrid with battery and second PV inverter | Installer-designed meter/inverter topology | Correct flow accounting and safety controls | Guessing registers or double-counting battery discharge |
Our recommendation: for an existing, trouble-free Solis installation, leave SolisCloud operational until you have a documented reason to replace it. If you only need daily production in Home Assistant, investigate approved API access and a maintained bridge first. If you need reliable local power data for automation, ask the installer for a read-only independent RS485 path and a correct register map. Choose the S2-WL-ST local TCP option only after accepting Solis’s explicit warning about losing cloud connectivity in that mode.
Frequently asked questions
Does every Solis Wi-Fi stick provide local Modbus TCP?
No. Solis documents Modbus TCP on the S2-WL-ST and publishes a specific procedure for it. That does not prove the same local server, settings or cloud coexistence on S3, S4, S5, cellular or older DLS devices. Check the exact model and firmware before purchasing.
Can I use SolisCloud and S2-WL-ST Modbus TCP simultaneously?
Do not assume so. The published S2-WL-ST TCP procedure says enabling TCP/IP disconnects the logger from SolisCloud. A different operating mode or future firmware might change behaviour, but this guide does not claim simultaneous operation without manufacturer confirmation for the exact installation.
Is SolisCloud API access the same as remote inverter control?
No. Solis expressly distinguishes API data access from remote control. Monitoring credentials must not be treated as authority to alter inverter, export-limit, battery or grid-code settings.
Is a Solis RJ45 RS485 socket an Ethernet connection?
Not necessarily. RJ45 describes the connector shape; it can carry RS485 rather than Ethernet. Solis documents different pin assignments between models. Connecting a network switch to a non-Ethernet port can damage equipment.
Will local Modbus fix gaps when Home Assistant is switched off?
It can let Home Assistant recover the difference in a cumulative kWh counter after restart, but cannot automatically reconstruct every missed instantaneous watt reading. Solis logger backfill to SolisCloud is a different function.
Can I use an ESP32 as the Solis RS485 reader?
Potentially, with a suitable isolated RS485 interface, correct serial settings, safe low-voltage power and an available manufacturer-approved monitoring port. It is a project-specific engineering task, not a plug-in replacement for the inverter’s meter or battery-management communications.
What should I ask the installer before buying a logger or gateway?
Ask for the complete inverter and firmware identifiers, existing logger model, available read-only monitoring port, grid-meter/BMS bus diagram, SolisCloud coexistence statement, relevant Modbus map, installed cost and rollback procedure. If these cannot be established, buying a random gateway is premature.
Official documentation and further reading
- Solis UK: S2-WL-ST product and specifications.
- Solis Service: compatible USB and four-pin logger models.
- Solis Service: S2-WL-ST Modbus TCP operating procedure and cloud-disconnection warning.
- Solis Service: request SolisCloud API access and activate the API.
- Solis Service: why five-minute SolisCloud values are snapshots.
- Solis Service: supported logger offline buffering and backfill (July 2026).
- Solis Service: grid-tied and hybrid Modbus tables and safety guidance (October 2026).
- Solis Service: model-specific RS485 communication port guide.
- Home Assistant: official Modbus integration, Energy Dashboard and sensor/statistics requirements.
- Electrical Safety First: UK solar PV safety guidance and Energy Networks Association: grid-connection guidance.
Technical scope and documentation checked: 14 October 2026. This is a read-only monitoring guide, not a substitute for the installation manual, a grid-compliance design or electrical commissioning. Features and supported combinations can change with hardware revision, firmware and regional product approvals.