Skip to content

Commit 5f203cf

Browse files
authored
ci: Add check doc generation in CI (#105)
2 parents 7a92429 + 97b2d1b commit 5f203cf

File tree

6 files changed

+206
-117
lines changed

6 files changed

+206
-117
lines changed

.github/workflows/esphome-ci.yaml

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,30 @@ jobs:
3232
run: |
3333
./tools/check_coverage.sh
3434
35-
# Step 3 : Compile files
35+
# Step 3 : Build & Validate Documentation
36+
docs:
37+
runs-on: ubuntu-latest
38+
steps:
39+
- name: 📥 Checkout repository
40+
uses: actions/checkout@v6
41+
42+
- name: 🐍 Set up Python
43+
uses: actions/setup-python@v5
44+
with:
45+
python-version: "3.x"
46+
47+
- name: 📦 Install dependencies
48+
run: |
49+
python -m pip install --upgrade pip
50+
sed -i "/esphome/d" requirements.txt
51+
pip install -r requirements.txt
52+
53+
- name: 🏗️ MkDocs Build
54+
run: |
55+
# The --strict flag causes the build to fail if any warnings or broken links are detected
56+
mkdocs build --strict
57+
58+
# Step 4 : Compile files
3659
build:
3760
needs: list-files
3861
runs-on: ubuntu-latest

docs/en/energy_counter_jsy-mk-194t.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# JSY-MK-194T Energy Counter
22

33
The JSY-MK-194T energy counter shares common code with the
4-
[JSY-MK-194T power meter](powermeter_jsy-mk-194t.md) to communicate with the module.
4+
[JSY-MK-194T power meter](power_meter_jsy-mk-194t.md) to communicate with the module.
55
The rest of this documentation explains how to configure this common part
66
and how to configure a JSY-MK-194T energy counter.
77

docs/fr/energy_counter_jsy-mk-194t.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Compteur d'énergie JSY-MK-194T
22

3-
Le compteur d'énergie JSY-MK-194T partage avec le [power meter jsy-mk-194t](powermeter_jsy-mk-194t.md) un code
3+
Le compteur d'énergie JSY-MK-194T partage avec le [power meter jsy-mk-194t](power_meter_jsy-mk-194t.md) un code
44
commun permettant de communique avec le module. La suite de cette documentation explique comment configurer cette partie
55
commune et comment configurer un compteur d'énergie JSY-MK-194T.
66

esp32-standalone.yaml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# ----------------------------------------------------------------------------------------------------
2+
# ESPHome configuration - This part depends on your hardware target
3+
# ----------------------------------------------------------------------------------------------------
4+
esphome:
5+
name: solarrouter-r
6+
friendly_name: SolarRouter
7+
min_version: 2026.1.0
8+
9+
esp32:
10+
board: esp32dev
11+
framework:
12+
type: esp-idf
13+
14+
# Enable logging
15+
logger:
16+
baud_rate: 115200
17+
level: INFO
18+
logs:
19+
component: ERROR
20+
light: ERROR
21+
22+
# Enable Home Assistant API
23+
api:
24+
encryption:
25+
key: !secret api_encryption_key
26+
27+
# Enable over-the-air updates
28+
ota:
29+
- platform: esphome
30+
password: !secret solar_router_ota_password
31+
32+
# Enable improv serial
33+
improv_serial:
34+
35+
# WiFi connection
36+
wifi:
37+
ssid: !secret wifi_ssid
38+
password: !secret wifi_password
39+
# If you have a WiFi activity plannification, you may have to update the reboot timeout (Default: 15min)
40+
reboot_timeout: 24h
41+
42+
# Activate web interface
43+
web_server:
44+
port: 80
45+
46+
# Define watchdog time (it should be greater than timeout)
47+
http_request:
48+
watchdog_timeout: 12s
49+
50+
# ----------------------------------------------------------------------------------------------------
51+
# Customisation
52+
# ----------------------------------------------------------------------------------------------------
53+
packages:
54+
solar_router:
55+
url: https://github.com/XavierBerger/Solar-Router-for-ESPHome/
56+
ref: main
57+
refresh: 1d
58+
files:
59+
- path: solar_router/common.yaml
60+
- path: solar_router/power_meter_fronius.yaml
61+
vars:
62+
power_meter_ip_address: "192.168.1.21"
63+
- path: solar_router/regulator_triac.yaml
64+
vars:
65+
regulator_gate_pin: GPIO22
66+
regulator_zero_crossing_pin: GPIO23
67+
- path: solar_router/engine_1dimmer.yaml
68+
vars:
69+
green_led_pin: GPIO19
70+
yellow_led_pin: GPIO18

mkdocs.yml

Lines changed: 110 additions & 113 deletions
Original file line numberDiff line numberDiff line change
@@ -5,122 +5,119 @@ edit_uri: ""
55
copyright: © Copyright Xavier Berger - 2024-2025
66

77
nav:
8-
- Home: index.md
9-
- Disclamer: disclamer.md
10-
- Solar Router / Diverter: solar_router.md
11-
- Hardware: hardware.md
12-
- Firmware:
13-
- Overview: firmware.md
14-
- Installation: installation.md
15-
- Usage Examples:
16-
- Standalone: example_standalone.md
17-
- With proxy: example_proxy.md
18-
- JSY-MK-194T: jsy-mk-194t.md
19-
- Power Meter:
20-
- Overview: power_meter.md
21-
- Fronius: power_meter_fronius.md
22-
- Home Assistant: power_meter_home_assistant.md
23-
- JSY-MK-194T : power_meter_jsy-mk-194t.md
24-
- Proxy client: power_meter_proxy_client.md
25-
- Shelly EM: power_meter_shelly_em.md
26-
- Regulator:
27-
- Triac: regulator_triac.md
28-
- Solid State Relay: regulator_solid_state_relay.md
29-
- Mecanical relay: regulator_mecanical_relay.md
30-
- Engine:
31-
- Overview: engine.md
32-
- 1 x dimmer: engine_1dimmer.md
33-
- 1 x dimmer + bypass: engine_1dimmer_1bypass.md
34-
- 1 x dimmer + 2 x switches: engine_1dimmer_2switches.md
35-
- 1 x dimmer + 2 x switches + bypass: engine_1dimmer_2switches_1bypass.md
36-
- 1 x switch: engine_1switch.md
37-
- Energy Counter:
38-
- Theorical: energy_counter_theorical.md
39-
- JSY-MK-194T : energy_counter_jsy-mk-194t.md
40-
- Temperature limiter:
41-
- Overview: temperature_limiter.md
42-
- Home Assistant: temperature_limiter_home_assistant.md
43-
- DS18B20: temperature_limiter_DS18B20.md
44-
- Scheduler:
45-
- Overview: scheduler.md
46-
- Forced Run: scheduler_forced_run.md
47-
- Home Assistant:
48-
- Recorder configuration: recorder_configuration.md
49-
- Debug sensors: debug_sensors.md
50-
- About:
51-
- ChangeLog: changelog.md
52-
- License: license.md
53-
- Contributing: contributing.md
54-
- Alternatives: alternatives.md
55-
- About the project: about.md
56-
8+
- Home: index.md
9+
- Disclamer: disclamer.md
10+
- Solar Router / Diverter: solar_router.md
11+
- Hardware: hardware.md
12+
- Firmware:
13+
- Overview: firmware.md
14+
- Installation: installation.md
15+
- Usage Examples:
16+
- Standalone: example_standalone.md
17+
- With proxy: example_proxy.md
18+
- JSY-MK-194T: jsy-mk-194t.md
19+
- Power Meter:
20+
- Overview: power_meter.md
21+
- Fronius: power_meter_fronius.md
22+
- Home Assistant: power_meter_home_assistant.md
23+
- JSY-MK-194T: power_meter_jsy-mk-194t.md
24+
- Proxy client: power_meter_proxy_client.md
25+
- Shelly EM: power_meter_shelly_em.md
26+
- Regulator:
27+
- Triac: regulator_triac.md
28+
- Solid State Relay: regulator_solid_state_relay.md
29+
- Mecanical relay: regulator_mecanical_relay.md
30+
- Engine:
31+
- Overview: engine.md
32+
- 1 x dimmer: engine_1dimmer.md
33+
- 1 x dimmer + bypass: engine_1dimmer_1bypass.md
34+
- 1 x dimmer + 2 x switches: engine_1dimmer_2switches.md
35+
- 1 x dimmer + 2 x switches + bypass: engine_1dimmer_2switches_1bypass.md
36+
- 1 x switch: engine_1switch.md
37+
- Energy Counter:
38+
- Theorical: energy_counter_theorical.md
39+
- JSY-MK-194T: energy_counter_jsy-mk-194t.md
40+
- Temperature limiter:
41+
- Overview: temperature_limiter.md
42+
- Home Assistant: temperature_limiter_home_assistant.md
43+
- DS18B20: temperature_limiter_DS18B20.md
44+
- Scheduler:
45+
- Overview: scheduler.md
46+
- Forced Run: scheduler_forced_run.md
47+
- Home Assistant:
48+
- Recorder configuration: recorder_configuration.md
49+
- Debug sensors: debug_sensors.md
50+
- About:
51+
- ChangeLog: changelog.md
52+
- License: license.md
53+
- Contributing: contributing.md
54+
- Alternatives: alternatives.md
55+
- About the project: about.md
5756

5857
theme:
59-
name: material
60-
features:
61-
- tabs
62-
- content.code.copy
63-
font:
64-
text: Ubuntu
65-
code: Ubuntu Mono
58+
name: material
59+
features:
60+
- tabs
61+
- content.code.copy
62+
font:
63+
text: Ubuntu
64+
code: Ubuntu Mono
6665

6766
markdown_extensions:
68-
- markdown.extensions.admonition
69-
- markdown.extensions.toc:
70-
permalink: true
71-
- pymdownx.details
72-
- pymdownx.snippets:
73-
check_paths: true
74-
- pymdownx.highlight:
75-
anchor_linenums: true
76-
line_spans: __span
77-
pygments_lang_class: true
78-
- pymdownx.inlinehilite
79-
- pymdownx.superfences
80-
- attr_list
81-
- md_in_html
67+
- markdown.extensions.admonition
68+
- markdown.extensions.toc:
69+
permalink: true
70+
- pymdownx.details
71+
- pymdownx.snippets:
72+
check_paths: true
73+
- pymdownx.highlight:
74+
anchor_linenums: true
75+
line_spans: __span
76+
pygments_lang_class: true
77+
- pymdownx.inlinehilite
78+
- pymdownx.superfences
79+
- attr_list
80+
- md_in_html
8281

8382
plugins:
84-
- i18n:
85-
docs_structure: folder
86-
reconfigure_material: true
87-
reconfigure_search: true
88-
languages:
89-
- locale: en
90-
default: true
91-
name: 🇬🇧 English
92-
build: true
93-
link: /Solar-Router-for-ESPHome/
94-
- locale: fr
95-
name: 🇫🇷 Français
96-
build: true
97-
link: /Solar-Router-for-ESPHome/fr/
98-
nav_translations:
99-
About: A propos
100-
Alternatives: Alternatives
101-
Contributing: Contribution
102-
Disclamer: Avertissement
103-
Energy Counter: Compteur d'énergie
104-
Usage Examples: Exemples d'utilisation
105-
Hardware: Materiel
106-
Home: Accueil
107-
License: Licence
108-
Mecanical relay: Relais mécanique
109-
ON/OFF regulation: Regulation tout ou rien
110-
Overview: Aperçu
111-
Progressive regulation: Régulation progressive
112-
Proxy client: Client proxy
113-
Recorder configuration: Configuration des recorder
114-
Scheduler: Plannificateur
115-
Solar Router / Diverter: Routeur solaire
116-
Standalone: Routeur autonome
117-
Temperature Limiter: Limiteur de température
118-
Theorical: Théorique
119-
With proxy: Router utilisant un proxy
120-
- search
121-
- minify:
122-
minify_html: true
123-
- git-revision-date-localized:
124-
type: datetime
125-
- glightbox
126-
- include-markdown
83+
- i18n:
84+
docs_structure: folder
85+
reconfigure_material: true
86+
reconfigure_search: true
87+
languages:
88+
- locale: en
89+
default: true
90+
name: 🇬🇧 English
91+
build: true
92+
link: /Solar-Router-for-ESPHome/
93+
- locale: fr
94+
name: 🇫🇷 Français
95+
build: true
96+
link: /Solar-Router-for-ESPHome/fr/
97+
nav_translations:
98+
About: A propos
99+
Alternatives: Alternatives
100+
Contributing: Contribution
101+
Disclamer: Avertissement
102+
Energy Counter: Compteur d'énergie
103+
Usage Examples: Exemples d'utilisation
104+
Hardware: Materiel
105+
Home: Accueil
106+
License: Licence
107+
Mecanical relay: Relais mécanique
108+
ON/OFF regulation: Regulation tout ou rien
109+
Overview: Aperçu
110+
Progressive regulation: Régulation progressive
111+
Proxy client: Client proxy
112+
Recorder configuration: Configuration des recorder
113+
Scheduler: Plannificateur
114+
Solar Router / Diverter: Routeur solaire
115+
Standalone: Routeur autonome
116+
Temperature Limiter: Limiteur de température
117+
Theorical: Théorique
118+
With proxy: Router utilisant un proxy
119+
- search
120+
- minify:
121+
minify_html: true
122+
- glightbox
123+
- include-markdown

requirements.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
esphome==2026.1.3
22
mkdocs==1.6.1
3-
mkdocs-git-revision-date-localized-plugin==1.5.1
43
mkdocs-glightbox==0.5.2
54
mkdocs-include-markdown-plugin==7.2.1
65
mkdocs-material==9.7.1

0 commit comments

Comments
 (0)