Webduino Remote is a static, browser-run universal remote for Webduino IoT devices. There is no build step. Open index.html or index-en.html directly in a browser and use DevTools to inspect runtime behavior and MQTT traffic.
index.html+js/main.js: Traditional Chinese UI and behavior.index-en.html+js/main-en.js: English UI and behavior.css/main.css: Shared layout and styling for both entry pages.js/common.js: Shared?type=kebbi/?type=aicarimage-mode switch.media/: Shared static assets used by both pages.js/mqttClient.min.js,js/paho-mqtt-min.js,js/clipboard.min.js,js/firebase.js: Minified/vendor-style files. Avoid editing them unless the task explicitly requires it. Do not read all ofjs/firebase.jsunless necessary.
- Keep the Chinese and English experiences functionally aligned. If you change shared behavior, update both
js/main.jsandjs/main-en.jsunless the difference is intentionally language-specific. - Preserve language-specific text and storage keys: Chinese uses
kebbiMobileData, English useskebbiMobileEnData. - Preserve configuration precedence unless the task explicitly changes it: defaults in
list, thenlocalStorage, then query params, then Firebase data from the URL hash. - Preserve MQTT behavior unless asked otherwise: send on
topic1, listen ontopic2, and keep reconnect-related behavior intact. - Reuse existing vanilla JS patterns. Do not introduce frameworks, bundlers, or a build pipeline for routine changes.
- Format with
npx prettier --write "**/*.{js,html,css,json}". - Validate changes in a browser by checking:
- joystick mode and ten-button mode switching
- settings save/load behavior
- query-string overrides
?type=kebbi/?type=aicarrendering