Skip to content

Commit

Permalink
Prepare release
Browse files Browse the repository at this point in the history
  • Loading branch information
balloob committed Jun 4, 2021
1 parent e20c21b commit 7cf91fa
Show file tree
Hide file tree
Showing 6 changed files with 79 additions and 19 deletions.
3 changes: 3 additions & 0 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
index.html
firmware_build
demo
85 changes: 71 additions & 14 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,29 +1,27 @@
<html>
<head>
<title>ESPHome Web</title>
<title>ESP Web Tools</title>
<style>
body {
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI",
Roboto, Ubuntu, sans-serif;
padding: 0;
margin: 0;
line-height: 1.4;
}
.content {
max-width: 600px;
margin: 0 auto;
padding: 12px;
}
esphome-web-flash-button {
esp-web-flash-button {
display: inline-block;
margin-bottom: 8px;
}
a {
color: #03a9f4;
}
</style>
</head>
<body>
<p>ESPHome Web is a set of tools to allow working with ESP devices in the browser.</p>
<p>To flash the ESPHome firmware, connect an ESP to your computer and hit the button:</p>
<esp-web-install-button
manifest="firmware_build/manifest.json"
></esp-web-install-button>
<p><i>Note, this only works in desktop Chrome and Edge. Android support has not been implemented yet.</i></div>
<p>
This works by combining Web Serial with a <a href="firmware_build/manifest.json">manifest</a> which describes the firmware. It will automatically detect the type of the connected ESP device and find the right firmware files in the manifest.
</p>
<script module>
import(
// In development we import locally.
Expand All @@ -32,6 +30,65 @@
: "https://unpkg.com/[email protected]/dist/web/install-button.js?module"
);
</script>
<script src="./dist/web/install-button.js" type="module"></script>
</head>
<body>
<div class="content">
<h1>ESP Web Tools</h1>
<p>
ESP Web Tools is a set of tools to allow working with ESP devices in the
browser.
</p>
<p>
To flash the ESPHome firmware, connect an ESP to your computer and hit
the button:
</p>
<esp-web-install-button
manifest="firmware_build/manifest.json"
></esp-web-install-button>
<p>
<i
>Note, this only works in desktop Chrome and Edge. Android support has
not been implemented yet.</i
>
</p>
<p>
This works by combining Web Serial with a
<a href="firmware_build/manifest.json">manifest</a> which describes the
firmware. It will automatically detect the type of the connected ESP
device and find the right firmware files in the manifest.
</p>
<p>
To add this to your own website, create a manifest and add the button
pointing at it to your website:
</p>
<pre>
&lt;script
type="module"
src="https://unpkg.com/[email protected]/dist/web/install-button.js?module"
>&lt;/script>

&lt;esp-web-install-button
manifest="firmware_build/manifest.json"
>&lt;/esp-web-install-button></pre
>
<p>
Add the attribute <code>erase-first</code> if you want to first fully
erase the ESP prior to installation.
</p>
<p>
Customize the button or unsupported message by using the
<code>activate</code> and <code>unsupported</code> slots:
</p>
<pre>
&lt;esp-web-install-button
manifest="firmware_build/manifest.json"
erase-first
>
&lt;button slot="activate">Custom install button&lt;/button>
&lt;span slot="unsupported">Ah snap, your browser doesn't work!&lt;/span>
&lt;/esp-web-install-button>
</pre
>
</div>
</body>
</html>
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esp-web-tools",
"version": "0.0.1",
"version": "1.0.0",
"description": "Web tools for ESP devices",
"main": "dist/install-button.js",
"repository": "https://github.com/esphome/web",
Expand Down
4 changes: 2 additions & 2 deletions src/flash-log.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ interface Row {
action?: boolean;
}

@customElement("esphome-web-flash-log")
@customElement("esp-web-flash-log")
class FlashLog extends LitElement {
@state() _rows: Row[] = [];

Expand Down Expand Up @@ -97,6 +97,6 @@ class FlashLog extends LitElement {

declare global {
interface HTMLElementTagNameMap {
"esphome-web-flash-log": FlashLog;
"esp-web-flash-log": FlashLog;
}
}
2 changes: 1 addition & 1 deletion src/start-flash.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ export const startFlash = async (
// For debugging
(window as any).esploader = esploader;

const logEl = document.createElement("esphome-web-flash-log");
const logEl = document.createElement("esp-web-flash-log");
// logEl.esploader = esploader;
logEl.addRow({ id: "initializing", content: "Initializing..." });
logParent.append(logEl);
Expand Down

0 comments on commit 7cf91fa

Please sign in to comment.