@@ -86,164 +86,173 @@ namespace http {
86
86
{
87
87
case 1 :
88
88
// Pressure (Bar)
89
- {
90
- std::string rID = std::string (ID);
91
- padLeft (rID, 8 , ' 0' );
92
- m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypePressure , 12 , 255 , 0 , " 0.0" , devname);
93
- bCreated = true ;
94
- }
95
- break ;
89
+ {
90
+ std::string rID = std::string (ID);
91
+ padLeft (rID, 8 , ' 0' );
92
+ m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypePressure , 12 , 255 , 0 , " 0.0" , devname);
93
+ bCreated = true ;
94
+ }
95
+ break ;
96
96
case 2 :
97
97
// Percentage
98
- {
99
- std::string rID = std::string (ID);
100
- padLeft (rID, 8 , ' 0' );
101
- m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypePercentage , 12 , 255 , 0 , " 0.0" , devname);
102
- bCreated = true ;
103
- }
104
- break ;
98
+ {
99
+ std::string rID = std::string (ID);
100
+ padLeft (rID, 8 , ' 0' );
101
+ m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypePercentage , 12 , 255 , 0 , " 0.0" , devname);
102
+ bCreated = true ;
103
+ }
104
+ break ;
105
105
case 3 :
106
106
// Gas
107
107
m_sql.UpdateValue (HwdID, ID, 1 , pTypeP1Gas, sTypeP1Gas , 12 , 255 , 0 , " 0" , devname);
108
108
bCreated = true ;
109
109
break ;
110
110
case 4 :
111
111
// Voltage
112
- {
113
- std::string rID = std::string (ID);
114
- padLeft (rID, 8 , ' 0' );
115
- m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypeVoltage , 12 , 255 , 0 , " 0.000" , devname);
116
- bCreated = true ;
117
- }
118
- break ;
112
+ {
113
+ std::string rID = std::string (ID);
114
+ padLeft (rID, 8 , ' 0' );
115
+ m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypeVoltage , 12 , 255 , 0 , " 0.000" , devname);
116
+ bCreated = true ;
117
+ }
118
+ break ;
119
119
case 5 :
120
120
// Text
121
- {
122
- std::string rID = std::string (ID);
123
- padLeft (rID, 8 , ' 0' );
124
- m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypeTextStatus , 12 , 255 , 0 , " Hello World" , devname);
125
- bCreated = true ;
126
- }
127
- break ;
121
+ {
122
+ std::string rID = std::string (ID);
123
+ padLeft (rID, 8 , ' 0' );
124
+ m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypeTextStatus , 12 , 255 , 0 , " Hello World" , devname);
125
+ bCreated = true ;
126
+ }
127
+ break ;
128
128
case 6 :
129
129
// Switch
130
- {
131
- unsigned char ID1 = (unsigned char )((nid & 0xFF000000 ) >> 24 );
132
- unsigned char ID2 = (unsigned char )((nid & 0x00FF0000 ) >> 16 );
133
- unsigned char ID3 = (unsigned char )((nid & 0x0000FF00 ) >> 8 );
134
- unsigned char ID4 = (unsigned char )((nid & 0x000000FF ));
135
- sprintf (ID, " %X%02X%02X%02X" , ID1, ID2, ID3, ID4);
136
- m_sql.UpdateValue (HwdID, ID, 1 , pTypeLighting2, sTypeAC , 12 , 255 , 0 , " 15" , devname);
137
- bCreated = true ;
138
- }
139
- break ;
130
+ {
131
+ unsigned char ID1 = (unsigned char )((nid & 0xFF000000 ) >> 24 );
132
+ unsigned char ID2 = (unsigned char )((nid & 0x00FF0000 ) >> 16 );
133
+ unsigned char ID3 = (unsigned char )((nid & 0x0000FF00 ) >> 8 );
134
+ unsigned char ID4 = (unsigned char )((nid & 0x000000FF ));
135
+ sprintf (ID, " %X%02X%02X%02X" , ID1, ID2, ID3, ID4);
136
+ m_sql.UpdateValue (HwdID, ID, 1 , pTypeLighting2, sTypeAC , 12 , 255 , 0 , " 15" , devname);
137
+ bCreated = true ;
138
+ }
139
+ break ;
140
140
case 7 :
141
141
// Alert
142
142
m_sql.UpdateValue (HwdID, ID, 1 , pTypeGeneral, sTypeAlert , 12 , 255 , 0 , " No Alert!" , devname);
143
143
bCreated = true ;
144
144
break ;
145
145
case 8 :
146
146
// Thermostat Setpoint
147
- {
148
- unsigned char ID1 = (unsigned char )((nid & 0xFF000000 ) >> 24 );
149
- unsigned char ID2 = (unsigned char )((nid & 0x00FF0000 ) >> 16 );
150
- unsigned char ID3 = (unsigned char )((nid & 0x0000FF00 ) >> 8 );
151
- unsigned char ID4 = (unsigned char )((nid & 0x000000FF ));
152
- sprintf (ID, " %X%02X%02X%02X" , ID1, ID2, ID3, ID4);
153
- }
154
- m_sql.UpdateValue (HwdID, ID, 1 , pTypeThermostat, sTypeThermSetpoint , 12 , 255 , 0 , " 20.5" , devname);
155
- bCreated = true ;
156
- break ;
147
+ {
148
+ unsigned char ID1 = (unsigned char )((nid & 0xFF000000 ) >> 24 );
149
+ unsigned char ID2 = (unsigned char )((nid & 0x00FF0000 ) >> 16 );
150
+ unsigned char ID3 = (unsigned char )((nid & 0x0000FF00 ) >> 8 );
151
+ unsigned char ID4 = (unsigned char )((nid & 0x000000FF ));
152
+ sprintf (ID, " %X%02X%02X%02X" , ID1, ID2, ID3, ID4);
153
+ }
154
+ m_sql.UpdateValue (HwdID, ID, 1 , pTypeThermostat, sTypeThermSetpoint , 12 , 255 , 0 , " 20.5" , devname);
155
+ bCreated = true ;
156
+ break ;
157
157
case 9 :
158
158
// Current/Ampere
159
159
m_sql.UpdateValue (HwdID, ID, 1 , pTypeCURRENT, sTypeELEC1 , 12 , 255 , 0 , " 0.0;0.0;0.0" , devname);
160
160
bCreated = true ;
161
161
break ;
162
162
case 10 :
163
163
// Sound Level
164
- {
165
- std::string rID = std::string (ID);
166
- padLeft (rID, 8 , ' 0' );
167
- m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypeSoundLevel , 12 , 255 , 0 , " 65" , devname);
168
- bCreated = true ;
169
- }
170
- break ;
164
+ {
165
+ std::string rID = std::string (ID);
166
+ padLeft (rID, 8 , ' 0' );
167
+ m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypeSoundLevel , 12 , 255 , 0 , " 65" , devname);
168
+ bCreated = true ;
169
+ }
170
+ break ;
171
171
case 11 :
172
172
// Barometer (hPa)
173
- {
174
- std::string rID = std::string (ID);
175
- padLeft (rID, 8 , ' 0' );
176
- m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypeBaro , 12 , 255 , 0 , " 1021.34;0" , devname);
177
- bCreated = true ;
178
- }
179
- break ;
173
+ {
174
+ std::string rID = std::string (ID);
175
+ padLeft (rID, 8 , ' 0' );
176
+ m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypeBaro , 12 , 255 , 0 , " 1021.34;0" , devname);
177
+ bCreated = true ;
178
+ }
179
+ break ;
180
180
case 12 :
181
181
// Visibility (km)
182
182
m_sql.UpdateValue (HwdID, ID, 1 , pTypeGeneral, sTypeVisibility , 12 , 255 , 0 , " 10.3" , devname);
183
183
bCreated = true ;
184
184
break ;
185
185
case 13 :
186
186
// Distance (cm)
187
- {
188
- std::string rID = std::string (ID);
189
- padLeft (rID, 8 , ' 0' );
190
- m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypeDistance , 12 , 255 , 0 , " 123.4" , devname);
191
- bCreated = true ;
192
- }
193
- break ;
187
+ {
188
+ std::string rID = std::string (ID);
189
+ padLeft (rID, 8 , ' 0' );
190
+ m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypeDistance , 12 , 255 , 0 , " 123.4" , devname);
191
+ bCreated = true ;
192
+ }
193
+ break ;
194
194
case 14 : // Counter Incremental
195
195
m_sql.UpdateValue (HwdID, ID, 1 , pTypeGeneral, sTypeCounterIncremental , 12 , 255 , 0 , " 0" , devname);
196
196
bCreated = true ;
197
197
break ;
198
198
case 15 :
199
199
// Soil Moisture
200
- {
201
- std::string rID = std::string (ID);
202
- padLeft (rID, 8 , ' 0' );
203
- m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypeSoilMoisture , 12 , 255 , 3 , devname);
204
- bCreated = true ;
205
- }
206
- break ;
200
+ {
201
+ std::string rID = std::string (ID);
202
+ padLeft (rID, 8 , ' 0' );
203
+ m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypeSoilMoisture , 12 , 255 , 3 , devname);
204
+ bCreated = true ;
205
+ }
206
+ break ;
207
207
case 16 :
208
208
// Leaf Wetness
209
- {
210
- std::string rID = std::string (ID);
211
- padLeft (rID, 8 , ' 0' );
212
- m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypeLeafWetness , 12 , 255 , 2 , devname);
213
- bCreated = true ;
214
- }
215
- break ;
209
+ {
210
+ std::string rID = std::string (ID);
211
+ padLeft (rID, 8 , ' 0' );
212
+ m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypeLeafWetness , 12 , 255 , 2 , devname);
213
+ bCreated = true ;
214
+ }
215
+ break ;
216
216
case 17 :
217
217
// Thermostat Clock
218
- {
219
- std::string rID = std::string (ID);
220
- padLeft (rID, 8 , ' 0' );
221
- m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypeZWaveClock , 12 , 255 , 0 , " 24:12:00" , devname);
222
- bCreated = true ;
223
- }
224
- break ;
218
+ {
219
+ std::string rID = std::string (ID);
220
+ padLeft (rID, 8 , ' 0' );
221
+ m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypeZWaveClock , 12 , 255 , 0 , " 24:12:00" , devname);
222
+ bCreated = true ;
223
+ }
224
+ break ;
225
225
case 18 :
226
226
// kWh
227
- {
228
- std::string rID = std::string (ID);
229
- padLeft (rID, 8 , ' 0' );
230
- m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypeKwh , 12 , 255 , 0 , " 0;0.0" , devname);
231
- bCreated = true ;
232
- }
233
- break ;
227
+ {
228
+ std::string rID = std::string (ID);
229
+ padLeft (rID, 8 , ' 0' );
230
+ m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypeKwh , 12 , 255 , 0 , " 0;0.0" , devname);
231
+ bCreated = true ;
232
+ }
233
+ break ;
234
234
case 19 :
235
235
// Current (Single)
236
- {
237
- std::string rID = std::string (ID);
238
- padLeft (rID, 8 , ' 0' );
239
- m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypeCurrent , 12 , 255 , 0 , " 6.4" , devname);
240
- bCreated = true ;
241
- }
242
- break ;
236
+ {
237
+ std::string rID = std::string (ID);
238
+ padLeft (rID, 8 , ' 0' );
239
+ m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeGeneral, sTypeCurrent , 12 , 255 , 0 , " 6.4" , devname);
240
+ bCreated = true ;
241
+ }
242
+ break ;
243
243
case pTypeLimitlessLights:
244
244
// RGB switch
245
- m_sql.UpdateValue (HwdID, ID, 1 , pTypeLimitlessLights, sTypeLimitlessRGB , 12 , 255 , 1 , devname);
246
- bCreated = true ;
245
+ {
246
+ std::string rID = std::string (ID);
247
+ padLeft (rID, 8 , ' 0' );
248
+ unsigned long long devidx = m_sql.UpdateValue (HwdID, rID.c_str (), 1 , pTypeLimitlessLights, sTypeLimitlessRGB , 12 , 255 , 1 , devname);
249
+ if (devidx != -1 )
250
+ {
251
+ // Set switch type to dimmer
252
+ m_sql.safe_query (" UPDATE DeviceStatus SET SwitchType=%d WHERE (ID==%llu)" , STYPE_Dimmer, devidx);
253
+ }
254
+ bCreated = true ;
255
+ }
247
256
break ;
248
257
case pTypeTEMP:
249
258
m_sql.UpdateValue (HwdID, ID, 1 , pTypeTEMP, sTypeTEMP1 , 12 , 255 , 0 , " 0.0" , devname);
0 commit comments