mochizuki 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/README.md +10 -1
- data/bin/mochizuki +1 -1
- data/lib/mochizuki/auto_query.rb +2 -1
- data/lib/mochizuki/fetcher.rb +1 -0
- data/lib/mochizuki/status.rb +3 -3
- data/lib/mochizuki/telegram_bot.rb +9 -5
- data/lib/mochizuki/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: 45a1c70f5392c04f591f9867ce4fcd119bef28702e90ffe66d5eea1de5cdfa37
|
4
|
+
data.tar.gz: e6681852d0a5b1ab7f72991403728fdcd36b5afee94d3f657e39d6ef5b3ad002
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a9b75c553d835b499be5936fa9b3d065713b33bfc5d080486aebc8e0ca61d0f9ab55b1489f097a4f41df6ff0f1729477fa596b7a68fba6a4535bb65d1267658f
|
7
|
+
data.tar.gz: 3fbad4d706c73818f05c354c96828ad368916fe49002c3c5d5f61d84226c42957f47e940238f97f1b3dc620f59a4a66e9059bf789a7a5d98abc3c52e87366b2e
|
data/README.md
CHANGED
@@ -19,7 +19,16 @@ gem install mochizuki
|
|
19
19
|
|
20
20
|
**Recommended**
|
21
21
|
|
22
|
-
|
22
|
+
```bash
|
23
|
+
docker pull darkkowalski/mochizuki
|
24
|
+
```
|
25
|
+
|
26
|
+
```bash
|
27
|
+
docker run --name mochizuki \
|
28
|
+
--restart=always \
|
29
|
+
-v /path/to/mochizuki.conf:/app/mochizuki.conf \
|
30
|
+
-d -it darkkowalski/mochizuki
|
31
|
+
```
|
23
32
|
|
24
33
|
## Configuration
|
25
34
|
|
data/bin/mochizuki
CHANGED
data/lib/mochizuki/auto_query.rb
CHANGED
@@ -16,9 +16,10 @@ module Mochizuki
|
|
16
16
|
scheduler.every @config.query_interval.to_s do
|
17
17
|
power = Mochizuki::Fetcher.new.fetch
|
18
18
|
@logger.info "Auto query, #{power} kWh remaining"
|
19
|
-
if Mochizuki.status.
|
19
|
+
if Mochizuki.status.auto_alarm_triggered?
|
20
20
|
yield(power)
|
21
21
|
Mochizuki.status.alarmed_before = true
|
22
|
+
@logger.info 'Auto alarm is suppressed for now'
|
22
23
|
end
|
23
24
|
end
|
24
25
|
end
|
data/lib/mochizuki/fetcher.rb
CHANGED
data/lib/mochizuki/status.rb
CHANGED
@@ -18,14 +18,14 @@ module Mochizuki
|
|
18
18
|
def update_status(power)
|
19
19
|
last = Mochizuki.status.below_threshold
|
20
20
|
current = power.to_f < @config.alarm_threshold.to_f
|
21
|
-
@logger.info "
|
21
|
+
@logger.info "Update status, @below_threshold, last: #{last}, current: #{current}"
|
22
22
|
|
23
23
|
Mochizuki.status.below_threshold = current
|
24
24
|
|
25
25
|
return unless !current && last # re-enabled auto alarm
|
26
26
|
|
27
27
|
Mochizuki.status.alarmed_before = false
|
28
|
-
@logger.info
|
28
|
+
@logger.info 'Auto alarm enabled'
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
@@ -38,7 +38,7 @@ module Mochizuki
|
|
38
38
|
@alarmed_before = false
|
39
39
|
end
|
40
40
|
|
41
|
-
def
|
41
|
+
def auto_alarm_triggered?
|
42
42
|
if @below_threshold.nil?
|
43
43
|
@logger.error "Unable to check status, @below_threshold can't be nil"
|
44
44
|
raise Mochizuki::Error, 'Invalid @below_threshold'
|
@@ -14,17 +14,18 @@ module Mochizuki
|
|
14
14
|
Mochizuki::AutoQuery.new.alarm do |power|
|
15
15
|
bot.api.send_message(chat_id: @config.channel,
|
16
16
|
text: "Dorm: #{@config.dorm}: #{power} kWh, " \
|
17
|
-
"lower than threshold #{@config.alarm_threshold}")
|
17
|
+
"lower than threshold #{@config.alarm_threshold} kWh")
|
18
18
|
end
|
19
19
|
@logger.info 'Auto query enabled'
|
20
20
|
|
21
21
|
bot.listen do |msg|
|
22
|
+
@logger.info "ID: #{msg.chat.id} uses #{msg}"
|
22
23
|
case msg.text
|
23
24
|
when '/start'
|
25
|
+
send_msg = 'I am a telegram bot written in ruby, '\
|
26
|
+
'details at https://github.com/DarkKowalski/mochizuki'
|
24
27
|
bot.api.send_message(chat_id: msg.chat.id,
|
25
|
-
text:
|
26
|
-
'details at https://github.com/DarkKowalski/mochizuki-bot')
|
27
|
-
@logger.info "ID: #{msg.chat.id} uses /start"
|
28
|
+
text: send_msg)
|
28
29
|
when '/query'
|
29
30
|
dorm = @config.dorm
|
30
31
|
begin
|
@@ -34,9 +35,12 @@ module Mochizuki
|
|
34
35
|
send_msg = 'Failed to query.'
|
35
36
|
end
|
36
37
|
bot.api.send_message(chat_id: msg.chat.id, text: send_msg)
|
38
|
+
when '/status'
|
39
|
+
send_msg = "Bot status: auto alarm is suppressed -> #{Mochizuki.status.alarmed_before}"
|
40
|
+
bot.api.send_message(chat_id: msg.chat.id, text: send_msg)
|
37
41
|
else
|
42
|
+
@logger.warn "Unknown command #{msg}"
|
38
43
|
bot.api.send_message(chat_id: msg.chat.id, text: "Use '/query' to get remaining power")
|
39
|
-
@logger.warn "ID: #{msg.chat.id} uses #{msg.text}"
|
40
44
|
end
|
41
45
|
end
|
42
46
|
end
|
data/lib/mochizuki/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mochizuki
|
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
|
- Kowalski Dark
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-10-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|