forked from bitfocus/companion-module-template-js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathactions.js
118 lines (98 loc) · 2.21 KB
/
actions.js
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
const _ = require('lodash');
const superagent = require('superagent');
api = {
route : function(action, options) {
//shorthand actions
// if(action == 'blackout') { action = 'displaymode'; options.value = 1; console.log('yo');}
// if(action == 'normal') { action = 'displaymode'; options.value = 0; console.log('go');}
},
cmd : function(cmd, params) {
if (cmd) {
console.log('hit the api !!!!----');
console.log(cmd);
console.log(params);
console.log(config);
// superagent.put(this.baseurl + cmd).set('Content-Type', 'application/json').send(params).then(res => {
// // res.body, res.headers, res.status
// console.log(res.body);
// }).catch(console.error);
}
},
displaymode : function(options) {
var cmd;
var params = {};
console.log('displaymode');
console.log(options);
if(options && options.value !== undefined) {
cmd = 'device/screen/displaymode';
params = {
value : options.value
}
api.cmd(cmd, params);
}
},
brightness : function(options) {
var cmd;
var params = {};
console.log('displaymode');
if(options && options.brightness !== undefined) {
cmd = 'device/cabinet/displaymode';
params = {
ratio : options.brightness
}
api.cmd(cmd, params);
}
},
input : function(options) {
var cmd;
var params = {};
if(options && options.input !== undefined) {
cmd = 'device/cabinet/displaymode';
params = {
data : {
groupId : options.input
}
}
api.cmd(cmd, params);
}
}
}
module.exports = function (self) {
self.setActionDefinitions({
sample_action: {
name: 'Input',
options: [
{
id: 'num',
type: 'number',
label: 'Test',
default: 5,
min: 0,
max: 100,
},
],
callback: async (event) => {
console.log('Hello world!', event.options.num)
console.log(event.options);
},
},
blackout: {
name: 'Blackout',
options: [],
callback: async (event) => {
console.log('Blackout');
console.log(event);
api.displaymode({ value : 1 });
},
},
normal: {
name: 'Normal',
options: [],
callback: async (event) => {
console.log('Normal');
console.log(event);
api.displaymode({ value : 0 });
},
},
})
}