1
0
mirror of https://github.com/esphome/esphome.git synced 2025-11-07 02:21:51 +00:00

Compare commits

..

8 Commits

Author SHA1 Message Date
Otto Winter
6be47488a4 Bump version to v1.11.0b3 2019-02-21 18:35:04 +01:00
Otto Winter
5b94bb894e Allow use of arduino core v2.5.0 on ESP8266 (#446)
* Allow use of arduino core v2.5.0 on ESP8266

It's very unstable, but you can try if you want

* Fix
2019-02-21 18:35:01 +01:00
Otto Winter
26aa399bea Allow i2c on non-pullup pins (#447) 2019-02-21 18:35:00 +01:00
Otto Winter
e2b1d5438d Bump version to v1.11.0b2 2019-02-20 12:50:28 +01:00
Otto Winter
fe66f93a01 Fix MQTT log topic level (#445) 2019-02-20 12:50:24 +01:00
Florian Gareis
581dffe2d4 Remove unnecessary wrapper (#444) 2019-02-20 12:50:24 +01:00
Florian Gareis
6f22006bf7 Remove duplicate scrollbar & move scrollbar (#443)
* Remove duplicate scrollbar

* Move scrolling from modal-content to log-container

* Replace css autoscroll with stable js autoscroll
2019-02-20 12:50:24 +01:00
Otto Winter
fe54700687 Fix custom components not registered (#441) 2019-02-20 12:50:24 +01:00
12 changed files with 66 additions and 78 deletions

View File

@@ -3,7 +3,7 @@ import voluptuous as vol
from esphome.components import binary_sensor
import esphome.config_validation as cv
from esphome.const import CONF_BINARY_SENSORS, CONF_ID, CONF_LAMBDA, CONF_NAME
from esphome.cpp_generator import Pvariable, add, process_lambda, variable
from esphome.cpp_generator import add, process_lambda, variable
from esphome.cpp_types import std_vector
CustomBinarySensorConstructor = binary_sensor.binary_sensor_ns.class_(
@@ -27,9 +27,9 @@ def to_code(config):
rhs = CustomBinarySensorConstructor(template_)
custom = variable(config[CONF_ID], rhs)
for i, conf in enumerate(config[CONF_BINARY_SENSORS]):
var = Pvariable(conf[CONF_ID], custom.get_binary_sensor(i))
add(var.set_name(conf[CONF_NAME]))
binary_sensor.setup_binary_sensor(var, conf)
rhs = custom.Pget_binary_sensor(i)
add(rhs.set_name(conf[CONF_NAME]))
binary_sensor.register_binary_sensor(rhs, conf)
BUILD_FLAGS = '-DUSE_CUSTOM_BINARY_SENSOR'

View File

@@ -13,8 +13,8 @@ I2CDevice = pins.I2CDevice
CONFIG_SCHEMA = vol.Schema({
cv.GenerateID(): cv.declare_variable_id(I2CComponent),
vol.Optional(CONF_SDA, default='SDA'): pins.input_pullup_pin,
vol.Optional(CONF_SCL, default='SCL'): pins.input_pullup_pin,
vol.Optional(CONF_SDA, default='SDA'): pins.input_pin,
vol.Optional(CONF_SCL, default='SCL'): pins.input_pin,
vol.Optional(CONF_FREQUENCY): vol.All(cv.frequency, vol.Range(min=0, min_included=False)),
vol.Optional(CONF_SCAN): cv.boolean,

View File

@@ -163,8 +163,8 @@ def to_code(config):
else:
add(mqtt.set_log_message_template(exp_mqtt_message(log_topic)))
if CONF_LEVEL in config:
add(mqtt.set_log_level(logger.LOG_LEVELS[config[CONF_LEVEL]]))
if CONF_LEVEL in log_topic:
add(mqtt.set_log_level(logger.LOG_LEVELS[log_topic[CONF_LEVEL]]))
if CONF_SSL_FINGERPRINTS in config:
for fingerprint in config[CONF_SSL_FINGERPRINTS]:

View File

@@ -3,7 +3,7 @@ import voluptuous as vol
from esphome.components import sensor
import esphome.config_validation as cv
from esphome.const import CONF_ID, CONF_LAMBDA, CONF_NAME, CONF_SENSORS
from esphome.cpp_generator import Pvariable, add, process_lambda, variable
from esphome.cpp_generator import add, process_lambda, variable
from esphome.cpp_types import std_vector
CustomSensorConstructor = sensor.sensor_ns.class_('CustomSensorConstructor')
@@ -25,9 +25,9 @@ def to_code(config):
rhs = CustomSensorConstructor(template_)
custom = variable(config[CONF_ID], rhs)
for i, conf in enumerate(config[CONF_SENSORS]):
var = Pvariable(conf[CONF_ID], custom.get_sensor(i))
add(var.set_name(conf[CONF_NAME]))
sensor.setup_sensor(var, conf)
rhs = custom.Pget_sensor(i)
add(rhs.set_name(conf[CONF_NAME]))
sensor.register_sensor(rhs, conf)
BUILD_FLAGS = '-DUSE_CUSTOM_SENSOR'

View File

@@ -3,7 +3,7 @@ import voluptuous as vol
from esphome.components import switch
import esphome.config_validation as cv
from esphome.const import CONF_ID, CONF_LAMBDA, CONF_NAME, CONF_SWITCHES
from esphome.cpp_generator import Pvariable, add, process_lambda, variable
from esphome.cpp_generator import add, process_lambda, variable
from esphome.cpp_types import std_vector
CustomSwitchConstructor = switch.switch_ns.class_('CustomSwitchConstructor')
@@ -26,9 +26,9 @@ def to_code(config):
rhs = CustomSwitchConstructor(template_)
custom = variable(config[CONF_ID], rhs)
for i, conf in enumerate(config[CONF_SWITCHES]):
var = Pvariable(conf[CONF_ID], custom.get_switch(i))
add(var.set_name(conf[CONF_NAME]))
switch.setup_switch(var, conf)
rhs = custom.Pget_switch(i)
add(rhs.set_name(conf[CONF_NAME]))
switch.register_switch(rhs, conf)
BUILD_FLAGS = '-DUSE_CUSTOM_SWITCH'

View File

@@ -3,7 +3,7 @@ import voluptuous as vol
from esphome.components import text_sensor
import esphome.config_validation as cv
from esphome.const import CONF_ID, CONF_LAMBDA, CONF_NAME, CONF_TEXT_SENSORS
from esphome.cpp_generator import Pvariable, add, process_lambda, variable
from esphome.cpp_generator import add, process_lambda, variable
from esphome.cpp_types import std_vector
CustomTextSensorConstructor = text_sensor.text_sensor_ns.class_('CustomTextSensorConstructor')
@@ -26,9 +26,9 @@ def to_code(config):
rhs = CustomTextSensorConstructor(template_)
custom = variable(config[CONF_ID], rhs)
for i, conf in enumerate(config[CONF_TEXT_SENSORS]):
var = Pvariable(conf[CONF_ID], custom.get_text_sensor(i))
add(var.set_name(conf[CONF_NAME]))
text_sensor.setup_text_sensor(var, conf)
rhs = custom.Pget_text_sensor(i)
add(rhs.set_name(conf[CONF_NAME]))
text_sensor.register_text_sensor(rhs, conf)
BUILD_FLAGS = '-DUSE_CUSTOM_TEXT_SENSOR'

View File

@@ -2,10 +2,10 @@
MAJOR_VERSION = 1
MINOR_VERSION = 11
PATCH_VERSION = '0b1'
PATCH_VERSION = '0b3'
__short_version__ = '{}.{}'.format(MAJOR_VERSION, MINOR_VERSION)
__version__ = '{}.{}'.format(__short_version__, PATCH_VERSION)
ESPHOME_CORE_VERSION = '1.11.0b1'
ESPHOME_CORE_VERSION = '1.11.0b3'
ESP_PLATFORM_ESP32 = 'ESP32'
ESP_PLATFORM_ESP8266 = 'ESP8266'
@@ -415,5 +415,7 @@ CONF_SEGMENTS = 'segments'
ALLOWED_NAME_CHARS = u'abcdefghijklmnopqrstuvwxyz0123456789_'
ARDUINO_VERSION_ESP32_DEV = 'https://github.com/platformio/platform-espressif32.git#feature/stage'
ARDUINO_VERSION_ESP32_1_0_1 = 'espressif32@1.6.0'
ARDUINO_VERSION_ESP8266_DEV = 'https://github.com/platformio/platform-espressif8266.git#feature' \
'/stage'
ARDUINO_VERSION_ESP8266_2_5_0 = 'espressif8266@2.0.0'

View File

@@ -114,6 +114,7 @@ def validate_platform(value):
PLATFORMIO_ESP8266_LUT = {
'2.5.0': 'espressif8266@2.0.0',
'2.4.2': 'espressif8266@1.8.0',
'2.4.1': 'espressif8266@1.7.3',
'2.4.0': 'espressif8266@1.6.0',
@@ -125,6 +126,7 @@ PLATFORMIO_ESP8266_LUT = {
PLATFORMIO_ESP32_LUT = {
'1.0.0': 'espressif32@1.4.0',
'1.0.1': 'espressif32@1.6.0',
'RECOMMENDED': 'espressif32@1.5.0',
'LATEST': 'espressif32',
'DEV': ARDUINO_VERSION_ESP32_DEV,

View File

@@ -46,17 +46,8 @@ i.very-large {
font-family: "SFMono-Regular",Consolas,"Liberation Mono",Menlo,Courier,monospace;
}
.autoscroll {
display: flex;
flex-direction: column-reverse;
flex-basis: auto;
}
.autoscroll div {
flex-basis: 100%;
}
.log {
max-height: calc(100% - 56px);
background-color: #1c1c1c;
margin-top: 0;
margin-bottom: 0;
@@ -161,6 +152,10 @@ ul.stepper:not(.horizontal) .step.active::before, ul.stepper:not(.horizontal) .s
height: auto !important;
}
.tap-target-wrapper {
position: fixed !important;
}
/* https://github.com/tnhu/status-indicator/blob/master/styles.css */
.status-indicator .status-indicator-icon {
display: inline-block;
@@ -223,9 +218,8 @@ ul.stepper:not(.horizontal) .step.active::before, ul.stepper:not(.horizontal) .s
#editor {
margin-top: 0;
margin-bottom: 0;
padding: 16px;
border-radius: 3px;
height: 100%
height: calc(100% - 56px);
}
.update-available i {

View File

@@ -168,6 +168,7 @@ const colorReplace = (pre, state, text) => {
}
}
addSpan(text.substring(i));
scrollToBottomOfElement(pre);
};
const removeUpdateAvailable = (filename) => {
@@ -700,4 +701,15 @@ const startWizard = () => {
});
};
const scrollToBottomOfElement = (element) => {
var atBottom = false;
if (element.scrollTop + 30 >= (element.scrollHeight - element.offsetHeight)) {
atBottom = true;
}
if (atBottom) {
element.scrollTop = element.scrollHeight;
}
}
setupWizardStart.addEventListener('click', startWizard);

View File

@@ -93,15 +93,9 @@
</div>
<div id="modal-logs" class="modal modal-fixed-footer">
<div class="modal-content autoscroll">
<div>
<h4>Show Logs <code class="inlinecode filename"></code></h4>
<div>
<div class="log-container">
<pre class="log"></pre>
</div>
</div>
</div>
<div class="modal-content">
<h4>Show Logs <code class="inlinecode filename"></code></h4>
<pre class="log"></pre>
</div>
<div class="modal-footer">
<a class="modal-close waves-effect waves-green btn-flat stop-logs">Close</a>
@@ -109,13 +103,9 @@
</div>
<div id="modal-upload" class="modal modal-fixed-footer">
<div class="modal-content autoscroll">
<div>
<h4>Compile And Upload <code class="inlinecode filename"></code></h4>
<div class="log-container">
<pre class="log"></pre>
</div>
</div>
<div class="modal-content">
<h4>Compile And Upload <code class="inlinecode filename"></code></h4>
<pre class="log"></pre>
</div>
<div class="modal-footer">
<a href="https://esphome.io/guides/faq.html#i-can-t-get-flashing-over-usb-to-work" target="_blank"
@@ -127,13 +117,9 @@
</div>
<div id="modal-compile" class="modal modal-fixed-footer">
<div class="modal-content autoscroll">
<div>
<h4>Compile <code class="inlinecode filename"></code></h4>
<div class="log-container">
<pre class="log"></pre>
</div>
</div>
<div class="modal-content">
<h4>Compile <code class="inlinecode filename"></code></h4>
<pre class="log"></pre>
</div>
<div class="modal-footer">
<a href="https://esphome.io/guides/faq.html#i-can-t-get-flashing-over-usb-to-work"
@@ -149,9 +135,7 @@
<div id="modal-validate" class="modal modal-fixed-footer">
<div class="modal-content">
<h4>Validate <code class="inlinecode filename"></code></h4>
<div class="log-container">
<pre class="log"></pre>
</div>
<pre class="log"></pre>
</div>
<div class="modal-footer">
<a class="modal-close waves-effect waves-green btn-flat stop-logs">Stop</a>
@@ -400,12 +384,10 @@
</div>
<div id="modal-clean-mqtt" class="modal modal-fixed-footer">
<div class="modal-content autoscroll">
<div class="modal-content">
<div>
<h4>Clean MQTT discovery <code class="inlinecode filename"></code></h4>
<div class="log-container">
<pre class="log"></pre>
</div>
<pre class="log"></pre>
</div>
</div>
<div class="modal-footer">
@@ -414,12 +396,10 @@
</div>
<div id="modal-clean" class="modal modal-fixed-footer">
<div class="modal-content autoscroll">
<div class="modal-content">
<div>
<h4>Clean Build Files <code class="inlinecode filename"></code></h4>
<div class="log-container">
<pre class="log"></pre>
</div>
<pre class="log"></pre>
</div>
</div>
<div class="modal-footer">
@@ -430,9 +410,7 @@
<div id="modal-hass-config" class="modal modal-fixed-footer">
<div class="modal-content">
<h4>Generate Home Assistant Configuration <code class="inlinecode filename"></code></h4>
<div class="log-container">
<pre class="log"></pre>
</div>
<pre class="log"></pre>
</div>
<div class="modal-footer">
<a class="modal-close waves-effect waves-green btn-flat stop-logs">Stop</a>

View File

@@ -8,10 +8,10 @@ import re
import shutil
from esphome.config import iter_components
from esphome.const import ARDUINO_VERSION_ESP32_DEV, ARDUINO_VERSION_ESP8266_DEV, \
CONF_ARDUINO_VERSION, CONF_BOARD_FLASH_MODE, CONF_BRANCH, CONF_COMMIT, CONF_ESPHOME, \
CONF_LOCAL, \
CONF_PLATFORMIO_OPTIONS, CONF_REPOSITORY, CONF_TAG, CONF_USE_CUSTOM_CODE
from esphome.const import ARDUINO_VERSION_ESP32_1_0_1, ARDUINO_VERSION_ESP32_DEV, \
ARDUINO_VERSION_ESP8266_2_5_0, ARDUINO_VERSION_ESP8266_DEV, CONF_BOARD_FLASH_MODE, \
CONF_BRANCH, CONF_COMMIT, CONF_ESPHOME, CONF_LOCAL, CONF_PLATFORMIO_OPTIONS, CONF_REPOSITORY, \
CONF_TAG, CONF_USE_CUSTOM_CODE
from esphome.core import CORE, EsphomeError
from esphome.core_config import GITHUB_ARCHIVE_ZIP, LIBRARY_URI_REPO, VERSION_REGEX
from esphome.helpers import mkdir_p, run_system_command
@@ -285,7 +285,7 @@ def gather_lib_deps():
lib_deps.discard('AsyncTCP@1.0.3')
# Manual fix for AsyncTCP
if CORE.config[CONF_ESPHOME].get(CONF_ARDUINO_VERSION) == ARDUINO_VERSION_ESP32_DEV:
if CORE.arduino_version in (ARDUINO_VERSION_ESP32_DEV, ARDUINO_VERSION_ESP32_1_0_1):
lib_deps.add('AsyncTCP@1.0.3')
lib_deps.discard('AsyncTCP@1.0.1')
elif CORE.is_esp8266:
@@ -356,14 +356,14 @@ def get_ini_content():
if CORE.arduino_version in ('espressif8266@1.8.0', 'espressif8266@1.7.3',
'espressif8266@1.6.0', 'espressif8266@1.5.0'):
ld_script = ld_scripts[0]
elif CORE.arduino_version == ARDUINO_VERSION_ESP8266_DEV:
elif CORE.arduino_version in (ARDUINO_VERSION_ESP8266_DEV, ARDUINO_VERSION_ESP8266_2_5_0):
ld_script = ld_scripts[1]
if ld_script is not None:
build_flags.append('-Wl,-T{}'.format(ld_script))
data = {
'platform': CORE.config[CONF_ESPHOME][CONF_ARDUINO_VERSION],
'platform': CORE.arduino_version,
'board': CORE.board,
'framework': 'arduino',
'lib_deps': lib_deps + ['${common.lib_deps}'],