path:
/deviceTypes.nim
3.07 KB | plain
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
import options
import gatewayTypes
type
TradfriDeviceType* = enum
Remote, slaveRemote, Lightbulb, Plug, motionSensor, signalRepeater, Blind, soundRemote
TradfriPowerSource* = enum
Unknown, internalBattery, externalBattery, Battery, POE, USB, AC, Solar
TradfriLightSpectrum* = enum
RGB, White, None
TradfriDeviceActionType* = enum
DeviceRename, LightSetPowerState, LightSetBrightness, LightSetColorHex, LightSetColorXY, LightSetHueSaturation, LightSetColorTemperature, PlugSetPowerState, PlugSetDimmerValue
TradfriDeviceInfo* = object
manufacturer*: string
modelNumber*: string
serialNumber*: string
firmwareVersion*: string
power*: TradfriPowersource
battery*: int
TradfriDeviceState* = object
case kind*: TradfriDeviceType
of Remote:
remoteSupported*: bool
of slaveRemote:
slaveRemoteSupported*: bool
of Lightbulb:
lightPowered*: bool
lightSpectrum*: TradfriLightSpectrum
lightHue*: Option[int]
lightSaturation*: Option[int]
lightColorHex*: Option[string]
lightColorX*: Option[float]
lightColorY*: Option[float]
lightColorTemperature*: Option[int]
lightBrightness*: int
of Plug:
plugPowered*: bool
plugDimmer*: int # 1 - 254 (but currently no dimmable plugs available)
of motionSensor:
motionSensorSupported*: bool
of signalRepeater:
signalRepeaterSupported*: bool
of Blind:
blindPosition*: float # 0 - 100
blindTrigger*: float # ?
of soundRemote:
soundRemoteSupported*: bool
TradfriDevice* = object
gatewayRef*: TradfriGatewayRef
`type`*: TradfriDeviceType
id*: int
name*: string
alive*: bool
createdAt*: int
lastSeen*: int
info*: TradfriDeviceInfo
state*: TradfriDeviceState
TradfriDeviceAction* = object
transitionTime*: int
case kind*: TradfriDeviceActionType
of DeviceRename:
deviceName*: string
of LightSetPowerState:
lightPowerState*: bool
of LightSetBrightness:
lightBrightness*: int
of LightSetColorHex:
lightColorHex*: string
of LightSetColorXY:
lightColorX*: float
lightColorY*: float
of LightSetHueSaturation:
lightHue*: int
lightSaturation*: int
of LightSetColorTemperature:
lightColorTemperature*: int
of PlugSetPowerState:
plugPowerState*: bool
of PlugSetDimmerValue:
plugDimmerValue*: int