forked from tasmota/install
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
180 lines (177 loc) · 12.6 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
<!DOCTYPE html>
<html lang="en" class="">
<head>
<meta charset='utf-8'>
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no"/>
<title>Install Tasmota</title>
<style>
div,fieldset,input,select{padding:5px;font-size:1em;}
fieldset{background:#4f4f4f;}
p{margin:0.5em 0;}
input{width:100%;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;background:#dddddd;color:#000000;}
input[type=checkbox],input[type=radio]{width:1em;margin-right:6px;vertical-align:-1px;}
input[type=range]{width:99%;}
select{width:100%;background:#dddddd;color:#000000;}
textarea{resize:vertical;width:98%;height:318px;padding:5px;overflow:auto;background:#1f1f1f;color:#65c115;}
body{text-align:center;font-family:verdana,sans-serif;background:#252525;}
td{padding:0px;}
button{border:0;border-radius:0.3rem;background:#1fa3ec;color:#faffff;line-height:2.4rem;font-size:1.2rem;width:100%;-webkit-transition-duration:0.4s;transition-duration:0.4s;cursor:pointer;}
button:hover{background:#0e70a4;}
.bred{background:#d43535;}
.bred:hover{background:#931f1f;}
.bgrn{background:#47c266;}
.bgrn:hover{background:#5aaf6f;}
a{color:#1fa3ec;text-decoration:none;}
.p{float:left;text-align:left;}
.q{float:right;text-align:right;}
.r{border-radius:0.3em;padding:2px;margin:6px 2px;}
.pick-variant{margin-bottom:16px;}
</style>
<script
type="module"
src="https://unpkg.com/[email protected]/dist/web/install-button.js?module"
></script>
</head>
<body>
<div style='display:inline-block;color:#eaeaea;min-width:340px;'>
<h1>Install Tasmota</h1>
<div class="pick-variant">
<ol style='text-align:left'>
<li>Connect the ESP device to your computer</br>using USB or serial-to-USB adapter</li></br>
<li>Select the firmware variant suitable for</br>your device</li></br>
<li>Hit "Install" and select the correct port</br>or find help if <a href="https://tasmota.github.io/docs/Getting-Started/" target='_blank' style='color:#aaa;'>no device found</a></li>
</ol>
</br>
<select>
<optgroup label="Release">
<option value="manifest/release.tasmota.manifest.json">Tasmota</option>
<option value="manifest/release.tasmota-display.manifest.json">Tasmota Display</option>
<option value="manifest/release.tasmota-ir.manifest.json">Tasmota Infra Red</option>
<option value="manifest/release.tasmota-lite.manifest.json">Tasmota Lite</option>
<option value="manifest/release.tasmota-sensors.manifest.json">Tasmota Sensors</option>
<option value="manifest/release.tasmota-knx.manifest.json">Tasmota KNX</option>
<option value="manifest/release.tasmota-zbbridge.manifest.json">Tasmota Zigbee Bridge (Sonoff)</option>
<option value="manifest/release.tasmota-zigbee.manifest.json">Tasmota Zigbee</option>
<option value="manifest/release.tasmota-AF.manifest.json">Tasmota (Afrikaans)</option>
<option value="manifest/release.tasmota-BG.manifest.json">Tasmota (Bulgarian)</option>
<option value="manifest/release.tasmota-CN.manifest.json">Tasmota (Chinese - China)</option>
<option value="manifest/release.tasmota-TW.manifest.json">Tasmota (Chinese - Taiwan)</option>
<option value="manifest/release.tasmota-CZ.manifest.json">Tasmota (Czech)</option>
<option value="manifest/release.tasmota-NL.manifest.json">Tasmota (Dutch)</option>
<option value="manifest/release.tasmota-FR.manifest.json">Tasmota (French)</option>
<option value="manifest/release.tasmota-FY.manifest.json">Tasmota (Frysk)</option>
<option value="manifest/release.tasmota-DE.manifest.json">Tasmota (German)</option>
<option value="manifest/release.tasmota-GR.manifest.json">Tasmota (Greek)</option>
<option value="manifest/release.tasmota-HE.manifest.json">Tasmota (Hebrew)</option>
<option value="manifest/release.tasmota-HU.manifest.json">Tasmota (Hungarian)</option>
<option value="manifest/release.tasmota-IT.manifest.json">Tasmota (Italian)</option>
<option value="manifest/release.tasmota-KO.manifest.json">Tasmota (Korean)</option>
<option value="manifest/release.tasmota-PL.manifest.json">Tasmota (Polish)</option>
<option value="manifest/release.tasmota-PT.manifest.json">Tasmota (Portuguese)</option>
<option value="manifest/release.tasmota-BR.manifest.json">Tasmota (Portuguese - Brazil)</option>
<option value="manifest/release.tasmota-RO.manifest.json">Tasmota (Romanian)</option>
<option value="manifest/release.tasmota-RU.manifest.json">Tasmota (Russian)</option>
<option value="manifest/release.tasmota-SK.manifest.json">Tasmota (Slovak)</option>
<option value="manifest/release.tasmota-ES.manifest.json">Tasmota (Spanish)</option>
<option value="manifest/release.tasmota-SE.manifest.json">Tasmota (Swedish)</option>
<option value="manifest/release.tasmota-TR.manifest.json">Tasmota (Turkish)</option>
<option value="manifest/release.tasmota-UK.manifest.json">Tasmota (Ukrainian)</option>
<option value="manifest/release.tasmota-VN.manifest.json">Tasmota (Vietnamese)</option>
<option value="manifest/release.tasmota32solo1.manifest.json">Tasmota32 Solo1</option>
<option value="manifest/release.tasmota32-lvgl.manifest.json">Tasmota32 LVGL</option>
<option value="manifest/release.tasmota32-webcam.manifest.json">Tasmota32 WebCam</option>
<option value="manifest/release.tasmota32-bluetooth.manifest.json">Tasmota32 Bluetooth</option>
<option value="manifest/release.tasmota32-core2.manifest.json">Tasmota32 M5 Stack Core2</option>
<option value="manifest/release.tasmota32-odroidgo.manifest.json">Tasmota32 Odroid-Go</option>
</optgroup>
<optgroup label="Development">
<option value="manifest/development.tasmota.manifest.json">Tasmota</option>
<option value="manifest/development.tasmota-display.manifest.json">Tasmota Display</option>
<option value="manifest/development.tasmota-ir.manifest.json">Tasmota Infra Red</option>
<option value="manifest/development.tasmota-lite.manifest.json">Tasmota Lite</option>
<option value="manifest/development.tasmota-sensors.manifest.json">Tasmota Sensors</option>
<option value="manifest/development.tasmota-knx.manifest.json">Tasmota KNX</option>
<option value="manifest/development.tasmota-zbbridge.manifest.json">Tasmota Zigbee Bridge (Sonoff)</option>
<option value="manifest/development.tasmota-zigbee.manifest.json">Tasmota Zigbee</option>
<option value="manifest/development.tasmota-AF.manifest.json">Tasmota (Afrikaans)</option>
<option value="manifest/development.tasmota-BG.manifest.json">Tasmota (Bulgarian)</option>
<option value="manifest/development.tasmota-CN.manifest.json">Tasmota (Chinese - China)</option>
<option value="manifest/development.tasmota-TW.manifest.json">Tasmota (Chinese - Taiwan)</option>
<option value="manifest/development.tasmota-CZ.manifest.json">Tasmota (Czech)</option>
<option value="manifest/development.tasmota-NL.manifest.json">Tasmota (Dutch)</option>
<option value="manifest/development.tasmota-FR.manifest.json">Tasmota (French)</option>
<option value="manifest/development.tasmota-FY.manifest.json">Tasmota (Frysk)</option>
<option value="manifest/development.tasmota-DE.manifest.json">Tasmota (German)</option>
<option value="manifest/development.tasmota-GR.manifest.json">Tasmota (Greek)</option>
<option value="manifest/development.tasmota-HE.manifest.json">Tasmota (Hebrew)</option>
<option value="manifest/development.tasmota-HU.manifest.json">Tasmota (Hungarian)</option>
<option value="manifest/development.tasmota-IT.manifest.json">Tasmota (Italian)</option>
<option value="manifest/development.tasmota-KO.manifest.json">Tasmota (Korean)</option>
<option value="manifest/development.tasmota-PL.manifest.json">Tasmota (Polish)</option>
<option value="manifest/development.tasmota-PT.manifest.json">Tasmota (Portuguese)</option>
<option value="manifest/development.tasmota-BR.manifest.json">Tasmota (Portuguese - Brazil)</option>
<option value="manifest/development.tasmota-RO.manifest.json">Tasmota (Romanian)</option>
<option value="manifest/development.tasmota-RU.manifest.json">Tasmota (Russian)</option>
<option value="manifest/development.tasmota-SK.manifest.json">Tasmota (Slovak)</option>
<option value="manifest/development.tasmota-ES.manifest.json">Tasmota (Spanish)</option>
<option value="manifest/development.tasmota-SE.manifest.json">Tasmota (Swedish)</option>
<option value="manifest/development.tasmota-TR.manifest.json">Tasmota (Turkish)</option>
<option value="manifest/development.tasmota-UK.manifest.json">Tasmota (Ukrainian)</option>
<option value="manifest/development.tasmota-VN.manifest.json">Tasmota (Vietnamese)</option>
<option value="manifest/development.tasmota32solo1.manifest.json">Tasmota32 Solo1</option>
<option value="manifest/development.tasmota32-lvgl.manifest.json">Tasmota32 LVGL</option>
<option value="manifest/development.tasmota32-webcam.manifest.json">Tasmota32 WebCam</option>
<option value="manifest/development.tasmota32-bluetooth.manifest.json">Tasmota32 Bluetooth</option>
<option value="manifest/development.tasmota32-core2.manifest.json">Tasmota32 M5 Stack Core2</option>
<option value="manifest/development.tasmota32-odroidgo.manifest.json">Tasmota32 Odroid-Go</option>
</optgroup>
<optgroup label="Special">
<option value="manifest/unofficial.tasmota-tls.manifest.json">Tasmota TLS</option>
<option value="manifest/unofficial.tasmota-fullrules.manifest.json">Tasmota Fullrules</option>
<option value="manifest/unofficial.tasmota-scripting.manifest.json">Tasmota Scripting</option>
<option value="manifest/unofficial.tasmota-thermostat.manifest.json">Tasmota Thermostat</option>
<option value="manifest/unofficial.tasmota-battery.manifest.json">Tasmota Battery</option>
<option value="manifest/unofficial.tasmota-gps.manifest.json">Tasmota GPS</option>
<option value="manifest/unofficial.tasmota-rangeextender.manifest.json">Tasmota Rangeextender</option>
<option value="manifest/unofficial.tasmota-mega.manifest.json">Tasmota Mega</option>
<option value="manifest/unofficial.tasmota-allsensors.manifest.json">Tasmota Allsensors</option>
<option value="manifest/unofficial.tasmota-platinum.manifest.json">Tasmota Platinum</option>
<option value="manifest/unofficial.tasmota-minicustom.manifest.json">Tasmota Minicustom</option>
<option value="manifest/unofficial.tasmota32-udisplay.manifest.json">Tasmota32 Udisplay</option>
<option value="manifest/unofficial.tasmota32-zigbee.manifest.json">Tasmota32 Zigbee</option>
<option value="manifest/unofficial.tasmota32c3.manifest.json">Tasmota32-C3 4M Flash</option>
<option value="manifest/unofficial.tasmota32c3_2M.manifest.json">Tasmota32-C3 2M Flash</option>
<option value="manifest/unofficial.tasmota32s2.manifest.json">Tasmota32-S2</option>
</optgroup>
</select>
</br></br>
<p>
<input type="checkbox" id="erase" name="erase" onchange="toggleErase()">
<label for="erase">Reset settings to default</label>
</p>
</br>
<p>
<esp-web-install-button id="inst"></esp-web-install-button>
</p>
</div>
<div style='text-align:right;font-size:11px;'>
<hr/>
<a href="https://esphome.github.io/esp-web-tools/" target='_blank' style='color:#aaa;'>Tasmota Installer powered by ESP Web Tools</a>
</div>
<script>
const selectEl = document.querySelector(".pick-variant select");
const installEl = document.querySelector("esp-web-install-button");
installEl.manifest = selectEl.value;
selectEl.addEventListener("change", () => {
installEl.manifest = selectEl.value;
});
function toggleErase() {
if (document.getElementById('erase').checked) {
document.getElementById('inst').setAttribute('erase-first','');
} else {
document.getElementById('inst').removeAttribute('erase-first');
}
}
</script>
</body>
</html>