Skip to content

binarydev/ha-generac

 
 

Repository files navigation

generac

hacs

Custom Generac integration component with support for generators and propane tank monitors. It will set up the following platforms.

Platform Entities created for each generator
binary_sensor is_connected, is_connecting, has_maintenance_alert, has_warning
sensor status, run_time, protection_time, activation_date, last_seen, connection_time, battery_voltage, device_type, dealer_email, dealer_name, dealer_phone, address, status_text, status_label, serial_number, model_number, device_ssid, panel_id
Platform Entities created for each propane tank monitor
binary_sensor is_connected, is_connecting, has_maintenance_alert, has_warning
sensor status, capacity, fuel_level, fuel_type, orientation, last_reading_date, battery_level, address, device_type

example

Installation (with HACS)

NOTE: If you've previously installed this integration, delete it first from Settings -> Integrations and delete the "Custom Repository" entry in HACS (found in HACS -> Integrations -> 3 dot menu on the top right)

Click this button to skip steps 1 and 2 below: Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

  1. On the HACS -> Integrations page, click the Explore & Download Repositories button
  2. Search the list for generac and select it to open the details page
  3. On the bottom right, click the Download button
  4. Restart Home Assistant (not the quick reload option)
  5. Once Home Assistant comes back online, go to Settings -> Integrations
  6. Click the Add Integration button
  7. Search the list for generac and select it
  8. Enter the credentials you use to login for https://app.mobilelinkgen.com/ and submit the form. As an alternative, if username/password do not work for you, follow the instructions below for Cookie-based authentication.
  9. The integration should initialize and begin pulling your device information within seconds

Installation (without HACS)

  1. Using the tool of choice open the directory (folder) for your HA configuration (where you find configuration.yaml).
  2. If you do not have a custom_components directory (folder) there, you need to create it.
  3. In the custom_components directory (folder) create a new folder called generac.
  4. Download all the files from the custom_components/generac/ directory (folder) in this repository.
  5. Place the files you downloaded in the new directory (folder) you created.
  6. Restart Home Assistant
  7. In the HA UI go to "Configuration" -> "Integrations" click "+" and search for "generac"

Configuration is done in the UI

Cookie-based Authentication

Using Username+Password to login is currently broken, due to Generac blocking automated scripts from logging in on the MobileLink app via a Captcha. Instead, the recommended method of authentication is to manually login and retrieve your session cookie. This requires you to do the following:

  1. Log into https://app.mobilelinkgen.com/ until you reach the main dashboard with your devices.
  2. Open the web-browser Developer Tools aka "devtools" (e.g. in Chrome, right-click the page and hit the Inspect option).
  3. Go to the Network tab in the devtools panel and refresh your browser.
  4. The Network tab will now have a long list of things it just loaded, but the one you care about is named "dashboard" and should be the first or one of the first items in the list, as seen here. Select it.
  5. Select the "dashboard" item in the list, and it will open a panel to the right-hand side that shows you more details, which looks like this.
  6. Scroll down in that right-hand panel until you find a field named Cookie, which has a LARGE block of text (it will likely start with the letters "incap_ses", like this). That large block of text is what you want.
  7. Double click the large block of text to select it all.
  8. Copy-paste it into the "Session Cookie" field for the Generac setup UI in Home Assistant.
  9. Hit submit and enjoy your integration!

Important

Unusual Integration Setup

Status Quo in summer 2025: This integration requires an unusual setup process to be able to access the data of your Generac devices. This is because Generac has changed (once again) the original authentication workflow to actively block third-party access. They state that Home Assistant users were overloading their API. We have since adjusted accordingly to adapt to the new authenatication method and reduced our default polling interval from every 30 seconds to every 120 seconds, to be a "good" user of the API and cut the volume of traffic to their servers by 75%. This polling interval can also be tuned to your needs in the options panel of the HA integration once you have set it up, as seen here.

This approach implies that when Generac is going to change something in their non-public/undocumented API, it's quite likely that the integration will break instantly.

It's impossible to predict when this will happen, but I will try to keep the integration up-to-date and working as long as possible.

Contributions are welcome!

If you want to contribute to this please read the Contribution guidelines

Credits

This project was generated from @oncleben31's Home Assistant Custom Component Cookiecutter template.

Code template was mainly taken from @Ludeeus's integration_blueprint template

Forked from the original implementation created by @bentekkie


About

A custom integration for home assistant for generac and honeywell generators

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.2%
  • Shell 0.8%