Lookout - Hyperlocal Sky and Camera Observation for Home Assistant

While developing my Adaptive Cover Controller, I kept running into the same problem.

Weather services are excellent at forecasting regional weather, but they do not always describe what is happening above my home right now.

One afternoon OpenWeatherMap reported almost clear skies, yet my terrace and windows were completely shaded by a cloud passing directly overhead. A little later, the opposite happened. The forecast still reported heavy cloud cover while the sun was shining directly into the house.

For most automations that is not a big deal. For automations that react to direct sunlight, it is.

That led me to build Lookout, previously called AI Sky Observer.

Rather than relying solely on regional weather forecasts, Lookout uses LLM Vision together with one or more outdoor cameras to observe the visible sky above your property. It estimates cloud cover, fog and haze, rain, and whether the sun is visible, and exposes the results as Home Assistant entities that can be used in automations, dashboards, scripts and blueprints.

The project follows one simple idea: AI observes, Home Assistant decides. The AI never controls devices directly. Its only job is to create observations that Home Assistant can use however you choose.

https://github.com/wgumaa/Lookout

What has changed since the first post

This is no longer a YAML package. Lookout is now a proper Home Assistant custom integration with a real config flow, installable manually or through HACS as a custom repository. Setup is a guided flow: enter your LLM Vision provider and model, add any number of cameras one at a time with your own names, and get a ready to paste dashboard card at the end using the actual entity IDs created.

Features

Cloud cover, per camera and averaged across all cameras.

Fog and haze detection, tracked separately from cloud cover, since a scene can have 0 percent cloud cover with heavy ground fog at the same time, or the reverse.

Rain detection, requiring actual visible rain in the scene rather than just a wet looking or dark image. The prompt also separates water on the camera lens itself from rain in the scene, so a dirty or wet lens does not get reported as weather.

Sun visibility, true only when the actual solar disc is visible.

Confidence scoring per camera.

An Effective Sky Obstruction sensor, combining cloud cover and fog into one value intended for automations like Adaptive Cover Controller, which care about how much is diffusing or blocking direct light rather than cloud cover specifically.

Any number of cameras, each named by you, analyzed independently in a single call per poll.

Daylight only polling, an adjustable scan interval slider on the device page, a Run Now button that forces an immediate analysis at any time including at night, and a Last Update sensor.

Home Assistant entities

sensor.lookout_sky_condition
sensor.lookout_effective_sky_obstruction
sensor.lookout_average_cloud_cover
sensor.lookout_average_fog_density
sensor.lookout_average_rain_intensity
sensor.lookout_camera_cloud_cover, per camera
sensor.lookout_camera_fog_density, per camera
sensor.lookout_camera_rain_intensity, per camera
sensor.lookout_camera_confidence, per camera
binary_sensor.lookout_camera_sun_visible, per camera
binary_sensor.lookout_camera_fog_detected, per camera
binary_sensor.lookout_camera_rain_detected, per camera
sensor.lookout_last_update
number.lookout_scan_interval
button.lookout_run_now

Why not just use a weather service?

This project is not intended to replace weather services. Weather services are designed to forecast conditions across a wider area. Lookout answers a different question: what is happening above my home right now. For automations such as blinds, curtains, shutters, awnings or climate control, that local observation can often be more useful than a regional cloud cover value. The two approaches complement each other.

Built for Adaptive Cover Controller

Lookout originally started as a companion project for my Adaptive Cover Controller blueprint, which determines when covers should move based on the sun’s position and other conditions. Lookout improves those decisions by providing real time observations from your own cameras, so automations can respond to conditions above your property rather than relying solely on regional forecasts.

https://community.home-assistant.io/t/adaptive-cover-controller-intelligent-sun-protection-for-curtains-blinds-shutters/1020847

Feedback, suggestions and ideas are genuinely welcome.

Roadmap

Improved sky classification and cloud density, sunrise and sunset visibility, smoke and storm detection, and camera health checks such as spider web, dirty lens, and condensation detection. The last group is deliberately kept separate from the sky analysis prompt, since it likely needs its own prompt and schema rather than diluting the accuracy of either.

This product does not appear to be in the works with home assistant program, however the artwork claims it is. You’ll have to remove that watermark from your product page in order to post here.

@petro Thanks for pointing that out. That wasn’t my intention. I was using it simply to indicate compatibility with Home Assistant. I have updated the banner to remove the “Works with Home Assistant” branding and replaced it with generic compatibility wording.

Is this vibecoded? The opening post looks like LLM slop.

@SoNick I used AI to do the documentation and visuals. The structure was also recommended by ai (headings and sections), but the code is mine.

I am not a graphic designer nor a software developer! Just an HA hobbyist utilising technology as a tool to find solutions for myself to get HA to do what I want it to do and sharing in case others find them interesting!

And it works well for my use case.

I did some more digging and apparently you’ve been spamming your vibecoded slop all over reddit and getting roasted in the comments: Reddit

Please reflect on your actions and ask yourself what benefit spamming vibecoded slop brings to the community.

Edit: This is still a vibe-coded project spammed here and elsewhere. I do still urge OP to reflect on their actions and ask what benefit spamming brings to the community.

Update: this project has been renamed to Lookout and substantially reworked.

New repository: GitHub - wgumaa/Lookout: AI-powered environmental sensors for Home Assistant using LLM Vision and security cameras. · GitHub

What changed since the original post:

The project is no longer a YAML package. It is now a proper Home Assistant custom integration with a real config flow, installable manually or through HACS as a custom repository. Setup is a guided flow: enter your LLM Vision provider and model, add cameras one at a time with your own names, and get a ready to paste dashboard card at the end using the actual entity IDs created.

New detections beyond cloud cover and sun visibility:

Fog and haze density, tracked separately from cloud cover, since a scene can show 0 percent cloud cover with heavy ground fog at the same time, or the reverse.

Rain detection, which requires actual visible rain in the scene, not just a wet looking or dark image. The prompt also explicitly separates water on the camera lens itself from rain in the scene, so a dirty or wet lens does not get reported as weather.

An Effective Sky Obstruction sensor, combining cloud cover and fog into one value intended for automations like Adaptive Cover Controller, since those care about how much is diffusing or blocking direct light rather than cloud cover specifically.

Also new: an adjustable scan interval slider on the device page, a Run Now button that forces an immediate analysis at any time including at night for testing, and a Last Update sensor showing when the LLM was actually last called successfully.

On the earlier feedback:

The Works with Home Assistant branding issue raised earlier was valid and was fixed the same day it was flagged.

On the broader criticism about how this reads: fair point taken. The original post and documentation had a fairly generic AI assisted structure and tone. The README has been rewritten since, the branding redone, and the marketing style language reduced. More importantly, every feature listed above has been tested against my own live Home Assistant instance over multiple days, including through an actual storm, checking behavior day and night, single and multi camera, and success and failure paths.

Happy to hear more feedback now that there is a working integration to look at rather than a first draft.