Wake up every morning (more) excited to look at the forecast! This is a custom Home Assistant integration which uses forecast data, pictures of your pets, and Google's Nano Banana API to generate and serve weather-themed drawings of your precious babies every morning.
Blog post here.
Features
- Home assistant integration to generate pictures
- Customizable automation template to control drawing styles, generation times, etc.
- Optional optimization for E-ink screens (currently limited to spectra6 panels)
Examples
You can display it on an e-ink screen
Or on your HA Dashboard
Works in better weather
Getting Started
Warning
This will cost money. You get (I think) $300 of Gemini credits upon sign up, but eventually you will have to pay ~$0.14 every time this runs.
Requirements
- A home assistant server with the following add-ons
- A google AI studio API key. Note that, as of writing, you need to input billing details to get the free credits.
Setup
Option A: Install via HACS (recommended)
- Install HACS if you haven't already.
- In HACS, click Custom repositories and add
https://github.com/jwardbond/forecatswith category Integration. - Search for "Daily Forecats" in HACS and install it.
- Restart Home Assistant, then continue from step 2 below.
Option B: Manual install
Do the following in your HA server, using the Terminal & SSH addon, or docker exec if you are running a container on a host system
- Create the necessary directory structure in your Home Assistant server:
mkdir -p /config/custom_components && mkdir -p /config/forecats_data/input_images- Download and copy the integration files
cd /tmp && git clone https://github.com/jwardbond/forecats.git && cp -r forecats/custom_components/forecats /config/custom_components/
- Select and upload pet images using one of the following workflows:
Option 1 — Media Browser (no SSH required, recommended for new users)
- In HA, go to Media > Local Media and create a folder called
forecats. - Upload your pet photos directly from the browser.
- In the blueprint, set Input image directory to
/config/media/forecatsand leave Input image paths blank.
Option 2 — Legacy directory (existing users)
- If you already have images at
/config/forecats_data/input_images/, no change needed. - Set Input image directory to
/config/forecats_data/input_images/.
Option 3 — Explicit paths
- Provide a list of exact file paths via Input image paths (useful when you want fine-grained control over which images are used).
input_image_dirandinput_image_pathscan be used together; images from both sources are merged.
In all cases: choose clear photos of your pets and rename the files so the pets' names are in the filenames.
- Enable the custom integration by adding
forecats:to your configuration file:
# configuration.yaml default_config: # ...existing data automation: !include automations.yaml forecats:
- Set up the automation using one of the following options:
Option A: Blueprint (recommended)
- Go to Settings > Automations & Scenes > Blueprints and click Import Blueprint.
- Paste the URL:
https://github.com/jwardbond/forecats/blob/master/blueprints/automation/forecats/forecats.yaml - Create an automation from the blueprint and fill in your details.
Option B: Manual
- Copy the automation template into
config/automations.yaml. - Fill out or remove any
<>placeholders.
- Restart your server
That's it! Every morning at 5:00 am, the forecats integration will generate the following images in the config/www/daily_forecats/ directory:
forecats_original.png: the unprocessed output image from Geminiforecats_optimized.png: the output image cropped to your desired size and adjusted for display on your screen (currently only supports color adjustments for Spectra6 e-ink)
These images should be accessible on your local network at (e.g.): <YOUR HA URL>/local/daily_forecats/forecats_original.png
Note
It takes 10-30 seconds for gemini to generate the image. If you have any automations grabbing the image, then I recommend setting them to run a minute after the generate forecats autmation is set to run.
Note
To test the automation, go to developer tools > actions > generate forecats and run it manually.
Local Testing
I got annoyed testing out new prompts on HA, so I made a folder to experiment locally. If you would like to use it:
- Clone the repo and enter the testing folder:
git clone https://github.com/jwardbond/forecats.git && cd forecats/local_testing
- Add your cat images to the
forecats_data/input_imagesfolder. - Create a
.envfile with your Gemini API key. - Copy the data from your automation into
test.py. - Run:
(Optional) Sending to an e-ink screen
You will need a screen controllable with ESPHOME. I used seeed studio's e10002 spectra6 display. I've included the esphome config I use here. The basic idea is to set the automation to run every day at a 5:00 am, and have the screen wake up every day slightly before that, download the picture at 5:01 am (to leave time to generate), and then go into deep sleep until the next day.
TODO
- Enrol in HACS for easier install
- Option to save images to dir
- Make automation into blueprint for easier install
- Separate e-ink instructions
- See if I can make it more configurable from GUI
- Support for multiple cities



