Use CSS style to report colors to MQTT and REST API. Red will be reported as "#FF0000" if ON, otherwise "255,0,0"
diff --git a/code/html/vendor/pure-1.0.0.min.css b/code/html/vendor/pure-1.0.0.min.css
index e3ddfbf0..b51d749e 100644
--- a/code/html/vendor/pure-1.0.0.min.css
+++ b/code/html/vendor/pure-1.0.0.min.css
@@ -2,10 +2,10 @@
Pure v1.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
-https://github.com/yahoo/pure/blob/master/LICENSE.md
+https://github.com/pure-css/pure/blob/master/LICENSE.md
*/
/*!
normalize.css v^3.0 | MIT License | git.io/normalize
Copyright (c) Nicolas Gallagher and Jonathan Neal
*/
-/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */.pure-button:focus,a:active,a:hover{outline:0}.pure-table,table{border-collapse:collapse;border-spacing:0}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}.pure-button,input{line-height:normal}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}.pure-button,.pure-form input:not([type]),.pure-menu{box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend,td,th{padding:0}legend{border:0}.hidden,[hidden]{display:none!important}.pure-img{max-width:100%;height:auto;display:block}.pure-g{letter-spacing:-.31em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){table .pure-g{display:block}}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u,.pure-u-1,.pure-u-1-1,.pure-u-1-12,.pure-u-1-2,.pure-u-1-24,.pure-u-1-3,.pure-u-1-4,.pure-u-1-5,.pure-u-1-6,.pure-u-1-8,.pure-u-10-24,.pure-u-11-12,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-2-24,.pure-u-2-3,.pure-u-2-5,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24,.pure-u-3-24,.pure-u-3-4,.pure-u-3-5,.pure-u-3-8,.pure-u-4-24,.pure-u-4-5,.pure-u-5-12,.pure-u-5-24,.pure-u-5-5,.pure-u-5-6,.pure-u-5-8,.pure-u-6-24,.pure-u-7-12,.pure-u-7-24,.pure-u-7-8,.pure-u-8-24,.pure-u-9-24{letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto;display:inline-block;zoom:1}.pure-g [class*=pure-u]{font-family:sans-serif}.pure-u-1-24{width:4.1667%}.pure-u-1-12,.pure-u-2-24{width:8.3333%}.pure-u-1-8,.pure-u-3-24{width:12.5%}.pure-u-1-6,.pure-u-4-24{width:16.6667%}.pure-u-1-5{width:20%}.pure-u-5-24{width:20.8333%}.pure-u-1-4,.pure-u-6-24{width:25%}.pure-u-7-24{width:29.1667%}.pure-u-1-3,.pure-u-8-24{width:33.3333%}.pure-u-3-8,.pure-u-9-24{width:37.5%}.pure-u-2-5{width:40%}.pure-u-10-24,.pure-u-5-12{width:41.6667%}.pure-u-11-24{width:45.8333%}.pure-u-1-2,.pure-u-12-24{width:50%}.pure-u-13-24{width:54.1667%}.pure-u-14-24,.pure-u-7-12{width:58.3333%}.pure-u-3-5{width:60%}.pure-u-15-24,.pure-u-5-8{width:62.5%}.pure-u-16-24,.pure-u-2-3{width:66.6667%}.pure-u-17-24{width:70.8333%}.pure-u-18-24,.pure-u-3-4{width:75%}.pure-u-19-24{width:79.1667%}.pure-u-4-5{width:80%}.pure-u-20-24,.pure-u-5-6{width:83.3333%}.pure-u-21-24,.pure-u-7-8{width:87.5%}.pure-u-11-12,.pure-u-22-24{width:91.6667%}.pure-u-23-24{width:95.8333%}.pure-u-1,.pure-u-1-1,.pure-u-24-24,.pure-u-5-5{width:100%}.pure-button{display:inline-block;zoom:1;white-space:nowrap;vertical-align:middle;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button-group{letter-spacing:-.31em;text-rendering:optimizespeed}.opera-only :-o-prefocus,.pure-button-group{word-spacing:-.43em}.pure-button{font-family:inherit;font-size:100%;padding:.5em 1em;color:#444;color:rgba(0,0,0,.8);border:1px solid #999;border:transparent;background-color:#E6E6E6;text-decoration:none;border-radius:2px}.pure-button-hover,.pure-button:focus,.pure-button:hover{filter:alpha(opacity=90);background-image:-webkit-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));background-image:linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1))}.pure-button-active,.pure-button:active{box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset;border-color:#000\9}.pure-button-disabled,.pure-button-disabled:active,.pure-button-disabled:focus,.pure-button-disabled:hover,.pure-button[disabled]{border:none;background-image:none;filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none;pointer-events:none}.pure-button-hidden{display:none}.pure-button-primary,.pure-button-selected,a.pure-button-primary,a.pure-button-selected{background-color:#0078e7;color:#fff}.pure-button-group .pure-button{letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto;margin:0;border-radius:0;border-right:1px solid #111;border-right:1px solid rgba(0,0,0,.2)}.pure-button-group .pure-button:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.pure-button-group .pure-button:last-child{border-top-right-radius:2px;border-bottom-right-radius:2px;border-right:none}.pure-form input[type=password],.pure-form input[type=email],.pure-form input[type=url],.pure-form input[type=date],.pure-form input[type=month],.pure-form input[type=time],.pure-form input[type=datetime],.pure-form input[type=datetime-local],.pure-form input[type=week],.pure-form input[type=tel],.pure-form input[type=color],.pure-form input[type=number],.pure-form input[type=search],.pure-form input[type=text],.pure-form select,.pure-form textarea{padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;vertical-align:middle;box-sizing:border-box}.pure-form input:not([type]){padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px}.pure-form input[type=color]{padding:.2em .5em}.pure-form input:not([type]):focus,.pure-form input[type=password]:focus,.pure-form input[type=email]:focus,.pure-form input[type=url]:focus,.pure-form input[type=date]:focus,.pure-form input[type=month]:focus,.pure-form input[type=time]:focus,.pure-form input[type=datetime]:focus,.pure-form input[type=datetime-local]:focus,.pure-form input[type=week]:focus,.pure-form input[type=tel]:focus,.pure-form input[type=color]:focus,.pure-form input[type=number]:focus,.pure-form input[type=search]:focus,.pure-form input[type=text]:focus,.pure-form select:focus,.pure-form textarea:focus{outline:0;border-color:#129FEA}.pure-form input[type=file]:focus,.pure-form input[type=checkbox]:focus,.pure-form input[type=radio]:focus{outline:#129FEA auto 1px}.pure-form .pure-checkbox,.pure-form .pure-radio{margin:.5em 0;display:block}.pure-form input:not([type])[disabled],.pure-form input[type=password][disabled],.pure-form input[type=email][disabled],.pure-form input[type=url][disabled],.pure-form input[type=date][disabled],.pure-form input[type=month][disabled],.pure-form input[type=time][disabled],.pure-form input[type=datetime][disabled],.pure-form input[type=datetime-local][disabled],.pure-form input[type=week][disabled],.pure-form input[type=tel][disabled],.pure-form input[type=color][disabled],.pure-form input[type=number][disabled],.pure-form input[type=search][disabled],.pure-form input[type=text][disabled],.pure-form select[disabled],.pure-form textarea[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input[readonly],.pure-form select[readonly],.pure-form textarea[readonly]{background-color:#eee;color:#777;border-color:#ccc}.pure-form input:focus:invalid,.pure-form select:focus:invalid,.pure-form textarea:focus:invalid{color:#b94a48;border-color:#e9322d}.pure-form input[type=file]:focus:invalid:focus,.pure-form input[type=checkbox]:focus:invalid:focus,.pure-form input[type=radio]:focus:invalid:focus{outline-color:#e9322d}.pure-form select{height:2.25em;border:1px solid #ccc;background-color:#fff}.pure-form select[multiple]{height:auto}.pure-form label{margin:.5em 0 .2em}.pure-form fieldset{margin:0;padding:.35em 0 .75em;border:0}.pure-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;color:#333;border-bottom:1px solid #e5e5e5}.pure-form-stacked input:not([type]),.pure-form-stacked input[type=password],.pure-form-stacked input[type=email],.pure-form-stacked input[type=url],.pure-form-stacked input[type=date],.pure-form-stacked input[type=month],.pure-form-stacked input[type=time],.pure-form-stacked input[type=datetime],.pure-form-stacked input[type=datetime-local],.pure-form-stacked input[type=week],.pure-form-stacked input[type=tel],.pure-form-stacked input[type=color],.pure-form-stacked input[type=file],.pure-form-stacked input[type=number],.pure-form-stacked input[type=search],.pure-form-stacked input[type=text],.pure-form-stacked label,.pure-form-stacked select,.pure-form-stacked textarea{display:block;margin:.25em 0}.pure-form-aligned .pure-help-inline,.pure-form-aligned input,.pure-form-aligned select,.pure-form-aligned textarea,.pure-form-message-inline{display:inline-block;vertical-align:middle}.pure-form-aligned textarea{vertical-align:top}.pure-form-aligned .pure-control-group{margin-bottom:.5em}.pure-form-aligned .pure-control-group label{text-align:right;display:inline-block;vertical-align:middle;width:10em;margin:0 1em 0 0}.pure-form-aligned .pure-controls{margin:1.5em 0 0 11em}.pure-form .pure-input-rounded,.pure-form input.pure-input-rounded{border-radius:2em;padding:.5em 1em}.pure-form .pure-group fieldset{margin-bottom:10px}.pure-form .pure-group input,.pure-form .pure-group textarea{display:block;padding:10px;margin:0 0 -1px;border-radius:0;position:relative;top:-1px}.pure-form .pure-group input:focus,.pure-form .pure-group textarea:focus{z-index:3}.pure-form .pure-group input:first-child,.pure-form .pure-group textarea:first-child{top:1px;border-radius:4px 4px 0 0;margin:0}.pure-form .pure-group input:first-child:last-child,.pure-form .pure-group textarea:first-child:last-child{top:1px;border-radius:4px;margin:0}.pure-form .pure-group input:last-child,.pure-form .pure-group textarea:last-child{top:-2px;border-radius:0 0 4px 4px;margin:0}.pure-form .pure-group button{margin:.35em 0}.pure-form .pure-input-1{width:100%}.pure-form .pure-input-3-4{width:75%}.pure-form .pure-input-2-3{width:66%}.pure-form .pure-input-1-2{width:50%}.pure-form .pure-input-1-3{width:33%}.pure-form .pure-input-1-4{width:25%}.pure-form .pure-help-inline,.pure-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:.875em}.pure-form-message{display:block;color:#666;font-size:.875em}@media only screen and (max-width :480px){.pure-form button[type=submit]{margin:.7em 0 0}.pure-form input:not([type]),.pure-form input[type=password],.pure-form input[type=email],.pure-form input[type=url],.pure-form input[type=date],.pure-form input[type=month],.pure-form input[type=time],.pure-form input[type=datetime],.pure-form input[type=datetime-local],.pure-form input[type=week],.pure-form input[type=tel],.pure-form input[type=color],.pure-form input[type=number],.pure-form input[type=search],.pure-form input[type=text],.pure-form label{margin-bottom:.3em;display:block}.pure-group input:not([type]),.pure-group input[type=password],.pure-group input[type=email],.pure-group input[type=url],.pure-group input[type=date],.pure-group input[type=month],.pure-group input[type=time],.pure-group input[type=datetime],.pure-group input[type=datetime-local],.pure-group input[type=week],.pure-group input[type=tel],.pure-group input[type=color],.pure-group input[type=number],.pure-group input[type=search],.pure-group input[type=text]{margin-bottom:0}.pure-form-aligned .pure-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.pure-form-aligned .pure-controls{margin:1.5em 0 0}.pure-form .pure-help-inline,.pure-form-message,.pure-form-message-inline{display:block;font-size:.75em;padding:.2em 0 .8em}}.pure-menu-fixed{position:fixed;left:0;top:0;z-index:3}.pure-menu-item,.pure-menu-list{position:relative}.pure-menu-list{list-style:none;margin:0;padding:0}.pure-menu-item{padding:0;margin:0;height:100%}.pure-menu-heading,.pure-menu-link{display:block;text-decoration:none;white-space:nowrap}.pure-menu-horizontal{width:100%;white-space:nowrap}.pure-menu-horizontal .pure-menu-list{display:inline-block}.pure-menu-horizontal .pure-menu-heading,.pure-menu-horizontal .pure-menu-item,.pure-menu-horizontal .pure-menu-separator{display:inline-block;zoom:1;vertical-align:middle}.pure-menu-item .pure-menu-item{display:block}.pure-menu-children{display:none;position:absolute;left:100%;top:0;margin:0;padding:0;z-index:3}.pure-menu-horizontal .pure-menu-children{left:0;top:auto;width:inherit}.pure-menu-active>.pure-menu-children,.pure-menu-allow-hover:hover>.pure-menu-children{display:block;position:absolute}.pure-menu-has-children>.pure-menu-link:after{padding-left:.5em;content:"\25B8";font-size:small}.pure-menu-horizontal .pure-menu-has-children>.pure-menu-link:after{content:"\25BE"}.pure-menu-scrollable{overflow-y:scroll;overflow-x:hidden}.pure-menu-scrollable .pure-menu-list{display:block}.pure-menu-horizontal.pure-menu-scrollable .pure-menu-list{display:inline-block}.pure-menu-horizontal.pure-menu-scrollable{white-space:nowrap;overflow-y:hidden;overflow-x:auto;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;padding:.5em 0}.pure-menu-horizontal.pure-menu-scrollable::-webkit-scrollbar{display:none}.pure-menu-horizontal .pure-menu-children .pure-menu-separator,.pure-menu-separator{background-color:#ccc;height:1px;margin:.3em 0}.pure-menu-horizontal .pure-menu-separator{width:1px;height:1.3em;margin:0 .3em}.pure-menu-horizontal .pure-menu-children .pure-menu-separator{display:block;width:auto}.pure-menu-heading{text-transform:uppercase;color:#565d64}.pure-menu-link{color:#777}.pure-menu-children{background-color:#fff}.pure-menu-disabled,.pure-menu-heading,.pure-menu-link{padding:.5em 1em}.pure-menu-disabled{opacity:.5}.pure-menu-disabled .pure-menu-link:hover{background-color:transparent}.pure-menu-active>.pure-menu-link,.pure-menu-link:focus,.pure-menu-link:hover{background-color:#eee}.pure-menu-selected .pure-menu-link,.pure-menu-selected .pure-menu-link:visited{color:#000}.pure-table{empty-cells:show;border:1px solid #cbcbcb}.pure-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.pure-table td,.pure-table th{border-left:1px solid #cbcbcb;border-width:0 0 0 1px;font-size:inherit;margin:0;overflow:visible;padding:.5em 1em}.pure-table td:first-child,.pure-table th:first-child{border-left-width:0}.pure-table thead{background-color:#e0e0e0;color:#000;text-align:left;vertical-align:bottom}.pure-table td{background-color:transparent}.pure-table-odd td,.pure-table-striped tr:nth-child(2n-1) td{background-color:#f2f2f2}.pure-table-bordered td{border-bottom:1px solid #cbcbcb}.pure-table-bordered tbody>tr:last-child>td{border-bottom-width:0}.pure-table-horizontal td,.pure-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #cbcbcb}.pure-table-horizontal tbody>tr:last-child>td{border-bottom-width:0}
\ No newline at end of file
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.hidden,[hidden]{display:none!important}.pure-img{max-width:100%;height:auto;display:block}.pure-g{letter-spacing:-.31em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){table .pure-g{display:block}}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u{display:inline-block;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class*=pure-u]{font-family:sans-serif}.pure-u-1,.pure-u-1-1,.pure-u-1-12,.pure-u-1-2,.pure-u-1-24,.pure-u-1-3,.pure-u-1-4,.pure-u-1-5,.pure-u-1-6,.pure-u-1-8,.pure-u-10-24,.pure-u-11-12,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-2-24,.pure-u-2-3,.pure-u-2-5,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24,.pure-u-3-24,.pure-u-3-4,.pure-u-3-5,.pure-u-3-8,.pure-u-4-24,.pure-u-4-5,.pure-u-5-12,.pure-u-5-24,.pure-u-5-5,.pure-u-5-6,.pure-u-5-8,.pure-u-6-24,.pure-u-7-12,.pure-u-7-24,.pure-u-7-8,.pure-u-8-24,.pure-u-9-24{display:inline-block;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1-24{width:4.1667%}.pure-u-1-12,.pure-u-2-24{width:8.3333%}.pure-u-1-8,.pure-u-3-24{width:12.5%}.pure-u-1-6,.pure-u-4-24{width:16.6667%}.pure-u-1-5{width:20%}.pure-u-5-24{width:20.8333%}.pure-u-1-4,.pure-u-6-24{width:25%}.pure-u-7-24{width:29.1667%}.pure-u-1-3,.pure-u-8-24{width:33.3333%}.pure-u-3-8,.pure-u-9-24{width:37.5%}.pure-u-2-5{width:40%}.pure-u-10-24,.pure-u-5-12{width:41.6667%}.pure-u-11-24{width:45.8333%}.pure-u-1-2,.pure-u-12-24{width:50%}.pure-u-13-24{width:54.1667%}.pure-u-14-24,.pure-u-7-12{width:58.3333%}.pure-u-3-5{width:60%}.pure-u-15-24,.pure-u-5-8{width:62.5%}.pure-u-16-24,.pure-u-2-3{width:66.6667%}.pure-u-17-24{width:70.8333%}.pure-u-18-24,.pure-u-3-4{width:75%}.pure-u-19-24{width:79.1667%}.pure-u-4-5{width:80%}.pure-u-20-24,.pure-u-5-6{width:83.3333%}.pure-u-21-24,.pure-u-7-8{width:87.5%}.pure-u-11-12,.pure-u-22-24{width:91.6667%}.pure-u-23-24{width:95.8333%}.pure-u-1,.pure-u-1-1,.pure-u-24-24,.pure-u-5-5{width:100%}.pure-button{display:inline-block;zoom:1;line-height:normal;white-space:nowrap;vertical-align:middle;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button-group{letter-spacing:-.31em;text-rendering:optimizespeed}.opera-only :-o-prefocus,.pure-button-group{word-spacing:-.43em}.pure-button-group .pure-button{letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-button{font-family:inherit;font-size:100%;padding:.5em 1em;color:#444;color:rgba(0,0,0,.8);border:1px solid #999;border:none transparent;background-color:#e6e6e6;text-decoration:none;border-radius:2px}.pure-button-hover,.pure-button:focus,.pure-button:hover{background-image:-webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(40%,rgba(0,0,0,.05)),to(rgba(0,0,0,.1)));background-image:-webkit-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));background-image:linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1))}.pure-button:focus{outline:0}.pure-button-active,.pure-button:active{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset;box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset}.pure-button-disabled,.pure-button-disabled:active,.pure-button-disabled:focus,.pure-button-disabled:hover,.pure-button[disabled]{border:none;background-image:none;opacity:.4;cursor:not-allowed;-webkit-box-shadow:none;box-shadow:none;pointer-events:none}.pure-button-hidden{display:none}.pure-button-primary,.pure-button-selected,a.pure-button-primary,a.pure-button-selected{background-color:#0078e7;color:#fff}.pure-button-group .pure-button{margin:0;border-radius:0;border-right:1px solid #111;border-right:1px solid rgba(0,0,0,.2)}.pure-button-group .pure-button:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.pure-button-group .pure-button:last-child{border-top-right-radius:2px;border-bottom-right-radius:2px;border-right:none}.pure-form input[type=color],.pure-form input[type=date],.pure-form input[type=datetime-local],.pure-form input[type=datetime],.pure-form input[type=email],.pure-form input[type=month],.pure-form input[type=number],.pure-form input[type=password],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=text],.pure-form input[type=time],.pure-form input[type=url],.pure-form input[type=week],.pure-form select,.pure-form textarea{padding:.5em .6em;display:inline-block;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 3px #ddd;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;vertical-align:middle;-webkit-box-sizing:border-box;box-sizing:border-box}.pure-form input:not([type]){padding:.5em .6em;display:inline-block;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 3px #ddd;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box}.pure-form input[type=color]{padding:.2em .5em}.pure-form input[type=color]:focus,.pure-form input[type=date]:focus,.pure-form input[type=datetime-local]:focus,.pure-form input[type=datetime]:focus,.pure-form input[type=email]:focus,.pure-form input[type=month]:focus,.pure-form input[type=number]:focus,.pure-form input[type=password]:focus,.pure-form input[type=search]:focus,.pure-form input[type=tel]:focus,.pure-form input[type=text]:focus,.pure-form input[type=time]:focus,.pure-form input[type=url]:focus,.pure-form input[type=week]:focus,.pure-form select:focus,.pure-form textarea:focus{outline:0;border-color:#129fea}.pure-form input:not([type]):focus{outline:0;border-color:#129fea}.pure-form input[type=checkbox]:focus,.pure-form input[type=file]:focus,.pure-form input[type=radio]:focus{outline:thin solid #129fea;outline:1px auto #129fea}.pure-form .pure-checkbox,.pure-form .pure-radio{margin:.5em 0;display:block}.pure-form input[type=color][disabled],.pure-form input[type=date][disabled],.pure-form input[type=datetime-local][disabled],.pure-form input[type=datetime][disabled],.pure-form input[type=email][disabled],.pure-form input[type=month][disabled],.pure-form input[type=number][disabled],.pure-form input[type=password][disabled],.pure-form input[type=search][disabled],.pure-form input[type=tel][disabled],.pure-form input[type=text][disabled],.pure-form input[type=time][disabled],.pure-form input[type=url][disabled],.pure-form input[type=week][disabled],.pure-form select[disabled],.pure-form textarea[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input:not([type])[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input[readonly],.pure-form select[readonly],.pure-form textarea[readonly]{background-color:#eee;color:#777;border-color:#ccc}.pure-form input:focus:invalid,.pure-form select:focus:invalid,.pure-form textarea:focus:invalid{color:#b94a48;border-color:#e9322d}.pure-form input[type=checkbox]:focus:invalid:focus,.pure-form input[type=file]:focus:invalid:focus,.pure-form input[type=radio]:focus:invalid:focus{outline-color:#e9322d}.pure-form select{height:2.25em;border:1px solid #ccc;background-color:#fff}.pure-form select[multiple]{height:auto}.pure-form label{margin:.5em 0 .2em}.pure-form fieldset{margin:0;padding:.35em 0 .75em;border:0}.pure-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;color:#333;border-bottom:1px solid #e5e5e5}.pure-form-stacked input[type=color],.pure-form-stacked input[type=date],.pure-form-stacked input[type=datetime-local],.pure-form-stacked input[type=datetime],.pure-form-stacked input[type=email],.pure-form-stacked input[type=file],.pure-form-stacked input[type=month],.pure-form-stacked input[type=number],.pure-form-stacked input[type=password],.pure-form-stacked input[type=search],.pure-form-stacked input[type=tel],.pure-form-stacked input[type=text],.pure-form-stacked input[type=time],.pure-form-stacked input[type=url],.pure-form-stacked input[type=week],.pure-form-stacked label,.pure-form-stacked select,.pure-form-stacked textarea{display:block;margin:.25em 0}.pure-form-stacked input:not([type]){display:block;margin:.25em 0}.pure-form-aligned .pure-help-inline,.pure-form-aligned input,.pure-form-aligned select,.pure-form-aligned textarea,.pure-form-message-inline{display:inline-block;vertical-align:middle}.pure-form-aligned textarea{vertical-align:top}.pure-form-aligned .pure-control-group{margin-bottom:.5em}.pure-form-aligned .pure-control-group label{text-align:right;display:inline-block;vertical-align:middle;width:10em;margin:0 1em 0 0}.pure-form-aligned .pure-controls{margin:1.5em 0 0 11em}.pure-form .pure-input-rounded,.pure-form input.pure-input-rounded{border-radius:2em;padding:.5em 1em}.pure-form .pure-group fieldset{margin-bottom:10px}.pure-form .pure-group input,.pure-form .pure-group textarea{display:block;padding:10px;margin:0 0 -1px;border-radius:0;position:relative;top:-1px}.pure-form .pure-group input:focus,.pure-form .pure-group textarea:focus{z-index:3}.pure-form .pure-group input:first-child,.pure-form .pure-group textarea:first-child{top:1px;border-radius:4px 4px 0 0;margin:0}.pure-form .pure-group input:first-child:last-child,.pure-form .pure-group textarea:first-child:last-child{top:1px;border-radius:4px;margin:0}.pure-form .pure-group input:last-child,.pure-form .pure-group textarea:last-child{top:-2px;border-radius:0 0 4px 4px;margin:0}.pure-form .pure-group button{margin:.35em 0}.pure-form .pure-input-1{width:100%}.pure-form .pure-input-3-4{width:75%}.pure-form .pure-input-2-3{width:66%}.pure-form .pure-input-1-2{width:50%}.pure-form .pure-input-1-3{width:33%}.pure-form .pure-input-1-4{width:25%}.pure-form .pure-help-inline,.pure-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:.875em}.pure-form-message{display:block;color:#666;font-size:.875em}@media only screen and (max-width :480px){.pure-form button[type=submit]{margin:.7em 0 0}.pure-form input:not([type]),.pure-form input[type=color],.pure-form input[type=date],.pure-form input[type=datetime-local],.pure-form input[type=datetime],.pure-form input[type=email],.pure-form input[type=month],.pure-form input[type=number],.pure-form input[type=password],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=text],.pure-form input[type=time],.pure-form input[type=url],.pure-form input[type=week],.pure-form label{margin-bottom:.3em;display:block}.pure-group input:not([type]),.pure-group input[type=color],.pure-group input[type=date],.pure-group input[type=datetime-local],.pure-group input[type=datetime],.pure-group input[type=email],.pure-group input[type=month],.pure-group input[type=number],.pure-group input[type=password],.pure-group input[type=search],.pure-group input[type=tel],.pure-group input[type=text],.pure-group input[type=time],.pure-group input[type=url],.pure-group input[type=week]{margin-bottom:0}.pure-form-aligned .pure-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.pure-form-aligned .pure-controls{margin:1.5em 0 0 0}.pure-form .pure-help-inline,.pure-form-message,.pure-form-message-inline{display:block;font-size:.75em;padding:.2em 0 .8em}}.pure-menu{-webkit-box-sizing:border-box;box-sizing:border-box}.pure-menu-fixed{position:fixed;left:0;top:0;z-index:3}.pure-menu-item,.pure-menu-list{position:relative}.pure-menu-list{list-style:none;margin:0;padding:0}.pure-menu-item{padding:0;margin:0;height:100%}.pure-menu-heading,.pure-menu-link{display:block;text-decoration:none;white-space:nowrap}.pure-menu-horizontal{width:100%;white-space:nowrap}.pure-menu-horizontal .pure-menu-list{display:inline-block}.pure-menu-horizontal .pure-menu-heading,.pure-menu-horizontal .pure-menu-item,.pure-menu-horizontal .pure-menu-separator{display:inline-block;zoom:1;vertical-align:middle}.pure-menu-item .pure-menu-item{display:block}.pure-menu-children{display:none;position:absolute;left:100%;top:0;margin:0;padding:0;z-index:3}.pure-menu-horizontal .pure-menu-children{left:0;top:auto;width:inherit}.pure-menu-active>.pure-menu-children,.pure-menu-allow-hover:hover>.pure-menu-children{display:block;position:absolute}.pure-menu-has-children>.pure-menu-link:after{padding-left:.5em;content:"\25B8";font-size:small}.pure-menu-horizontal .pure-menu-has-children>.pure-menu-link:after{content:"\25BE"}.pure-menu-scrollable{overflow-y:scroll;overflow-x:hidden}.pure-menu-scrollable .pure-menu-list{display:block}.pure-menu-horizontal.pure-menu-scrollable .pure-menu-list{display:inline-block}.pure-menu-horizontal.pure-menu-scrollable{white-space:nowrap;overflow-y:hidden;overflow-x:auto;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;padding:.5em 0}.pure-menu-horizontal.pure-menu-scrollable::-webkit-scrollbar{display:none}.pure-menu-horizontal .pure-menu-children .pure-menu-separator,.pure-menu-separator{background-color:#ccc;height:1px;margin:.3em 0}.pure-menu-horizontal .pure-menu-separator{width:1px;height:1.3em;margin:0 .3em}.pure-menu-horizontal .pure-menu-children .pure-menu-separator{display:block;width:auto}.pure-menu-heading{text-transform:uppercase;color:#565d64}.pure-menu-link{color:#777}.pure-menu-children{background-color:#fff}.pure-menu-disabled,.pure-menu-heading,.pure-menu-link{padding:.5em 1em}.pure-menu-disabled{opacity:.5}.pure-menu-disabled .pure-menu-link:hover{background-color:transparent}.pure-menu-active>.pure-menu-link,.pure-menu-link:focus,.pure-menu-link:hover{background-color:#eee}.pure-menu-selected .pure-menu-link,.pure-menu-selected .pure-menu-link:visited{color:#000}.pure-table{border-collapse:collapse;border-spacing:0;empty-cells:show;border:1px solid #cbcbcb}.pure-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.pure-table td,.pure-table th{border-left:1px solid #cbcbcb;border-width:0 0 0 1px;font-size:inherit;margin:0;overflow:visible;padding:.5em 1em}.pure-table td:first-child,.pure-table th:first-child{border-left-width:0}.pure-table thead{background-color:#e0e0e0;color:#000;text-align:left;vertical-align:bottom}.pure-table td{background-color:transparent}.pure-table-odd td{background-color:#f2f2f2}.pure-table-striped tr:nth-child(2n-1) td{background-color:#f2f2f2}.pure-table-bordered td{border-bottom:1px solid #cbcbcb}.pure-table-bordered tbody>tr:last-child>td{border-bottom-width:0}.pure-table-horizontal td,.pure-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #cbcbcb}.pure-table-horizontal tbody>tr:last-child>td{border-bottom-width:0}
\ No newline at end of file
diff --git a/code/html/vendor/pure-grids-responsive-1.0.0.min.css b/code/html/vendor/pure-grids-responsive-1.0.0.min.css
index e10c0003..df66ab56 100644
--- a/code/html/vendor/pure-grids-responsive-1.0.0.min.css
+++ b/code/html/vendor/pure-grids-responsive-1.0.0.min.css
@@ -2,6 +2,6 @@
Pure v1.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
-https://github.com/yahoo/pure/blob/master/LICENSE.md
+https://github.com/pure-css/pure/blob/master/LICENSE.md
*/
-@media screen and (min-width:35.5em){.pure-u-sm-1,.pure-u-sm-1-1,.pure-u-sm-1-12,.pure-u-sm-1-2,.pure-u-sm-1-24,.pure-u-sm-1-3,.pure-u-sm-1-4,.pure-u-sm-1-5,.pure-u-sm-1-6,.pure-u-sm-1-8,.pure-u-sm-10-24,.pure-u-sm-11-12,.pure-u-sm-11-24,.pure-u-sm-12-24,.pure-u-sm-13-24,.pure-u-sm-14-24,.pure-u-sm-15-24,.pure-u-sm-16-24,.pure-u-sm-17-24,.pure-u-sm-18-24,.pure-u-sm-19-24,.pure-u-sm-2-24,.pure-u-sm-2-3,.pure-u-sm-2-5,.pure-u-sm-20-24,.pure-u-sm-21-24,.pure-u-sm-22-24,.pure-u-sm-23-24,.pure-u-sm-24-24,.pure-u-sm-3-24,.pure-u-sm-3-4,.pure-u-sm-3-5,.pure-u-sm-3-8,.pure-u-sm-4-24,.pure-u-sm-4-5,.pure-u-sm-5-12,.pure-u-sm-5-24,.pure-u-sm-5-5,.pure-u-sm-5-6,.pure-u-sm-5-8,.pure-u-sm-6-24,.pure-u-sm-7-12,.pure-u-sm-7-24,.pure-u-sm-7-8,.pure-u-sm-8-24,.pure-u-sm-9-24{display:inline-block;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-sm-1-24{width:4.1667%}.pure-u-sm-1-12,.pure-u-sm-2-24{width:8.3333%}.pure-u-sm-1-8,.pure-u-sm-3-24{width:12.5%}.pure-u-sm-1-6,.pure-u-sm-4-24{width:16.6667%}.pure-u-sm-1-5{width:20%}.pure-u-sm-5-24{width:20.8333%}.pure-u-sm-1-4,.pure-u-sm-6-24{width:25%}.pure-u-sm-7-24{width:29.1667%}.pure-u-sm-1-3,.pure-u-sm-8-24{width:33.3333%}.pure-u-sm-3-8,.pure-u-sm-9-24{width:37.5%}.pure-u-sm-2-5{width:40%}.pure-u-sm-10-24,.pure-u-sm-5-12{width:41.6667%}.pure-u-sm-11-24{width:45.8333%}.pure-u-sm-1-2,.pure-u-sm-12-24{width:50%}.pure-u-sm-13-24{width:54.1667%}.pure-u-sm-14-24,.pure-u-sm-7-12{width:58.3333%}.pure-u-sm-3-5{width:60%}.pure-u-sm-15-24,.pure-u-sm-5-8{width:62.5%}.pure-u-sm-16-24,.pure-u-sm-2-3{width:66.6667%}.pure-u-sm-17-24{width:70.8333%}.pure-u-sm-18-24,.pure-u-sm-3-4{width:75%}.pure-u-sm-19-24{width:79.1667%}.pure-u-sm-4-5{width:80%}.pure-u-sm-20-24,.pure-u-sm-5-6{width:83.3333%}.pure-u-sm-21-24,.pure-u-sm-7-8{width:87.5%}.pure-u-sm-11-12,.pure-u-sm-22-24{width:91.6667%}.pure-u-sm-23-24{width:95.8333%}.pure-u-sm-1,.pure-u-sm-1-1,.pure-u-sm-24-24,.pure-u-sm-5-5{width:100%}}@media screen and (min-width:48em){.pure-u-md-1,.pure-u-md-1-1,.pure-u-md-1-12,.pure-u-md-1-2,.pure-u-md-1-24,.pure-u-md-1-3,.pure-u-md-1-4,.pure-u-md-1-5,.pure-u-md-1-6,.pure-u-md-1-8,.pure-u-md-10-24,.pure-u-md-11-12,.pure-u-md-11-24,.pure-u-md-12-24,.pure-u-md-13-24,.pure-u-md-14-24,.pure-u-md-15-24,.pure-u-md-16-24,.pure-u-md-17-24,.pure-u-md-18-24,.pure-u-md-19-24,.pure-u-md-2-24,.pure-u-md-2-3,.pure-u-md-2-5,.pure-u-md-20-24,.pure-u-md-21-24,.pure-u-md-22-24,.pure-u-md-23-24,.pure-u-md-24-24,.pure-u-md-3-24,.pure-u-md-3-4,.pure-u-md-3-5,.pure-u-md-3-8,.pure-u-md-4-24,.pure-u-md-4-5,.pure-u-md-5-12,.pure-u-md-5-24,.pure-u-md-5-5,.pure-u-md-5-6,.pure-u-md-5-8,.pure-u-md-6-24,.pure-u-md-7-12,.pure-u-md-7-24,.pure-u-md-7-8,.pure-u-md-8-24,.pure-u-md-9-24{display:inline-block;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-md-1-24{width:4.1667%}.pure-u-md-1-12,.pure-u-md-2-24{width:8.3333%}.pure-u-md-1-8,.pure-u-md-3-24{width:12.5%}.pure-u-md-1-6,.pure-u-md-4-24{width:16.6667%}.pure-u-md-1-5{width:20%}.pure-u-md-5-24{width:20.8333%}.pure-u-md-1-4,.pure-u-md-6-24{width:25%}.pure-u-md-7-24{width:29.1667%}.pure-u-md-1-3,.pure-u-md-8-24{width:33.3333%}.pure-u-md-3-8,.pure-u-md-9-24{width:37.5%}.pure-u-md-2-5{width:40%}.pure-u-md-10-24,.pure-u-md-5-12{width:41.6667%}.pure-u-md-11-24{width:45.8333%}.pure-u-md-1-2,.pure-u-md-12-24{width:50%}.pure-u-md-13-24{width:54.1667%}.pure-u-md-14-24,.pure-u-md-7-12{width:58.3333%}.pure-u-md-3-5{width:60%}.pure-u-md-15-24,.pure-u-md-5-8{width:62.5%}.pure-u-md-16-24,.pure-u-md-2-3{width:66.6667%}.pure-u-md-17-24{width:70.8333%}.pure-u-md-18-24,.pure-u-md-3-4{width:75%}.pure-u-md-19-24{width:79.1667%}.pure-u-md-4-5{width:80%}.pure-u-md-20-24,.pure-u-md-5-6{width:83.3333%}.pure-u-md-21-24,.pure-u-md-7-8{width:87.5%}.pure-u-md-11-12,.pure-u-md-22-24{width:91.6667%}.pure-u-md-23-24{width:95.8333%}.pure-u-md-1,.pure-u-md-1-1,.pure-u-md-24-24,.pure-u-md-5-5{width:100%}}@media screen and (min-width:64em){.pure-u-lg-1,.pure-u-lg-1-1,.pure-u-lg-1-12,.pure-u-lg-1-2,.pure-u-lg-1-24,.pure-u-lg-1-3,.pure-u-lg-1-4,.pure-u-lg-1-5,.pure-u-lg-1-6,.pure-u-lg-1-8,.pure-u-lg-10-24,.pure-u-lg-11-12,.pure-u-lg-11-24,.pure-u-lg-12-24,.pure-u-lg-13-24,.pure-u-lg-14-24,.pure-u-lg-15-24,.pure-u-lg-16-24,.pure-u-lg-17-24,.pure-u-lg-18-24,.pure-u-lg-19-24,.pure-u-lg-2-24,.pure-u-lg-2-3,.pure-u-lg-2-5,.pure-u-lg-20-24,.pure-u-lg-21-24,.pure-u-lg-22-24,.pure-u-lg-23-24,.pure-u-lg-24-24,.pure-u-lg-3-24,.pure-u-lg-3-4,.pure-u-lg-3-5,.pure-u-lg-3-8,.pure-u-lg-4-24,.pure-u-lg-4-5,.pure-u-lg-5-12,.pure-u-lg-5-24,.pure-u-lg-5-5,.pure-u-lg-5-6,.pure-u-lg-5-8,.pure-u-lg-6-24,.pure-u-lg-7-12,.pure-u-lg-7-24,.pure-u-lg-7-8,.pure-u-lg-8-24,.pure-u-lg-9-24{display:inline-block;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-lg-1-24{width:4.1667%}.pure-u-lg-1-12,.pure-u-lg-2-24{width:8.3333%}.pure-u-lg-1-8,.pure-u-lg-3-24{width:12.5%}.pure-u-lg-1-6,.pure-u-lg-4-24{width:16.6667%}.pure-u-lg-1-5{width:20%}.pure-u-lg-5-24{width:20.8333%}.pure-u-lg-1-4,.pure-u-lg-6-24{width:25%}.pure-u-lg-7-24{width:29.1667%}.pure-u-lg-1-3,.pure-u-lg-8-24{width:33.3333%}.pure-u-lg-3-8,.pure-u-lg-9-24{width:37.5%}.pure-u-lg-2-5{width:40%}.pure-u-lg-10-24,.pure-u-lg-5-12{width:41.6667%}.pure-u-lg-11-24{width:45.8333%}.pure-u-lg-1-2,.pure-u-lg-12-24{width:50%}.pure-u-lg-13-24{width:54.1667%}.pure-u-lg-14-24,.pure-u-lg-7-12{width:58.3333%}.pure-u-lg-3-5{width:60%}.pure-u-lg-15-24,.pure-u-lg-5-8{width:62.5%}.pure-u-lg-16-24,.pure-u-lg-2-3{width:66.6667%}.pure-u-lg-17-24{width:70.8333%}.pure-u-lg-18-24,.pure-u-lg-3-4{width:75%}.pure-u-lg-19-24{width:79.1667%}.pure-u-lg-4-5{width:80%}.pure-u-lg-20-24,.pure-u-lg-5-6{width:83.3333%}.pure-u-lg-21-24,.pure-u-lg-7-8{width:87.5%}.pure-u-lg-11-12,.pure-u-lg-22-24{width:91.6667%}.pure-u-lg-23-24{width:95.8333%}.pure-u-lg-1,.pure-u-lg-1-1,.pure-u-lg-24-24,.pure-u-lg-5-5{width:100%}}@media screen and (min-width:80em){.pure-u-xl-1,.pure-u-xl-1-1,.pure-u-xl-1-12,.pure-u-xl-1-2,.pure-u-xl-1-24,.pure-u-xl-1-3,.pure-u-xl-1-4,.pure-u-xl-1-5,.pure-u-xl-1-6,.pure-u-xl-1-8,.pure-u-xl-10-24,.pure-u-xl-11-12,.pure-u-xl-11-24,.pure-u-xl-12-24,.pure-u-xl-13-24,.pure-u-xl-14-24,.pure-u-xl-15-24,.pure-u-xl-16-24,.pure-u-xl-17-24,.pure-u-xl-18-24,.pure-u-xl-19-24,.pure-u-xl-2-24,.pure-u-xl-2-3,.pure-u-xl-2-5,.pure-u-xl-20-24,.pure-u-xl-21-24,.pure-u-xl-22-24,.pure-u-xl-23-24,.pure-u-xl-24-24,.pure-u-xl-3-24,.pure-u-xl-3-4,.pure-u-xl-3-5,.pure-u-xl-3-8,.pure-u-xl-4-24,.pure-u-xl-4-5,.pure-u-xl-5-12,.pure-u-xl-5-24,.pure-u-xl-5-5,.pure-u-xl-5-6,.pure-u-xl-5-8,.pure-u-xl-6-24,.pure-u-xl-7-12,.pure-u-xl-7-24,.pure-u-xl-7-8,.pure-u-xl-8-24,.pure-u-xl-9-24{display:inline-block;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-xl-1-24{width:4.1667%}.pure-u-xl-1-12,.pure-u-xl-2-24{width:8.3333%}.pure-u-xl-1-8,.pure-u-xl-3-24{width:12.5%}.pure-u-xl-1-6,.pure-u-xl-4-24{width:16.6667%}.pure-u-xl-1-5{width:20%}.pure-u-xl-5-24{width:20.8333%}.pure-u-xl-1-4,.pure-u-xl-6-24{width:25%}.pure-u-xl-7-24{width:29.1667%}.pure-u-xl-1-3,.pure-u-xl-8-24{width:33.3333%}.pure-u-xl-3-8,.pure-u-xl-9-24{width:37.5%}.pure-u-xl-2-5{width:40%}.pure-u-xl-10-24,.pure-u-xl-5-12{width:41.6667%}.pure-u-xl-11-24{width:45.8333%}.pure-u-xl-1-2,.pure-u-xl-12-24{width:50%}.pure-u-xl-13-24{width:54.1667%}.pure-u-xl-14-24,.pure-u-xl-7-12{width:58.3333%}.pure-u-xl-3-5{width:60%}.pure-u-xl-15-24,.pure-u-xl-5-8{width:62.5%}.pure-u-xl-16-24,.pure-u-xl-2-3{width:66.6667%}.pure-u-xl-17-24{width:70.8333%}.pure-u-xl-18-24,.pure-u-xl-3-4{width:75%}.pure-u-xl-19-24{width:79.1667%}.pure-u-xl-4-5{width:80%}.pure-u-xl-20-24,.pure-u-xl-5-6{width:83.3333%}.pure-u-xl-21-24,.pure-u-xl-7-8{width:87.5%}.pure-u-xl-11-12,.pure-u-xl-22-24{width:91.6667%}.pure-u-xl-23-24{width:95.8333%}.pure-u-xl-1,.pure-u-xl-1-1,.pure-u-xl-24-24,.pure-u-xl-5-5{width:100%}}
\ No newline at end of file
+@media screen and (min-width:64em){.pure-u-lg-1,.pure-u-lg-1-1,.pure-u-lg-1-12,.pure-u-lg-1-2,.pure-u-lg-1-24,.pure-u-lg-1-3,.pure-u-lg-1-4,.pure-u-lg-1-5,.pure-u-lg-1-6,.pure-u-lg-1-8,.pure-u-lg-10-24,.pure-u-lg-11-12,.pure-u-lg-11-24,.pure-u-lg-12-24,.pure-u-lg-13-24,.pure-u-lg-14-24,.pure-u-lg-15-24,.pure-u-lg-16-24,.pure-u-lg-17-24,.pure-u-lg-18-24,.pure-u-lg-19-24,.pure-u-lg-2-24,.pure-u-lg-2-3,.pure-u-lg-2-5,.pure-u-lg-20-24,.pure-u-lg-21-24,.pure-u-lg-22-24,.pure-u-lg-23-24,.pure-u-lg-24-24,.pure-u-lg-3-24,.pure-u-lg-3-4,.pure-u-lg-3-5,.pure-u-lg-3-8,.pure-u-lg-4-24,.pure-u-lg-4-5,.pure-u-lg-5-12,.pure-u-lg-5-24,.pure-u-lg-5-5,.pure-u-lg-5-6,.pure-u-lg-5-8,.pure-u-lg-6-24,.pure-u-lg-7-12,.pure-u-lg-7-24,.pure-u-lg-7-8,.pure-u-lg-8-24,.pure-u-lg-9-24{display:inline-block;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-lg-1-24{width:4.1667%}.pure-u-lg-1-12,.pure-u-lg-2-24{width:8.3333%}.pure-u-lg-1-8,.pure-u-lg-3-24{width:12.5%}.pure-u-lg-1-6,.pure-u-lg-4-24{width:16.6667%}.pure-u-lg-1-5{width:20%}.pure-u-lg-5-24{width:20.8333%}.pure-u-lg-1-4,.pure-u-lg-6-24{width:25%}.pure-u-lg-7-24{width:29.1667%}.pure-u-lg-1-3,.pure-u-lg-8-24{width:33.3333%}.pure-u-lg-3-8,.pure-u-lg-9-24{width:37.5%}.pure-u-lg-2-5{width:40%}.pure-u-lg-10-24,.pure-u-lg-5-12{width:41.6667%}.pure-u-lg-11-24{width:45.8333%}.pure-u-lg-1-2,.pure-u-lg-12-24{width:50%}.pure-u-lg-13-24{width:54.1667%}.pure-u-lg-14-24,.pure-u-lg-7-12{width:58.3333%}.pure-u-lg-3-5{width:60%}.pure-u-lg-15-24,.pure-u-lg-5-8{width:62.5%}.pure-u-lg-16-24,.pure-u-lg-2-3{width:66.6667%}.pure-u-lg-17-24{width:70.8333%}.pure-u-lg-18-24,.pure-u-lg-3-4{width:75%}.pure-u-lg-19-24{width:79.1667%}.pure-u-lg-4-5{width:80%}.pure-u-lg-20-24,.pure-u-lg-5-6{width:83.3333%}.pure-u-lg-21-24,.pure-u-lg-7-8{width:87.5%}.pure-u-lg-11-12,.pure-u-lg-22-24{width:91.6667%}.pure-u-lg-23-24{width:95.8333%}.pure-u-lg-1,.pure-u-lg-1-1,.pure-u-lg-24-24,.pure-u-lg-5-5{width:100%}}
\ No newline at end of file
diff --git a/code/ota.py b/code/ota.py
index 4726eb76..2a268acf 100755
--- a/code/ota.py
+++ b/code/ota.py
@@ -13,7 +13,7 @@ import re
import socket
import subprocess
import sys
-from time import sleep
+import time
from zeroconf import ServiceBrowser, ServiceStateChange, Zeroconf
@@ -25,9 +25,11 @@ except NameError:
# -------------------------------------------------------------------------------
-devices = []
-description = "ESPurna OTA Manager v0.1"
+DISCOVER_TIMEOUT = 2
+description = "ESPurna OTA Manager v0.2"
+devices = []
+discover_last = 0
# -------------------------------------------------------------------------------
@@ -37,23 +39,26 @@ def on_service_state_change(zeroconf, service_type, name, state_change):
"""
if state_change is ServiceStateChange.Added:
+ discover_last = time.time()
info = zeroconf.get_service_info(service_type, name)
if info:
+
hostname = info.server.split(".")[0]
device = {
'hostname': hostname.upper(),
- 'ip': socket.inet_ntoa(info.address)
+ 'ip': socket.inet_ntoa(info.address),
+ 'mac': '',
+ 'app_name': '',
+ 'app_version': '',
+ 'target_board': '',
+ 'mem_size': '',
+ 'sdk_size': '',
+ 'free_space': '',
}
- device['mac'] = info.properties.get('mac', '')
- device['app'] = info.properties.get('app_name', '')
- device['version'] = info.properties.get('app_version', '')
- device['device'] = info.properties.get('target_board', '')
- if 'mem_size' in info.properties:
- device['mem_size'] = info.properties.get('mem_size')
- if 'sdk_size' in info.properties:
- device['sdk_size'] = info.properties.get('sdk_size')
- if 'free_space' in info.properties:
- device['free_space'] = info.properties.get('free_space')
+
+ for key, item in info.properties.items():
+ device[key.decode('UTF-8')] = item.decode('UTF-8');
+
devices.append(device)
@@ -84,9 +89,9 @@ def list_devices():
device.get('hostname', ''),
device.get('ip', ''),
device.get('mac', ''),
- device.get('app', ''),
- device.get('version', ''),
- device.get('device', ''),
+ device.get('app_name', ''),
+ device.get('app_version', ''),
+ device.get('target_board', ''),
device.get('mem_size', ''),
device.get('sdk_size', ''),
device.get('free_space', ''),
@@ -121,7 +126,7 @@ def get_board_by_index(index):
if 1 <= index and index <= len(devices):
device = devices[index - 1]
board['hostname'] = device.get('hostname')
- board['board'] = device.get('device', '')
+ board['board'] = device.get('target_board', '')
board['ip'] = device.get('ip', '')
board['size'] = int(device.get('mem_size', 0) if device.get('mem_size', 0) == device.get('sdk_size', 0) else 0) / 1024
return board
@@ -135,7 +140,7 @@ def get_board_by_hostname(hostname):
if device.get('hostname', '').lower() == hostname:
board = {}
board['hostname'] = device.get('hostname')
- board['board'] = device.get('device')
+ board['board'] = device.get('target_board')
if not board['board']:
return None
board['ip'] = device.get('ip')
@@ -226,8 +231,10 @@ if __name__ == '__main__':
# Look for sevices
zeroconf = Zeroconf()
browser = ServiceBrowser(zeroconf, "_arduino._tcp.local.", handlers=[on_service_state_change])
- sleep(5)
- zeroconf.close()
+ discover_last = time.time()
+ while time.time() < discover_last + DISCOVER_TIMEOUT:
+ None
+ #zeroconf.close()
if len(devices) == 0:
print("Nothing found!\n")
diff --git a/code/package-lock.json b/code/package-lock.json
index 4ca2c36c..2327264c 100644
--- a/code/package-lock.json
+++ b/code/package-lock.json
@@ -238,6 +238,12 @@
"integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=",
"dev": true
},
+ "binaryextensions": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.1.1.tgz",
+ "integrity": "sha512-XBaoWE9RW8pPdPQNibZsW2zh8TW6gcarXp1FZPwT8Uop8ScSNldJEWf2k9l3HeTqdrEwsOsFcq74RiJECW34yA==",
+ "dev": true
+ },
"boolbase": {
"version": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
@@ -944,6 +950,12 @@
"jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz"
}
},
+ "editions": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz",
+ "integrity": "sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==",
+ "dev": true
+ },
"end-of-stream": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz",
@@ -1708,6 +1720,49 @@
"through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
}
},
+ "gulp-replace": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-1.0.0.tgz",
+ "integrity": "sha512-lgdmrFSI1SdhNMXZQbrC75MOl1UjYWlOWNbNRnz+F/KHmgxt3l6XstBoAYIdadwETFyG/6i+vWUSCawdC3pqOw==",
+ "dev": true,
+ "requires": {
+ "istextorbinary": "2.2.1",
+ "readable-stream": "2.3.6",
+ "replacestream": "4.0.3"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "1.0.0",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
+ }
+ }
+ }
+ },
"gulp-uglify": {
"version": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-1.5.4.tgz",
"integrity": "sha1-UkeI2HZm0J+dDCH7IXf5ADmmWMk=",
@@ -2227,6 +2282,17 @@
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
"dev": true
},
+ "istextorbinary": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.2.1.tgz",
+ "integrity": "sha512-TS+hoFl8Z5FAFMK38nhBkdLt44CclNRgDHWeMgsV8ko3nDlr/9UI2Sf839sW7enijf8oKsZYXRvM8g0it9Zmcw==",
+ "dev": true,
+ "requires": {
+ "binaryextensions": "2.1.1",
+ "editions": "1.3.4",
+ "textextensions": "2.2.0"
+ }
+ },
"js-yaml": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz",
@@ -3136,6 +3202,49 @@
"integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
"dev": true
},
+ "replacestream": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz",
+ "integrity": "sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "readable-stream": "2.3.6"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "1.0.0",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
+ }
+ }
+ }
+ },
"request": {
"version": "https://registry.npmjs.org/request/-/request-2.83.0.tgz",
"integrity": "sha1-ygtl2gLtYpNYh4COb1EDgQNOM1Y=",
@@ -3675,6 +3784,12 @@
"upper-case": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz"
}
},
+ "textextensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-2.2.0.tgz",
+ "integrity": "sha512-j5EMxnryTvKxwH2Cq+Pb43tsf6sdEgw6Pdwxk83mPaq0ToeFJt6WE4J3s5BqY7vmjlLgkgXvhtXUxo80FyBhCA==",
+ "dev": true
+ },
"through": {
"version": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
diff --git a/code/package.json b/code/package.json
index e7d39cab..b44335c6 100644
--- a/code/package.json
+++ b/code/package.json
@@ -17,6 +17,7 @@
"gulp-htmllint": "0.0.14",
"gulp-htmlmin": "^2.0.0",
"gulp-inline": "^0.1.1",
+ "gulp-replace": "^1.0.0",
"gulp-uglify": "^1.5.3"
}
}
diff --git a/code/platformio.ini b/code/platformio.ini
index 54150a1b..26f19492 100644
--- a/code/platformio.ini
+++ b/code/platformio.ini
@@ -35,9 +35,11 @@ debug_flags = -DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP
# -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY v2 Lower Memory
# -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH v2 Higher Bandwidth
# ------------------------------------------------------------------------------
-build_flags = -g -DMQTT_MAX_PACKET_SIZE=400 ${env.ESPURNA_FLAGS} -DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH
-build_flags_512k = ${common.build_flags} -Wl,-Tesp8266.flash.512k0.ld
-build_flags_1m = ${common.build_flags} -Wl,-Tesp8266.flash.1m0.ld
+build_flags = -g -w -DMQTT_MAX_PACKET_SIZE=400 -DNO_GLOBAL_EEPROM ${env.ESPURNA_FLAGS} -DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH
+build_flags_512k = ${common.build_flags} -Wl,-Teagle.flash.512k0m1s.ld
+build_flags_1m0m = ${common.build_flags} -Wl,-Teagle.flash.1m0m1s.ld
+build_flags_4m1m = ${common.build_flags} -Wl,-Teagle.flash.4m1m4s.ld
+build_flags_4m3m = ${common.build_flags} -Wl,-Teagle.flash.4m3m4s.ld
# ------------------------------------------------------------------------------
# GLOBALS:
@@ -57,14 +59,15 @@ lib_deps =
https://github.com/marvinroger/async-mqtt-client#v0.8.1
Brzo I2C
https://bitbucket.org/xoseperez/debounceevent.git#2.0.1
+ https://github.com/xoseperez/eeprom_rotate#0.9.1
Embedis
https://github.com/plerup/espsoftwareserial#3.4.1
https://github.com/me-no-dev/ESPAsyncTCP#55cd520
- https://github.com/me-no-dev/ESPAsyncWebServer#232b87a
+ https://github.com/me-no-dev/ESPAsyncWebServer#05306e4
https://bitbucket.org/xoseperez/fauxmoesp.git#2.4.2
https://github.com/xoseperez/hlw8012.git#1.1.0
https://github.com/markszabo/IRremoteESP8266#v2.2.0
- https://bitbucket.org/xoseperez/justwifi.git#1.1.8
+ https://github.com/xoseperez/justwifi.git#2.0.0
https://github.com/madpilot/mDNSResolver#4cfcda1
https://github.com/xoseperez/my92xx#3.0.1
https://bitbucket.org/xoseperez/nofuss.git#0.2.5
@@ -85,22 +88,22 @@ extra_scripts = extra_scripts.py
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DESPURNA_CORE
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DESPURNA_CORE
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:espurna-core-4MB]
platform = ${common.platform}
framework = arduino
board = d1_mini
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DESPURNA_CORE
-monitor_baud = 115200
+build_flags = ${common.build_flags_4m1m} -DESPURNA_CORE
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
# ------------------------------------------------------------------------------
@@ -111,10 +114,10 @@ extra_scripts = ${common.extra_scripts}
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -D${env.ESPURNA_BOARD}
+build_flags = ${common.build_flags_1m0m} -D${env.ESPURNA_BOARD}
upload_speed = 115200
upload_port = "${env.ESPURNA_IP}"
upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
@@ -124,10 +127,10 @@ extra_scripts = ${common.extra_scripts}
platform = ${common.platform}
framework = arduino
board = esp12e
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -D${env.ESPURNA_BOARD}
+build_flags = ${common.build_flags_4m1m} -D${env.ESPURNA_BOARD}
upload_speed = 115200
upload_port = "${env.ESPURNA_IP}"
upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
@@ -142,8 +145,8 @@ framework = arduino
board = esp12e
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DTRAVIS01
-monitor_baud = 115200
+build_flags = ${common.build_flags_4m1m} -DTRAVIS01
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:travis02]
@@ -152,8 +155,8 @@ framework = arduino
board = esp12e
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DTRAVIS02
-monitor_baud = 115200
+build_flags = ${common.build_flags_4m1m} -DTRAVIS02
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:travis03]
@@ -162,8 +165,8 @@ framework = arduino
board = esp12e
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DTRAVIS03 -DNOWSAUTH -DASYNC_TCP_SSL_ENABLED=1
-monitor_baud = 115200
+build_flags = ${common.build_flags_4m1m} -DTRAVIS03 -DNOWSAUTH -DASYNC_TCP_SSL_ENABLED=1
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
# ------------------------------------------------------------------------------
@@ -176,9 +179,9 @@ framework = arduino
board = d1_mini
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DWEMOS_D1_MINI_RELAYSHIELD -DDEBUG_FAUXMO=Serial -DNOWSAUTH
+build_flags = ${common.build_flags_4m1m} -DWEMOS_D1_MINI_RELAYSHIELD -DDEBUG_FAUXMO=Serial -DNOWSAUTH
upload_speed = 460800
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:wemos-d1mini-relayshield-ssl]
@@ -187,9 +190,9 @@ framework = arduino
board = d1_mini
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DWEMOS_D1_MINI_RELAYSHIELD -DDEBUG_FAUXMO=Serial -DNOWSAUTH -DASYNC_TCP_SSL_ENABLED=1
+build_flags = ${common.build_flags_4m1m} -DWEMOS_D1_MINI_RELAYSHIELD -DDEBUG_FAUXMO=Serial -DNOWSAUTH -DASYNC_TCP_SSL_ENABLED=1
upload_speed = 460800
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:wemos-d1mini-relayshield-ota]
@@ -198,7 +201,7 @@ framework = arduino
board = d1_mini
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DWEMOS_D1_MINI_RELAYSHIELD -DDEBUG_FAUXMO=Serial -DNOWSAUTH
+build_flags = ${common.build_flags_4m1m} -DWEMOS_D1_MINI_RELAYSHIELD -DDEBUG_FAUXMO=Serial -DNOWSAUTH
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
@@ -210,9 +213,9 @@ framework = arduino
board = nodemcuv2
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DNODEMCU_LOLIN -DDEBUG_FAUXMO=Serial -DNOWSAUTH
+build_flags = ${common.build_flags_4m1m} -DNODEMCU_LOLIN -DDEBUG_FAUXMO=Serial -DNOWSAUTH
upload_speed = 460800
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:nodemcu-lolin-ssl]
@@ -221,9 +224,9 @@ framework = arduino
board = nodemcuv2
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DNODEMCU_LOLIN -DDEBUG_FAUXMO=Serial -DNOWSAUTH -DASYNC_TCP_SSL_ENABLED=1
+build_flags = ${common.build_flags_4m1m} -DNODEMCU_LOLIN -DDEBUG_FAUXMO=Serial -DNOWSAUTH -DASYNC_TCP_SSL_ENABLED=1
upload_speed = 460800
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:nodemcu-lolin-ota]
@@ -232,11 +235,11 @@ framework = arduino
board = nodemcuv2
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DNODEMCU_LOLIN -DDEBUG_FAUXMO=Serial -DNOWSAUTH
+build_flags = ${common.build_flags_4m1m} -DNODEMCU_LOLIN -DDEBUG_FAUXMO=Serial -DNOWSAUTH
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
# ------------------------------------------------------------------------------
@@ -249,8 +252,8 @@ framework = arduino
board = esp12e
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DTINKERMAN_ESPURNA_H06
-monitor_baud = 115200
+build_flags = ${common.build_flags_4m1m} -DTINKERMAN_ESPURNA_H06
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:tinkerman-espurna-h06-ota]
@@ -259,11 +262,11 @@ framework = arduino
board = esp12e
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DTINKERMAN_ESPURNA_H06
+build_flags = ${common.build_flags_4m1m} -DTINKERMAN_ESPURNA_H06
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:tinkerman-espurna-h08]
@@ -272,8 +275,8 @@ framework = arduino
board = esp12e
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DTINKERMAN_ESPURNA_H08
-monitor_baud = 115200
+build_flags = ${common.build_flags_4m1m} -DTINKERMAN_ESPURNA_H08
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:tinkerman-espurna-h08-ota]
@@ -282,11 +285,11 @@ framework = arduino
board = esp12e
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DTINKERMAN_ESPURNA_H08
+build_flags = ${common.build_flags_4m1m} -DTINKERMAN_ESPURNA_H08
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:tinkerman-espurna-switch]
@@ -295,8 +298,8 @@ framework = arduino
board = esp12e
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DTINKERMAN_ESPURNA_SWITCH
-monitor_baud = 115200
+build_flags = ${common.build_flags_4m1m} -DTINKERMAN_ESPURNA_SWITCH
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:wemos-d1-tarpunashield]
@@ -305,8 +308,8 @@ framework = arduino
board = esp12e
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DWEMOS_D1_TARPUNA_SHIELD
-monitor_baud = 115200
+build_flags = ${common.build_flags_4m1m} -DWEMOS_D1_TARPUNA_SHIELD
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
# ------------------------------------------------------------------------------
@@ -315,181 +318,181 @@ extra_scripts = ${common.extra_scripts}
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_BASIC
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_BASIC
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-basic-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_BASIC
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_BASIC
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-basic-dht]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_BASIC -DDHT_SUPPORT=1
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_BASIC -DDHT_SUPPORT=1
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-basic-dht-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_BASIC -DDHT_SUPPORT=1
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_BASIC -DDHT_SUPPORT=1
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-basic-dallas]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_BASIC -DDALLAS_SUPPORT=1
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_BASIC -DDALLAS_SUPPORT=1
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-rf]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_RF
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_RF
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-rf-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_RF
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_RF
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-th]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_TH
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_TH
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-th-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_TH
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_TH
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-pow]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_POW
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_POW
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-pow-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_POW
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_POW
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-pow-r2]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_POW_R2
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_POW_R2
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-pow-r2-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_POW_R2
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_POW_R2
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-dual]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_DUAL
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_DUAL
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-dual-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_DUAL
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_DUAL
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
@@ -499,20 +502,20 @@ extra_scripts = ${common.extra_scripts}
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_DUAL_R2
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_DUAL_R2
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-dual-ota-r2]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_DUAL_R2
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_DUAL_R2
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
@@ -522,250 +525,250 @@ extra_scripts = ${common.extra_scripts}
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_4CH
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_4CH
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-4ch-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_4CH
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_4CH
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-4ch-pro]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_4CH_PRO
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_4CH_PRO
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-4ch-pro-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_4CH_PRO
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_4CH_PRO
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-touch]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_TOUCH
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_TOUCH
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-touch-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_TOUCH
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_TOUCH
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-b1]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_B1
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_B1
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-b1-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_B1
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_B1
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-t1-1ch]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_T1_1CH
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_T1_1CH
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-t1-1ch-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_T1_1CH
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_T1_1CH
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-t1-2ch]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_T1_2CH
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_T1_2CH
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-t1-2ch-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_T1_2CH
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_T1_2CH
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-t1-3ch]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_T1_3CH
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_T1_3CH
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-t1-3ch-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_T1_3CH
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_T1_3CH
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-led]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_LED
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_LED
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-led-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_LED
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_LED
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-rfbridge]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_RFBRIDGE
-monitor_baud = 19200
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_RFBRIDGE
+monitor_speed = 19200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-rfbridge-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_RFBRIDGE
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_RFBRIDGE
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 19200
+monitor_speed = 19200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-rfbridge-direct]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_RFBRIDGE -DRFB_DIRECT
-monitor_baud = 19200
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_RFBRIDGE -DRFB_DIRECT
+monitor_speed = 19200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-rfbridge-direct-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_RFBRIDGE -DRFB_DIRECT
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_RFBRIDGE -DRFB_DIRECT
upload_speed = 115200
upload_port = "${env.ESPURNA_IP}"
upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
-monitor_baud = 19200
+monitor_speed = 19200
extra_scripts = ${common.extra_scripts}
# ------------------------------------------------------------------------------
@@ -774,148 +777,148 @@ extra_scripts = ${common.extra_scripts}
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SLAMPHER
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DITEAD_SLAMPHER
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-slampher-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SLAMPHER
+build_flags = ${common.build_flags_1m0m} -DITEAD_SLAMPHER
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-s20]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_S20
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DITEAD_S20
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-s20-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_S20
+build_flags = ${common.build_flags_1m0m} -DITEAD_S20
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-1ch-inching]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_1CH_INCHING
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DITEAD_1CH_INCHING
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-1ch-inching-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_1CH_INCHING
+build_flags = ${common.build_flags_1m0m} -DITEAD_1CH_INCHING
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-motor]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_MOTOR
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DITEAD_MOTOR
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-motor-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_MOTOR
+build_flags = ${common.build_flags_1m0m} -DITEAD_MOTOR
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-sv]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_SV
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_SV
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-sv-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_SV
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_SV
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-s31]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_S31
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_S31
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-sonoff-s31-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_S31
+build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_S31
upload_port = "${env.ESPURNA_IP}"
upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
# ------------------------------------------------------------------------------
@@ -926,8 +929,8 @@ framework = arduino
board = esp12e
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DELECTRODRAGON_WIFI_IOT -DDHT_SUPPORT=1
-monitor_baud = 115200
+build_flags = ${common.build_flags_4m1m} -DELECTRODRAGON_WIFI_IOT -DDHT_SUPPORT=1
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:electrodragon-wifi-iot-ota]
@@ -936,36 +939,36 @@ framework = arduino
board = esp12e
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DELECTRODRAGON_WIFI_IOT -DDHT_SUPPORT=1
+build_flags = ${common.build_flags_4m1m} -DELECTRODRAGON_WIFI_IOT -DDHT_SUPPORT=1
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:workchoice-ecoplug]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DWORKCHOICE_ECOPLUG
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DWORKCHOICE_ECOPLUG
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:workchoice-ecoplug-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DWORKCHOICE_ECOPLUG
+build_flags = ${common.build_flags_1m0m} -DWORKCHOICE_ECOPLUG
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:jangoe-wifi-relay-nc]
@@ -974,8 +977,8 @@ framework = arduino
board = esp12e
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DJANGOE_WIFI_RELAY_NC
-monitor_baud = 115200
+build_flags = ${common.build_flags_4m1m} -DJANGOE_WIFI_RELAY_NC
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:jangoe-wifi-relay-nc-ota]
@@ -984,11 +987,11 @@ framework = arduino
board = esp12e
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DJANGOE_WIFI_RELAY_NC
+build_flags = ${common.build_flags_4m1m} -DJANGOE_WIFI_RELAY_NC
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:jangoe-wifi-relay-no]
@@ -997,8 +1000,8 @@ framework = arduino
board = esp12e
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DJANGOE_WIFI_RELAY_NO
-monitor_baud = 115200
+build_flags = ${common.build_flags_4m1m} -DJANGOE_WIFI_RELAY_NO
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:jangoe-wifi-relay-no-ota]
@@ -1007,11 +1010,11 @@ framework = arduino
board = esp12e
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DJANGOE_WIFI_RELAY_NO
+build_flags = ${common.build_flags_4m1m} -DJANGOE_WIFI_RELAY_NO
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:openenergymonitor-mqtt-relay]
@@ -1020,8 +1023,8 @@ framework = arduino
board = esp_wroom_02
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DOPENENERGYMONITOR_MQTT_RELAY -DDALLAS_SUPPORT=1
-monitor_baud = 115200
+build_flags = ${common.build_flags_4m1m} -DOPENENERGYMONITOR_MQTT_RELAY -DDALLAS_SUPPORT=1
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:openenergymonitor-mqtt-relay-ota]
@@ -1030,11 +1033,11 @@ framework = arduino
board = esp_wroom_02
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DOPENENERGYMONITOR_MQTT_RELAY -DDALLAS_SUPPORT=1
+build_flags = ${common.build_flags_4m1m} -DOPENENERGYMONITOR_MQTT_RELAY -DDALLAS_SUPPORT=1
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:jorgegarcia-wifi-relays]
@@ -1043,8 +1046,8 @@ framework = arduino
board = esp01_1m
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DJORGEGARCIA_WIFI_RELAYS
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DJORGEGARCIA_WIFI_RELAYS
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:jorgegarcia-wifi-relays-ota]
@@ -1053,335 +1056,335 @@ framework = arduino
board = esp01_1m
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DJORGEGARCIA_WIFI_RELAYS
+build_flags = ${common.build_flags_1m0m} -DJORGEGARCIA_WIFI_RELAYS
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:aithinker-ai-light]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DAITHINKER_AI_LIGHT
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DAITHINKER_AI_LIGHT
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:aithinker-ai-light-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DAITHINKER_AI_LIGHT
+build_flags = ${common.build_flags_1m0m} -DAITHINKER_AI_LIGHT
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:magichome-led-controller]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DMAGICHOME_LED_CONTROLLER
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DMAGICHOME_LED_CONTROLLER
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:magichome-led-controller-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DMAGICHOME_LED_CONTROLLER
+build_flags = ${common.build_flags_1m0m} -DMAGICHOME_LED_CONTROLLER
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:magichome-led-controller-20]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DMAGICHOME_LED_CONTROLLER_20
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DMAGICHOME_LED_CONTROLLER_20
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:magichome-led-controller-20-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DMAGICHOME_LED_CONTROLLER_20
+build_flags = ${common.build_flags_1m0m} -DMAGICHOME_LED_CONTROLLER_20
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:huacanxing-h801]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
build_flags = -g -Wl,-Tesp8266.flash.1m0.ld -DHUACANXING_H801
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:huacanxing-h801-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
build_flags = -g -Wl,-Tesp8266.flash.1m0.ld -DHUACANXING_H801
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:huacanxing-h802]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
build_flags = -g -Wl,-Tesp8266.flash.1m0.ld -DHUACANXING_H802
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:huacanxing-h802-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
build_flags = -g -Wl,-Tesp8266.flash.1m0.ld -DHUACANXING_H802
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:arilux-al-lc01]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
build_flags = -g -Wl,-Tesp8266.flash.1m0.ld -DARILUX_AL_LC01
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:arilux-al-lc01-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
build_flags = -g -Wl,-Tesp8266.flash.1m0.ld -DARILUX_AL_LC01
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:arilux-al-lc02]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
build_flags = -g -Wl,-Tesp8266.flash.1m0.ld -DARILUX_AL_LC02
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:arilux-al-lc02-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
build_flags = -g -Wl,-Tesp8266.flash.1m0.ld -DARILUX_AL_LC02
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:arilux-al-lc06]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
build_flags = -g -Wl,-Tesp8266.flash.1m0.ld -DARILUX_AL_LC06
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:arilux-al-lc06-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
build_flags = -g -Wl,-Tesp8266.flash.1m0.ld -DARILUX_AL_LC06
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:arilux-al-lc11]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
build_flags = -g -Wl,-Tesp8266.flash.1m0.ld -DARILUX_AL_LC11
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:arilux-al-lc11-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
build_flags = -g -Wl,-Tesp8266.flash.1m0.ld -DARILUX_AL_LC11
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:arilux-e27]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
build_flags = -g -Wl,-Tesp8266.flash.1m0.ld -DARILUX_E27
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:arilux-e27-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
build_flags = -g -Wl,-Tesp8266.flash.1m0.ld -DARILUX_E27
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-bnsz01]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_BNSZ01
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DITEAD_BNSZ01
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:itead-bnsz01-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DITEAD_BNSZ01
+build_flags = ${common.build_flags_1m0m} -DITEAD_BNSZ01
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:wion-50055]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DWION_50055
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DWION_50055
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:wion-50055-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DWION_50055
+build_flags = ${common.build_flags_1m0m} -DWION_50055
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:exs-wifi-relay-v31]
platform = ${common.platform}
framework = arduino
board = esp07
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DEXS_WIFI_RELAY_V31
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DEXS_WIFI_RELAY_V31
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:exs-wifi-relay-v31-ota]
platform = ${common.platform}
framework = arduino
board = esp07
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DEXS_WIFI_RELAY_V31
+build_flags = ${common.build_flags_1m0m} -DEXS_WIFI_RELAY_V31
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:wemos-v9261f]
@@ -1390,9 +1393,9 @@ framework = arduino
board = d1_mini
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DGENERIC_V9261F
+build_flags = ${common.build_flags_4m1m} -DGENERIC_V9261F
upload_speed = 460800
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:wemos-v9261f-ota]
@@ -1401,36 +1404,36 @@ framework = arduino
board = d1_mini
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DGENERIC_V9261F
+build_flags = ${common.build_flags_4m1m} -DGENERIC_V9261F
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:esp01-v9261f]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DGENERIC_V9261F
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DGENERIC_V9261F
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:esp01-v9261f-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DGENERIC_V9261F
+build_flags = ${common.build_flags_1m0m} -DGENERIC_V9261F
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:wemos-ech1560]
@@ -1439,9 +1442,9 @@ framework = arduino
board = d1_mini
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DGENERIC_ECH1560
+build_flags = ${common.build_flags_4m1m} -DGENERIC_ECH1560
upload_speed = 460800
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:wemos-ech1560-ota]
@@ -1450,36 +1453,36 @@ framework = arduino
board = d1_mini
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DGENERIC_ECH1560
+build_flags = ${common.build_flags_4m1m} -DGENERIC_ECH1560
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:esp01-ech1560]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DGENERIC_ECH1560
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DGENERIC_ECH1560
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:esp01-ech1560-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DGENERIC_ECH1560
+build_flags = ${common.build_flags_1m0m} -DGENERIC_ECH1560
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:mancavemade-esplive]
@@ -1488,9 +1491,9 @@ framework = arduino
board = d1_mini
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DMANCAVEMADE_ESPLIVE
+build_flags = ${common.build_flags_4m1m} -DMANCAVEMADE_ESPLIVE
upload_speed = 460800
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:mancavemade-esplive-ota]
@@ -1499,136 +1502,136 @@ framework = arduino
board = d1_mini
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DMANCAVEMADE_ESPLIVE
+build_flags = ${common.build_flags_4m1m} -DMANCAVEMADE_ESPLIVE
upload_speed = 460800
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:intermittech-quinled]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DINTERMITTECH_QUINLED
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DINTERMITTECH_QUINLED
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:intermittech-quinled-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DINTERMITTECH_QUINLED
+build_flags = ${common.build_flags_1m0m} -DINTERMITTECH_QUINLED
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:xenon-sm-pw702u]
platform = ${common.platform}
framework = arduino
board = esp12e
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DXENON_SM_PW702U
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DXENON_SM_PW702U
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:xenon-sm-pw702u-ota]
platform = ${common.platform}
framework = arduino
board = esp12e
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DXENON_SM_PW702U
+build_flags = ${common.build_flags_1m0m} -DXENON_SM_PW702U
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:authometion-lyt8266]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DAUTHOMETION_LYT8266
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DAUTHOMETION_LYT8266
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:authometion-lyt8266-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DAUTHOMETION_LYT8266
+build_flags = ${common.build_flags_1m0m} -DAUTHOMETION_LYT8266
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:kmc-70011]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DKMC_70011
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DKMC_70011
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:kmc-70011-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DKMC_70011
+build_flags = ${common.build_flags_1m0m} -DKMC_70011
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:yjzk-switch-2ch]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DYJZK_SWITCH_2CH
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DYJZK_SWITCH_2CH
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:yjzk-switch-2ch-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DYJZK_SWITCH_2CH
+build_flags = ${common.build_flags_1m0m} -DYJZK_SWITCH_2CH
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:generic-8ch]
@@ -1637,30 +1640,30 @@ framework = arduino
board = d1_mini
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DGENERIC_8CH
+build_flags = ${common.build_flags_4m1m} -DGENERIC_8CH
upload_speed = 460800
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:gizwits-witty-cloud]
platform = ${common.platform}
framework = arduino
board = esp12e
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DGIZWITS_WITTY_CLOUD
-monitor_baud = 115200
+build_flags = ${common.build_flags_4m1m} -DGIZWITS_WITTY_CLOUD
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:gizwits-witty-cloud-ota]
platform = ${common.platform}
framework = arduino
board = esp12e
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DGIZWITS_WITTY_CLOUD
+build_flags = ${common.build_flags_4m1m} -DGIZWITS_WITTY_CLOUD
upload_speed = 115200
upload_port = "${env.ESPURNA_IP}"
upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
@@ -1670,21 +1673,21 @@ extra_scripts = ${common.extra_scripts}
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DEUROMATE_WIFI_STECKER_SCHUKO
-monitor_baud = 115200
+build_flags = ${common.build_flags_4m1m} -DEUROMATE_WIFI_STECKER_SCHUKO
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:euromate-wifi-stecker-shuko-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DEUROMATE_WIFI_STECKER_SCHUKO
+build_flags = ${common.build_flags_4m1m} -DEUROMATE_WIFI_STECKER_SCHUKO
upload_speed = 115200
upload_port = "${env.ESPURNA_IP}"
upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
@@ -1694,21 +1697,21 @@ extra_scripts = ${common.extra_scripts}
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DTONBUX_POWERSTRIP02
-monitor_baud = 115200
+build_flags = ${common.build_flags_4m1m} -DTONBUX_POWERSTRIP02
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:tonbux-powerstrip02-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DTONBUX_POWERSTRIP02
+build_flags = ${common.build_flags_4m1m} -DTONBUX_POWERSTRIP02
upload_speed = 115200
upload_port = "${env.ESPURNA_IP}"
upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
@@ -1718,21 +1721,21 @@ extra_scripts = ${common.extra_scripts}
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DLINGAN_SWA1
-monitor_baud = 115200
+build_flags = ${common.build_flags_4m1m} -DLINGAN_SWA1
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:lingan-swa1-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DLINGAN_SWA1
+build_flags = ${common.build_flags_4m1m} -DLINGAN_SWA1
upload_speed = 115200
upload_port = "${env.ESPURNA_IP}"
upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
@@ -1742,46 +1745,46 @@ extra_scripts = ${common.extra_scripts}
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DSTM_RELAY
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DSTM_RELAY
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:stm-relay-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DSTM_RELAY
+build_flags = ${common.build_flags_1m0m} -DSTM_RELAY
upload_speed = 115200
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:heygo-hy02]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DHEYGO_HY02
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DHEYGO_HY02
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:heygo-hy02-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DHEYGO_HY02
+build_flags = ${common.build_flags_1m0m} -DHEYGO_HY02
upload_speed = 115200
upload_port = "${env.ESPURNA_IP}"
upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
@@ -1791,21 +1794,21 @@ extra_scripts = ${common.extra_scripts}
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DMAXCIO_WUS002S
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DMAXCIO_WUS002S
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:maxcio-wus002s-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DMAXCIO_WUS002S
+build_flags = ${common.build_flags_1m0m} -DMAXCIO_WUS002S
upload_speed = 115200
upload_port = "${env.ESPURNA_IP}"
upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
@@ -1815,21 +1818,21 @@ extra_scripts = ${common.extra_scripts}
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DYIDIAN_XSSSA05
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DYIDIAN_XSSSA05
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:yidian-xsssa05-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DYIDIAN_XSSSA05
+build_flags = ${common.build_flags_1m0m} -DYIDIAN_XSSSA05
upload_speed = 115200
upload_port = "${env.ESPURNA_IP}"
upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
@@ -1839,21 +1842,21 @@ extra_scripts = ${common.extra_scripts}
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DTONBUX_XSSSA06
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DTONBUX_XSSSA06
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:tonbux-xsssa06-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DTONBUX_XSSSA06
+build_flags = ${common.build_flags_1m0m} -DTONBUX_XSSSA06
upload_speed = 115200
upload_port = "${env.ESPURNA_IP}"
upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
@@ -1863,21 +1866,21 @@ extra_scripts = ${common.extra_scripts}
platform = ${common.platform}
framework = arduino
board = esp12e
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DGREEN_ESP8266RELAY
-monitor_baud = 115200
+build_flags = ${common.build_flags_4m1m} -DGREEN_ESP8266RELAY
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:green-esp8266relay-ota]
platform = ${common.platform}
framework = arduino
board = esp12e
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DGREEN_ESP8266RELAY
+build_flags = ${common.build_flags_4m1m} -DGREEN_ESP8266RELAY
upload_speed = 115200
upload_port = "${env.ESPURNA_IP}"
upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
@@ -1887,21 +1890,21 @@ extra_scripts = ${common.extra_scripts}
platform = ${common.platform}
framework = arduino
board = esp12e
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DIKE_ESPIKE
-monitor_baud = 115200
+build_flags = ${common.build_flags_4m1m} -DIKE_ESPIKE
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:ike-espike-ota]
platform = ${common.platform}
framework = arduino
board = esp12e
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags} -DIKE_ESPIKE
+build_flags = ${common.build_flags_4m1m} -DIKE_ESPIKE
upload_speed = 115200
upload_port = "${env.ESPURNA_IP}"
upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
@@ -1911,21 +1914,21 @@ extra_scripts = ${common.extra_scripts}
platform = ${common.platform}
framework = arduino
board = esp12e
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DARNIEX_SWIFITCH
+build_flags = ${common.build_flags_1m0m} -DARNIEX_SWIFITCH
extra_scripts = ${common.extra_scripts}
-monitor_baud = 115200
+monitor_speed = 115200
[env:arniex-swifitch-ota]
platform = ${common.platform}
framework = arduino
board = esp12e
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DARNIEX_SWIFITCH
+build_flags = ${common.build_flags_1m0m} -DARNIEX_SWIFITCH
upload_speed = 115200
upload_port = "${env.ESPURNA_IP}"
upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
@@ -1935,50 +1938,98 @@ extra_scripts = ${common.extra_scripts}
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DZHILDE_EU44_W
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DZHILDE_EU44_W
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:zhilde-eu44-w-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DZHILDE_EU44_W
+build_flags = ${common.build_flags_1m0m} -DZHILDE_EU44_W
upload_speed = 115200
upload_port = "${env.ESPURNA_IP}"
upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
-monitor_baud = 115200
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:luani-hvio]
platform = ${common.platform}
framework = arduino
board = esp07
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DLUANI_HVIO
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DLUANI_HVIO
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:luani-hvio-ota]
platform = ${common.platform}
framework = arduino
board = esp07
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DZLUANI_HVIO
+build_flags = ${common.build_flags_1m0m} -DZLUANI_HVIO
+upload_speed = 115200
+upload_port = "${env.ESPURNA_IP}"
+upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
+monitor_speed = 115200
+extra_scripts = ${common.extra_scripts}
+
+[env:neo-coolcam-power-plug-wifi]
+platform = ${common.platform}
+framework = arduino
+board = esp01_1m
+board_build.flash_mode = dout
+lib_deps = ${common.lib_deps}
+lib_ignore = ${common.lib_ignore}
+build_flags = ${common.build_flags_4m1m} -DNEO_COOLCAM_POWER_PLUG_WIFI
+monitor_speed = 115200
+extra_scripts = ${common.extra_scripts}
+
+[env:neo-coolcam-power-plug-wifi-ota]
+platform = ${common.platform}
+framework = arduino
+board = esp01_1m
+board_build.flash_mode = dout
+lib_deps = ${common.lib_deps}
+lib_ignore = ${common.lib_ignore}
+build_flags = ${common.build_flags_4m1m} -DNEO_COOLCAM_POWER_PLUG_WIFI
+upload_speed = 115200
+upload_port = "${env.ESPURNA_IP}"
+upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
+extra_scripts = ${common.extra_scripts}
+
+[env:estink-wifi-power-strip]
+platform = ${common.platform}
+framework = arduino
+board = esp01_1m
+board_build.flash_mode = dout
+lib_deps = ${common.lib_deps}
+lib_ignore = ${common.lib_ignore}
+build_flags = ${common.build_flags_4m1m} -DESTINK_WIFI_POWER_STRIP
+monitor_speed = 115200
+extra_scripts = ${common.extra_scripts}
+
+[env:estink-wifi-power-strip-ota]
+platform = ${common.platform}
+framework = arduino
+board = esp01_1m
+board_build.flash_mode = dout
+lib_deps = ${common.lib_deps}
+lib_ignore = ${common.lib_ignore}
+build_flags = ${common.build_flags_4m1m} -DESTINK_WIFI_POWER_STRIP
upload_speed = 115200
upload_port = "${env.ESPURNA_IP}"
upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
-monitor_baud = 115200
extra_scripts = ${common.extra_scripts}
# ------------------------------------------------------------------------------
@@ -1989,21 +2040,21 @@ extra_scripts = ${common.extra_scripts}
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DGENERIC_ESP01S_RELAY_V40
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DGENERIC_ESP01S_RELAY_V40
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:generic-esp01s-relay-40-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DGENERIC_ESP01S_RELAY_V40
+build_flags = ${common.build_flags_1m0m} -DGENERIC_ESP01S_RELAY_V40
upload_speed = 115200
upload_port = "${env.ESPURNA_IP}"
upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
@@ -2013,21 +2064,21 @@ extra_scripts = ${common.extra_scripts}
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DGENERIC_ESP01S_RGBLED_V10
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DGENERIC_ESP01S_RGBLED_V10
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:generic-esp01s-rgbled-10-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DGENERIC_ESP01S_RGBLED_V10
+build_flags = ${common.build_flags_1m0m} -DGENERIC_ESP01S_RGBLED_V10
upload_speed = 115200
upload_port = "${env.ESPURNA_IP}"
upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
@@ -2037,21 +2088,21 @@ extra_scripts = ${common.extra_scripts}
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DGENERIC_ESP01S_DHT11_V10
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DGENERIC_ESP01S_DHT11_V10
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:generic-esp01s-dht11-10-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DGENERIC_ESP01S_DHT11_V10
+build_flags = ${common.build_flags_1m0m} -DGENERIC_ESP01S_DHT11_V10
upload_speed = 115200
upload_port = "${env.ESPURNA_IP}"
upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
@@ -2061,21 +2112,21 @@ extra_scripts = ${common.extra_scripts}
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DGENERIC_ESP01S_DS18B20_V10
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DGENERIC_ESP01S_DS18B20_V10
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:generic-esp01s-ds18b20-10-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DGENERIC_ESP01S_DS18B20_V10
+build_flags = ${common.build_flags_1m0m} -DGENERIC_ESP01S_DS18B20_V10
upload_speed = 115200
upload_port = "${env.ESPURNA_IP}"
upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
@@ -2085,22 +2136,105 @@ extra_scripts = ${common.extra_scripts}
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DHELTEC_TOUCHRELAY
-monitor_baud = 115200
+build_flags = ${common.build_flags_1m0m} -DHELTEC_TOUCHRELAY
+monitor_speed = 115200
extra_scripts = ${common.extra_scripts}
[env:heltec-touch-relay-ota]
platform = ${common.platform}
framework = arduino
board = esp01_1m
-board_flash_mode = dout
+board_build.flash_mode = dout
+lib_deps = ${common.lib_deps}
+lib_ignore = ${common.lib_ignore}
+build_flags = ${common.build_flags_1m0m} -DHELTEC_TOUCHRELAY
+upload_speed = 115200
+upload_port = "${env.ESPURNA_IP}"
+upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
+extra_scripts = ${common.extra_scripts}
+
+[env:allnet-4duino-iot-wlan-relais]
+platform = ${common.platform}
+framework = arduino
+board = esp12e
+board_build.flash_mode = dout
+lib_deps = ${common.lib_deps}
+lib_ignore = ${common.lib_ignore}
+build_flags = ${common.build_flags_1m0m} -DALLNET_4DUINO_IOT_WLAN_RELAIS
+monitor_speed = 115200
+extra_scripts = ${common.extra_scripts}
+
+[env:allnet-4duino-iot-wlan-relais-ota]
+platform = ${common.platform}
+framework = arduino
+board = esp12e
+board_build.flash_mode = dout
+lib_deps = ${common.lib_deps}
+lib_ignore = ${common.lib_ignore}
+build_flags = ${common.build_flags_1m0m} -DALLNET_4DUINO_IOT_WLAN_RELAIS
+upload_speed = 115200
+upload_port = "${env.ESPURNA_IP}"
+upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
+extra_scripts = ${common.extra_scripts}
+
+[env:tonbux-mosquito-killer]
+platform = ${common.platform}
+framework = arduino
+board = esp01_1m
+board_build.flash_mode = dout
+lib_deps = ${common.lib_deps}
+lib_ignore = ${common.lib_ignore}
+build_flags = ${common.build_flags_1m0m} -DTONBUX_MOSQUITO_KILLER
+monitor_speed = 115200
+extra_scripts = ${common.extra_scripts}
+
+[env:tonbux-mosquito-killer-ota]
+platform = ${common.platform}
+framework = arduino
+board = esp01_1m
+board_build.flash_mode = dout
+lib_deps = ${common.lib_deps}
+lib_ignore = ${common.lib_ignore}
+build_flags = ${common.build_flags_1m0m} -DTONBUX_MOSQUITO_KILLER
+upload_speed = 115200
+upload_port = "${env.ESPURNA_IP}"
+upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
+extra_scripts = ${common.extra_scripts}
+
+[env:pilotak-esp-din-v1]
+platform = ${common.platform}
+framework = arduino
+board = esp01_1m
+board_build.flash_mode = dout
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
-build_flags = ${common.build_flags_1m} -DHELTEC_TOUCHRELAY
+build_flags = ${common.build_flags_1m} -DPILOTAK_ESP_DIN_V1
+monitor_speed = 115200
+extra_scripts = ${common.extra_scripts}
+
+[env:pilotak-esp-din-v1-ota]
+platform = ${common.platform}
+framework = arduino
+board = esp01_1m
+board_build.flash_mode = dout
+lib_deps = ${common.lib_deps}
+lib_ignore = ${common.lib_ignore}
+build_flags = ${common.build_flags_1m} -DPILOTAK_ESP_DIN_V1
upload_speed = 115200
upload_port = "${env.ESPURNA_IP}"
upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266
extra_scripts = ${common.extra_scripts}
+
+[env:nodemcu-geiger]
+platform = ${common.platform}
+framework = arduino
+board = nodemcu
+lib_deps = ${common.lib_deps}
+lib_ignore = ${common.lib_ignore}
+build_flags = ${common.build_flags} -DNODEMCU_BASIC -DNOWSAUTH -DGEIGER_SUPPORT=1 -DEVENTS_SUPPORT=0 -DINFLUXDB_SUPPORT=1 -DALEXA_SUPPORT=0 -DALEXA_ENABLED=0
+upload_speed = 460800
+monitor_speed = 115200
+extra_scripts = ${common.extra_scripts}
diff --git a/code/symbols.sh b/code/symbols.sh
new file mode 100755
index 00000000..4156a116
--- /dev/null
+++ b/code/symbols.sh
@@ -0,0 +1,57 @@
+#!/bin/bash
+
+# ------------------------------------------------------------------------------
+# CONFIGURATION
+# ------------------------------------------------------------------------------
+
+ENVIRONMENT="wemos-d1mini-relayshield"
+READELF="xtensa-lx106-elf-readelf"
+NUMBER=20
+
+# ------------------------------------------------------------------------------
+# END CONFIGURATION - DO NOT EDIT FURTHER
+# ------------------------------------------------------------------------------
+
+# remove default trace file
+rm -rf $FILE
+
+function help {
+ echo
+ echo "Syntax: $0 [-e ] [-n ]"
+ echo
+}
+
+# get environment from command line
+while [[ $# -gt 1 ]]; do
+
+ key="$1"
+
+ case $key in
+ -e)
+ ENVIRONMENT="$2"
+ shift
+ ;;
+ -n)
+ NUMBER="$2"
+ shift
+ ;;
+ esac
+
+ shift # past argument or value
+
+done
+
+# check environment folder
+if [ $ENVIRONMENT == "" ]; then
+ echo "No environment defined"
+ help
+ exit 1
+fi
+ELF=.pioenvs/$ENVIRONMENT/firmware.elf
+if [ ! -f $ELF ]; then
+ echo "Could not find ELF file for the selected environment: $ELF"
+ exit 2
+fi
+
+$READELF -s $ELF | head -3 | tail -1
+$READELF -s $ELF | sort -r -k3 -n | head -$NUMBER
diff --git a/images/devices/geiger_espurna_configuration.png b/images/devices/geiger_espurna_configuration.png
new file mode 100644
index 00000000..1316084d
Binary files /dev/null and b/images/devices/geiger_espurna_configuration.png differ
diff --git a/images/devices/geiger_espurna_status.png b/images/devices/geiger_espurna_status.png
new file mode 100644
index 00000000..26bd8185
Binary files /dev/null and b/images/devices/geiger_espurna_status.png differ
diff --git a/images/devices/geiger_grafana_dashboard.png b/images/devices/geiger_grafana_dashboard.png
new file mode 100644
index 00000000..d997f7a4
Binary files /dev/null and b/images/devices/geiger_grafana_dashboard.png differ
diff --git a/images/devices/geiger_scope_following_pulses.png b/images/devices/geiger_scope_following_pulses.png
new file mode 100755
index 00000000..63fd5b5a
Binary files /dev/null and b/images/devices/geiger_scope_following_pulses.png differ
diff --git a/images/devices/geiger_scope_single_pulse.png b/images/devices/geiger_scope_single_pulse.png
new file mode 100755
index 00000000..d5d38782
Binary files /dev/null and b/images/devices/geiger_scope_single_pulse.png differ
diff --git a/images/devices/geiger_wiring_diagram.png b/images/devices/geiger_wiring_diagram.png
new file mode 100644
index 00000000..730a0845
Binary files /dev/null and b/images/devices/geiger_wiring_diagram.png differ
diff --git a/images/devices/tonbux-mosquito-killer.jpg b/images/devices/tonbux-mosquito-killer.jpg
new file mode 100644
index 00000000..dfed5f3c
Binary files /dev/null and b/images/devices/tonbux-mosquito-killer.jpg differ