@@ -164,7 +164,7 @@ private void receiveData(MulticastSocket socket, DatagramPacket dgram) {
164
164
String sentence = new String (dgram .getData (), 0 ,
165
165
dgram .getLength ());
166
166
167
- logger .debug ("Xiaomi received packet: " + sentence );
167
+ logger .info ("Xiaomi received packet: " + sentence );
168
168
169
169
JsonObject jobject = parser .parse (sentence ).getAsJsonObject ();
170
170
String command = jobject .get ("cmd" ).getAsString ();
@@ -189,7 +189,6 @@ private void receiveData(MulticastSocket socket, DatagramPacket dgram) {
189
189
continue ;
190
190
}
191
191
192
- logger .info ("Xiaomi received: " + sentence );
193
192
//report and non gateway heartbeat
194
193
processOtherCommands (jobject );
195
194
}
@@ -243,7 +242,6 @@ private void processOtherCommands(JsonObject jobject) {
243
242
}
244
243
245
244
private void getGatewayInfo (JsonObject jobject ) {
246
- //Xiaomi received packet: {"cmd":"iam","port":"9898","sid":"f0b4299a54e4","model":"gateway","ip":"192.168.2.187"}
247
245
sid = jobject .get ("sid" ).getAsString ();
248
246
dest_port = jobject .get ("port" ).getAsInt ();
249
247
gatewayIP = jobject .get ("ip" ).getAsString ();
@@ -413,9 +411,6 @@ protected String getName() {
413
411
protected void execute () {
414
412
// the frequently executed code (polling) goes here ...
415
413
// logger.debug("execute() method is called!");
416
-
417
-
418
- //requestIdList();
419
414
}
420
415
421
416
private void requestIdList () {
@@ -450,12 +445,28 @@ private void requestWrite(String device, String[] keys, Object[] values) {
450
445
byte [] sendData = sendString .getBytes ("UTF-8" );
451
446
InetAddress addr = InetAddress .getByName (gatewayIP );
452
447
DatagramPacket sendPacket = new DatagramPacket (sendData , sendData .length , addr , dest_port );
448
+ logger .info ("Sending to device: " + device + " message: " + sendString );
449
+ socket .send (sendPacket );
450
+ } catch (IOException e ) {
451
+ e .printStackTrace ();
452
+ }
453
+ }
453
454
455
+ /*
456
+ private void requestWriteGateway(String device, String[] keys, Object[] values) {
457
+ try {
458
+ String key = getKey();
459
+ String sendString = "{\"cmd\": \"write\", \"model\": \"gateway\", \"sid\": \"" + device + "\", \"short_id\": \"0\", \"key\": \"" + key + "\", \"data\": \"{" + getData(keys, values) + ",\"key\":\\\"" + key + "\\\"}\"}";
460
+ byte[] sendData = sendString.getBytes("UTF-8");
461
+ InetAddress addr = InetAddress.getByName(gatewayIP);
462
+ DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, addr, dest_port);
463
+ logger.info("Sending to gateway: " + device + " message: " + sendString );
454
464
socket.send(sendPacket);
455
465
} catch (IOException e) {
456
466
e.printStackTrace();
457
467
}
458
468
}
469
+ */
459
470
460
471
private String getData (String [] keys , Object [] values ) {
461
472
StringBuilder builder = new StringBuilder ();
@@ -472,15 +483,16 @@ private String getData(String[] keys, Object[] values) {
472
483
first = false ;
473
484
474
485
//write key
475
- builder .append ("\" " ).append (k ).append ("\" " ).append (": " );
486
+ builder .append ("\\ \ " " ).append (k ).append ("\\ \" " ).append (": " );
476
487
477
488
//write value
478
489
builder .append (getValue (values [i ]));
479
490
}
480
- return toString () .toString ();
491
+ return builder .toString ();
481
492
}
482
493
483
494
private String getKey () {
495
+ logger .info ("Encrypting \" " + token + "\" with key \" " + key + "\" " );
484
496
return EncryptionHelper .encrypt (token , key );
485
497
}
486
498
0 commit comments