huginn_myq_agent 0.0.2 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 92fcd2a20ad0d54481544fe5317f9172be615ac9e0b3c09a9cd657683752e6c4
4
- data.tar.gz: 74719d1fb59cd2878f74e0e81662854969a327eb37c796d115ab1cb09043002d
3
+ metadata.gz: 22ebb0df9739af60226e463ea6468fe1501513f243beca6ddde073d458495c22
4
+ data.tar.gz: 8ea02626edc18e961e290559564d0a1a5608c6301594858a8932ca361971e6ad
5
5
  SHA512:
6
- metadata.gz: 933711a76fcb23a914253b67da900d98658dba1a8997a254d979f91a2da84601130b715e55257e9b5519f064837797e09c953880f1881e83b6eb158e31da0e54
7
- data.tar.gz: 5fbe07e9e2eaae6e1c8ec6527785eac2b68b1e12464b291a36c33d646da354ec600db125470c78a1ad1aa7b0bbf49799e6cca83593d7504344f654e3fe115c6a
6
+ metadata.gz: bf2b063dede17692b573450be4ce66a33875c55bb7427bc5d4bc2d176bd1086ce262379f0dfb04a82781c0006ab442532f3ea410fd5e689c110dd547cb5eb0f8
7
+ data.tar.gz: 3c1a325fd24fb0bbfd392c91560a835d99ec256641ef1f58a4e5d5b67302516ae207e2cc7602e7453c88b3ebae0a804becf7b581a2d6238115d4ab41b75a31cf
@@ -7,21 +7,19 @@ module Agents
7
7
  default_schedule '12h'
8
8
 
9
9
  description <<-MD
10
- Add a Agent description here
10
+ Allows for the control of a Chamberlain MyQ garage door.
11
11
  MD
12
12
 
13
13
  def default_options
14
14
  {
15
15
  'email_address' => '',
16
16
  'password' => '',
17
- 'door_name' => '',
18
- 'action' => ''
19
17
  }
20
18
  end
21
19
 
22
- form_configurable :email_address, type: :text
23
- form_configurable :password, type: :text
24
- form_configurable :door_name, type: :text
20
+ form_configurable :email_address
21
+ form_configurable :password
22
+ form_configurable :door_name, roles: :completable
25
23
  form_configurable :action, type: :array, values: ['status', 'open', 'close', 'toggle']
26
24
 
27
25
  def validate_options
@@ -40,23 +38,29 @@ module Agents
40
38
  end
41
39
 
42
40
  def working?
43
- # Implement me! Maybe one of these next two lines would be a good fit?
44
- received_event_without_error?
41
+ !recent_error_logs?
42
+ end
43
+
44
+ def complete_door_name
45
+ system = create_system
46
+ system.garage_doors.map { |door| {id: door.name, text: door.name} }
45
47
  end
46
48
 
47
49
  def check
48
50
  door = select_door(interpolated['door_name'])
49
51
  if interpolated['action'] == 'status'
50
- create_event :payload => status(door)
52
+ create_event :payload => status(door.name)
51
53
  elsif interpolated['action'] == 'open'
52
54
  open_door(door)
53
- create_event :payload => status(door)
55
+ create_event :payload => status(door.name)
54
56
  elsif interpolated['action'] == 'close'
55
57
  close(door)
56
- create_event :payload => status(door)
58
+ create_event :payload => status(door.name)
57
59
  end
58
60
  end
59
61
 
62
+ private
63
+
60
64
  def create_system
61
65
  system = RubyMyq::System.new(interpolated['email_address'],interpolated['password'])
62
66
  end
@@ -66,27 +70,23 @@ module Agents
66
70
  door = system.find_door_by_name(door_name)
67
71
  end
68
72
 
69
- def status(door_name)
70
- door = select_door(door_name)
73
+ def status(door)
71
74
  status = {
75
+ 'name' => door.name,
72
76
  'state' => door.status,
73
77
  'since' => door.status_since
74
78
  }
75
- return status
76
79
  end
77
80
 
78
- def close_door(door_name)
79
- door = select_door(door_name)
81
+ def close_door(door)
80
82
  door.close
81
83
  end
82
84
 
83
- def open_door(door_name)
84
- door = select_door(door_name)
85
+ def open_door(door)
85
86
  door.open
86
87
  end
87
88
 
88
- def toggle_door(door_name)
89
- door = select_door(door_name)
89
+ def toggle_door(dorr)
90
90
  if door.status == "open"
91
91
  door.close
92
92
  elsif door.status == "closed"
@@ -94,9 +94,5 @@ module Agents
94
94
  end
95
95
  end
96
96
 
97
-
98
-
99
- # def receive(incoming_events)
100
- # end
101
97
  end
102
98
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: huginn_myq_agent
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jesse Gillies
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-12 00:00:00.000000000 Z
11
+ date: 2020-11-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler