1
0
mirror of https://github.com/esphome/esphome.git synced 2025-11-03 08:31:47 +00:00

Compare commits

...

33 Commits

Author SHA1 Message Date
Jesse Hills
70f1c71a9f Merge pull request #4038 from esphome/bump-2022.11.0
2022.11.0
2022-11-17 08:05:52 +13:00
John Moxley
816df5ad47 bump nginx-light 1.18.0-6.1+deb11u2 to 1.18.0-6.1+deb11u3 (#4034)
fixes https://github.com/esphome/issues/issues/3793
2022-11-17 07:45:26 +13:00
Jesse Hills
7e88eea532 Bump version to 2022.11.0 2022-11-17 07:17:42 +13:00
Jesse Hills
d1cdfd3b72 Merge branch 'beta' into bump-2022.11.0 2022-11-17 07:17:41 +13:00
Jesse Hills
d6a03d48f5 Merge pull request #4037 from esphome/bump-2022.11.0b6
2022.11.0b6
2022-11-16 17:26:45 +13:00
Jesse Hills
d453b42b1a Bump version to 2022.11.0b6 2022-11-16 15:48:50 +13:00
Jesse Hills
7c19b961e2 Always save user wifi credentials if non in config (#4036) 2022-11-16 15:48:50 +13:00
Jesse Hills
d924702825 Merge pull request #4035 from esphome/bump-2022.11.0b5
2022.11.0b5
2022-11-16 15:45:53 +13:00
Jesse Hills
e8784ba383 Bump version to 2022.11.0b5 2022-11-16 12:30:41 +13:00
2mikrobi
e3a454d1a6 Update_interval less that 1 second in QMC5883L integration (#4031)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2022-11-16 12:30:41 +13:00
Jesse Hills
58fda40389 Merge pull request #4026 from esphome/bump-2022.11.0b4
2022.11.0b4
2022-11-14 14:20:09 +13:00
Jesse Hills
6a73699a38 Bump version to 2022.11.0b4 2022-11-14 13:31:48 +13:00
Jesse Hills
3bd6456fbe Mark mqtt as unavailable on rp2040 (#4025) 2022-11-14 13:31:47 +13:00
Jesse Hills
608be4e050 Fix time components on rp2040 (#4024) 2022-11-14 13:31:47 +13:00
Jesse Hills
10f590324b Mark webserver and captive portal as not available on rp2040 (#4023) 2022-11-14 13:31:47 +13:00
Jesse Hills
39f0f748bf Merge pull request #4018 from esphome/bump-2022.11.0b3
2022.11.0b3
2022-11-11 12:26:49 +13:00
Jesse Hills
9efe59a984 Bump version to 2022.11.0b3 2022-11-11 11:49:37 +13:00
Samuel Sieb
fcb02af782 fix to_lower filter (#4015) 2022-11-11 11:49:37 +13:00
Jesse Hills
3aeef1afd4 Merge pull request #4012 from esphome/bump-2022.11.0b2
2022.11.0b2
2022-11-10 13:33:16 +13:00
Jesse Hills
a45ee8f4ac Bump version to 2022.11.0b2 2022-11-10 11:08:22 +13:00
RoboMagus
31b62d7dca Fix local webserver based on esphome/esphome-webserver#17 (#3958)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
fixes https://github.com/esphome/issues/issues/3720
2022-11-10 11:08:22 +13:00
Jesse Hills
22f81475db Add option for dashboard command to only generate the project and supporting files (#3981) 2022-11-10 11:08:22 +13:00
maringeph
cc7cf73d59 Add cover toggle support to current based cover (#3950) 2022-11-10 11:08:22 +13:00
Jesse Hills
9682e60a25 Update set-output to use new GITHUB_OUTPUT (#4008) 2022-11-10 11:08:22 +13:00
Jesse Hills
fd8b9fb028 Merge pull request #3975 from esphome/bump-2022.10.2
2022.10.2
2022-11-02 19:01:54 +13:00
Jesse Hills
bdf1813b3a Bump version to 2022.10.2 2022-11-01 12:38:54 +13:00
Jesse Hills
45b6c93f5f Fix bluetooth_proxy not connecting (#3967) 2022-11-01 12:38:54 +13:00
Jesse Hills
6124531479 Merge pull request #3944 from esphome/bump-2022.10.1
2022.10.1
2022-10-26 12:49:08 +13:00
Jesse Hills
b8549d323c Bump version to 2022.10.1 2022-10-26 12:08:19 +13:00
Franck Nijhof
01adece673 Add wind_speed sensor device class (#3941) 2022-10-26 12:08:19 +13:00
NP v/d Spek
0220934e4c Fixed touch release issue using the interrupt pin (#3925)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2022-10-26 12:08:19 +13:00
Franck Nijhof
ca09693efa Add water & precipitation_intensity sensor device classes (#3940) 2022-10-26 12:08:19 +13:00
Jesse Hills
e96d7483b3 Update bluetooth proxy limit as soon as connection requested (#3935) 2022-10-26 12:08:18 +13:00
17 changed files with 617 additions and 606 deletions

View File

@@ -31,7 +31,7 @@ jobs:
today="$(date --utc '+%Y%m%d')"
TAG="${TAG}${today}"
fi
echo "::set-output name=tag::${TAG}"
echo "tag=${TAG}" >> $GITHUB_OUTPUT
# yamllint enable rule:line-length
deploy-pypi:

View File

@@ -94,7 +94,7 @@ RUN \
apt-get update \
# Use pinned versions so that we get updates with build caching
&& apt-get install -y --no-install-recommends \
nginx-light=1.18.0-6.1+deb11u2 \
nginx-light=1.18.0-6.1+deb11u3 \
&& rm -rf \
/tmp/* \
/var/{cache,log}/* \

View File

@@ -8,6 +8,7 @@ CODEOWNERS = ["@OttoWinter"]
CONFIG_SCHEMA = cv.All(
cv.Schema({}),
cv.only_with_arduino,
cv.only_on(["esp32", "esp8266"]),
)

View File

@@ -1,9 +1,8 @@
import esphome.codegen as cg
import esphome.config_validation as cv
import esphome.final_validate as fv
from esphome.components import web_server_base
from esphome.components.web_server_base import CONF_WEB_SERVER_BASE_ID
from esphome.const import CONF_ID, CONF_NETWORKS, CONF_PASSWORD, CONF_SSID, CONF_WIFI
from esphome.const import CONF_ID
from esphome.core import coroutine_with_priority, CORE
AUTO_LOAD = ["web_server_base"]
@@ -13,7 +12,6 @@ CODEOWNERS = ["@OttoWinter"]
captive_portal_ns = cg.esphome_ns.namespace("captive_portal")
CaptivePortal = captive_portal_ns.class_("CaptivePortal", cg.Component)
CONF_KEEP_USER_CREDENTIALS = "keep_user_credentials"
CONFIG_SCHEMA = cv.All(
cv.Schema(
{
@@ -21,29 +19,13 @@ CONFIG_SCHEMA = cv.All(
cv.GenerateID(CONF_WEB_SERVER_BASE_ID): cv.use_id(
web_server_base.WebServerBase
),
cv.Optional(CONF_KEEP_USER_CREDENTIALS, default=False): cv.boolean,
}
).extend(cv.COMPONENT_SCHEMA),
cv.only_with_arduino,
cv.only_on(["esp32", "esp8266"]),
)
def validate_wifi(config):
wifi_conf = fv.full_config.get()[CONF_WIFI]
if config.get(CONF_KEEP_USER_CREDENTIALS, False) and (
CONF_SSID in wifi_conf
or CONF_PASSWORD in wifi_conf
or CONF_NETWORKS in wifi_conf
):
raise cv.Invalid(
f"WiFi credentials cannot be used together with {CONF_KEEP_USER_CREDENTIALS}"
)
return config
FINAL_VALIDATE_SCHEMA = validate_wifi
@coroutine_with_priority(64.0)
async def to_code(config):
paren = await cg.get_variable(config[CONF_WEB_SERVER_BASE_ID])
@@ -57,6 +39,3 @@ async def to_code(config):
cg.add_library("WiFi", None)
if CORE.is_esp8266:
cg.add_library("DNSServer", None)
if config.get(CONF_KEEP_USER_CREDENTIALS, False):
cg.add_define("USE_CAPTIVE_PORTAL_KEEP_USER_CREDENTIALS")

View File

@@ -13,6 +13,7 @@ using namespace esphome::cover;
CoverTraits CurrentBasedCover::get_traits() {
auto traits = CoverTraits();
traits.set_supports_position(true);
traits.set_supports_toggle(true);
traits.set_is_assumed_state(false);
return traits;
}
@@ -20,6 +21,20 @@ void CurrentBasedCover::control(const CoverCall &call) {
if (call.get_stop()) {
this->direction_idle_();
}
if (call.get_toggle().has_value()) {
if (this->current_operation != COVER_OPERATION_IDLE) {
this->start_direction_(COVER_OPERATION_IDLE);
this->publish_state();
} else {
if (this->position == COVER_CLOSED || this->last_operation_ == COVER_OPERATION_CLOSING) {
this->target_position_ = COVER_OPEN;
this->start_direction_(COVER_OPERATION_OPENING);
} else {
this->target_position_ = COVER_CLOSED;
this->start_direction_(COVER_OPERATION_CLOSING);
}
}
}
if (call.get_position().has_value()) {
auto pos = *call.get_position();
if (pos == this->position) {
@@ -202,9 +217,11 @@ void CurrentBasedCover::start_direction_(CoverOperation dir) {
trig = this->stop_trigger_;
break;
case COVER_OPERATION_OPENING:
this->last_operation_ = dir;
trig = this->open_trigger_;
break;
case COVER_OPERATION_CLOSING:
this->last_operation_ = dir;
trig = this->close_trigger_;
break;
default:

View File

@@ -89,6 +89,8 @@ class CurrentBasedCover : public cover::Cover, public Component {
uint32_t start_dir_time_{0};
uint32_t last_publish_time_{0};
float target_position_{0};
cover::CoverOperation last_operation_{cover::COVER_OPERATION_OPENING};
};
} // namespace current_based

View File

@@ -250,6 +250,7 @@ CONFIG_SCHEMA = cv.All(
}
),
validate_config,
cv.only_on(["esp32", "esp8266"]),
)

View File

@@ -103,7 +103,7 @@ CONFIG_SCHEMA = (
def auto_data_rate(config):
interval_sec = config[CONF_UPDATE_INTERVAL].seconds
interval_sec = config[CONF_UPDATE_INTERVAL].total_milliseconds / 1000
interval_hz = 1.0 / interval_sec
for datarate in sorted(QMC5883LDatarates.keys()):
if float(datarate) >= interval_hz:

View File

@@ -10,6 +10,9 @@
#ifdef USE_ESP8266
#include "sntp.h"
#endif
#ifdef USE_RP2040
#include "lwip/apps/sntp.h"
#endif
// Yes, the server names are leaked, but that's fine.
#ifdef CLANG_TIDY

View File

@@ -51,7 +51,7 @@ optional<std::string> ToUpperFilter::new_value(std::string value) {
// ToLowerFilter
optional<std::string> ToLowerFilter::new_value(std::string value) {
for (char &c : value)
c = ::toupper(c);
c = ::tolower(c);
return value;
}

View File

@@ -4,6 +4,9 @@
#ifdef USE_ESP8266
#include "sys/time.h"
#endif
#ifdef USE_RP2040
#include <sys/time.h>
#endif
#include <cerrno>
namespace esphome {

View File

@@ -75,6 +75,7 @@ CONFIG_SCHEMA = cv.All(
}
).extend(cv.COMPONENT_SCHEMA),
cv.only_with_arduino,
cv.only_on(["esp32", "esp8266"]),
default_url,
validate_local,
)

File diff suppressed because it is too large Load Diff

View File

@@ -39,11 +39,8 @@ void WiFiComponent::setup() {
this->last_connected_ = millis();
this->wifi_pre_setup_();
#ifndef USE_CAPTIVE_PORTAL_KEEP_USER_CREDENTIALS
uint32_t hash = fnv1_hash(App.get_compilation_time());
#else
uint32_t hash = 88491487UL;
#endif
uint32_t hash = this->has_sta() ? fnv1_hash(App.get_compilation_time()) : 88491487UL;
this->pref_ = global_preferences->make_preference<wifi::SavedWifiSettings>(hash, true);
SavedWifiSettings save{};

View File

@@ -1,6 +1,6 @@
"""Constants used by esphome."""
__version__ = "2022.11.0b1"
__version__ = "2022.11.0"
ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_"

View File

@@ -313,7 +313,11 @@ class EsphomeUploadHandler(EsphomeCommandWebSocket):
class EsphomeCompileHandler(EsphomeCommandWebSocket):
def build_command(self, json_message):
config_file = settings.rel_path(json_message["configuration"])
return ["esphome", "--dashboard", "compile", config_file]
command = ["esphome", "--dashboard", "compile"]
if json_message.get("only_generate", False):
command.append("--only-generate")
command.append(config_file)
return command
class EsphomeValidateHandler(EsphomeCommandWebSocket):

View File

@@ -884,6 +884,7 @@ binary_sensor:
then:
- cover.toggle: time_based_cover
- cover.toggle: endstop_cover
- cover.toggle: current_based_cover
- platform: hydreon_rgxx
hydreon_rgxx_id: hydreon_rg9
too_cold:
@@ -1246,6 +1247,7 @@ cover:
close_duration: 4.5min
- platform: current_based
name: Current Based Cover
id: current_based_cover
open_sensor: ade7953_current_a
open_moving_current_threshold: 0.5
open_obstacle_current_threshold: 0.8