esphome 1.2.0 → 1.2.1
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.
- checksums.yaml +4 -4
- data/lib/esphome/device.rb +2 -1
- data/lib/esphome/serial_proxy.rb +8 -1
- data/lib/esphome/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7692692de1d32a122a21c669572fec6232e0fccf0876251548259d446de6727c
|
|
4
|
+
data.tar.gz: c20a4ac0dad1f3243bd274652474c1a6566dd274578c54939e0b228e19aba8f1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 460d61c2a970646fb80a651b4dfc87c9a2755fb76f428514cb514ab71e49c34e0c49ab99c201c0cf3ff1431dcb63657ae318ca768c4b0f76b5bfef53c0009f5f
|
|
7
|
+
data.tar.gz: 17b8f36fddc959d299590ac3ed9746e9b876499216c70b89a912cd675cd5e03641c01c09321f6ef2856f701a94f7c9e51bb53ad73e566eb2d35ad1373518fa86
|
data/lib/esphome/device.rb
CHANGED
|
@@ -246,7 +246,6 @@ module ESPHome
|
|
|
246
246
|
elsif message.is_a?(Api::DisconnectRequest)
|
|
247
247
|
send(Api::DisconnectResponse.new)
|
|
248
248
|
disconnected
|
|
249
|
-
@on_disconnect_callback.each(&:call)
|
|
250
249
|
elsif message.is_a?(Api::DisconnectResponse)
|
|
251
250
|
disconnected
|
|
252
251
|
elsif message.is_a?(Api::PingResponse)
|
|
@@ -346,10 +345,12 @@ module ESPHome
|
|
|
346
345
|
end
|
|
347
346
|
|
|
348
347
|
def disconnected
|
|
348
|
+
was_connected = connected?
|
|
349
349
|
@socket&.close
|
|
350
350
|
@socket = nil
|
|
351
351
|
@noise = nil
|
|
352
352
|
@entities = nil
|
|
353
|
+
@on_disconnect_callback.each(&:call) if was_connected
|
|
353
354
|
end
|
|
354
355
|
|
|
355
356
|
def write_frame(data)
|
data/lib/esphome/serial_proxy.rb
CHANGED
|
@@ -47,6 +47,9 @@ module ESPHome
|
|
|
47
47
|
loop_thread = io.instance_variable_set(:@loop_thread, Thread.new do
|
|
48
48
|
Thread.current.report_on_exception = false
|
|
49
49
|
device.loop
|
|
50
|
+
rescue ConnectionClosedError, NotConnectedError
|
|
51
|
+
# Readers observe the disconnect as EOF; joining the loop must not mask it.
|
|
52
|
+
nil
|
|
50
53
|
rescue IOError
|
|
51
54
|
raise unless io.closed?
|
|
52
55
|
end)
|
|
@@ -257,6 +260,7 @@ module ESPHome
|
|
|
257
260
|
loop do
|
|
258
261
|
data = @mutex.synchronize do
|
|
259
262
|
raise EOFError if @closed && @buffer.empty?
|
|
263
|
+
raise EOFError, "serial proxy disconnected" if @buffer.empty? && !device.connected?
|
|
260
264
|
|
|
261
265
|
@buffer.slice!(0, maxlen) unless @buffer.empty?
|
|
262
266
|
end
|
|
@@ -281,7 +285,8 @@ module ESPHome
|
|
|
281
285
|
|
|
282
286
|
deadline = monotonic_time + timeout if timeout
|
|
283
287
|
Kernel.loop do
|
|
284
|
-
return nil if @closed
|
|
288
|
+
return nil if @closed
|
|
289
|
+
raise EOFError, "serial proxy disconnected" unless device.connected?
|
|
285
290
|
|
|
286
291
|
remaining = deadline && (deadline - monotonic_time)
|
|
287
292
|
return nil if deadline && remaining <= 0
|
|
@@ -361,6 +366,8 @@ module ESPHome
|
|
|
361
366
|
result = yield
|
|
362
367
|
return result unless result.nil?
|
|
363
368
|
|
|
369
|
+
raise EOFError, "serial proxy disconnected" unless device.connected?
|
|
370
|
+
|
|
364
371
|
@data_ready.wait(@mutex)
|
|
365
372
|
end
|
|
366
373
|
end
|
data/lib/esphome/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: esphome
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.2.
|
|
4
|
+
version: 1.2.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Cody Cutrer
|
|
8
8
|
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 2026-
|
|
10
|
+
date: 2026-11-05 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: curses
|