esphome 2024.7.0b2__py3-none-any.whl → 2024.7.0b4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- esphome/components/i2s_audio/__init__.py +10 -0
- esphome/components/i2s_audio/microphone/__init__.py +7 -0
- esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp +2 -3
- esphome/components/i2s_audio/microphone/i2s_audio_microphone.h +3 -0
- esphome/components/improv_serial/improv_serial_component.cpp +3 -2
- esphome/components/micro_wake_word/__init__.py +3 -1
- esphome/components/ota/ota_backend_arduino_esp32.cpp +22 -7
- esphome/components/ota/ota_backend_arduino_esp8266.cpp +23 -8
- esphome/components/ota/ota_backend_arduino_libretiny.cpp +22 -7
- esphome/components/ota/ota_backend_arduino_rp2040.cpp +22 -7
- esphome/const.py +1 -1
- {esphome-2024.7.0b2.dist-info → esphome-2024.7.0b4.dist-info}/METADATA +1 -1
- {esphome-2024.7.0b2.dist-info → esphome-2024.7.0b4.dist-info}/RECORD +17 -17
- {esphome-2024.7.0b2.dist-info → esphome-2024.7.0b4.dist-info}/LICENSE +0 -0
- {esphome-2024.7.0b2.dist-info → esphome-2024.7.0b4.dist-info}/WHEEL +0 -0
- {esphome-2024.7.0b2.dist-info → esphome-2024.7.0b4.dist-info}/entry_points.txt +0 -0
- {esphome-2024.7.0b2.dist-info → esphome-2024.7.0b4.dist-info}/top_level.txt +0 -0
@@ -25,6 +25,10 @@ CONF_I2S_LRCLK_PIN = "i2s_lrclk_pin"
|
|
25
25
|
CONF_I2S_AUDIO = "i2s_audio"
|
26
26
|
CONF_I2S_AUDIO_ID = "i2s_audio_id"
|
27
27
|
|
28
|
+
CONF_I2S_MODE = "i2s_mode"
|
29
|
+
CONF_PRIMARY = "primary"
|
30
|
+
CONF_SECONDARY = "secondary"
|
31
|
+
|
28
32
|
i2s_audio_ns = cg.esphome_ns.namespace("i2s_audio")
|
29
33
|
I2SAudioComponent = i2s_audio_ns.class_("I2SAudioComponent", cg.Component)
|
30
34
|
I2SAudioIn = i2s_audio_ns.class_("I2SAudioIn", cg.Parented.template(I2SAudioComponent))
|
@@ -32,6 +36,12 @@ I2SAudioOut = i2s_audio_ns.class_(
|
|
32
36
|
"I2SAudioOut", cg.Parented.template(I2SAudioComponent)
|
33
37
|
)
|
34
38
|
|
39
|
+
i2s_mode_t = cg.global_ns.enum("i2s_mode_t")
|
40
|
+
I2S_MODE_OPTIONS = {
|
41
|
+
CONF_PRIMARY: i2s_mode_t.I2S_MODE_MASTER, # NOLINT
|
42
|
+
CONF_SECONDARY: i2s_mode_t.I2S_MODE_SLAVE, # NOLINT
|
43
|
+
}
|
44
|
+
|
35
45
|
# https://github.com/espressif/esp-idf/blob/master/components/soc/{variant}/include/soc/soc_caps.h
|
36
46
|
I2S_PORTS = {
|
37
47
|
VARIANT_ESP32: 2,
|
@@ -7,6 +7,9 @@ from esphome.components import microphone, esp32
|
|
7
7
|
from esphome.components.adc import ESP32_VARIANT_ADC1_PIN_TO_CHANNEL, validate_adc_pin
|
8
8
|
|
9
9
|
from .. import (
|
10
|
+
CONF_I2S_MODE,
|
11
|
+
CONF_PRIMARY,
|
12
|
+
I2S_MODE_OPTIONS,
|
10
13
|
i2s_audio_ns,
|
11
14
|
I2SAudioComponent,
|
12
15
|
I2SAudioIn,
|
@@ -68,6 +71,9 @@ BASE_SCHEMA = microphone.MICROPHONE_SCHEMA.extend(
|
|
68
71
|
_validate_bits, cv.enum(BITS_PER_SAMPLE)
|
69
72
|
),
|
70
73
|
cv.Optional(CONF_USE_APLL, default=False): cv.boolean,
|
74
|
+
cv.Optional(CONF_I2S_MODE, default=CONF_PRIMARY): cv.enum(
|
75
|
+
I2S_MODE_OPTIONS, lower=True
|
76
|
+
),
|
71
77
|
}
|
72
78
|
).extend(cv.COMPONENT_SCHEMA)
|
73
79
|
|
@@ -107,6 +113,7 @@ async def to_code(config):
|
|
107
113
|
cg.add(var.set_din_pin(config[CONF_I2S_DIN_PIN]))
|
108
114
|
cg.add(var.set_pdm(config[CONF_PDM]))
|
109
115
|
|
116
|
+
cg.add(var.set_i2s_mode(config[CONF_I2S_MODE]))
|
110
117
|
cg.add(var.set_channel(config[CONF_CHANNEL]))
|
111
118
|
cg.add(var.set_sample_rate(config[CONF_SAMPLE_RATE]))
|
112
119
|
cg.add(var.set_bits_per_sample(config[CONF_BITS_PER_SAMPLE]))
|
@@ -46,7 +46,7 @@ void I2SAudioMicrophone::start_() {
|
|
46
46
|
return; // Waiting for another i2s to return lock
|
47
47
|
}
|
48
48
|
i2s_driver_config_t config = {
|
49
|
-
.mode = (i2s_mode_t) (
|
49
|
+
.mode = (i2s_mode_t) (this->i2s_mode_ | I2S_MODE_RX),
|
50
50
|
.sample_rate = this->sample_rate_,
|
51
51
|
.bits_per_sample = this->bits_per_sample_,
|
52
52
|
.channel_format = this->channel_,
|
@@ -174,8 +174,7 @@ size_t I2SAudioMicrophone::read(int16_t *buf, size_t len) {
|
|
174
174
|
size_t samples_read = bytes_read / sizeof(int32_t);
|
175
175
|
samples.resize(samples_read);
|
176
176
|
for (size_t i = 0; i < samples_read; i++) {
|
177
|
-
|
178
|
-
samples[i] = clamp<int16_t>(temp, INT16_MIN, INT16_MAX);
|
177
|
+
samples[i] = reinterpret_cast<int32_t *>(buf)[i] >> 16;
|
179
178
|
}
|
180
179
|
memcpy(buf, samples.data(), samples_read * sizeof(int16_t));
|
181
180
|
return samples_read * sizeof(int16_t);
|
@@ -30,6 +30,8 @@ class I2SAudioMicrophone : public I2SAudioIn, public microphone::Microphone, pub
|
|
30
30
|
}
|
31
31
|
#endif
|
32
32
|
|
33
|
+
void set_i2s_mode(i2s_mode_t mode) { this->i2s_mode_ = mode; }
|
34
|
+
|
33
35
|
void set_channel(i2s_channel_fmt_t channel) { this->channel_ = channel; }
|
34
36
|
void set_sample_rate(uint32_t sample_rate) { this->sample_rate_ = sample_rate; }
|
35
37
|
void set_bits_per_sample(i2s_bits_per_sample_t bits_per_sample) { this->bits_per_sample_ = bits_per_sample; }
|
@@ -46,6 +48,7 @@ class I2SAudioMicrophone : public I2SAudioIn, public microphone::Microphone, pub
|
|
46
48
|
bool adc_{false};
|
47
49
|
#endif
|
48
50
|
bool pdm_{false};
|
51
|
+
i2s_mode_t i2s_mode_{};
|
49
52
|
i2s_channel_fmt_t channel_;
|
50
53
|
uint32_t sample_rate_;
|
51
54
|
i2s_bits_per_sample_t bits_per_sample_;
|
@@ -57,7 +57,7 @@ optional<uint8_t> ImprovSerialComponent::read_byte_() {
|
|
57
57
|
}
|
58
58
|
}
|
59
59
|
break;
|
60
|
-
#
|
60
|
+
#if defined(USE_LOGGER_USB_CDC) && defined(CONFIG_ESP_CONSOLE_USB_CDC)
|
61
61
|
case logger::UART_SELECTION_USB_CDC:
|
62
62
|
#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0)
|
63
63
|
if (esp_usb_console_available_for_read()) {
|
@@ -99,7 +99,7 @@ void ImprovSerialComponent::write_data_(std::vector<uint8_t> &data) {
|
|
99
99
|
#endif // !USE_ESP32_VARIANT_ESP32C3 && !USE_ESP32_VARIANT_ESP32S2 && !USE_ESP32_VARIANT_ESP32S3
|
100
100
|
uart_write_bytes(this->uart_num_, data.data(), data.size());
|
101
101
|
break;
|
102
|
-
#
|
102
|
+
#if defined(USE_LOGGER_USB_CDC) && defined(CONFIG_ESP_CONSOLE_USB_CDC)
|
103
103
|
case logger::UART_SELECTION_USB_CDC: {
|
104
104
|
const char *msg = (char *) data.data();
|
105
105
|
esp_usb_console_write_buf(msg, data.size());
|
@@ -109,6 +109,7 @@ void ImprovSerialComponent::write_data_(std::vector<uint8_t> &data) {
|
|
109
109
|
#ifdef USE_LOGGER_USB_SERIAL_JTAG
|
110
110
|
case logger::UART_SELECTION_USB_SERIAL_JTAG:
|
111
111
|
usb_serial_jtag_write_bytes((char *) data.data(), data.size(), 20 / portTICK_PERIOD_MS);
|
112
|
+
delay(10);
|
112
113
|
usb_serial_jtag_ll_txfifo_flush(); // fixes for issue in IDF 4.4.7
|
113
114
|
break;
|
114
115
|
#endif // USE_LOGGER_USB_SERIAL_JTAG
|
@@ -357,7 +357,9 @@ CONFIG_SCHEMA = cv.All(
|
|
357
357
|
{
|
358
358
|
cv.GenerateID(): cv.declare_id(MicroWakeWord),
|
359
359
|
cv.GenerateID(CONF_MICROPHONE): cv.use_id(microphone.Microphone),
|
360
|
-
cv.Required(CONF_MODELS): cv.ensure_list(
|
360
|
+
cv.Required(CONF_MODELS): cv.ensure_list(
|
361
|
+
cv.maybe_simple_value(MODEL_SCHEMA, key=CONF_MODEL)
|
362
|
+
),
|
361
363
|
cv.Optional(CONF_ON_WAKE_WORD_DETECTED): automation.validate_automation(
|
362
364
|
single=True
|
363
365
|
),
|
@@ -1,14 +1,17 @@
|
|
1
1
|
#ifdef USE_ESP32_FRAMEWORK_ARDUINO
|
2
2
|
#include "esphome/core/defines.h"
|
3
|
+
#include "esphome/core/log.h"
|
3
4
|
|
4
|
-
#include "ota_backend_arduino_esp32.h"
|
5
5
|
#include "ota_backend.h"
|
6
|
+
#include "ota_backend_arduino_esp32.h"
|
6
7
|
|
7
8
|
#include <Update.h>
|
8
9
|
|
9
10
|
namespace esphome {
|
10
11
|
namespace ota {
|
11
12
|
|
13
|
+
static const char *const TAG = "ota.arduino_esp32";
|
14
|
+
|
12
15
|
std::unique_ptr<ota::OTABackend> make_ota_backend() { return make_unique<ota::ArduinoESP32OTABackend>(); }
|
13
16
|
|
14
17
|
OTAResponseTypes ArduinoESP32OTABackend::begin(size_t image_size) {
|
@@ -20,6 +23,9 @@ OTAResponseTypes ArduinoESP32OTABackend::begin(size_t image_size) {
|
|
20
23
|
uint8_t error = Update.getError();
|
21
24
|
if (error == UPDATE_ERROR_SIZE)
|
22
25
|
return OTA_RESPONSE_ERROR_ESP32_NOT_ENOUGH_SPACE;
|
26
|
+
|
27
|
+
ESP_LOGE(TAG, "Begin error: %d", error);
|
28
|
+
|
23
29
|
return OTA_RESPONSE_ERROR_UNKNOWN;
|
24
30
|
}
|
25
31
|
|
@@ -27,16 +33,25 @@ void ArduinoESP32OTABackend::set_update_md5(const char *md5) { Update.setMD5(md5
|
|
27
33
|
|
28
34
|
OTAResponseTypes ArduinoESP32OTABackend::write(uint8_t *data, size_t len) {
|
29
35
|
size_t written = Update.write(data, len);
|
30
|
-
if (written
|
31
|
-
return
|
36
|
+
if (written == len) {
|
37
|
+
return OTA_RESPONSE_OK;
|
32
38
|
}
|
33
|
-
|
39
|
+
|
40
|
+
uint8_t error = Update.getError();
|
41
|
+
ESP_LOGE(TAG, "Write error: %d", error);
|
42
|
+
|
43
|
+
return OTA_RESPONSE_ERROR_WRITING_FLASH;
|
34
44
|
}
|
35
45
|
|
36
46
|
OTAResponseTypes ArduinoESP32OTABackend::end() {
|
37
|
-
if (
|
38
|
-
return
|
39
|
-
|
47
|
+
if (Update.end()) {
|
48
|
+
return OTA_RESPONSE_OK;
|
49
|
+
}
|
50
|
+
|
51
|
+
uint8_t error = Update.getError();
|
52
|
+
ESP_LOGE(TAG, "End error: %d", error);
|
53
|
+
|
54
|
+
return OTA_RESPONSE_ERROR_UPDATE_END;
|
40
55
|
}
|
41
56
|
|
42
57
|
void ArduinoESP32OTABackend::abort() { Update.abort(); }
|
@@ -1,16 +1,19 @@
|
|
1
1
|
#ifdef USE_ARDUINO
|
2
2
|
#ifdef USE_ESP8266
|
3
|
-
#include "ota_backend.h"
|
4
3
|
#include "ota_backend_arduino_esp8266.h"
|
4
|
+
#include "ota_backend.h"
|
5
5
|
|
6
|
-
#include "esphome/core/defines.h"
|
7
6
|
#include "esphome/components/esp8266/preferences.h"
|
7
|
+
#include "esphome/core/defines.h"
|
8
|
+
#include "esphome/core/log.h"
|
8
9
|
|
9
10
|
#include <Updater.h>
|
10
11
|
|
11
12
|
namespace esphome {
|
12
13
|
namespace ota {
|
13
14
|
|
15
|
+
static const char *const TAG = "ota.arduino_esp8266";
|
16
|
+
|
14
17
|
std::unique_ptr<ota::OTABackend> make_ota_backend() { return make_unique<ota::ArduinoESP8266OTABackend>(); }
|
15
18
|
|
16
19
|
OTAResponseTypes ArduinoESP8266OTABackend::begin(size_t image_size) {
|
@@ -29,6 +32,9 @@ OTAResponseTypes ArduinoESP8266OTABackend::begin(size_t image_size) {
|
|
29
32
|
return OTA_RESPONSE_ERROR_WRONG_CURRENT_FLASH_CONFIG;
|
30
33
|
if (error == UPDATE_ERROR_SPACE)
|
31
34
|
return OTA_RESPONSE_ERROR_ESP8266_NOT_ENOUGH_SPACE;
|
35
|
+
|
36
|
+
ESP_LOGE(TAG, "Begin error: %d", error);
|
37
|
+
|
32
38
|
return OTA_RESPONSE_ERROR_UNKNOWN;
|
33
39
|
}
|
34
40
|
|
@@ -36,16 +42,25 @@ void ArduinoESP8266OTABackend::set_update_md5(const char *md5) { Update.setMD5(m
|
|
36
42
|
|
37
43
|
OTAResponseTypes ArduinoESP8266OTABackend::write(uint8_t *data, size_t len) {
|
38
44
|
size_t written = Update.write(data, len);
|
39
|
-
if (written
|
40
|
-
return
|
45
|
+
if (written == len) {
|
46
|
+
return OTA_RESPONSE_OK;
|
41
47
|
}
|
42
|
-
|
48
|
+
|
49
|
+
uint8_t error = Update.getError();
|
50
|
+
ESP_LOGE(TAG, "Write error: %d", error);
|
51
|
+
|
52
|
+
return OTA_RESPONSE_ERROR_WRITING_FLASH;
|
43
53
|
}
|
44
54
|
|
45
55
|
OTAResponseTypes ArduinoESP8266OTABackend::end() {
|
46
|
-
if (
|
47
|
-
return
|
48
|
-
|
56
|
+
if (Update.end()) {
|
57
|
+
return OTA_RESPONSE_OK;
|
58
|
+
}
|
59
|
+
|
60
|
+
uint8_t error = Update.getError();
|
61
|
+
ESP_LOGE(TAG, "End error: %d", error);
|
62
|
+
|
63
|
+
return OTA_RESPONSE_ERROR_UPDATE_END;
|
49
64
|
}
|
50
65
|
|
51
66
|
void ArduinoESP8266OTABackend::abort() {
|
@@ -1,14 +1,17 @@
|
|
1
1
|
#ifdef USE_LIBRETINY
|
2
|
-
#include "ota_backend.h"
|
3
2
|
#include "ota_backend_arduino_libretiny.h"
|
3
|
+
#include "ota_backend.h"
|
4
4
|
|
5
5
|
#include "esphome/core/defines.h"
|
6
|
+
#include "esphome/core/log.h"
|
6
7
|
|
7
8
|
#include <Update.h>
|
8
9
|
|
9
10
|
namespace esphome {
|
10
11
|
namespace ota {
|
11
12
|
|
13
|
+
static const char *const TAG = "ota.arduino_libretiny";
|
14
|
+
|
12
15
|
std::unique_ptr<ota::OTABackend> make_ota_backend() { return make_unique<ota::ArduinoLibreTinyOTABackend>(); }
|
13
16
|
|
14
17
|
OTAResponseTypes ArduinoLibreTinyOTABackend::begin(size_t image_size) {
|
@@ -20,6 +23,9 @@ OTAResponseTypes ArduinoLibreTinyOTABackend::begin(size_t image_size) {
|
|
20
23
|
uint8_t error = Update.getError();
|
21
24
|
if (error == UPDATE_ERROR_SIZE)
|
22
25
|
return OTA_RESPONSE_ERROR_ESP32_NOT_ENOUGH_SPACE;
|
26
|
+
|
27
|
+
ESP_LOGE(TAG, "Begin error: %d", error);
|
28
|
+
|
23
29
|
return OTA_RESPONSE_ERROR_UNKNOWN;
|
24
30
|
}
|
25
31
|
|
@@ -27,16 +33,25 @@ void ArduinoLibreTinyOTABackend::set_update_md5(const char *md5) { Update.setMD5
|
|
27
33
|
|
28
34
|
OTAResponseTypes ArduinoLibreTinyOTABackend::write(uint8_t *data, size_t len) {
|
29
35
|
size_t written = Update.write(data, len);
|
30
|
-
if (written
|
31
|
-
return
|
36
|
+
if (written == len) {
|
37
|
+
return OTA_RESPONSE_OK;
|
32
38
|
}
|
33
|
-
|
39
|
+
|
40
|
+
uint8_t error = Update.getError();
|
41
|
+
ESP_LOGE(TAG, "Write error: %d", error);
|
42
|
+
|
43
|
+
return OTA_RESPONSE_ERROR_WRITING_FLASH;
|
34
44
|
}
|
35
45
|
|
36
46
|
OTAResponseTypes ArduinoLibreTinyOTABackend::end() {
|
37
|
-
if (
|
38
|
-
return
|
39
|
-
|
47
|
+
if (Update.end()) {
|
48
|
+
return OTA_RESPONSE_OK;
|
49
|
+
}
|
50
|
+
|
51
|
+
uint8_t error = Update.getError();
|
52
|
+
ESP_LOGE(TAG, "End error: %d", error);
|
53
|
+
|
54
|
+
return OTA_RESPONSE_ERROR_UPDATE_END;
|
40
55
|
}
|
41
56
|
|
42
57
|
void ArduinoLibreTinyOTABackend::abort() { Update.abort(); }
|
@@ -1,16 +1,19 @@
|
|
1
1
|
#ifdef USE_ARDUINO
|
2
2
|
#ifdef USE_RP2040
|
3
|
-
#include "ota_backend.h"
|
4
3
|
#include "ota_backend_arduino_rp2040.h"
|
4
|
+
#include "ota_backend.h"
|
5
5
|
|
6
6
|
#include "esphome/components/rp2040/preferences.h"
|
7
7
|
#include "esphome/core/defines.h"
|
8
|
+
#include "esphome/core/log.h"
|
8
9
|
|
9
10
|
#include <Updater.h>
|
10
11
|
|
11
12
|
namespace esphome {
|
12
13
|
namespace ota {
|
13
14
|
|
15
|
+
static const char *const TAG = "ota.arduino_rp2040";
|
16
|
+
|
14
17
|
std::unique_ptr<ota::OTABackend> make_ota_backend() { return make_unique<ota::ArduinoRP2040OTABackend>(); }
|
15
18
|
|
16
19
|
OTAResponseTypes ArduinoRP2040OTABackend::begin(size_t image_size) {
|
@@ -29,6 +32,9 @@ OTAResponseTypes ArduinoRP2040OTABackend::begin(size_t image_size) {
|
|
29
32
|
return OTA_RESPONSE_ERROR_WRONG_CURRENT_FLASH_CONFIG;
|
30
33
|
if (error == UPDATE_ERROR_SPACE)
|
31
34
|
return OTA_RESPONSE_ERROR_RP2040_NOT_ENOUGH_SPACE;
|
35
|
+
|
36
|
+
ESP_LOGE(TAG, "Begin error: %d", error);
|
37
|
+
|
32
38
|
return OTA_RESPONSE_ERROR_UNKNOWN;
|
33
39
|
}
|
34
40
|
|
@@ -36,16 +42,25 @@ void ArduinoRP2040OTABackend::set_update_md5(const char *md5) { Update.setMD5(md
|
|
36
42
|
|
37
43
|
OTAResponseTypes ArduinoRP2040OTABackend::write(uint8_t *data, size_t len) {
|
38
44
|
size_t written = Update.write(data, len);
|
39
|
-
if (written
|
40
|
-
return
|
45
|
+
if (written == len) {
|
46
|
+
return OTA_RESPONSE_OK;
|
41
47
|
}
|
42
|
-
|
48
|
+
|
49
|
+
uint8_t error = Update.getError();
|
50
|
+
ESP_LOGE(TAG, "Write error: %d", error);
|
51
|
+
|
52
|
+
return OTA_RESPONSE_ERROR_WRITING_FLASH;
|
43
53
|
}
|
44
54
|
|
45
55
|
OTAResponseTypes ArduinoRP2040OTABackend::end() {
|
46
|
-
if (
|
47
|
-
return
|
48
|
-
|
56
|
+
if (Update.end()) {
|
57
|
+
return OTA_RESPONSE_OK;
|
58
|
+
}
|
59
|
+
|
60
|
+
uint8_t error = Update.getError();
|
61
|
+
ESP_LOGE(TAG, "End error: %d", error);
|
62
|
+
|
63
|
+
return OTA_RESPONSE_ERROR_UPDATE_END;
|
49
64
|
}
|
50
65
|
|
51
66
|
void ArduinoRP2040OTABackend::abort() {
|
esphome/const.py
CHANGED
@@ -5,7 +5,7 @@ esphome/codegen.py,sha256=LCJVpAwy1L9DTBsIvbgAbHj1TOXUSPgBoN--aio0gBk,1855
|
|
5
5
|
esphome/config.py,sha256=wztK2UmO7-hc6HFDAi6YWtrPVy5mH0diKuqpsWp4-XA,39616
|
6
6
|
esphome/config_helpers.py,sha256=MKf_wzO35nn41FvigXE0iYKDslPgL2ruf8R-EPtTT2I,3256
|
7
7
|
esphome/config_validation.py,sha256=G79LGVIh5BdpGkzuehkm7Db_llpbC2of4dKqZEpHc3A,64838
|
8
|
-
esphome/const.py,sha256=
|
8
|
+
esphome/const.py,sha256=SUZvcz_XkgCQ58OeMcC8KYw3HPgVbgho5Btk125vLtA,38954
|
9
9
|
esphome/coroutine.py,sha256=IG2kC92OrenyiRm7Qo9uC-4qU4b4-Lmj0TkMIjRG2RY,9344
|
10
10
|
esphome/cpp_generator.py,sha256=hW2EfubUiildhKXZIdV8Dr3Q9TM5oHybFwiTo5-vEUE,31203
|
11
11
|
esphome/cpp_helpers.py,sha256=KadRBBoo4QRT-VwdWFtvxv_FYjqhZTkBhfMX-JhEMwg,4803
|
@@ -1110,15 +1110,15 @@ esphome/components/i2c/i2c_bus_arduino.cpp,sha256=VXWH0NcAgkncjiSbpNjOY2GOJopWPM
|
|
1110
1110
|
esphome/components/i2c/i2c_bus_arduino.h,sha256=7mhPi-tZGVmX9XhmtIBQYv9Of4qTpmhJO-FKQDqsIao,1222
|
1111
1111
|
esphome/components/i2c/i2c_bus_esp_idf.cpp,sha256=UtiYP_soPgE6p22rbRJ67OQDPGsKFYqYL31KSmOCcfI,12912
|
1112
1112
|
esphome/components/i2c/i2c_bus_esp_idf.h,sha256=6h3QKsi2M3AuchqY3qTOJe-FWW6hgA9HfrSFVPCdqag,1454
|
1113
|
-
esphome/components/i2s_audio/__init__.py,sha256=
|
1113
|
+
esphome/components/i2s_audio/__init__.py,sha256=KG_F3w1nFG-dF9DEjhSl5plwcO_hBmYEU8iIZAljP4E,2580
|
1114
1114
|
esphome/components/i2s_audio/i2s_audio.cpp,sha256=DVthNnLWc_nk0Y5Ck1NyvdKavU9IQ6hcHGE11lMfMQw,734
|
1115
1115
|
esphome/components/i2s_audio/i2s_audio.h,sha256=xZxkC9I0YrqsMlOR5RXhfMC1tVfmkLqNmd__VKRwkyk,1313
|
1116
1116
|
esphome/components/i2s_audio/media_player/__init__.py,sha256=jlk-y5UGX8fc4dsXda2HQNyp4Thy5m-YkLOCsD5ZkZo,3556
|
1117
1117
|
esphome/components/i2s_audio/media_player/i2s_audio_media_player.cpp,sha256=OlvkjzYSdaxIjJiQF-BbjThoY91_rvGJ4woRjyB9mwY,7538
|
1118
1118
|
esphome/components/i2s_audio/media_player/i2s_audio_media_player.h,sha256=iUx93Xwi7DgWtyNaHIkJ7FJ2kUK6-fdeTs87opqTcRo,2062
|
1119
|
-
esphome/components/i2s_audio/microphone/__init__.py,sha256=
|
1120
|
-
esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp,sha256
|
1121
|
-
esphome/components/i2s_audio/microphone/i2s_audio_microphone.h,sha256=
|
1119
|
+
esphome/components/i2s_audio/microphone/__init__.py,sha256=uPZ7e0pGxbNklDqIoqLcTmvhnSTcQ16q3pSDFIgEy70,3982
|
1120
|
+
esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp,sha256=LfcloU1ws1AGcm5FCyHCdWnLRunVqJB3iGv_RfYHaOE,6122
|
1121
|
+
esphome/components/i2s_audio/microphone/i2s_audio_microphone.h,sha256=V0QfxCYBu9DUoO1Ui0O7zB2iP-9P_wduN3Cf2b27AWI,1586
|
1122
1122
|
esphome/components/i2s_audio/speaker/__init__.py,sha256=0nzQXnjQaYv7YklVp8Landvz57x-bhrLJuta92LiDXk,2724
|
1123
1123
|
esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp,sha256=C4ZN8HTWiwGtOmL1y3ICnoCH1-iLaB2dPKAz3g26wts,8187
|
1124
1124
|
esphome/components/i2s_audio/speaker/i2s_audio_speaker.h,sha256=q2pF17NGG_MCBUJiBPprzT-IKaQylKX988LrQxtLzBU,1756
|
@@ -1141,7 +1141,7 @@ esphome/components/improv_base/__init__.py,sha256=9r7mI_71pUHiGghXvlHP4nnSklm6wg
|
|
1141
1141
|
esphome/components/improv_base/improv_base.cpp,sha256=eh-YebkuhEhZktdNz84oSoigtGAQz2LP0c0lqc29-M4,857
|
1142
1142
|
esphome/components/improv_base/improv_base.h,sha256=VOqjBy5U0Sh8tNOYWQPIkIZWwjisZKY1pf65lOO_Q_s,322
|
1143
1143
|
esphome/components/improv_serial/__init__.py,sha256=AFjbmaHHn72e2WUrneWiE3DIBty9btxFjsWgRt2jmoE,1600
|
1144
|
-
esphome/components/improv_serial/improv_serial_component.cpp,sha256
|
1144
|
+
esphome/components/improv_serial/improv_serial_component.cpp,sha256=iKIxHFp4MydwdLnDkeTZKTn79JlKm_WfsaPNbR4eG4w,10404
|
1145
1145
|
esphome/components/improv_serial/improv_serial_component.h,sha256=TNP28Qxc7I8VcRS5C7_aVQaISXBthjR5zVX_wDLGjR8,2220
|
1146
1146
|
esphome/components/ina219/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1147
1147
|
esphome/components/ina219/ina219.cpp,sha256=tk0F5y4889lDgfj7XN-P8zQz-5vwDMkRtrv6hil0XPE,6547
|
@@ -1495,7 +1495,7 @@ esphome/components/mhz19/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
|
|
1495
1495
|
esphome/components/mhz19/mhz19.cpp,sha256=CBBVBMqGUsrc-4PMOaBDuKCAFNr43Kukt3a018kQI0k,3924
|
1496
1496
|
esphome/components/mhz19/mhz19.h,sha256=DTuwpBz6gAZVn_QIUnmPiE4Y188XYiOS9WxIggcjZJ4,2050
|
1497
1497
|
esphome/components/mhz19/sensor.py,sha256=IwZAf9K8LE3Ang8I53jjr41hpSwsC7qHnEjsOexNp8M,3220
|
1498
|
-
esphome/components/micro_wake_word/__init__.py,sha256=
|
1498
|
+
esphome/components/micro_wake_word/__init__.py,sha256=WLqfgLyGTF7S6kwvvOoiyHaxxVRL4u478WUjV9FhnLo,15889
|
1499
1499
|
esphome/components/micro_wake_word/micro_wake_word.cpp,sha256=qj_wsPQY23sg12Wr2nIvitFSvghzfXkBamak7ZPNeAI,15280
|
1500
1500
|
esphome/components/micro_wake_word/micro_wake_word.h,sha256=3Ge-mL0fVeM-s6XdmeoPGATLZ7x8tr73iXEkO9nqLJ4,6091
|
1501
1501
|
esphome/components/micro_wake_word/preprocessor_settings.h,sha256=fz5-wfah78sWnY-iNXuGu6K5TpbGfeQCcgPIdPBNPg4,488
|
@@ -1775,13 +1775,13 @@ esphome/components/ota/__init__.py,sha256=EiXnjLtJX3CXeDGRsqLnp5I4xQiy3Yhcy24mqv
|
|
1775
1775
|
esphome/components/ota/automation.h,sha256=UaasWG6gZG59MtC5DHHfMhRb7BXYmLlkOyYujZReEV0,2044
|
1776
1776
|
esphome/components/ota/ota_backend.cpp,sha256=IfpR0mvzSs9ugJa2LRi4AtYHT4Ht6PoS9BY5Ydjs_eE,587
|
1777
1777
|
esphome/components/ota/ota_backend.h,sha256=ILfnmlVzp0qhHFv13jZ6GQ7MLgKf5ICtL6xI4ojg4K8,2806
|
1778
|
-
esphome/components/ota/ota_backend_arduino_esp32.cpp,sha256=
|
1778
|
+
esphome/components/ota/ota_backend_arduino_esp32.cpp,sha256=gEExNdFUN-iiOX3rVUXBiRZcE8cfEk0G3chGhTaPYr0,1514
|
1779
1779
|
esphome/components/ota/ota_backend_arduino_esp32.h,sha256=h0oH0gREs7M6hW_BlGHHFFml14IJYx7IpKpsVaHJ554,610
|
1780
|
-
esphome/components/ota/ota_backend_arduino_esp8266.cpp,sha256=
|
1780
|
+
esphome/components/ota/ota_backend_arduino_esp8266.cpp,sha256=lJgvlbP3v6piuoE_klojKI7si_2g0pL3QN3CIU09lmY,1947
|
1781
1781
|
esphome/components/ota/ota_backend_arduino_esp8266.h,sha256=PABg5GIPA75xe9KpcP2Jc_N_U0ygOu-KPGgVE-sNotU,712
|
1782
|
-
esphome/components/ota/ota_backend_arduino_libretiny.cpp,sha256=
|
1782
|
+
esphome/components/ota/ota_backend_arduino_libretiny.cpp,sha256=4DEgWdOZQAeTNZiv0tKDyILZxpfj7i0hS37IvAKyXRw,1518
|
1783
1783
|
esphome/components/ota/ota_backend_arduino_libretiny.h,sha256=7RnBge-XizF0KQtft_Naeh1-Gj0yO2Y_hJW6mCXO-gQ,552
|
1784
|
-
esphome/components/ota/ota_backend_arduino_rp2040.cpp,sha256=
|
1784
|
+
esphome/components/ota/ota_backend_arduino_rp2040.cpp,sha256=H2TUIWJMHCeArtr-0IcZPgyDI9DNOZfzP8F47lPeTZU,1965
|
1785
1785
|
esphome/components/ota/ota_backend_arduino_rp2040.h,sha256=6E54dND3ToVbYVsWRsLPpZ8o3DytNhtZg1IVXTPyKx4,618
|
1786
1786
|
esphome/components/ota/ota_backend_esp_idf.cpp,sha256=_TBWW23aHSFo5P8pHSqexR0LgnOB4z5b-3Lw0vliWvc,3328
|
1787
1787
|
esphome/components/ota/ota_backend_esp_idf.h,sha256=aiHISZQjSxaRWuq_4ZGAEuP8kCG0BccYAbJ9kx6WvhQ,725
|
@@ -3119,9 +3119,9 @@ esphome/dashboard/util/itertools.py,sha256=8eLrWEWmICLtXNxkKdYPQV0c_N4GEz8m9Npnb
|
|
3119
3119
|
esphome/dashboard/util/password.py,sha256=cQz3b9B-ijTe7zS6BeCW0hc3pWv6JjC78jmnycYYAh8,321
|
3120
3120
|
esphome/dashboard/util/subprocess.py,sha256=T8EW6dbU4LPd2DG1dRrdh8li71tt6J1isn411poMhkk,1022
|
3121
3121
|
esphome/dashboard/util/text.py,sha256=ENDnfN4O0NdA3CKVJjQYabFbwbrsIhVKrAMQe53qYu4,534
|
3122
|
-
esphome-2024.7.
|
3123
|
-
esphome-2024.7.
|
3124
|
-
esphome-2024.7.
|
3125
|
-
esphome-2024.7.
|
3126
|
-
esphome-2024.7.
|
3127
|
-
esphome-2024.7.
|
3122
|
+
esphome-2024.7.0b4.dist-info/LICENSE,sha256=HzEjkBInJe44L4WvAOPfhPJJDNj6YbnqFyvGWRzArGM,36664
|
3123
|
+
esphome-2024.7.0b4.dist-info/METADATA,sha256=HBcaZkRTFrujwOsQdf8dccMWstRkQ4sQt-QIx91G-F4,3265
|
3124
|
+
esphome-2024.7.0b4.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
3125
|
+
esphome-2024.7.0b4.dist-info/entry_points.txt,sha256=mIxVNuWtbYzeEcaWCl-AQ-97aBOWbnYBAK8nbF6P4M0,50
|
3126
|
+
esphome-2024.7.0b4.dist-info/top_level.txt,sha256=0GSXEW3cnITpgG3qnsSMz0qoqJHAFyfw7Y8MVtEf1Yk,8
|
3127
|
+
esphome-2024.7.0b4.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|