hass.tibber_prices/docs/user/sidebars.ts
Julian Pawlowski 96f36a3339 feat(services): add plan_charging service for battery/EV scheduling
Accepts battery parameters (capacity, current/target SoC, max power) and
returns a cost-minimized charging schedule with per-interval power, SoC
progression, and total cost — no manual duration calculation needed.

Supports fixed, continuous (min_charge_power_w), and stepped
(charge_power_steps_w) charging modes, deadline-aware two-pass planning
(must_reach_soc + must_reach_by / must_reach_by_event), and round-trip
economics (expected_discharge_price, reserve_for_discharge,
max_cost_per_kwh) for arbitrage use cases. Includes min_charge_duration
and max_cycles_per_day constraints.

Groups deadline fields (must_reach_soc_*, must_reach_by,
must_reach_by_event) into a dedicated section so a deadline use case can
be configured in one place. Battery section lists capacity before the
percent SoC fields that depend on it. Response exposes stable reason
codes (already_at_target, energy_unreachable, energy_unreachable_by_
deadline, no_intervals_after_economic_filter, …) documented in the
service description and user docs.
2026-04-20 21:43:41 +00:00

131 lines
3.5 KiB
TypeScript

import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
/**
* Creating a sidebar enables you to:
- create an ordered group of docs
- render a sidebar for each doc of that group
- provide next/previous navigation
The sidebars can be generated from the filesystem, or explicitly defined here.
Create as many sidebars as you want.
*/
const sidebars: SidebarsConfig = {
tutorialSidebar: [
'intro',
{
type: 'category',
label: '🚀 Getting Started',
link: { type: 'doc', id: 'installation' },
items: [
'installation',
{
type: 'category',
label: '⚙️ Configuration',
link: { type: 'doc', id: 'configuration' },
items: [
'config-general',
'config-currency',
'config-price-rating',
'config-price-level',
'config-volatility',
'config-best-price',
'config-peak-price',
'config-price-trend',
'config-chart-export',
'config-runtime-overrides',
],
collapsible: true,
collapsed: true,
},
],
collapsible: true,
collapsed: false,
},
{
type: 'category',
label: '📖 Core Concepts',
link: { type: 'doc', id: 'concepts' },
items: ['concepts', 'glossary'],
collapsible: true,
collapsed: false,
},
{
type: 'category',
label: '📊 Sensors',
link: { type: 'doc', id: 'sensors-overview' },
items: [
'sensors-overview',
'sensors-average',
'sensors-ratings-levels',
'sensors-volatility',
'sensors-trends',
'sensors-price-phases',
'sensors-timing',
'sensors-energy-tax',
],
collapsible: true,
collapsed: false,
},
{
type: 'category',
label: '⏰ Price Periods',
link: { type: 'doc', id: 'period-calculation' },
items: ['period-calculation', 'period-relaxation'],
collapsible: true,
collapsed: false,
},
{
type: 'category',
label: '🎨 Dashboards & Charts',
link: { type: 'doc', id: 'dashboard-examples' },
items: ['dynamic-icons', 'icon-colors', 'dashboard-examples', 'chart-examples'],
collapsible: true,
collapsed: false,
},
{
type: 'category',
label: '🤖 Automations & Usage',
link: { type: 'doc', id: 'automation-examples' },
items: ['automation-examples'],
collapsible: true,
collapsed: false,
},
{
type: 'category',
label: '⚡ Actions',
link: { type: 'doc', id: 'actions' },
items: ['actions', 'scheduling-actions', 'plan-charging-action', 'chart-actions', 'data-actions'],
collapsible: true,
collapsed: false,
},
{
type: 'category',
label: '📖 Reference',
link: { type: 'doc', id: 'sensor-reference' },
items: ['sensor-reference'],
collapsible: true,
collapsed: false,
},
{
type: 'category',
label: '👥 Community',
link: { type: 'doc', id: 'community-examples' },
items: ['community-examples'],
collapsible: true,
collapsed: false,
},
{
type: 'category',
label: '🔧 Help & Support',
link: { type: 'doc', id: 'faq' },
items: ['faq', 'troubleshooting'],
collapsible: true,
collapsed: false,
},
],
};
export default sidebars;