gitextract_34si2la9/ ├── .github/ │ └── FUNDING.yml ├── .gitignore ├── LICENSE ├── README.md ├── assets/ │ ├── index-BhclUVWI.js │ └── index-DG4tEwHR.css ├── brainslug-tools/ │ ├── eslint.config.js │ ├── index.html │ ├── package.json │ ├── src/ │ │ ├── App.css │ │ ├── App.tsx │ │ ├── components/ │ │ │ ├── header.scss │ │ │ └── header.tsx │ │ ├── index.css │ │ ├── logic/ │ │ │ ├── connect.ts │ │ │ ├── parser.ts │ │ │ └── robot.ts │ │ ├── main.tsx │ │ └── pages/ │ │ ├── flasher.scss │ │ ├── flasher.tsx │ │ ├── ha-config.scss │ │ ├── ha-config.tsx │ │ ├── home.scss │ │ ├── home.tsx │ │ ├── robot.scss │ │ ├── robot.tsx │ │ ├── unsupported.scss │ │ └── unsupported.tsx │ ├── tsconfig.app.json │ ├── tsconfig.json │ ├── tsconfig.node.json │ └── vite.config.ts ├── build/ │ ├── build.sh │ ├── dev.sh │ ├── docker-compose.yml │ └── new-version.md ├── config/ │ ├── .gitignore │ ├── boards/ │ │ ├── esp32.yaml │ │ ├── esp32c3.yaml │ │ ├── esp32c6.yaml │ │ ├── esp32s2.yaml │ │ └── esp32s3.yaml │ ├── comp/ │ │ ├── gen2.yaml │ │ ├── gen3.yaml │ │ ├── ha.yaml │ │ ├── no-ha.yaml │ │ ├── ros.yaml │ │ └── webserver.yaml │ ├── home-assistant/ │ │ ├── gen2-card.yaml │ │ ├── gen2-entity.yaml │ │ ├── gen3-entity.yaml │ │ └── gen3_card.yaml │ ├── js/ │ │ ├── 1.2.1.js │ │ └── 1.2.js │ ├── local.yaml │ ├── prebuilt/ │ │ ├── .gitignore │ │ ├── gen2-esp32.yaml │ │ ├── gen2-esp32c3.yaml │ │ ├── gen2-esp32c6.yaml │ │ ├── gen2-esp32s3.yaml │ │ ├── gen3-esp32.yaml │ │ ├── gen3-esp32c3.yaml │ │ ├── gen3-esp32c6.yaml │ │ └── gen3-esp32s3.yaml │ └── remote.yaml ├── docs/ │ ├── 404.html │ ├── CNAME │ ├── assets/ │ │ ├── esp32-DR_yen0A.js │ │ ├── esp32c2-CIvS3qc5.js │ │ ├── esp32c3-nJJ15ppW.js │ │ ├── esp32c5-DbWg37P4.js │ │ ├── esp32c6-snJpA5DJ.js │ │ ├── esp32c61-DUe22z0I.js │ │ ├── esp32h2-CCGwb3vw.js │ │ ├── esp32p4-BE8Lllij.js │ │ ├── esp32s2-klISvvyE.js │ │ ├── esp32s3-CjJ5O_5u.js │ │ ├── esp8266-BCrKhPpV.js │ │ ├── index-C3ZwmNhv.css │ │ ├── index-CCRny9cW.js │ │ ├── install-dialog-nQsOFibo.js │ │ ├── no-port-picked-DMlthFiI.js │ │ ├── rom-D7P4LvQr.js │ │ ├── stub_flasher_32-DMOwp-H2.js │ │ ├── stub_flasher_32c2-BglC1CA-.js │ │ ├── stub_flasher_32c3-DVjTuHxm.js │ │ ├── stub_flasher_32c5-Bw4Gkysk.js │ │ ├── stub_flasher_32c6-Bdx7wUin.js │ │ ├── stub_flasher_32c61-U7D4krFy.js │ │ ├── stub_flasher_32h2-wrcmrOHl.js │ │ ├── stub_flasher_32p4-Q6hgNTYb.js │ │ ├── stub_flasher_32s2-CjuleYts.js │ │ ├── stub_flasher_32s3-Bz348Cp3.js │ │ ├── stub_flasher_8266-BdPZCml8.js │ │ └── styles-Bnf3HqYs.js │ └── index.html ├── faq.md ├── ha-images.md ├── install-esp-device-gen2.md ├── install-esp-device-gen3.md ├── install-ha.md ├── install-no-ha.md ├── manual.md ├── research/ │ ├── all_errors_alerts_states.3.2.0.md │ ├── command-experiments.md │ ├── command_mapping.md │ ├── findings.md │ ├── gen4/ │ │ ├── nmap-D8.md │ │ └── serial-D8.md │ ├── hidden-commands.md │ ├── serial.md │ └── setup-network.md ├── status.md ├── supported-esp32.md └── webserver/ ├── .prettierrc.json ├── LICENSE ├── README.md ├── package.json ├── packages/ │ └── neato/ │ ├── index.html │ ├── package.json │ ├── selector.html │ ├── src/ │ │ ├── api.ts │ │ ├── css/ │ │ │ ├── app.ts │ │ │ ├── button.ts │ │ │ ├── esp-entity-table.ts │ │ │ ├── input.ts │ │ │ ├── reset.ts │ │ │ └── tab.ts │ │ ├── custom-button.ts │ │ ├── custom-table.ts │ │ ├── entity-store.ts │ │ ├── esp-app.ts │ │ ├── esp-log.ts │ │ ├── esp-range-slider.ts │ │ ├── esp-schedule.ts │ │ ├── esp-switch.ts │ │ ├── main.css │ │ ├── main.ts │ │ ├── manual-driving.ts │ │ ├── neato-entry.ts │ │ ├── neato-enums.ts │ │ ├── timezone-selector.ts │ │ ├── types.d.ts │ │ └── utils.ts │ └── vite.config.ts └── tsconfig.json