npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

homebridge-enphase-envoy

v9.5.1

Published

Homebridge plugin for Photovoltaic Energy System manufactured by Enphase.

Downloads

8,107

Readme

Homebridge Enphase Envoy

verified-by-homebridge npm npm npm GitHub pull requests GitHub issues

Package Requirements

| Package | Installation | Role | Required | | --- | --- | --- | --- | | Homebridge | Homebridge Wiki | HomeKit Bridge | Required | | Config UI X | Config UI X Wiki | Homebridge Web User Interface | Recommended | | Enphase Envoy | Plug-In Wiki | Homebridge Plug-In | Required |

About The Plugin

  • Support Token authorization from plugin v6.0.0.
    • Token can be generated automatically with enlighten user and password or with externall tools.
      • Token generated with enlighten credentials data will be automatically refreshed if expire.
      • Token generated with externall tools cannot be refreshed automatically if expire.
  • Envoy password is detected automatically or can be added in config if was already chenged by user.
  • Installer password is generated automatically, only Fw. <= v5.x.x.
  • Envoy device ID is detected automatically.
  • Support Power Production State and PLC Level, Fw. v7.x.x and newer require installer credentials data.
  • For best experiences and display all data please use Controller or EVE app.
  • Support external integrations, RESTFul, MQTT.
  • Supported devices:
    • Firmware v5.x.x, 6.x.x, v7.x.x, v8.x.x.
    • Envoy Envoy S, IQ Envoy, IQ Load Controller, IQ Combiner.
    • Q-Relays Q-RELAY-1P Q-RELAY-3P.
    • AC Batteries AC Battery Storage.
    • Meters Production, Consumption, Storage.
    • Microinverters M215, M250, IQ6, IQ7, IQ8.
    • Encharges IQ Battery 3, IQ Battery 10, IQ Battery 5P, IQ Battery 3T, IQ Battery 10T,
    • Ensemble/Enpower IQ System Controller, IQ System Controller 2.
    • WirelessKit Communications Kit.
    • Generator
  • Exposed accessory in the native Home app:
    • Monitoring Sensors:
      • System Data Refresh
      • Production Power State, Power Level, Energy State, Energy Level.
      • Consumption Power State, Power Level, Energy State, Energy Level.
      • Enpower Grid State.
      • Encharge: State, Backup Level, Dry Contacts.
      • Encharge Profile: Self Consumption, Savings, Economy, Full Backup.
      • Grid Mode:
        • Enpower Grid On, Grid Off, Multimode Grid On, Multimode Grid Off, Grid Tied, Grid Forming.
        • Encharge Grid On, Grid Off, Multimode Grid On, Multimode Grid Off, Grid Tied, Grid Forming.
        • Solar Grid On, Grid Off, Multimode Grid On, Multimode Grid Off, Grid Tied, Grid Forming.
      • Generator State, Mode.
    • Control Switches, Outlets, Lightbulbs:
      • System Data Refresh,
      • Production Plc Level, Power Mode, Power State, Power Level.
      • AC Battery Energy State, Energy Level.
      • Enpower Grid State, Dry Contacts.
      • Encharge Energy State, Energy Level.
      • Encharge Profile:
        • Self Consumption Activate, Set Reserve.
        • Savings Activate, Set Reserve.
        • Economy Activate, Set Reserve.
        • Full Backup Activate.
      • Generator State, Mode.

Configuration

  • Run this plugin as a Child Bridge (Highly Recommended), this prevent crash Homebridge if plugin crashes.
  • Install and use Homebridge Config UI X to configure this plugin (Highly Recommended).
  • The sample-config.json can be edited and used as an alternative for advanced users.

| Key | Description | | --- | --- | | name | Here set the accessory Name to be displayed in Homebridge/HomeKit. | | host | Here set the envoy IP Address or Hostname or leave empty (will be used default path envoy.local) | | envoyFirmware7xx | This enable support for Envoy Fw. v7.x.x and newer. | | envoyFirmware7xxTokenGenerationMode | Here select how You wuld to obtain the token, 0 - Enlighten Credentials, 1 - Your Own Generated Token. | | envoyPasswd | Here set the envoy password (only if U already changed the default password) | | envoyToken | Here set Your own Token only if You select 1 - Your Own Generated Token. | | envoySerialNumber | Here set the envoy serial number. | | enlightenUser | Here set the enlighten user name. | | enlightenPasswd | Here set the enlighten password. | | supportPowerProductionState | This enable support for Power Production State check, Fw. v7.x.x and newer require installer credentials data. | | powerProductionStateControl | This is Power Production Control Tile for production state control, Fw. v7.x.x and newer require installer credentials data. | | name | Here set Your own tile name. | | displayType | Here select the tile type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Switch, 2 - Outlet, 3 - Lightbulb. | | namePrefix | This enable the accessory name as a prefix for the tile name. | | supportPlcLevel | This enable support for PLC Level Check for all devices, Fw. v7.x.x and newer require installer credentials data. | | plcLevelControl | This is Plc Level Control Tile for plc level check, Fw. v7.x.x and newer require installer credentials data | | name | Here set Your own tile name. | | displayType | Here select the tile type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Switch, 2 - Outlet, 3 - Lightbulb. | | namePrefix | This enable the accessory name as a prefix for the tile name. | | powerProductionSummary | Here set the Power Summary in W of all microinverters, based on this value HomeKit app will display power level 0-100 %. | | powerProductionStateSensor | This is Power State Sensor for production monitoring. | | name | Here set Your own sensor name. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | namePrefix | This enable the accessory name as a prefix for the sensor name. | | powerProductionLevelSensors | This is Power Level Sensor for production monitoring. | | name | Here set Your own sensor name. | | compareMode | Here select the compare mode <, <=, ==, >, >=. | | powerLevel | Here set power level in W to compare at which the sensor fired. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | namePrefix | This enable the accessory name as a prefix for the sensor name. | | energyProductionStateSensor | This is Energy State Sensor for production monitoring. | | name | Here set Your own sensor name. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | namePrefix | This enable the accessory name as a prefix for the sensor name. | | energyProductionLevelSensors | This is Energy Level Sensor for production monitoring. | | name | Here set Your own sensor name. | | compareMode | Here select the compare mode <, <=, ==, >, >=. | | energyLevel | Here set energy level in Wh to compare at which the sensor fired. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | namePrefix | This enable the accessory name as a prefix for the sensor name. | | energyProductionLifetimeOffset | Here set the Energy Offset in Wh for production if nedded +/-. | | powerConsumptionTotalStateSensor | This is Power State Sensor for consumption Total monitoring. | | name | Here set Your own sensor name. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | namePrefix | This enable the accessory name as a prefix for the sensor name. | | powerConsumptionTotalLevelSensors | This is Power Level Sensor for consumption Total monitoring. | | name | Here set Your own sensor name. | | compareMode | Here select the compare mode <, <=, ==, >, >=. | | powerLevel | Here set power level in W to compare at which the sensor fired. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | namePrefix | This enable the accessory name as a prefix for the sensor name. | | energyConsumptionTotalStateSensor | This is Energy State Sensor for consumption Total monitoring. | | name | Here set Your own sensor name. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | namePrefix | This enable the accessory name as a prefix for the sensor name. | | energyConsumptionTotalLevelSensors | This is Energy Level Sensor for consumption Total monitoring. | | name | Here set Your own sensor name. | | compareMode | Here select the compare mode <, <=, ==, >, >=. | | energyLevel | Here set energy level in Wh to compare at which the sensor fired. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | namePrefix | This enable the accessory name as a prefix for the sensor name. | | energyConsumptionTotalLifetimeOffset | Here set the Energy Offset in Wh for consumption Total if nedded +/-. | | powerConsumptionNetStateSensor | This is Power State Sensor for consumption Net monitoring. | | name | Here set Your own sensor name. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | namePrefix | This enable the accessory name as a prefix for the sensor name. | | powerConsumptionNetLevelSensors | This is Power Level Sensor for consumption Net monitoring. | | name | Here set Your own sensor name. | | compareMode | Here select the compare mode <, <=, ==, >, >=. | | powerLevel | Here set power level in W to compare at which the sensor fired. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | namePrefix | This enable the accessory name as a prefix for the sensor name. | | energyConsumptionNetStateSensor | This is Energy State Sensor for consumption Net monitoring. | | name | Here set Your own sensor name. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | namePrefix | This enable the accessory name as a prefix for the sensor name. | | energyConsumptionNetLevelSensors | This is Energy Level Sensor for consumption Net monitoring. | | name | Here set Your own sensor name. | | compareMode | Here select the compare mode <, <=, ==, >, >=. | | energyLevel | Here set energy level in Wh to compare at which the sensor fired. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | namePrefix | This enable the accessory name as a prefix for the sensor name. | | energyConsumptionNetLifetimeOffset | Here set the Energy Offset in Wh for consumption Net if nedded +/-. | | enepowerGridStateControl | This is Enpower Grid State Control for Grid ON/OFF control from HomeKit. | | name | Here set Your own tile name. | | displayType | Here select the tile type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Switch, 2 - Outlet, 3 - Lightbulb. | | namePrefix | This enable the accessory name as a prefix for the tile name. | | enepowerGridStateSensor | This is Enpower Grid State Sensor for Grid monitoring, if Grid ON, the contact fired. | | name | Here set Your own sensor name. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | namePrefix | This enable the accessory name as a prefix for the sensor name. | | enepowerGridModeSensors | That are Enpower Grid Mode Sensors for Enpower Grid Mode monitoring, if the Mode matches, the contact fired. | | name | Here set Your own sensor name. | | gridMode | Here select the grid mode Grid On, Grid Off, Multimode Grid On, Multimode Grid Off, Grid Tied, Grid Forming. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | namePrefix | This enable the accessory name as a prefix for the sensor name. | | enchargeStateSensor | This is Encharge State Sensor for State monitoring, if State ON, the contact fired. | | name | Here set Your own sensor name. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | namePrefix | This enable the accessory name as a prefix for the sensor name. | | enchargeProfileControl | This is Encharge Profile Control for Profile control from HomeKit. | | name | Here set Your own tile name. | | profile | Here select the profile Savings, Economy, Full Backup, Self Consumption. | | displayType | Here select the tile type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Lightbulb. | | enchargeProfileSensors | That are Encharge Profile Sensors for Profile monitoring, if the Profile matches, the contact fired. | | name | Here set Your own sensor name. | | profile | Here select the profile Savings, Economy, Full Backup, Self Consumption. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | namePrefix | This enable the accessory name as a prefix for the sensor name. | | enchargeGridModeSensors | That are Encharge Grid Mode Sensors for Encharge Grid Mod monitoring, if the Mode matches, the contact fired. | | name | Here set Your own sensor name. | | gridMode | Here select the grid mode Multimode Grid On, Multimode Grid Off. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | namePrefix | This enable the accessory name as a prefix for the sensor name. | | enchargeBackupLevelSensors | That are Encharge Backup Level Sensors for Encharge Backup Level monitoring, if the Level matches, the contact fired. | | name | Here set Your own sensor name. | | compareMode | Here select the compare mode <, <=, ==, >, >=. | | backupLevel | Here set backup level in % to compare at which the sensor fired. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | namePrefix | This enable the accessory name as a prefix for the sensor name. | | solarGridModeSensors | That are Solar Grid Mode Sensors for Solar Grid Mode monitoring, if the Mode matches, the contact fired. | | name | Here set Your own sensor name. | | gridMode | Here select the grid mode Grid On, Grid Off, Multimode Grid On, Multimode Grid Off, Grid Tied, Grid Forming. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | namePrefix | This enable the accessory name as a prefix for the sensor name. | | enpowerDryContactsControl | This enable Dry Contacts control and expose Switches in HomeKit. | | enpowerDryContactsSensors | This enable Dry Contacts monitoring and expose Sensors in HomeKit. | | generatorStateControl | This is Generator State Control for Generator OFF/ON control from HomeKit. | | name | Here set Your own tile name. | | displayType | Here select the tile type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Switch, 2 - Outlet, 3 - Lightbulb. | | namePrefix | This enable the accessory name as a prefix for the tile name. | | generatorStateSensor | This is Generator State Sensor for State monitoring, if State not Off, the contact fired. | | name | Here set Your own sensor name. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | namePrefix | This enable the accessory name as a prefix for the sensor name. | | generatorModeContol | That are Generator Mode Control, for Generator OFF/ON/AUTO control from HomeKit. | | name | Here set Your own tile name. | | mode | Here select the grid mode Off, On, Auto. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Switch, 2 - Outlet, 3 - Lightbulb. | | generatorModeSensors | That are Generator Mode Sensors for Generator Mode monitoring, if the Mode matches, the contact fired. | | name | Here set Your own sensor name. | | mode | Here select the grid mode Off, On, Auto. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | namePrefix | This enable the accessory name as a prefix for the sensor name. | | dataRefreshControl | This is Data Refresh Control for Data Refresh control from HomeKit. | | name | Here set Your own tile name. | | displayType | Here select the tile type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Switch, 2 - Outlet, 3 - Lightbulb. | | namePrefix | This enable the accessory name as a prefix for the tile name. | | dataRefreshSensor | This is Data Refresh Sensor for Data Refresh monitoring, if working, the contact fired. | | name | Here set Your own sensor name. | | displayType | Here select the sensor type to be displayed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | namePrefix | This enable the accessory name as a prefix for the sensor name. | | metersDataRefreshTime | Here set Meters Data rfresh time in (sec). | | productionDataRefreshTime | Here set Production Data rfresh time in (sec). | | liveDataRefreshTime | Here set Live Data rfresh time in (sec). | | ensembleDataRefreshTime | Here set Ensemble Data rfresh time in (sec). | | enableDebugMode | If enabled, deep log will be present in homebridge console. | | disableLogInfo| If enabled, info log will be hidden, all values and state will not be displayed in Homebridge log console. | | disableLogDeviceInfo | If enabled, the info device log will be hidden by every plugin restart. | | restFul | This is RSTful server. | | enable | This enabled, RESTful server, start automatically and respond to any path request. | | port | Here set the listening Port for RESTful server. | | debug | This enable deep log and present in homebridge console for RESTFul server. | | mqtt | This is MQTT Broker. | | enable | This enable MQTT Broker, start automatically and publish all awailable data. | | host | Here set the IP Address or Hostname for MQTT Broker. | | port | Here set the Port for MQTT Broker, default 1883. | | clientId | Here optional set the Client Id of MQTT Broker. | | prefix | Here set the Prefix for Topic or leave empty. | | auth | This enable MQTT Broker authorization credentials. | | user | Here set the MQTT Broker user. | | passwd | Here set the MQTT Broker password. | | debug | This enable deep log and present in homebridge console for MQTT. |

RESTFul Integration

  • POST data as a JSON Object {DataSampling: true}

| Method | URL | Path | Response | Type | | --- | --- | --- | --- | --- | | GET | http//ip:port | token, info, home, inventory, meters, metersreading, ensembleinventory, ensemblestatus, enchargeettings, tariff, drycontacts, drycontactssettinge, generator, generatorsettings, gridprofile, livedata, production, productionct, microinverters, powermode, plclevel, datasampling. | {wNow: 2353} | JSON object. |

| Method | URL | Key | Value | Type | Description | | --- | --- | --- | --- | --- | --- | | POST | http//ip:port | DataSampling | true, false | boolean | Data sampling Start/Stop. | | | http//ip:port | PowerProductionState | true, false | boolean | Power production state On/Off. | | | http//ip:port | PlcLevel | true | boolean | Check Plc Level On. | | | http//ip:port | EnchargeProfile | self-consumption, savings, economy, fullbackup | string | Set encharge profile. | | | http//ip:port | EnpowerGridState | true, false | boolean | Grid state On/Off. | | | http//ip:port | GeneratorMode | off, on, auto | string | Generator mode Off/On/Auto. |

MQTT Integration

  • Subscribe data as a JSON Object {EnchargeProfile: "savings"}

| Method | Topic | Message | Type | | --- | --- | --- | --- | | Publish | Token, Info, Home, Inventory, Meters, Meters Reading, Ensemble Inventory, Ensemble Status, Encharge Settings, Tariff, Dry Contacts, Dry Contacts Settings, Generator, Generator Settings, Grid Profile, Live Data, Production, Production CT, Microinverters, Power Mode, PCU Comm Level, Data Sampling | {wNow: 2353} | JSON object. |

| Method | Topic | Key | Value | Type | Description | | --- | --- | --- | --- | --- | --- | | Subscribe | Set | DataSampling | true, false | boolean | Data sampling Start/Stop. | | | Set | PowerProductionState | true, false | boolean | Power production state On/Off. | | | Set | PlcLevel | true | boolean | Check Plc Level On. | | | Set | EnchargeProfile | self-consumption, savings, economy, fullbackup | string | Set encharge profile. | | | Set | EnpowerGridState | true, false | boolean | Grid state On/Off. | | | Set | GeneratorMode | off, on, auto | string | Generator mode Off/On/Auto. |