Releases: smcneece/solar-sentinel
Sun Arc History Fix and History Chart Peak Values Fix
Release Date: June 9, 2026
Type: Bug fix release
What's Fixed
Sun arc now shows correct times when viewing a past date (thanks @sg1888)
When scrubbing back to a previous date, the sun arc was still showing today's sunrise, sunset, dawn, dusk, and solar noon times, and the moon phase was always the current phase rather than the phase on the selected date. Solar Sentinel now computes the correct solar event times and moon phase for any past date using the installation's latitude and longitude, which are read automatically from HA's configuration. Today's view continues to use the live sun.sun entity for maximum accuracy. If HA does not expose coordinates, the arc falls back to live values as before.
Panel detail history chart now shows correct peak values in 6m and 1y views
The 6-month and 1-year history views in the panel detail modal were showing power levels far below actual panel output, typically around 30-40% of the real peak. The root cause: those longer ranges use daily statistics buckets, and the chart was plotting the daily mean. The daily mean averages in every hour of the day including nighttime hours at 0W, which dragged the apparent peak down dramatically. A panel producing 280W at noon looks like it maxes out at 80-90W when averaged across a full day.
The 6m and 1y views now plot the daily maximum from HA's statistics instead, which correctly shows the peak power reached each day. This matches the values you see in the 7d, 30d, and 90d views and on the panel cards themselves.
No settings migration needed. Update via Settings > Add-ons > Solar Sentinel > Update and refresh the page.
See CHANGELOG.md for the full version history.
History Colors, Layout Fit, and Chart Refresh Fixes
Release Date: June 7, 2026
Type: Bug fix release
What's Fixed
Panel colors in history/slider mode now match the Peak panel output setting
When scrubbing through history with the time slider, panel colors were being calculated using a hardcoded 150W relative-average formula instead of the absolute threshold formula the server uses for live data. This meant the slider view could show noticeably different colors than the live view for the same power levels, especially when "Peak panel output (W)" was configured. Both the live view and the history slider now use the same calculation.
Battery SoC chart no longer stops updating at 100%
When a battery is fully charged and idle, Home Assistant's recorder stops writing new state entries because the value is not changing. This caused the SoC chart line to stop at the last recorded change rather than continuing to the current time. The chart now extends a flat line to the present time using the last known SoC value, and advances forward on each refresh cycle.
Grid import/export chart now updates automatically
The production chart was refreshing on schedule, but the grid import/export chart was missing from the live update loop entirely and only updated when switching tabs or changing the date. Both charts now refresh together during the normal live update cycle.
Panel grid no longer jumps on every slider tick
The auto-fit stability check that runs once on initial page load was incorrectly re-running on every slider tick because the panel grid DOM is rebuilt on each history update. This caused the grid to briefly snap back to the aspect-ratio fallback layout on every tick before re-settling. The stability check now runs only once.
Panel names no longer truncate after the first word
In the positioned grid view, panel names were being cut off after just the first word due to a browser rendering quirk with webkit line-clamp inside a flex column container. The name element was shrinking narrower than its card even with width set to 100%. Names now correctly span the full card width and support up to two lines. Landscape panels stack content from the top so the name is always visible even when the card is short. Portrait panels keep vertical centering since they have enough height that nothing gets clipped.
No settings migration needed. Update via Settings > Add-ons > Solar Sentinel > Update and refresh the page.
See CHANGELOG.md for the full version history.
Settings Save Fixes and Small Screen Improvements
Release Date: June 6, 2026
Type: Bug fix and improvement release
What's Fixed
Peak panel output setting now saves correctly
The "Peak panel output (W)" setting introduced in v2026.06.5 had a bug where it appeared to save successfully but silently reverted to 300W on the next save. The value was being accepted by the UI but dropped on the server side due to a missing entry in the settings allowlist. It now saves and persists correctly.
Panel colors and header update immediately after saving settings
After saving Settings, the panel grid now refreshes immediately so you can see the effect of changes like Peak panel output or minimum average threshold right away. Previously the display would not update until the next scheduled refresh cycle, which made it hard to dial in settings. The total array wattage in the header also now restores correctly to the live value when clicking the Live button after scrubbing through history. Previously it would stay at the historical value until the next scheduled refresh.
What's New
Panel card text scales on small screens
On smaller displays or cramped grid layouts, panel card text (name, wattage, kWh) now scales down to fit the available space. On normal and large displays nothing changes. The scaling only activates when the panel cards are genuinely too small to fit the default text comfortably.
Debug info includes display details
The debug info download (Help/About > Download Debug Info) now includes a client section with browser user agent, screen resolution, device pixel ratio, and window dimensions. This makes it significantly easier to diagnose display issues from bug reports without needing to ask for that information separately.
No settings migration needed. Update via Settings > Add-ons > Solar Sentinel > Update and refresh the page.
See CHANGELOG.md for the full version history.
Area Charts, 3D Panels, and Visual Polish
Release Date: June 5, 2026
Type: Feature and bug fix release
What's New
Peak panel output setting
A new "Peak panel output (W)" setting in Settings lets you tell Solar Sentinel the rated wattage of your panels. Previously the color gradient maxed out at 150W regardless of panel capacity, which meant a 360W panel producing 200W looked the same deep orange as a panel at its actual limit. With this setting, the gradient scales to your hardware: full orange appears at 95% of the rated wattage, reflecting the real-world peak output you actually see rather than the theoretical STC rating. Default is 300W. Set to 0 to restore the old automatic scaling.
Area charts for Today
The production and grid import/export charts now render as smooth filled area charts when viewing Today, replacing the hourly bar charts. The curve rises from dawn, peaks at solar noon, and ends at the current hour rather than dropping to zero for hours that haven't happened yet. Week, month, and year views remain as bar charts since those show period totals where bars are the clearer choice.
3D panel cards
Panel cards now have a subtle raised look: a layered shadow lifts each card off the background, and colored panels have a top-to-bottom lighting gradient that gives them depth. Panel colors also fade smoothly when data updates instead of snapping instantly.
Live indicator pulse and refresh countdown
The Live button now glows with a soft pulsing green animation when Solar Sentinel is in live mode. A countdown timer showing seconds until the next data refresh appears next to it, so you know exactly when the panels will update. The countdown hides when you are viewing history.
What's Fixed
Hard refresh no longer needed after updating
After installing an update, some users on the Home Assistant companion app and certain browsers were seeing a blank or partially loaded screen unless they did a hard refresh. This was caused by a bug in the cache busting logic: the main JavaScript file was versioned correctly on each release, but the modules it loads internally were not, so browsers served them stale from cache. All modules are now covered, and future updates will load cleanly without any manual intervention.
No settings migration needed. Update via Settings > Add-ons > Solar Sentinel > Update and refresh the page.
See CHANGELOG.md for the full version history.
Auto-Fit Grid and Settings Cleanup
Release Date: June 5, 2026
Type: Feature and bug fix release
What's New
Panel grid auto-fits to viewport
The panel grid now scales automatically to fit the visible screen area without scrolling. Cell size is calculated so the entire grid fits in both dimensions at once; if your layout is wider than it is tall, height is the constraint, and vice versa. The grid recalculates whenever the browser window is resized.
The layout editor is not affected and continues to allow scrolling as before.
What's Fixed
Refresh interval minimum inconsistency
The Settings field accepted values as low as 10 seconds, but the backend enforced a 30 second minimum and silently ignored anything lower. If you set Solar Sentinel to 10 seconds, it was actually running at 30 seconds the whole time with no indication. Both the frontend and backend now enforce the same 30 second minimum. A maximum of 3600 seconds (1 hour) has also been added on both ends. The Settings label now shows the valid range directly: 30 - 3600 seconds.
No settings migration needed. Update via Settings > Add-ons > Solar Sentinel > Update and refresh the page.
See CHANGELOG.md for the full version history.
Time Slider Hot Fix
Release Date: June 3, 2026
Type: Bug fix release
What's Fixed
Time slider broken on long summer days
Users with late summer dusks (roughly 9 PM or later depending on latitude) found the time slider completely unresponsive after updating to v2026.06.2, and clicking Play did nothing. The browser was also showing a tooltip "Please select a value that is no more than 21."
The cause was in the slider range calculation introduced in v2026.06.2. The arc extends slightly past dawn and dusk to give visual breathing room. The code was computing that extension by adding it to the dusk Unix timestamp and then converting the result to local-time minutes. For late-dusk days, dusk plus the extension crossed midnight into the next day, and the local-time conversion wrapped around, returning 21 (12:21 AM) as the slider maximum. With max set to 21 minutes, the slider was effectively dead.
The fix computes the extension in minutes directly and adds it to the already-converted dusk local time, avoiding the midnight wraparound entirely. A safety fallback was also added so that if the range calculation ever produces an invalid result, the slider falls back to the full 24-hour range instead of breaking.
No settings migration needed. Update via Settings > Add-ons > Solar Sentinel > Update and refresh the page.
See CHANGELOG.md for the full version history.
UI Fixes and Playback Improvements
Release Date: June 2, 2026
Type: Bug fix and improvement release
What's New
Show W unit on panels toggle
A new toggle in Settings lets you hide the "W" or "kW" unit suffix on panel cards, showing just the number. Saves space on smaller screens where the unit label pushes the number into a smaller font or wraps unexpectedly.
Half-speed playback
The timeline speed button now cycles 0.5x, 1x, 2x and defaults to 0.5x. The slower starting speed makes it easier to follow what happened across the day without scrubbing too fast.
What's Fixed
Last Reported showing relative time
The panel detail modal was showing "Last Reported" as a relative duration ("5 days ago") calculated against the current clock. When viewing historical data this was misleading because the relative label was computed from now, not from the selected time. It now shows an absolute timestamp (e.g. 6/2/2026 11:49 AM) in both live and historical modes.
Time slider not tracking the sun ball
The slider was spanning the full 24-hour day while the arc only displayed the dawn-to-dusk window, so the slider handle and the sun ball position were never aligned. The slider now spans the same compressed window as the arc. Jump-to-start and playback also begin at dawn instead of midnight.
Layout editor drag placement
Panels were always placed by their top-left corner regardless of where on the card you grabbed them, but the drag ghost did not reflect this, making it hard to predict where a panel would land. The ghost image now anchors to the top-left corner so what you see is what you get. The instruction text was updated to explain this behavior and increased in size for readability.
Drop targets invisible against orange panels
The drop target highlight in the layout editor was a subtle orange tint that was nearly impossible to see against the warm orange panel color scheme. It is now a bright blue outline that is clearly visible regardless of panel brightness or color.
Battery mode displaying in ALL CAPS
The battery operating mode label was showing raw sensor strings in all caps ("SELF CONSUMPTION", "TARIFF OPTIMIZER"). Mode strings are now converted to title case ("Self Consumption", "Tariff Optimizer"). This is a generic conversion that works for any battery integration, not just SunPower.
A small "(operating)" label with a tooltip was also added to clarify that this field shows the current firmware state, which can differ from the configured Battery Control Mode in HA. For example, TARIFF_OPTIMIZER appearing when you have configured Self Supply is normal behavior: the firmware enters this holding state when the battery hits 100% or the reserve floor, and returns to the configured mode once SOC moves away from the limit.
Sun arc improvements
Dawn and Dusk markers now have a tick line that straddles the horizon, pointing up into the arc and down toward the label, making it clearer where each event falls on the timeline. Sunrise and Sunset reference lines are now solid and extend from the label text all the way to the horizon instead of starting at the arc point.
No settings migration needed. Update via Settings > Add-ons > Solar Sentinel > Update, then do a hard refresh (Ctrl+F5) to clear cached JS files.
See CHANGELOG.md for the full version history.
Weather Forecast and Bug Fixes
Release Date: June 1, 2026
Type: Feature and bug fix release
What's New
Today and tomorrow weather in the sun arc
The blank margins on each side of the sun arc now show a two-day weather forecast: date, condition icon, and low/high temperature. Today's weather is on the left, tomorrow's on the right.
If no weather entity is configured in HA, the margins stay empty and nothing breaks.
Tested integrations:
- National Weather Service (NWS) - free, US only. NWS uses a day/night forecast format rather than a single daily entry, so Solar Sentinel automatically detects this and pairs the daytime high with the overnight low for each day.
- Met.no - free, worldwide coverage, no account or API key required.
- Pirate Weather - free with an API key (pirateweather.net), worldwide coverage, built as a Dark Sky replacement.
Solar Sentinel auto-discovers your weather entity and tries both forecast formats. OpenWeatherMap's free tier only provides hourly data and is not supported. If your integration is not on this list and the weather display is not working, open a GitHub issue and I will do my best to add support, as long as the weather API key is free.
What's Fixed
Sun graphic elongation on non-standard window widths
The sun position marker on the arc was drawn as a circle in SVG coordinate units. Since the arc SVG stretches horizontally to fill any window width while height stays fixed, the circle rendered as an ellipse at most window sizes. It is now drawn as a compensated ellipse that always renders circular, using the same approach applied to the moon icon in v2026.05.7.
No settings migration needed. Update in place via the Add-on Store and refresh the page.
See CHANGELOG.md for the full version history.
Timeline Playback Controls & Misc Fixes
Release Date: May 29, 2026
Type: Feature release & Fixes
What's New
Timeline Playback
Three playback controls now appear on the left side of the timeline navigation bar below the sun arc:
- |◀ Jump to start - snaps the slider to midnight of the current date and loads history
- ▶ / ⏸ Play/Pause - plays forward through the day automatically at 5-minute steps; if the slider is already at the end, it jumps to midnight first; stops when it reaches the current time (today) or end of day (past dates)
- 1x / 2x Speed - toggles between normal and double speed; button highlights when 2x is active
Dragging the slider manually, clicking Live, or changing the date stops playback.
Bug Fixes
- "Invert battery power direction" toggle is now hidden in Settings when no battery system is configured in the Energy Dashboard
- Multiple batteries are sorted alphabetically by name in the battery panel selector
- Fixed placed panels changing shape when the browser window is resized: the panel grid now uses CSS aspect-ratio so cells scale proportionally in both dimensions at any window width
- Fixed drag-and-drop in the layout editor landing at the wrong position: panels now place so the point you clicked within the card aligns with the drop target, rather than the top-left corner snapping to wherever you release
- Fixed moon icon in the sun arc appearing elliptical at non-standard window widths: drawn as a compensated ellipse that always renders circular
No settings migration needed. Update in place via the App Store and refresh the page.
See CHANGELOG.md for the full version history.
Battery Direction Fix, Multiple Battery Suppor
Release Date: May 28, 2026
Type: Bug fix release
Bug Fixes
Battery charge/discharge direction incorrect: Solar Sentinel's direction logic had the sign convention backwards. HA Standard is positive = discharging, negative = charging. Our code had those labels swapped, so all users with a battery power sensor configured in the Energy Dashboard would see charging reported as discharging and vice versa. This is now correct.
Battery chart tab buttons unstyled: The Today/Week/Month/Year buttons in the battery panel were appearing as plain browser default buttons instead of matching the rest of the UI.
What's New
Improved Battery Power Direction Detection
Battery discovery now reads HA's Energy Dashboard power configuration directly:
- Standard config: positive values are treated as discharging, negative as charging, matching HA's documented convention.
- HA "Inverted" power sensor config: if your battery power sensor is set to "Inverted" in the Energy Dashboard (Settings > Dashboards > Energy, pencil on battery system), Solar Sentinel reads that flag and flips the sign automatically. This covers CT clamp setups where the sensor was physically installed backwards.
- Manual override: a new "Invert battery power direction" toggle in Settings is available as a fallback for any integration where charging still shows as discharging after updating.
Multiple Battery Support
If you have more than one battery system configured in the HA Energy Dashboard, Solar Sentinel now shows all of them. A row of selector buttons appears at the top of the battery panel, one per battery, letting you switch between them. Batteries are sorted alphabetically by name. The battery chart switches to the selected battery automatically. Users with a single battery see no change.
No settings migration needed. Update in place via the App Store and refresh the page.
See CHANGELOG.md for the full version history.