Skip to content

@mega-yfue/eufy-sdk / SOLIX_MODBUS_EMS_MODES

Variable: SOLIX_MODBUS_EMS_MODES ​

ts
const SOLIX_MODBUS_EMS_MODES: Readonly<Record<number, string>>;

The Solarbank EMS operating_mode enumeration from Anker's OWN vendor integration for the newer Modbus-TCP hardware rev (Solarbank 4 E5000 Pro, register operating_mode gated by the 0x8006 capability mask). Value → English label:

  • 0 selfConsumption — "Self-Consumption Mode"
  • 1 timeOfUse — "Time Of Use Mode"
  • 3 thirdPartyControl — "Third-Party Controlled"
  • 4 custom — "Custom Mode"
  • 5 socketOverlay — "Socket Overlay Mode"
  • 6 smart — "Smart Mode"
  • 7 dynamicTariff — "Dynamic Tariff Mode"

Value 2 is unassigned there — seven modes across {0,1,3,4,5,6,7}, not eight.

NOT a decoder for this SDK's ff09 mode (state_info tag 0xa9): that OLDER cloud/MQTT AE103 numbering is DIFFERENT on every value — 1=custom, 2=self-consumption, 4=rapid charge, 7=smart, 8=dynamic tariff (recorded on the 0xa9 field above, correlated against the app). Labelling an ff09 mode value with this Modbus map would be confidently wrong. It is exported as the vendor's own reference enumeration and the thing an AE103 0xa9 correlation capture would be checked against — fold the two only if such a capture proves the numbers match.

Independent and unofficial. Not affiliated with, endorsed by, or sponsored by Anker Innovations, Anker eufy, or eufy. "Anker eufy", "eufy" and "Anker" are trademarks of their respective owners. Use responsibly — rapid or failed logins can trigger captcha or temporary cooldowns.