esphome 0.5.1 → 0.5.3
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/exe/esphome-update-all +66 -0
- metadata +18 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1565f5ad432e314abd587d62dd4e3351cc2367ef709195e478c0409852b99a8b
|
|
4
|
+
data.tar.gz: 1de0d14cd8c55a091a6a55c4eeb329edcacc170c6c5b574a7df413f04cfecf60
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d0221e2fdcc383d506b8904295a5f9bd3f09b30325ee895c98d31f61749034e4c4914083550bc3f1d35b1e96c6173c503c1fcf602cc9c4ac0b4ad0302fbf1d57
|
|
7
|
+
data.tar.gz: 81086ec6839e0cf6cbbc19db4f99d16d2e9529d38729cda31ee0320083cadb91baed0e322ad8c5af55507197ad780a162d2b0803ba9b0260ff236f3a52321f55
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
require "optparse"
|
|
5
|
+
|
|
6
|
+
uri = "http://localhost:6052/"
|
|
7
|
+
opts = OptionParser.new do |opts|
|
|
8
|
+
opts.banner = <<~TEXT
|
|
9
|
+
Usage: esphome-update-all [<uri>] <device_name...>
|
|
10
|
+
|
|
11
|
+
Example: esphome-update-all
|
|
12
|
+
If URI is omitted, it defaults to http://localhost:6052/
|
|
13
|
+
TEXT
|
|
14
|
+
|
|
15
|
+
opts.on("-h", "--help", "Show this help message") do
|
|
16
|
+
puts opts
|
|
17
|
+
exit
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
opts.parse!
|
|
21
|
+
|
|
22
|
+
uri = ARGV.shift if ARGV.first&.include?(":")
|
|
23
|
+
|
|
24
|
+
require "esphome/dashboard"
|
|
25
|
+
|
|
26
|
+
dashboard = ESPHome::Dashboard.new(uri)
|
|
27
|
+
|
|
28
|
+
devices = dashboard.devices
|
|
29
|
+
|
|
30
|
+
unless ARGV.empty?
|
|
31
|
+
all_devices = devices
|
|
32
|
+
devices = []
|
|
33
|
+
ARGV.each do |device_name|
|
|
34
|
+
devices.concat(all_devices.select { |d| File.fnmatch(device_name, d["name"]) })
|
|
35
|
+
end
|
|
36
|
+
devices.uniq!
|
|
37
|
+
|
|
38
|
+
puts "Updating #{devices.map { |d| d["name"] }.join(", ")}..."
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
if devices.empty?
|
|
42
|
+
warn "No matching devices found."
|
|
43
|
+
exit 1
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
results = dashboard.update_all(devices) do |line|
|
|
47
|
+
$stdout.print line
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
puts "\n\n"
|
|
51
|
+
successes, failures = results.partition { |_, v| v }
|
|
52
|
+
|
|
53
|
+
{
|
|
54
|
+
Successful: successes,
|
|
55
|
+
Failed: failures
|
|
56
|
+
}.each do |status, group|
|
|
57
|
+
next if group.empty?
|
|
58
|
+
|
|
59
|
+
puts "#{status} Updates:\n"
|
|
60
|
+
|
|
61
|
+
group.each do |device, _| # rubocop:disable Style/HashEachMethods
|
|
62
|
+
puts " - #{device["name"]}"
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
exit(failures.empty? ? 0 : 1)
|
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: 0.5.
|
|
4
|
+
version: 0.5.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Cody Cutrer
|
|
8
8
|
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 2025-
|
|
10
|
+
date: 2025-11-03 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: curses
|
|
@@ -79,14 +79,30 @@ dependencies:
|
|
|
79
79
|
- - "~>"
|
|
80
80
|
- !ruby/object:Gem::Version
|
|
81
81
|
version: '0.10'
|
|
82
|
+
- !ruby/object:Gem::Dependency
|
|
83
|
+
name: websocket-driver
|
|
84
|
+
requirement: !ruby/object:Gem::Requirement
|
|
85
|
+
requirements:
|
|
86
|
+
- - "~>"
|
|
87
|
+
- !ruby/object:Gem::Version
|
|
88
|
+
version: '0.8'
|
|
89
|
+
type: :runtime
|
|
90
|
+
prerelease: false
|
|
91
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
92
|
+
requirements:
|
|
93
|
+
- - "~>"
|
|
94
|
+
- !ruby/object:Gem::Version
|
|
95
|
+
version: '0.8'
|
|
82
96
|
email:
|
|
83
97
|
- cody@cutrer.us
|
|
84
98
|
executables:
|
|
85
99
|
- esphome-monitor
|
|
100
|
+
- esphome-update-all
|
|
86
101
|
extensions: []
|
|
87
102
|
extra_rdoc_files: []
|
|
88
103
|
files:
|
|
89
104
|
- exe/esphome-monitor
|
|
105
|
+
- exe/esphome-update-all
|
|
90
106
|
homepage: https://github.com/ccutrer/esphome-ruby
|
|
91
107
|
licenses:
|
|
92
108
|
- MIT
|