tinderfridge 0.2.0 → 0.3.0
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/tinderfridge/device.rb +30 -0
- data/lib/tinderfridge/device_collection.rb +17 -0
- data/lib/tinderfridge/device_info.txt +2 -0
- data/lib/tinderfridge/version.rb +1 -1
- metadata +10 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e18a7294bb3132350b0d3f1062527eaff38f2b9a90a5bc1057ffd59da58d6389
|
4
|
+
data.tar.gz: cc269b3ff4508d928ccd00af98fa0574d21ab27f970a113d04f39a4ba65ed516
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e235a1c592b8323a591469684c3a21526e5dda8a61eb539bcaf493dff7094e20e87b67168b90032b610925fdfbc724ac44b649d0c5a531510e275a2b48e288b9
|
7
|
+
data.tar.gz: abedb8f8ed9b7be27bbb263f3225cb0097b0a2e711e4d71122fda6210f20010cece9b1e034ec715bddc5a0778f34d364b1dcfaf7742cd9abd3c6d18f7236f48a
|
data/lib/tinderfridge/device.rb
CHANGED
@@ -54,6 +54,15 @@ module Tinkerforge
|
|
54
54
|
# Instance Methods #
|
55
55
|
#----------------------------------------------------------------------#
|
56
56
|
|
57
|
+
# Returns the device's UID. Not to be confused with #uid, which returns the numeric UID.
|
58
|
+
attr_reader :uid_string
|
59
|
+
|
60
|
+
# Returns the device's numeric Device Identifier.
|
61
|
+
attr_reader :device_identifier
|
62
|
+
|
63
|
+
# Returns the device's Display Name.
|
64
|
+
attr_reader :device_display_name
|
65
|
+
|
57
66
|
# Returns the device's IPConnection object.
|
58
67
|
attr_reader :ipcon
|
59
68
|
|
@@ -62,6 +71,27 @@ module Tinkerforge
|
|
62
71
|
"%s (%s@%s:%s)" % [self.class, @uid_string, ipcon.host, ipcon.port]
|
63
72
|
end
|
64
73
|
|
74
|
+
# Returns the device's state.
|
75
|
+
def state
|
76
|
+
identity = get_identity
|
77
|
+
|
78
|
+
[
|
79
|
+
[ 'uid' , uid_string ],
|
80
|
+
[ 'update_time' , Time.now.gmtime ],
|
81
|
+
[ 'device_identifier' , device_identifier ],
|
82
|
+
[ 'device_display_name', device_display_name ],
|
83
|
+
[ 'firmware_version' , identity[4].join('.') ],
|
84
|
+
|
85
|
+
[ 'connected', { 'uid' => identity[1], 'position' => identity[2] } ],
|
86
|
+
[ 'ipcon' , { 'host' => ipcon.host , 'port' => ipcon.port } ],
|
87
|
+
|
88
|
+
respond_to?('get_chip_temperature' ) ? [ 'chip_temperature' , get_chip_temperature ] : nil,
|
89
|
+
respond_to?('get_spitfp_error_count') ? [ 'spitfp_error_count', get_spitfp_error_count ] : nil,
|
90
|
+
respond_to?('get_status_led_config' ) ? [ 'status_led_config' , get_status_led_config ] : nil,
|
91
|
+
|
92
|
+
].compact.to_h
|
93
|
+
end
|
94
|
+
|
65
95
|
# Identifies a Tinkerforge device by blinking its status led.
|
66
96
|
#
|
67
97
|
# Supports recent devices. When invoked on older devices, does nothing.
|
@@ -63,6 +63,23 @@ module Tinkerforge
|
|
63
63
|
end.size
|
64
64
|
end
|
65
65
|
|
66
|
+
# Returns the state of devices in the collection.
|
67
|
+
def state
|
68
|
+
smap 'state'
|
69
|
+
end
|
70
|
+
|
71
|
+
# Turns off light sources such as screens and RGB LEDs for devices in the collection.
|
72
|
+
#
|
73
|
+
# Ignores devices that do not support the blackout method.
|
74
|
+
def blackout
|
75
|
+
smap 'blackout'
|
76
|
+
end
|
77
|
+
|
78
|
+
# Returns a list of unique IP Connections used by devices in the collection.
|
79
|
+
def ipcons
|
80
|
+
smap('ipcon').values.compact.uniq
|
81
|
+
end
|
82
|
+
|
66
83
|
private
|
67
84
|
|
68
85
|
def smap(m)
|
@@ -135,5 +135,7 @@
|
|
135
135
|
2147 CO2 Bricklet 2.0 Tinkerforge::BrickletCO2V2 bricklet_co2_v2
|
136
136
|
2152 Energy Monitor Bricklet Tinkerforge::BrickletEnergyMonitor bricklet_energy_monitor
|
137
137
|
2153 Compass Bricklet Tinkerforge::BrickletCompass bricklet_compass
|
138
|
+
2156 Performance DC Bricklet Tinkerforge::BrickletPerformanceDC bricklet_performance_dc
|
139
|
+
2157 Servo Bricklet 2.0 Tinkerforge::BrickletServoV2 bricklet_servo_v2
|
138
140
|
2161 IMU Bricklet 3.0 Tinkerforge::BrickletIMUV3 bricklet_imu_v3
|
139
141
|
2162 Industrial Dual AC Relay Bricklet Tinkerforge::BrickletIndustrialDualACRelay bricklet_industrial_dual_ac_relay
|
data/lib/tinderfridge/version.rb
CHANGED
metadata
CHANGED
@@ -1,27 +1,33 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tinderfridge
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- lllist.eu
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: tinkerforge
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2.1'
|
20
|
+
- - ">="
|
18
21
|
- !ruby/object:Gem::Version
|
19
22
|
version: 2.1.27
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- -
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '2.1'
|
30
|
+
- - ">="
|
25
31
|
- !ruby/object:Gem::Version
|
26
32
|
version: 2.1.27
|
27
33
|
description:
|