Solis Solar Monitoring: Cloud Portal vs Local Modbus with Home Assistant

SolisCloud versus local Modbus for Home Assistant: compare S2-WL-ST TCP, RS485 gateways, API access, cloud disconnection, inverter compatibility and safe energy data.

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.

RouteWhere Home Assistant gets dataInternet dependencyWhat you gainWhat can prevent it working
SolisCloud web/appYou view SolisCloud separately; HA data requires an integration or API bridgeYes for remote portal and cloud APIConvenient installer view, alarms and historical portalAccount access, cloud availability, API permissions
SolisCloud account APIAn authorised client queries SolisCloudYesProgrammatic access to cloud-reported dataAPI approval and maintenance of the chosen HA bridge
S2-WL-ST local Modbus TCPHA connects to logger on LAN, typically TCP 502 in Solis SOPNo internet for live local readsLocal read path over EthernetSolis says documented TCP mode disconnects cloud
Direct Modbus RTU via RS485 gatewayHA connects to gateway which polls inverter RS485No internet for live local readsPotentially independent local path and flexible gateway placementPort conflicts, model-specific registers, installation complexity
Separate energy meterAliExpress priceHA reads a dedicated grid/solar meterDepends on meter/gatewayIndependent grid import/export or circuit measurementAdditional 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 listLogger connection listedWhy it matters
S5-EH1P(3–6)K-L single-phase hybridFour-pinA USB logger is not a direct plug-in replacement without a compatible adapter
S5-GR3P(5–20)K three-phase grid-tiedFour-pinConfirm the specific COM arrangement before adding an RS485 gateway
S6-GR1P(2.5–6)K-S single-phase grid-tiedUSB-typeDo 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 listExample of an S6 exception
S6-EH1P(3–8)K-L-PLUS single-phase hybridUSB-typeMeter/BMS communications remain separate considerations
S6-EH3P(5–10)K-H-EU three-phase hybridUSB-typeAdditional 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 TCPWhy 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 constraintWhat to verify before buying
RS485 gatewayActual Modbus RTU support, 2-wire/4-wire mode, TCP bridging behaviour and documented unit-ID handling
Electrical isolationIsolation rating and safe power arrangement; avoid hobby USB adapters inside a live inverter enclosure
Cable and terminationTwisted pair, correct A/B polarity, termination at physical bus ends when required, shielding/earthing per manuals
Serial settingsBaud rate, parity, stop bits and unique slave IDs must match the inverter’s documented settings
Register mapCorrect grid-tied versus hybrid document and firmware revision; signedness, scale and word order
Meter/BMS bus ownershipNo accidental second Modbus master or interference with export control
Physical accessNo removal of sealed covers or disturbance of DC/AC equipment by an unqualified person
Network securityGateway 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 issueVisible symptomCorrective action
One-based versus zero-based offsetAll values wrong or Modbus exceptionReconcile documented address with protocol offset
Input versus holding registerIllegal function or empty resultUse the documented Modbus function for that register
Signed versus unsignedNegative power appears as a huge positive numberUse the correct signed data type
Two-register word orderImplausibly enormous or tiny kWhCheck 32-bit type and word order
Scale factorPower or voltage is exactly 10× or 100× wrongApply the table’s documented multiplier
Wrong model-family mapSome registers work, others are nonsenseObtain matching GTI/ESS table and firmware
Overpolling / fragmented requestsTimeouts, delayed logger or inverter responsesUse moderate intervals and supported contiguous block reads

Home Assistant setup path A: keep SolisCloud

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Expose the gateway only on the trusted LAN. In Home Assistant, define the serial or TCP Modbus hub and sensors with verified register definitions.
  6. 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.

QuantityPreferred measurement sourceEnergy Dashboard treatmentCommon mistake
PV production (kWh)Documented inverter cumulative generation counter with understood definitionSolar productionTreating instantaneous PV watts as kWh
Grid import (kWh)Bidirectional meter at grid connection pointGrid consumptionUsing inverter AC output as household consumption
Grid export (kWh)Same correctly configured grid meterReturn to gridTaking absolute value of a signed net-power sensor
Battery charge energy (kWh)Hybrid/battery cumulative charging energy counter if availableHome battery storage – energy chargedUsing state of charge percentage as energy
Battery discharge energy (kWh)Hybrid/battery cumulative discharging energy counter if availableHome battery storage – energy dischargedAssuming charge and discharge have no conversion losses
Battery state of charge (%)Supported battery/inverter BMS-derived valueOptional state-of-charge indicatorConverting percentage directly to kWh without usable capacity
Instantaneous power (W)Read-only inverter or meter power registerLive power cards and cautious automationsIntegrating 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.

CheckPass conditionWhat a failure suggests
Inverter lifetime energy deltaHA tracks same physical counter over same intervalScale, rollover, reset or data gaps
Grid import deltaHA grid meter agrees reasonably with utility meter intervalWrong CT direction, phase mapping or meter location
Grid export deltaSeparate export counter moves when actual export occursSigned net power misused as export energy
Cloud-versus-local powerBroad trend agrees; instantaneous values may differCloud snapshots/latency or wrong register
Overnight behaviourUnavailable/zero values follow real inverter stateHA erroneously treating unavailable as zero or vice versa
Post-restart historyCounter does not create a large false jumpState 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.

FailureSolisCloud routeLocal Modbus routePractical mitigation
Home internet down, LAN upNew portal readings delayed; supported logger may cacheHA can continue reading locallyUse cumulative counters; verify logger cache model
Wi-Fi/LAN downLogger may buffer for later cloud uploadHA loses live connectionWired LAN, stable power, sensible reconnect handling
Home Assistant offPortal may keep recordingHA misses local samplesRead cumulative energy after restart; maintain backups
Inverter sleeping at nightPortal may show no current inverter valuesModbus replies may stop or registers become staleMark unavailable, avoid false zero-based triggers
Cloud API credentials revokedCloud integration stopsIndependent local path can continueDocument and test recovery paths
S2 switched to TCP modeSolis SOP warns logger disconnects from SolisCloudLocal TCP may workAgree 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 itemCloud/API routeS2 local TCP routeIndependent RS485 gateway
Existing compatible loggerUsually reusedRequires compatible S2-WL-STMay remain in place if independent port exists
Additional network hardwareUsually none beyond working internetPossibly Ethernet run/switchGateway, cabling and possibly Ethernet/Wi-Fi bridge
Power and enclosureExisting approved installationLogger’s existing arrangementSafe supply, enclosure, isolation and protection
Commissioning labourAccount/API setup and integration checksS2 mode change, IP and register validationPort assessment, serial wiring and register validation
Ongoing dependencySolisCloud and API/bridgeLogger firmware and local networkGateway, inverter firmware and local network
Remote installer supportNormally preservedMay be lost in documented TCP modeCan be preserved only if topology supports coexistence
Future maintenanceCredentials, API/client changesS2 firmware, local settingsRegister-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

SymptomLikely causeSafe first check
SolisCloud works, HA cannot reach loggerCloud-upload function does not imply local TCP serverIdentify logger model; read official TCP support procedure
S2 local TCP works, SolisCloud goes offlineDocumented operating-mode trade-offConfirm intended mode; plan supported rollback
Modbus TCP connection refusedWrong IP, port, disabled mode or firewallCheck LAN address and documented port on trusted LAN
Modbus timeout on RS485Wrong serial settings, A/B wiring, bus contentionInstaller checks port and serial configuration
Only some registers return valuesWrong map, firmware or unsupported registerUse correct GTI/ESS table and one verified test register
Readings 10× too largeScaling errorCompare raw register and published unit multiplier
Power sign appears backwardsSign convention or meter orientationCheck grid direction against physical meter
Battery SoC available, battery kWh missingBMS value not equal to charge/discharge energy countersLook for separately documented cumulative battery registers
Night-time zero or unavailableInverter sleep, logger power or stale sensorCheck timestamp and availability before automations
Cloud graph disagrees with fast local wattsFive-minute snapshot and upload delayCompare energy counters over matched intervals
HA energy graph spikes after restartCounter rollover, reset or wrong state classInspect sensor history and Statistics diagnostics
Multiple Modbus clients cause random dropoutsBus ownership or polling overloadReduce polling, remove competing masters with installer approval

Recommended architecture by household requirement

Your priorityBest starting routeWhyAvoid
See daily yield and fault alerts remotelyKeep SolisCloudInstaller-friendly monitoring with minimal changesChanging logger mode just for a prettier dashboard
Put daily generation into Home AssistantAuthorised cloud API bridge if availableLeast invasive to existing hardwareAssuming API access or bridge support is automatic
Run local, relatively responsive automationsSupported local Modbus interfaceInternet-independent data with known latencyTreating five-minute cloud snapshots as real-time
Keep SolisCloud and also get local dataApproved independent RS485 path or separate meterAvoids S2 TCP cloud trade-off when coexistence is supportedAssuming any RS485 bus accepts another master
Measure household grid import/export accuratelyCorrectly located compatible grid meterMeasures the physical boundary, not just inverter outputUsing PV generation as household consumption
Monitor a complex hybrid with battery and second PV inverterInstaller-designed meter/inverter topologyCorrect flow accounting and safety controlsGuessing 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

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.

CONTINUE EXPLORING / SMART HOME & ESPHOME

Read next

Practical guides related to this article.

Explore the topic →
HARDWARE DECISION GUIDEChoosing Home Assistant hardware?

Compare practical options before you choose hardware.

Compare options →