node-red-contrib-loewe-tv 0.2.3 → 0.4.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.
- package/README.md +14 -14
- package/doc/ActionMessages.txt +57 -0
- package/doc/control_interface_specification_SL3xx-SL4xx_V4.1.1.pdf +0 -0
- package/doc/de-loewe-tablet-wse.wsdl +248 -0
- package/doc/remote_api_1.0.47_Loewe.pdf +0 -0
- package/lib/loewe-tv-config.html +33 -0
- package/lib/loewe-tv-config.js +11 -0
- package/lib/loewe.html +26 -31
- package/lib/loewe.js +1337 -433
- package/package.json +5 -3
- package/test/sddp.txt +0 -1196
package/README.md
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
# control Loewe TV with Node-RED
|
|
2
|
-
|
|
3
|
-
Works with Loewe TVs
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
npm i node-red-contrib-loewe-tv
|
|
8
|
-
|
|
9
|
-
## Usage
|
|
10
|
-
|
|
11
|
-
Configure TV IP in Config node
|
|
12
|
-
|
|
13
|
-
## Sample Flow
|
|
14
|
-
|
|
1
|
+
# control Loewe TV with Node-RED
|
|
2
|
+
|
|
3
|
+
Works with Loewe TVs
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
npm i node-red-contrib-loewe-tv
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
Configure TV IP in Config node
|
|
12
|
+
|
|
13
|
+
## Sample Flow
|
|
14
|
+
|
|
15
15
|
Example: [LoeweTV.json](examples/LoeweTV.json)
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
<message name="RequestAccess">
|
|
2
|
+
<message name="GetChannelList">
|
|
3
|
+
<message name="GetCurrentEvent">
|
|
4
|
+
<message name="GetNextEvent">
|
|
5
|
+
<message name="GetMediaItem">
|
|
6
|
+
<message name="GetMediaEvent">
|
|
7
|
+
<message name="PlayerPrepare">
|
|
8
|
+
<message name="PlayerReleasePrepared">
|
|
9
|
+
<message name="PlayerPlay">
|
|
10
|
+
<message name="PlayerPause">
|
|
11
|
+
<message name="PlayerResume">
|
|
12
|
+
<message name="PlayerStop">
|
|
13
|
+
<message name="PlayerSetSpeed">
|
|
14
|
+
<message name="PlayerSeekTo">
|
|
15
|
+
<message name="GetVolume">
|
|
16
|
+
<message name="SetVolume">
|
|
17
|
+
<message name="GetMute">
|
|
18
|
+
<message name="SetMute">
|
|
19
|
+
<message name="Standby">
|
|
20
|
+
<message name="ProgramTimer">
|
|
21
|
+
<message name="GetDeviceData">
|
|
22
|
+
<message name="GetValueFromBrowserJS">
|
|
23
|
+
<message name="GetBrowserJSChangeList">
|
|
24
|
+
<message name="SetValueToBrowserJS">
|
|
25
|
+
<message name="GetCurrentPlayback">
|
|
26
|
+
<message name="GetCurrentStatus">
|
|
27
|
+
<message name="ZapToApplication">
|
|
28
|
+
<message name="ZapToMedia">
|
|
29
|
+
<message name="InjectRCKey">
|
|
30
|
+
<message name="InjectKeyboardKey">
|
|
31
|
+
<message name="SetActionField">
|
|
32
|
+
<message name="GetActionField">
|
|
33
|
+
<message name="GetFeature">
|
|
34
|
+
<message name="ActivateFeaturePackage">
|
|
35
|
+
<message name="DeactivateFeaturePackage">
|
|
36
|
+
<message name="GetUpgradeInfo">
|
|
37
|
+
<message name="GetListOfChannelLists">
|
|
38
|
+
<message name="AddFavoriteList">
|
|
39
|
+
<message name="RemoveFavoriteList">
|
|
40
|
+
<message name="RenameFavoriteList">
|
|
41
|
+
<message name="AddServicesFavoriteList">
|
|
42
|
+
<message name="RemoveServicesFavoriteList">
|
|
43
|
+
<message name="MoveServicesFavoriteList">
|
|
44
|
+
<message name="AddFavoriteListFromVirtual">
|
|
45
|
+
<message name="GetListOfVirtualLists">
|
|
46
|
+
<message name="ImportServiceLists">
|
|
47
|
+
<message name="ExportServiceLists">
|
|
48
|
+
<message name="GetDRPlusArchive">
|
|
49
|
+
<message name="GetVolumes">
|
|
50
|
+
<message name="PlayMultiroom">
|
|
51
|
+
<message name="GetSettings">
|
|
52
|
+
<message name="SetSetting">
|
|
53
|
+
<message name="ParentalLock">
|
|
54
|
+
<message name="GetParentalLock">
|
|
55
|
+
<message name="GetTimerList">
|
|
56
|
+
<message name="CreateIterator">
|
|
57
|
+
<message name="CloseIterator">
|
|
Binary file
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<wsdl:definitions targetNamespace="http://www.w3.org/2011/03/ws-evt"
|
|
3
|
+
xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"
|
|
4
|
+
xmlns:wse="http://www.w3.org/2011/03/ws-evt" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
|
5
|
+
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:lor="urn:loewe.de:RemoteTV:Tablet#Reference"
|
|
6
|
+
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns="http://schemas.xmlsoap.org/wsdl/">
|
|
7
|
+
|
|
8
|
+
<!-- ########## wsdl:types ###################################################### -->
|
|
9
|
+
|
|
10
|
+
<wsdl:types>
|
|
11
|
+
<xsd:schema targetNamespace="urn:loewe.de:RemoteTV:Tablet">
|
|
12
|
+
<xsd:import namespace="http://www.w3.org/2011/03/ws-evt"
|
|
13
|
+
schemaLocation="http://www.w3.org/2011/03/ws-evt/eventing.xsd"
|
|
14
|
+
xmlns:wsa="http://www.w3.org/2005/08/addressing" />
|
|
15
|
+
<xsd:complexType name="EventType" mixed="true">
|
|
16
|
+
<xsd:sequence>
|
|
17
|
+
<xsd:any namespace="##any" processContents="lax" minOccurs="0"
|
|
18
|
+
maxOccurs="unbounded" />
|
|
19
|
+
</xsd:sequence>
|
|
20
|
+
<xsd:attribute name="actionURI" type="xsd:anyURI" use="optional" />
|
|
21
|
+
<xsd:anyAttribute namespace="##other"
|
|
22
|
+
processContents="lax" />
|
|
23
|
+
</xsd:complexType>
|
|
24
|
+
<xsd:element name="Notify" type="wse:EventType" />
|
|
25
|
+
</xsd:schema>
|
|
26
|
+
</wsdl:types>
|
|
27
|
+
|
|
28
|
+
<!-- ########## wsdl:message #################################################### -->
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
<wsdl:message name="SubscribeMsg">
|
|
32
|
+
<wsdl:part name="body" element="wse:Subscribe" />
|
|
33
|
+
</wsdl:message>
|
|
34
|
+
<wsdl:message name="SubscribeResponseMsg">
|
|
35
|
+
<wsdl:part name="body" element="wse:SubscribeResponse" />
|
|
36
|
+
</wsdl:message>
|
|
37
|
+
|
|
38
|
+
<wsdl:message name="RenewMsg">
|
|
39
|
+
<wsdl:part name="body" element="wse:Renew" />
|
|
40
|
+
</wsdl:message>
|
|
41
|
+
<wsdl:message name="RenewResponseMsg">
|
|
42
|
+
<wsdl:part name="body" element="wse:RenewResponse" />
|
|
43
|
+
</wsdl:message>
|
|
44
|
+
|
|
45
|
+
<wsdl:message name="GetStatusMsg">
|
|
46
|
+
<wsdl:part name="body" element="wse:GetStatus" />
|
|
47
|
+
</wsdl:message>
|
|
48
|
+
<wsdl:message name="GetStatusResponseMsg">
|
|
49
|
+
<wsdl:part name="body" element="wse:GetStatusResponse" />
|
|
50
|
+
</wsdl:message>
|
|
51
|
+
|
|
52
|
+
<wsdl:message name="UnsubscribeMsg">
|
|
53
|
+
<wsdl:part name="body" element="wse:Unsubscribe" />
|
|
54
|
+
</wsdl:message>
|
|
55
|
+
<wsdl:message name="UnsubscribeResponseMsg">
|
|
56
|
+
<wsdl:part name="body" element="wse:UnsubscribeResponse" />
|
|
57
|
+
</wsdl:message>
|
|
58
|
+
|
|
59
|
+
<wsdl:message name="SubscriptionEnd">
|
|
60
|
+
<wsdl:part name="body" element="wse:SubscriptionEnd" />
|
|
61
|
+
</wsdl:message>
|
|
62
|
+
|
|
63
|
+
<wsdl:message name="notifyEvent">
|
|
64
|
+
<wsdl:part name="parameter" element="wse:Notify" />
|
|
65
|
+
</wsdl:message>
|
|
66
|
+
|
|
67
|
+
<!-- ########## wsdl:portType ################################################### -->
|
|
68
|
+
|
|
69
|
+
<wsdl:portType name="EventSource">
|
|
70
|
+
<wsdl:operation name="SubscribeOp">
|
|
71
|
+
<wsdl:input message="wse:SubscribeMsg"
|
|
72
|
+
wsa:Action="http://www.w3.org/2011/03/ws-evt/Subscribe" />
|
|
73
|
+
|
|
74
|
+
<wsdl:output message="wse:SubscribeResponseMsg"
|
|
75
|
+
wsam:Action="http://www.w3.org/2011/03/ws-evt/SubscribeResponse" />
|
|
76
|
+
</wsdl:operation>
|
|
77
|
+
</wsdl:portType>
|
|
78
|
+
|
|
79
|
+
<wsdl:portType name="SubscriptionEndPortType">
|
|
80
|
+
<wsdl:operation name="SubscriptionEnd">
|
|
81
|
+
<wsdl:input message="wse:SubscriptionEnd"
|
|
82
|
+
wsam:Action="http://www.w3.org/2011/03/ws-evt/SubscriptionEnd" />
|
|
83
|
+
</wsdl:operation>
|
|
84
|
+
</wsdl:portType>
|
|
85
|
+
|
|
86
|
+
<wsdl:portType name="SubscriptionManager">
|
|
87
|
+
<wsdl:operation name="RenewOp">
|
|
88
|
+
<wsdl:input message="wse:RenewMsg"
|
|
89
|
+
wsam:Action="http://www.w3.org/2011/03/ws-evt/Renew" />
|
|
90
|
+
<wsdl:output message="wse:RenewResponseMsg"
|
|
91
|
+
wsam:Action="http://www.w3.org/2011/03/ws-evt/RenewResponse" />
|
|
92
|
+
</wsdl:operation>
|
|
93
|
+
|
|
94
|
+
<wsdl:operation name="GetStatusOp">
|
|
95
|
+
<wsdl:input message="wse:GetStatusMsg"
|
|
96
|
+
wsam:Action="http://www.w3.org/2011/03/ws-evt/GetStatus" />
|
|
97
|
+
<wsdl:output message="wse:GetStatusResponseMsg"
|
|
98
|
+
wsam:Action="http://www.w3.org/2011/03/ws-evt/GetStatusResponse" />
|
|
99
|
+
</wsdl:operation>
|
|
100
|
+
|
|
101
|
+
<wsdl:operation name="UnsubscribeOp">
|
|
102
|
+
<wsdl:input message="wse:UnsubscribeMsg"
|
|
103
|
+
wsam:Action="http://www.w3.org/2011/03/ws-evt/Unsubscribe" />
|
|
104
|
+
<wsdl:output message="wse:UnsubscribeResponseMsg"
|
|
105
|
+
wsam:Action="http://www.w3.org/2011/03/ws-evt/UnsubscribeResponse" />
|
|
106
|
+
</wsdl:operation>
|
|
107
|
+
</wsdl:portType>
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
<wsdl:portType name="WrappedSinkPortType">
|
|
111
|
+
<wsdl:operation name="NotifyEvent">
|
|
112
|
+
<wsdl:input message="wse:notifyEvent"
|
|
113
|
+
wsam:Action="http://www.w3.org/2011/03/ws-evt/WrappedSinkPortType/NotifyEvent" />
|
|
114
|
+
</wsdl:operation>
|
|
115
|
+
</wsdl:portType>
|
|
116
|
+
|
|
117
|
+
<!-- ########## wsdl:binding #################################################### -->
|
|
118
|
+
|
|
119
|
+
<wsdl:binding name="LOEWE_Tablet_Port_WSE_EventSource_SOAP"
|
|
120
|
+
type="wse:EventSource">
|
|
121
|
+
<soap12:binding style="document"
|
|
122
|
+
transport="http://schemas.xmlsoap.org/soap/http" />
|
|
123
|
+
<wsa:UsingAddressing wsdl:required="true"
|
|
124
|
+
xmlns:wsa="http://www.w3.org/2006/05/addressing/wsdl" />
|
|
125
|
+
<wsdl:operation name="SubscribeOp">
|
|
126
|
+
<soap12:operation soapAction="http://www.w3.org/2011/03/ws-evt/Subscribe"
|
|
127
|
+
soapActionRequired="true" />
|
|
128
|
+
<!-- soapAction="urn:loewe.de:RemoteTV:Tablet/SubscriptionManager" /> -->
|
|
129
|
+
<wsdl:input>
|
|
130
|
+
<soap12:body use="literal" />
|
|
131
|
+
</wsdl:input>
|
|
132
|
+
<wsdl:output>
|
|
133
|
+
<soap12:body use="literal" />
|
|
134
|
+
</wsdl:output>
|
|
135
|
+
</wsdl:operation>
|
|
136
|
+
</wsdl:binding>
|
|
137
|
+
|
|
138
|
+
<wsdl:binding name="LOEWE_Tablet_Port_WSE_SubscriptionEndPortType_SOAP"
|
|
139
|
+
type="wse:SubscriptionEndPortType">
|
|
140
|
+
<soap12:binding style="document"
|
|
141
|
+
transport="http://schemas.xmlsoap.org/soap/http" />
|
|
142
|
+
<wsa:UsingAddressing wsdl:required="true" />
|
|
143
|
+
<wsdl:operation name="SubscriptionEnd">
|
|
144
|
+
<soap12:operation soapAction="http://www.w3.org/2011/03/ws-evt/SubscriptionEnd"
|
|
145
|
+
soapActionRequired="true" />
|
|
146
|
+
<!-- soapAction="urn:loewe.de:RemoteTV:Tablet/SubscriptionEndPortType"
|
|
147
|
+
/> -->
|
|
148
|
+
<wsdl:input>
|
|
149
|
+
<soap12:body use="literal" />
|
|
150
|
+
</wsdl:input>
|
|
151
|
+
</wsdl:operation>
|
|
152
|
+
</wsdl:binding>
|
|
153
|
+
|
|
154
|
+
<wsdl:binding name="LOEWE_Tablet_Port_WSE_SubscriptionManager_SOAP"
|
|
155
|
+
type="wse:SubscriptionManager">
|
|
156
|
+
<soap12:binding style="document"
|
|
157
|
+
transport="http://schemas.xmlsoap.org/soap/http" />
|
|
158
|
+
<wsa:UsingAddressing wsdl:required="true" />
|
|
159
|
+
<wsdl:operation name="RenewOp">
|
|
160
|
+
<soap12:operation soapAction="http://www.w3.org/2011/03/ws-evt/Renew"
|
|
161
|
+
soapActionRequired="true" />
|
|
162
|
+
<!-- soapAction="urn:loewe.de:RemoteTV:Tablet/SubscriptionManager/RenewOp"
|
|
163
|
+
/> -->
|
|
164
|
+
<wsdl:input>
|
|
165
|
+
<soap12:body use="literal" />
|
|
166
|
+
</wsdl:input>
|
|
167
|
+
<wsdl:output>
|
|
168
|
+
<soap12:body use="literal" />
|
|
169
|
+
</wsdl:output>
|
|
170
|
+
</wsdl:operation>
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
<wsdl:operation name="GetStatusOp">
|
|
174
|
+
<wsa:UsingAddressing wsdl:required="true" />
|
|
175
|
+
<soap12:operation soapAction="http://www.w3.org/2011/03/ws-evt/GetStatus"
|
|
176
|
+
soapActionRequired="true" />
|
|
177
|
+
<!-- soapAction="urn:loewe.de:RemoteTV:Tablet/SubscriptionManager/GetStatusOp"
|
|
178
|
+
/> -->
|
|
179
|
+
<wsdl:input>
|
|
180
|
+
<soap12:body use="literal" />
|
|
181
|
+
</wsdl:input>
|
|
182
|
+
<wsdl:output>
|
|
183
|
+
<soap12:body use="literal" />
|
|
184
|
+
</wsdl:output>
|
|
185
|
+
</wsdl:operation>
|
|
186
|
+
|
|
187
|
+
<wsdl:operation name="UnsubscribeOp">
|
|
188
|
+
<wsa:UsingAddressing wsdl:required="true" />
|
|
189
|
+
<soap12:operation soapAction="http://www.w3.org/2011/03/ws-evt/Unsubscribe"
|
|
190
|
+
soapActionRequired="true" />
|
|
191
|
+
<!-- soapAction="urn:loewe.de:RemoteTV:Tablet/SubscriptionManager/UnsubscribeOp"
|
|
192
|
+
/> -->
|
|
193
|
+
<wsdl:input>
|
|
194
|
+
<soap12:body use="literal" />
|
|
195
|
+
</wsdl:input>
|
|
196
|
+
<wsdl:output>
|
|
197
|
+
<soap12:body use="literal" />
|
|
198
|
+
</wsdl:output>
|
|
199
|
+
|
|
200
|
+
</wsdl:operation>
|
|
201
|
+
</wsdl:binding>
|
|
202
|
+
|
|
203
|
+
<wsdl:binding name="LOEWE_Tablet_Port_WSE_NotifyEvent_SOAP"
|
|
204
|
+
type="wse:WrappedSinkPortType">
|
|
205
|
+
<soap12:binding style="document"
|
|
206
|
+
transport="http://schemas.xmlsoap.org/soap/http" />
|
|
207
|
+
<wsa:UsingAddressing wsdl:required="true" />
|
|
208
|
+
<wsdl:operation name="NotifyEvent">
|
|
209
|
+
<soap12:operation soapAction="urn:loewe.de:RemoteTV:Tablet#Reference"
|
|
210
|
+
soapActionRequired="true" />
|
|
211
|
+
<!-- soapAction="urn:loewe.de:RemoteTV:Tablet/NotifyEvent" /> -->
|
|
212
|
+
<wsdl:input>
|
|
213
|
+
<soap12:body use="literal" />
|
|
214
|
+
</wsdl:input>
|
|
215
|
+
</wsdl:operation>
|
|
216
|
+
</wsdl:binding>
|
|
217
|
+
|
|
218
|
+
<!-- ########## wsdl:service #################################################### -->
|
|
219
|
+
|
|
220
|
+
<wsdl:service name="EventSource">
|
|
221
|
+
<wsdl:port binding="wse:LOEWE_Tablet_Port_WSE_EventSource_SOAP"
|
|
222
|
+
name="LOEWE_Tablet_Port_WSE_EventSource_SOAP">
|
|
223
|
+
<soap12:address location="http://192.168.169.220:905/loewe_tablet_0001" />
|
|
224
|
+
</wsdl:port>
|
|
225
|
+
</wsdl:service>
|
|
226
|
+
|
|
227
|
+
<wsdl:service name="SubscriptionEndPortType">
|
|
228
|
+
<wsdl:port binding="wse:LOEWE_Tablet_Port_WSE_SubscriptionEndPortType_SOAP"
|
|
229
|
+
name="LOEWE_Tablet_Port_WSE_SubscriptionEndPortType_SOAP">
|
|
230
|
+
<soap12:address location="http://192.168.169.220:905/loewe_tablet_0001" />
|
|
231
|
+
</wsdl:port>
|
|
232
|
+
</wsdl:service>
|
|
233
|
+
|
|
234
|
+
<wsdl:service name="SubscriptionManager">
|
|
235
|
+
<wsdl:port binding="wse:LOEWE_Tablet_Port_WSE_SubscriptionManager_SOAP"
|
|
236
|
+
name="LOEWE_Tablet_Port_WSE_SubscriptionManager_SOAP">
|
|
237
|
+
<soap12:address location="http://192.168.169.220:905/loewe_tablet_0001" />
|
|
238
|
+
</wsdl:port>
|
|
239
|
+
</wsdl:service>
|
|
240
|
+
|
|
241
|
+
<wsdl:service name="WrappedSinkPortType">
|
|
242
|
+
<wsdl:port binding="wse:LOEWE_Tablet_Port_WSE_NotifyEvent_SOAP"
|
|
243
|
+
name="LOEWE_Tablet_Port_WSE_NotifyEvent_SOAP">
|
|
244
|
+
<soap12:address location="http://192.168.169.220:905/loewe_tablet_0001" />
|
|
245
|
+
</wsdl:port>
|
|
246
|
+
</wsdl:service>
|
|
247
|
+
|
|
248
|
+
</wsdl:definitions>
|
|
Binary file
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<script type="text/javascript">
|
|
2
|
+
RED.nodes.registerType('loewe-tv-config',{
|
|
3
|
+
category: 'config',
|
|
4
|
+
defaults: {
|
|
5
|
+
name: {value:"", required: true },
|
|
6
|
+
ip: {value:"", required: true },
|
|
7
|
+
fcid: {value:"8761291", validate: RED.validators.number()},
|
|
8
|
+
mac: {value:"", required: false }
|
|
9
|
+
},
|
|
10
|
+
label: function() {
|
|
11
|
+
return this.name;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<script type="text/x-red" data-template-name="loewe-tv-config">
|
|
17
|
+
<div class="form-row">
|
|
18
|
+
<label for="node-input-name"><i class="fa fa-tag"></i>Name</label>
|
|
19
|
+
<input type="text" id="node-config-input-name" placeholder="LoeweTV">
|
|
20
|
+
</div>
|
|
21
|
+
<div class="form-row">
|
|
22
|
+
<label for="node-input-ip"><i class="icon-tag"></i>IP</label>
|
|
23
|
+
<input type="text" id="node-config-input-ip" placeholder="192.168.0.180">
|
|
24
|
+
</div>
|
|
25
|
+
<div class="form-row">
|
|
26
|
+
<label for="node-input-fcid"><i class="icon-tag"></i>fcid</label>
|
|
27
|
+
<input type="text" id="node-config-input-fcid" placeholder="8761291">
|
|
28
|
+
</div>
|
|
29
|
+
</script>
|
|
30
|
+
|
|
31
|
+
<script type="text/x-red" data-help-name="loewe-tv-config">
|
|
32
|
+
<p>Interface to Loewe TV for Node-Red</p>
|
|
33
|
+
</script>
|
package/lib/loewe.html
CHANGED
|
@@ -1,31 +1,26 @@
|
|
|
1
|
-
<script type="text/javascript">
|
|
2
|
-
RED.nodes.registerType('LOEWE-TV',{
|
|
3
|
-
category: 'function',
|
|
4
|
-
color: '#a6bbcf',
|
|
5
|
-
defaults: {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
<
|
|
19
|
-
|
|
20
|
-
<
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
</script>
|
|
28
|
-
|
|
29
|
-
<script type="text/x-red" data-help-name="LOEWE-TV">
|
|
30
|
-
<p>Interface to Loewe TV for Node-Red</p>
|
|
31
|
-
</script>
|
|
1
|
+
<script type="text/javascript">
|
|
2
|
+
RED.nodes.registerType('LOEWE-TV', {
|
|
3
|
+
category: 'function',
|
|
4
|
+
color: '#a6bbcf',
|
|
5
|
+
defaults: {
|
|
6
|
+
tv: {type:"loewe-tv-config", required: true }
|
|
7
|
+
},
|
|
8
|
+
inputs:1,
|
|
9
|
+
outputs:1,
|
|
10
|
+
icon: "file.png",
|
|
11
|
+
label: function() {
|
|
12
|
+
return this.name||"LOEWE-TV";
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<script type="text/x-red" data-template-name="LOEWE-TV">
|
|
18
|
+
<div class="form-row">
|
|
19
|
+
<label for="node-input-tv"><i class="fa fa-tag"></i>LOEWE TV</label>
|
|
20
|
+
<input type="text" id="node-input-tv">
|
|
21
|
+
</div>
|
|
22
|
+
</script>
|
|
23
|
+
|
|
24
|
+
<script type="text/x-red" data-help-name="LOEWE-TV">
|
|
25
|
+
<p>Interface to Loewe TV for Node-Red</p>
|
|
26
|
+
</script>
|