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 |
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:
- On the HACS -> Integrations page, click the
Explore & Download Repositories
button - Search the list for
generac
and select it to open the details page - On the bottom right, click the
Download
button - Restart Home Assistant (not the quick reload option)
- Once Home Assistant comes back online, go to Settings -> Integrations
- Click the
Add Integration
button - Search the list for
generac
and select it - 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.
- The integration should initialize and begin pulling your device information within seconds
- Using the tool of choice open the directory (folder) for your HA configuration (where you find
configuration.yaml
). - If you do not have a
custom_components
directory (folder) there, you need to create it. - In the
custom_components
directory (folder) create a new folder calledgenerac
. - Download all the files from the
custom_components/generac/
directory (folder) in this repository. - Place the files you downloaded in the new directory (folder) you created.
- Restart Home Assistant
- In the HA UI go to "Configuration" -> "Integrations" click "+" and search for "generac"
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:
- Log into https://app.mobilelinkgen.com/ until you reach the main dashboard with your devices.
- Open the web-browser Developer Tools aka "devtools" (e.g. in Chrome, right-click the page and hit the Inspect option).
- Go to the Network tab in the devtools panel and refresh your browser.
- 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.
- 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.
- 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.
- Double click the large block of text to select it all.
- Copy-paste it into the "Session Cookie" field for the Generac setup UI in Home Assistant.
- Hit submit and enjoy your integration!
Important
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.
If you want to contribute to this please read the Contribution guidelines
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