awair 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/exe/awair_mqtt_bridge +6 -15
- 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: abfc30e5d8fe15422c86825f3a0e1372a903388cce2c08f6de33f3b00a694a76
|
4
|
+
data.tar.gz: 87b965a6c878e3e088f35e62b80434d60d8339ed449b3d5cc7ef9427983f7a5f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1419befcffd7da514ba20aff77d48f354253361e8060ed0484ce53f01e780803dbadf1010ee7cfdfeede59b5c826e0c29d7036e4e1acae5b9e95598ab9175be6
|
7
|
+
data.tar.gz: f7c1e3174abcd89cacca9056d1b55c0df6ec87546518f68f2a839a555d1534c8b9f1c21042d341d42cc9f77b57145a3e88917fe13ea8b5f511734cc97f688476
|
data/exe/awair_mqtt_bridge
CHANGED
@@ -6,13 +6,11 @@ require "mqtt-homeassistant"
|
|
6
6
|
require "optparse"
|
7
7
|
|
8
8
|
refresh = 30.0
|
9
|
-
fahrenheit = false
|
10
9
|
|
11
10
|
options = OptionParser.new do |opts|
|
12
11
|
opts.banner = "Usage: awair_mqtt_bridge SENSOR_IP MQTT_URI [options]"
|
13
12
|
|
14
13
|
opts.on("--refresh-interval=INTERVAL", "Refresh interval (default 30s)") { |v| refresh = v.to_f }
|
15
|
-
opts.on("-f", "--fahrenheit", "Convert to fahrenheit before publishing") { fahrenheit = true }
|
16
14
|
opts.on("-h", "--help", "Prints this help") do
|
17
15
|
puts opts
|
18
16
|
exit
|
@@ -36,13 +34,6 @@ end
|
|
36
34
|
config = awair.get("/settings/config/data").body
|
37
35
|
data = awair.get.body
|
38
36
|
|
39
|
-
unit = fahrenheit ? "°F" : "°C"
|
40
|
-
def convert_unit(number, use_fahrenheit)
|
41
|
-
return number unless use_fahrenheit
|
42
|
-
|
43
|
-
((number * 9 / 5) + 32).round(2)
|
44
|
-
end
|
45
|
-
|
46
37
|
homie = MQTT::Homie::Device.new(MQTT::Homie.escape_id(config["device_uuid"]), "Awair Air Quality Sensor", mqtt: ARGV[1])
|
47
38
|
homie.home_assistant_device = {
|
48
39
|
manufacturer: "Awair Inc.",
|
@@ -60,16 +51,16 @@ device.property("score",
|
|
60
51
|
device.property("dewpoint",
|
61
52
|
"Dew Point",
|
62
53
|
:float,
|
63
|
-
|
64
|
-
unit:
|
54
|
+
data["dew_point"],
|
55
|
+
unit: "°C",
|
65
56
|
hass: { sensor: { device_class: :temperature,
|
66
57
|
icon: "mdi:water-opacity",
|
67
58
|
state_class: :measurement } })
|
68
59
|
device.property("temperature",
|
69
60
|
"Current Temperature",
|
70
61
|
:float,
|
71
|
-
|
72
|
-
unit:
|
62
|
+
data["temp"],
|
63
|
+
unit: "°C",
|
73
64
|
hass: { sensor: { device_class: :temperature,
|
74
65
|
state_class: :measurement } })
|
75
66
|
device.property("relative-humidity",
|
@@ -105,8 +96,8 @@ homie.publish
|
|
105
96
|
loop do
|
106
97
|
data = awair.get.body
|
107
98
|
device["score"].value = data["score"]
|
108
|
-
device["dewpoint"].value =
|
109
|
-
device["temperature"].value =
|
99
|
+
device["dewpoint"].value = data["dew_point"]
|
100
|
+
device["temperature"].value = data["temp"]
|
110
101
|
device["relative-humidity"].value = data["humid"]
|
111
102
|
device["co2"].value = data["co2"]
|
112
103
|
device["tvocs"].value = data["voc"]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: awair
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cody Cutrer
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday_middleware
|