Setup Apsystems EZ1 M Device

This adapter integrates with APsystems EZ1 microinverters via the device's Local HTTP API (port 8050). It supports reading realtime power/energy, device info, alarms and allows setting MaxPower and On/Off state.

Current Release
0.2.4
Developer
haining zhi
License
MIT

📌 Description

This adapter integrates with APsystems EZ1 microinverters using the device’s local HTTP API (port 8050).
It allows reading real‑time inverter data and controlling certain device parameters.

✔ Supported Features

  • Read realtime power and energy values
  • Read device information (firmware, SSID, IP, etc.)
  • Read alarm states
  • Set MaxPower
  • Set On/Off state
  • Support for multiple devices in one adapter instance
  • HTTP timeout + retry logic
  • Optional email alerting on repeated errors
  • Includes a VIS2 widget for monitoring and control

🔗 Manufacturer Information

APsystems EZ1 product page:
https://apsystems.com


🛠 Installation

Install via ioBroker Admin:

Adapters → Search “apsystems-ez1” → Install

or via CLI:

iobroker install iobroker.apsystems-ez1

⚙️ Configuration

The adapter supports multiple devices via a JSON array:

Devices

Example:

[
  { "name": "Roof", "ip": "192.168.1.50" },
  { "name": "Garage", "ip": "192.168.1.51" }
]

pollInterval

  • Interval in seconds between polls
  • Default: 30

httpTimeout

  • HTTP timeout in milliseconds
  • Default: 5000

httpRetries

  • Number of retry attempts
  • Default: 2

EZ1 API-Port

  • IP Port Number of device
  • Default: 8050

alertEmail

  • Optional email address for persistent error alerts
  • Requires local sendmail

📊 Created States

All states are created under:

apsystems-ez1.<instance>.devices.<DeviceName>.*

Device Information

StateTypeDescription
deviceIdstringDevice ID
devVerstringFirmware version
ssidstringConnected WiFi SSID
ipAddrstringDevice IP address

Power & Energy

StateTypeDescription
output.p1numberPower channel 1 (W)
output.p2numberPower channel 2 (W)
output.pnumberTotal power (W)
output.e1numberEnergy channel 1 (kWh)
output.e2numberEnergy channel 2 (kWh)
output.enumberTotal energy (kWh)
output.te1numberLifetime energy channel 1
output.te2numberLifetime energy channel 2

Control

StateTypeWriteDescription
control.maxPowernumberyesSet Max Power (W)
control.onOffbooleanyesTurn inverter on/off

Alarms

StateTypeDescription
alarm.ogbooleanOff‑grid alarm
alarm.isce1booleanDC1 short circuit
alarm.isce2booleanDC2 short circuit
alarm.oebooleanOutput fault

🖼 VIS2 Widget

A VIS2 widget template is included under:

vis2/ez1-control

It displays:

  • Power & energy values
  • Alarm states
  • MaxPower & On/Off controls

You may need to adjust the instance ID inside the widget.

🌐 EZ1 Local API Endpoints

The adapter uses the following endpoints:

GET /getDeviceInfo
GET /getOutputData
GET /getMaxPower
GET /getAlarm
GET /getOnOff

GET /setMaxPower?p=VALUE
GET /setOnOff?status=0|1

🧪 Development & Testing

Install dependencies:

npm install

Run tests:

npm test

Run adapter in dev‑server:

dev-server watch

📦 Publishing

Releases are handled via GitHub Actions. Push a tag like:

v0.1.7

and a new release will be published automatically.


Changelog

0.2.4 (2026-02-06)

  • Fix review findings

0.2.3 (2026-01-13)

  • release 0.2.3 to npm

0.1.6

  • Fix warning at startup of validator function

0.1.5

  • First pre‑release version

0.1.4

  • First hardware‑tested version

0.1.3

  • Refactor release script, add i18n step, avoid duplicates

0.1.2

  • Fix JSON parsing and repository checker issues; add dminUI config and icons

0.1.1

  • Initial release

🧑‍💻 Author

Haining Zhi
GitHub: https://github.com/zhihaining


License

MIT License Copyright (c) 2026