Check Uplink fails - Using RFM69 with signing and encryption
-
Hello,
I'm struggling for a few days with a new board I've made. It seems the code doesn't even reach to setup() neither presentation(). It gets stuck in the I_PING part. Tried the parser, but don't really understand whats going on...
I'm using the latest MySensors library (2.3.1) in the node as well as in the RaspberryPI3 Gateway. I have a sensebender working fine with the same radio/signing setup.
According to the log parser, "Message with command 3 and type 3 does not need to be signed", but this comment refers to a message that seems to be type 24: "2269 SGN:SKP:MSG CMD=3,TYPE=24"
After this, the I get the message 5134 !TSF:MSG:SEND,71-71-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=NACK:1 and everything starts falling down....
Any idea what I might be doing wrong?
The startup from the node:
__ __ ____ | \/ |_ _/ ___| ___ _ __ ___ ___ _ __ ___ | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __| | | | | |_| |___| | __/ | | \__ \ _ | | \__ \ |_| |_|\__, |____/ \___|_| |_|___/\___/|_| |___/ |___/ 2.3.1 16 MCO:BGN:INIT NODE,CP=RPNNAA-X,REL=255,VER=2.3.1 40 SGN:PER:OK 69 SGN:INI:BND OK 71 TSM:INIT 73 TSF:WUR:MS=0 75 TSM:INIT:TSP OK 77 TSM:INIT:STATID=71 79 TSF:SID:OK,ID=71 81 TSM:FPAR 83 SGN:SKP:MSG CMD=3,TYPE=7 360 TSF:MSG:SEND,71-71-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK: 1486 TSF:MSG:READ,0-0-71,s=255,c=3,t=8,pt=1,l=1,sg=0:0 1492 SGN:SKP:MSG CMD=3,TYPE=8 1495 TSF:MSG:FPAR OK,ID=0,D=1 2369 TSM:FPAR:OK 2369 TSM:ID 2371 TSM:ID:OK 2373 TSM:UPL 2375 SGN:SKP:MSG CMD=3,TYPE=24 5828 !TSF:MSG:SEND,71-71-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=NACK:1 7835 TSM:UPL 7835 SGN:SKP:MSG CMD=3,TYPE=24 11536 !TSF:MSG:SEND,71-71-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=1,st=NACK:1 13543 TSM:UPL 13543 SGN:SKP:MSG CMD=3,TYPE=24 16592 !TSF:MSG:SEND,71-71-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=2,st=NACK:1 18601 TSM:UPL 18601 SGN:SKP:MSG CMD=3,TYPE=24 20563 !TSF:MSG:SEND,71-71-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=3,st=NACK:1 22573 !TSM:UPL:FAIL 22575 TSM:FPAR 22575 SGN:SKP:MSG CMD=3,TYPE=7 23083 TSF:MSG:SEND,71-71-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=4,st=OK: 23779 TSF:MSG:READ,0-0-71,s=255,c=3,t=8,pt=1,l=1,sg=0:0 23785 SGN:SKP:MSG CMD=3,TYPE=8 23787 TSF:MSG:FPAR OK,ID=0,D=1 25092 TSM:FPAR:OK 25094 TSM:ID 25094 TSM:ID:OK 25096 TSM:UPL 25098 SGN:SKP:MSG CMD=3,TYPE=24 28579 !TSF:MSG:SEND,71-71-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=NACK:1 30586 TSM:UPL 30586 SGN:SKP:MSG CMD=3,TYPE=24 33423 !TSF:MSG:SEND,71-71-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=1,st=NACK:1 35432 TSM:UPL 35432 SGN:SKP:MSG CMD=3,TYPE=24 38531 !TSF:MSG:SEND,71-71-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=2,st=NACK:1 40538 TSM:UPL 40538 SGN:SKP:MSG CMD=3,TYPE=24 42811 !TSF:MSG:SEND,71-71-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=3,st=NACK:1 44820 !TSM:UPL:FAIL 44822 TSM:FPAR 44824 SGN:SKP:MSG CMD=3,TYPE=7 45328 TSF:MSG:SEND,71-71-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=4,st=OK:
What the Gateway reports:
Jan 9 00:34:52 nettemp mysgw: TSF:MSG:READ,71-71-255,s=255,c=3,t=7,pt=0,l=0,sg=0: Jan 9 00:34:52 nettemp mysgw: TSF:MSG:BC Jan 9 00:34:52 nettemp mysgw: TSF:MSG:FPAR REQ,ID=71 Jan 9 00:34:52 nettemp mysgw: TSF:PNG:SEND,TO=0 Jan 9 00:34:52 nettemp mysgw: TSF:CKU:OK Jan 9 00:34:52 nettemp mysgw: TSF:MSG:GWL OK Jan 9 00:34:53 nettemp mysgw: TSF:MSG:SEND,0-0-71-71,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0 Jan 9 00:35:15 nettemp mysgw: TSF:MSG:READ,71-71-255,s=255,c=3,t=7,pt=0,l=0,sg=0: Jan 9 00:35:15 nettemp mysgw: TSF:MSG:BC Jan 9 00:35:15 nettemp mysgw: TSF:MSG:FPAR REQ,ID=71 Jan 9 00:35:15 nettemp mysgw: TSF:PNG:SEND,TO=0 Jan 9 00:35:15 nettemp mysgw: TSF:CKU:OK Jan 9 00:35:15 nettemp mysgw: TSF:MSG:GWL OK Jan 9 00:35:15 nettemp mysgw: TSF:MSG:SEND,0-0-71-71,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
My Radio configuration:
#define MY_RADIO_RFM69 #define MY_RFM69_FREQUENCY RFM69_433MHZ #define MY_RFM69_NEW_DRIVER #define MY_IS_RFM69HW #define MY_RFM69_ENABLE_ENCRYPTION #define RF69_IRQ_PIN 3 #define MY_RF69_IRQ_NUM 1
My signing configuration:
#define MY_SIGNING_ATSHA204 #define MY_SIGNING_ATSHA204_PIN 8 #define MY_SIGNING_REQUEST_SIGNATURES #define MY_DEBUG_VERBOSE_SIGNING
My whole code:
/** * The MySensors Arduino library handles the wireless radio link and protocol * between your home built sensors/actuators and HA controller of choice. * The sensors forms a self healing radio network with optional repeaters. Each * repeater and gateway builds a routing tables in EEPROM which keeps track of the * network topology allowing messages to be routed to nodes. * * Created by Henrik Ekblad <henrik.ekblad@mysensors.org> * Copyright (C) 2013-2015 Sensnology AB * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors * * Documentation: http://www.mysensors.org * Support Forum: http://forum.mysensors.org * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * version 2 as published by the Free Software Foundation. * ******************************* /* MINICORE DEFINITIONS * * BOARD: ATMEGA328P * Bootloader: YES * Variant: 328P / 328PA * BOD:2.7V * Clock: 8Mhz Internal * Compiler LTO: Disabled * */ //#define RELAY #define PIR #ifdef RELAY #define RELAY_PIN_1 A0 // Arduino Digital I/O pin number for relay #define RELAY_PIN_2 A1 #define RELAY_PIN_3 A2 #define RELAY_PIN_4 A3 #define CHILD_ID_RELAY_1 10 // Id of the sensor child for 1st relay #define CHILD_ID_RELAY_2 11 // Id of the sensor child for 2nd relay #define CHILD_ID_RELAY_3 12 // Id of the sensor child for 3rd relay #define CHILD_ID_RELAY_4 13 // Id of the sensor child for 4th relay // Relay status #define RELAY_ON 1 #define RELAY_OFF 0 bool state1; bool state2; bool state3; bool state4; #endif #ifdef PIR #define PIR_PIN_1 7 // Arduino digital input pin for PIR #define PIR_PIN_2 6 // Arduino digital input pin for PIR #define PIR_PIN_3 5 // Arduino digital input pin for PIR #define CHILD_ID_PIR_1 30 // Id of the sensor child for 1st PIR #define CHILD_ID_PIR_2 31 // Id of the sensor child for 2nd PIR #define CHILD_ID_PIR_3 32 // Id of the sensor child for 3rd PIR #endif // Enable debug prints #define MY_DEBUG // Source of state change (used when printing debug information) #define CHANGE_STATE_SOURCE_RADIO 0 #define CHANGE_STATE_SOURCE_SWITCH 1 //HW SIGNING #define MY_SIGNING_ATSHA204 #define MY_SIGNING_ATSHA204_PIN 8 #define MY_SIGNING_REQUEST_SIGNATURES // will inform the gateway that I expect it to sign all messages to me #define MY_DEBUG_VERBOSE_SIGNING // Enable and select radio type attached #define MY_RADIO_RFM69 // Define for using RFM69 radio #define MY_RFM69_FREQUENCY RFM69_433MHZ #define MY_RFM69_NEW_DRIVER #define MY_IS_RFM69HW // Mandatory if you radio module is the high power version (RFM69HW and RFM69HCW), Comment it if it's not the case #define MY_RFM69_ENABLE_ENCRYPTION //#define MY_RFM69_NETWORKID 100 // Default is 100 in lib. Uncomment it and set your preferred network id if needed #define RF69_IRQ_PIN 3 // Default in lib is using D2 for common Atmel 328p (mini pro, nano, uno etc.). Uncomment it and set the pin you're using. Note for Atmel 328p, Mysensors, and regarding Arduino core implementation D2 or D3 are only available. But for advanced mcus like Atmel SAMD (Arduino Zero etc.), Esp8266 you will need to set this define for the corresponding pin used for IRQ #define MY_RF69_IRQ_NUM 1 // Temporary define (will be removed in next radio driver revision). Needed if you want to change the IRQ pin your radio is connected. So, if your radio is connected to D3/INT1, value is 1 (INT1). For others mcu like Atmel SAMD, Esp8266, value is simply the same as your RF69_IRQ_PIN //#define MY_RF69_SPI_CS 15 // If using a different CS pin for the SPI bus. Use MY_RFM69_CS_PIN for the development branch. //#define MY_REPEATER_FEATURE #define MY_NODE_ID 71 #include <MySensors.h> #ifdef RELAY MyMessage msg_relay1(CHILD_ID_RELAY_1, V_LIGHT); // relay1 MyMessage msg_relay2(CHILD_ID_RELAY_2, V_LIGHT); // relay2 MyMessage msg_relay3(CHILD_ID_RELAY_3, V_LIGHT); // relay3 MyMessage msg_relay4(CHILD_ID_RELAY_4, V_LIGHT); // relay4 #endif void setRelayState(byte relayPin, bool value); #ifdef PIR MyMessage msg_pir1(CHILD_ID_PIR_1,V_TRIPPED); // PIR1 MyMessage msg_pir2(CHILD_ID_PIR_2,V_TRIPPED); // PIR2 MyMessage msg_pir3(CHILD_ID_PIR_3,V_TRIPPED); // PIR3 #endif void setup() { #ifdef MY_DEBUG Serial.println("Starting setup **************"); #endif #ifdef RELAY pinMode(RELAY_PIN_1, OUTPUT); // sets the RELAY pin as output pinMode(RELAY_PIN_2, OUTPUT); // sets the RELAY pin as output pinMode(RELAY_PIN_3, OUTPUT); // sets the RELAY pin as output pinMode(RELAY_PIN_4, OUTPUT); // sets the RELAY pin as output digitalWrite(RELAY_PIN_1, RELAY_OFF); digitalWrite(RELAY_PIN_2, RELAY_OFF); digitalWrite(RELAY_PIN_3, RELAY_OFF); digitalWrite(RELAY_PIN_4, RELAY_OFF); // Set relay to last known state (using eeprom storage) state1 = loadState(CHILD_ID_RELAY_1); setRelayState(RELAY_PIN_1, state1); state2 = loadState(CHILD_ID_RELAY_2); setRelayState(RELAY_PIN_2, state2); state3 = loadState(CHILD_ID_RELAY_3); setRelayState(RELAY_PIN_3, state3); state4 = loadState(CHILD_ID_RELAY_4); setRelayState(RELAY_PIN_4, state4); #endif #ifdef PIR pinMode(PIR_PIN_1, INPUT); // sets the PIR pin as input pinMode(PIR_PIN_2, INPUT); // sets the PIR pin as input pinMode(PIR_PIN_3, INPUT); // sets the PIR pin as input #endif #ifdef MY_DEBUG Serial.println("finished setup **************"); #endif } void presentation() { #ifdef MY_DEBUG Serial.println("Starting presentation **************"); #endif // Send the sketch version information to the gateway and Controller sendSketchInfo("SOTAO_NODE", "1.0"); // Register all sensors to gw (they will be created as child devices) #ifdef RELAY present(CHILD_ID_RELAY_1, S_LIGHT, "Relay_1", true); present(CHILD_ID_RELAY_2, S_LIGHT, "Relay_2", true); present(CHILD_ID_RELAY_3, S_LIGHT, "Relay_3", true); present(CHILD_ID_RELAY_4, S_LIGHT, "Relay_4", true); #endif #ifdef PIR present(CHILD_ID_PIR_1, S_MOTION, "TEXT_A", true); // CHILD ID = and forcing ack for this node's messages present(CHILD_ID_PIR_2, S_MOTION, "TEXT_B", true); // CHILD ID = and forcing ack for this node's messages present(CHILD_ID_PIR_3, S_MOTION, "TEXT_C", true); // CHILD ID = and forcing ack for this node's messages #endif #ifdef MY_DEBUG Serial.println("finished presentation **************"); #endif } void loop() { #ifdef PIR // Read digital motion value from PIRs bool tripped1 = digitalRead(PIR_PIN_1) == HIGH; #ifdef MY_DEBUG Serial.println(tripped1); #endif send(msg_pir1.set(tripped1?"1":"0")); // Send tripped value to gw bool tripped2 = digitalRead(PIR_PIN_2) == HIGH; #ifdef MY_DEBUG Serial.println(tripped2); #endif send(msg_pir2.set(tripped2?"1":"0")); // Send tripped value to gw bool tripped3 = digitalRead(PIR_PIN_3) == HIGH; #ifdef MY_DEBUG Serial.println(tripped3); #endif send(msg_pir3.set(tripped3?"1":"0")); // Send tripped value to gw #endif } #ifdef RELAY void receive(const MyMessage &message) { if (message.type == V_STATUS) { switch (message.sensor) { case CHILD_ID_RELAY_1: state1 = message.getBool(); // Change relay state setRelayState(RELAY_PIN_1, state1); saveState(CHILD_ID_RELAY_1, state1); // Store state in eeprom // Write some debug info printStateChangedDebug(CHANGE_STATE_SOURCE_RADIO, CHILD_ID_RELAY_1, state1); break; case CHILD_ID_RELAY_2: state2 = message.getBool(); setRelayState(RELAY_PIN_2, state2); saveState(CHILD_ID_RELAY_2, state2); // Store state in eeprom // Write some debug info printStateChangedDebug(CHANGE_STATE_SOURCE_RADIO, CHILD_ID_RELAY_2, state2); break; case CHILD_ID_RELAY_3: state3 = message.getBool(); setRelayState(RELAY_PIN_3, state3); saveState(CHILD_ID_RELAY_3, state3); // Store state in eeprom // Write some debug info printStateChangedDebug(CHANGE_STATE_SOURCE_RADIO, CHILD_ID_RELAY_3, state3); break; case CHILD_ID_RELAY_4: state4 = message.getBool(); setRelayState(RELAY_PIN_4, state4); saveState(CHILD_ID_RELAY_4, state4); // Store state in eeprom // Write some debug info printStateChangedDebug(CHANGE_STATE_SOURCE_RADIO, CHILD_ID_RELAY_4, state4); break; } } } // Set status of a relay pin void setRelayState(byte relayPin, bool value) { digitalWrite(relayPin, value ? RELAY_ON : RELAY_OFF); } #endif // Print debug info, centralized in one place to minimize memory usage and have only one #ifdef MY_DEBUG for all state change messages void printStateChangedDebug(int source, int sensorID, bool value) { #ifdef MY_DEBUG Serial.print(F("Sensor value changed, source=")); Serial.print(source == CHANGE_STATE_SOURCE_RADIO ? F("Radio") : F("Physical switch")); Serial.print(F(", Sensor=")); Serial.print(sensorID); Serial.print(F(", New status: ")); Serial.println(value); #endif }
-
Doing further investigation, still no sucess....
Got the logs from the working node, based on Sensebender and everything seems fine.
Changed the radios, still the same problem.
Took the basic relay example from my sensors and just added my radio/signing stuff: Still the same problem. The code doesn't even reach setup() function, so it must be something on the MySensors initialization, but if that was the case, why does it work fine with the Sensebender micro?Any idea?
How common is it in mysensors community to have RFM69's with HW signing and encryption?
__ __ ____ | \/ |_ _/ ___| ___ _ __ ___ ___ _ __ ___ | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __| | | | | |_| |___| | __/ | | \__ \ _ | | \__ \ |_| |_|\__, |____/ \___|_| |_|___/\___/|_| |___/ |___/ 2.3.1 16 MCO:BGN:INIT NODE,CP=RPNNAA-X,REL=255,VER=2.3.1 67 TSM:INIT 69 TSF:WUR:MS=0 71 TSM:INIT:TSP OK 73 TSM:INIT:STATID=50 75 TSF:SID:OK,ID=50 77 TSM:FPAR 88 TSF:MSG:SEND,50-50-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK: 1017 TSF:MSG:READ,0-0-50,s=255,c=3,t=8,pt=1,l=1,sg=1:0 1024 TSF:MSG:FPAR OK,ID=0,D=1 2097 TSM:FPAR:OK 2097 TSM:ID 2099 TSM:ID:OK 2101 TSM:UPL 2119 TSF:MSG:SEND,50-50-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=OK:1 2340 TSF:MSG:READ,0-0-50,s=255,c=3,t=25,pt=1,l=1,sg=1:1 2347 TSF:MSG:PONG RECV,HP=1 2351 TSM:UPL:OK 2353 TSM:READY:ID=50,PAR=0,DIS=1 2367 TSF:MSG:SEND,50-50-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0101 2580 TSF:MSG:READ,0-0-50,s=255,c=3,t=15,pt=6,l=2,sg=0:0101 2607 TSF:MSG:SEND,50-50-0-0,s=255,c=3,t=16,pt=0,l=0,sg=0,ft=0,st=OK: 2824 TSF:MSG:READ,0-0-50,s=255,c=3,t=17,pt=6,l=25,sg=0:<NONCE> 2955 TSF:MSG:SEND,50-50-0-0,s=255,c=0,t=17,pt=0,l=5,sg=1,ft=0,st=OK:2.3.1 2981 TSF:MSG:SEND,50-50-0-0,s=255,c=3,t=16,pt=0,l=0,sg=1,ft=0,st=OK: 3198 TSF:MSG:READ,0-0-50,s=255,c=3,t=17,pt=6,l=25,sg=1:<NONCE> 3342 TSF:MSG:SEND,50-50-0-0,s=255,c=3,t=6,pt=1,l=1,sg=1,ft=0,st=OK:0 3379 TSF:MSG:READ,0-0-50,s=255,c=3,t=16,pt=0,l=0,sg=1: 3684 TSF:MSG:SEND,50-50-0-0,s=255,c=3,t=17,pt=6,l=25,sg=1,ft=0,st=OK:<NONCE> 3713 TSF:MSG:READ,0-0-50,s=255,c=3,t=6,pt=0,l=1,sg=1:M 3862 TSF:MSG:SEND,50-50-0-0,s=255,c=3,t=16,pt=0,l=0,sg=1,ft=0,st=OK: 4098 TSF:MSG:READ,0-0-50,s=255,c=3,t=17,pt=6,l=25,sg=1:<NONCE> 4732 TSF:MSG:SEND,50-50-0-0,s=255,c=3,t=11,pt=0,l=13,sg=1,ft=0,st=OK:SENSOR JANELA 5261 TSF:MSG:SEND,50-50-0-0,s=255,c=3,t=16,pt=0,l=0,sg=1,ft=0,st=OK: 5543 TSF:MSG:READ,0-0-50,s=255,c=3,t=17,pt=6,l=25,sg=1:<NONCE> 6543 TSF:MSG:SEND,50-50-0-0,s=255,c=3,t=12,pt=0,l=9,sg=1,ft=0,st=OK:JS 2018V1 6774 TSF:MSG:SEND,50-50-0-0,s=20,c=3,t=16,pt=0,l=0,sg=1,ft=0,st=OK: 7067 TSF:MSG:READ,0-0-50,s=255,c=3,t=17,pt=6,l=25,sg=1:<NONCE> 7241 TSF:MSG:SEND,50-50-0-0,s=20,c=0,t=6,pt=0,l=0,sg=1,ft=0,st=OK: 7411 TSF:MSG:SEND,50-50-0-0,s=40,c=3,t=16,pt=0,l=0,sg=1,ft=0,st=OK: 7696 TSF:MSG:READ,0-0-50,s=255,c=3,t=17,pt=6,l=25,sg=1:<NONCE> 8173 TSF:MSG:SEND,50-50-0-0,s=40,c=0,t=7,pt=0,l=0,sg=1,ft=0,st=OK: 8701 TSF:MSG:SEND,50-50-0-0,s=199,c=3,t=16,pt=0,l=0,sg=1,ft=0,st=OK: 9357 TSF:MSG:READ,0-0-50,s=255,c=3,t=17,pt=6,l=25,sg=1:<NONCE> 9549 TSF:MSG:SEND,50-50-0-0,s=199,c=0,t=13,pt=0,l=0,sg=1,ft=0,st=OK: 9617 TSF:MSG:SEND,50-50-0-0,s=30,c=3,t=16,pt=0,l=0,sg=1,ft=0,st=OK: 10022 TSF:MSG:READ,0-0-50,s=255,c=3,t=17,pt=6,l=25,sg=1:<NONCE> 10180 TSF:MSG:SEND,50-50-0-0,s=30,c=0,t=0,pt=0,l=8,sg=1,ft=0,st=OK:Persiana 10188 MCO:REG:REQ 11352 TSF:MSG:SEND,50-50-0-0,s=255,c=3,t=26,pt=1,l=1,sg=1,ft=0,st=OK:2 11737 TSF:MSG:READ,0-0-50,s=255,c=3,t=16,pt=0,l=0,sg=1: 12355 TSF:MSG:SEND,50-50-0-0,s=255,c=3,t=17,pt=6,l=25,sg=1,ft=0,st=OK:<NONCE> 12548 TSF:MSG:READ,0-0-50,s=255,c=3,t=27,pt=1,l=1,sg=1:1 12668 MCO:PIM:NODE REG=1 12670 MCO:BGN:STP isMetric: 1 TempDiff :122.35 HumDiff :150.00 T: 22.35 H: 50 13742 TSF:MSG:SEND,50-50-0-0,s=20,c=3,t=16,pt=0,l=0,sg=1,ft=0,st=OK: 14575 TSF:MSG:READ,0-0-50,s=255,c=3,t=17,pt=6,l=25,sg=1:<NONCE> 14753 TSF:MSG:SEND,50-50-0-0,s=20,c=1,t=0,pt=7,l=5,sg=1,ft=0,st=OK:22.4 14862 TSF:MSG:SEND,50-50-0-0,s=40,c=3,t=16,pt=0,l=0,sg=1,ft=0,st=OK: 15097 TSF:MSG:READ,0-0-50,s=255,c=3,t=17,pt=6,l=25,sg=1:<NONCE> 15362 TSF:MSG:SEND,50-50-0-0,s=40,c=1,t=1,pt=2,l=2,sg=1,ft=0,st=OK:50 TempDiff :0.04 HumDiff :0.50 T: 22.39 H: 51 15511 TSF:MSG:SEND,50-50-0-0,s=20,c=3,t=16,pt=0,l=0,sg=1,ft=0,st=OK: 15804 TSF:MSG:READ,0-0-50,s=255,c=3,t=17,pt=6,l=25,sg=1:<NONCE> 16123 TSF:MSG:SEND,50-50-0-0,s=20,c=1,t=0,pt=7,l=5,sg=1,ft=0,st=OK:22.4 16150 TSF:MSG:SEND,50-50-0-0,s=40,c=3,t=16,pt=0,l=0,sg=1,ft=0,st=OK: 16467 TSF:MSG:READ,0-0-50,s=255,c=3,t=17,pt=6,l=25,sg=1:<NONCE> 16703 TSF:MSG:SEND,50-50-0-0,s=40,c=1,t=1,pt=2,l=2,sg=1,ft=0,st=OK:51 16748 TSF:MSG:SEND,50-50-0-0,s=199,c=3,t=16,pt=0,l=0,sg=1,ft=0,st=OK: 17057 TSF:MSG:READ,0-0-50,s=255,c=3,t=17,pt=6,l=25,sg=1:<NONCE> 17188 TSF:MSG:SEND,50-50-0-0,s=199,c=1,t=38,pt=7,l=5,sg=1,ft=0,st=OK:3.349 17246 TSF:MSG:SEND,50-50-0-0,s=255,c=3,t=16,pt=0,l=0,sg=1,ft=0,st=OK: 17465 TSF:MSG:READ,0-0-50,s=255,c=3,t=17,pt=6,l=25,sg=1:<NONCE> 17772 TSF:MSG:SEND,50-50-0-0,s=255,c=3,t=0,pt=1,l=1,sg=1,ft=0,st=OK:103 17780 MCO:BGN:INIT OK,TSP=1 LOOP 17840 TSF:MSG:SEND,50-50-0-0,s=30,c=3,t=16,pt=0,l=0,sg=1,ft=0,st=OK: 18063 TSF:MSG:READ,0-0-50,s=255,c=3,t=17,pt=6,l=25,sg=1:<NONCE> 18333 TSF:MSG:SEND,50-50-0-0,s=30,c=1,t=16,pt=2,l=2,sg=1,ft=0,st=OK:1 TempDiff :0.06 HumDiff :0.00 18360 MCO:SLP:MS=60000,SMS=0,I1=1,M1=1,I2=255,M2=255 18366 TSF:TDI:TSL 18370 MCO:SLP:WUP=-1 18372 TSF:TRI:TSB LOOP TempDiff :0.72 HumDiff :0.50 T: 21.67 H: 52 18452 TSF:MSG:SEND,50-50-0-0,s=20,c=3,t=16,pt=0,l=0,sg=1,ft=0,st=OK: 18716 TSF:MSG:READ,0-0-50,s=255,c=3,t=17,pt=6,l=25,sg=1:<NONCE> 18962 TSF:MSG:SEND,50-50-0-0,s=20,c=1,t=0,pt=7,l=5,sg=1,ft=0,st=OK:21.7 19048 TSF:MSG:SEND,50-50-0-0,s=40,c=3,t=16,pt=0,l=0,sg=1,ft=0,st=OK: 19286 TSF:MSG:READ,0-0-50,s=255,c=3,t=17,pt=6,l=25,sg=1:<NONCE> 19542 TSF:MSG:SEND,50-50-0-0,s=40,c=1,t=1,pt=2,l=2,sg=1,ft=0,st=OK:52 19550 MCO:SLP:MS=60000,SMS=0,I1=1,M1=1,I2=255,M2=255 19556 TSF:TDI:TSL
Gateway:
Jan 9 22:34:50 nettemp mysgw: TSF:MSG:READ,50-50-255,s=255,c=3,t=7,pt=0,l=0,sg=0: Jan 9 22:34:50 nettemp mysgw: TSF:MSG:BC Jan 9 22:34:50 nettemp mysgw: TSF:MSG:FPAR REQ,ID=50 Jan 9 22:34:50 nettemp mysgw: TSF:PNG:SEND,TO=0 Jan 9 22:34:50 nettemp mysgw: TSF:CKU:OK Jan 9 22:34:50 nettemp mysgw: TSF:MSG:GWL OK Jan 9 22:34:51 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=8,pt=1,l=1,sg=1,ft=0,st=OK:0 Jan 9 22:34:52 nettemp mysgw: TSF:MSG:READ,50-50-0,s=255,c=3,t=24,pt=1,l=1,sg=0:1 Jan 9 22:34:53 nettemp mysgw: TSF:MSG:PINGED,ID=50,HP=1 Jan 9 22:34:53 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=25,pt=1,l=1,sg=1,ft=0,st=OK:1 Jan 9 22:34:53 nettemp mysgw: TSF:MSG:READ,50-50-0,s=255,c=3,t=15,pt=6,l=2,sg=0:0101 Jan 9 22:34:53 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0101 Jan 9 22:34:53 nettemp mysgw: TSF:MSG:READ,50-50-0,s=255,c=3,t=16,pt=0,l=0,sg=0: Jan 9 22:34:53 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=17,pt=6,l=25,sg=0,ft=0,st=OK:<NONCE> Jan 9 22:34:53 nettemp mysgw: TSF:MSG:READ,50-50-0,s=255,c=0,t=17,pt=0,l=5,sg=1:2.3.1 Jan 9 22:34:53 nettemp mysgw: TSF:MSG:READ,50-50-0,s=255,c=3,t=16,pt=0,l=0,sg=1: Jan 9 22:34:54 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=17,pt=6,l=25,sg=1,ft=0,st=OK:<NONCE> Jan 9 22:34:54 nettemp mysgw: TSF:MSG:READ,50-50-0,s=255,c=3,t=6,pt=1,l=1,sg=1:0 Jan 9 22:34:54 nettemp mysgw: GWT:RFC:C=0,MSG=50;255;3;0;6;M Jan 9 22:34:54 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=16,pt=0,l=0,sg=1,ft=0,st=OK: Jan 9 22:34:54 nettemp mysgw: GWT:RFC:C=0,MSG= Jan 9 22:34:54 nettemp mysgw: TSF:MSG:READ,50-50-0,s=255,c=3,t=17,pt=6,l=25,sg=1:<NONCE> Jan 9 22:34:54 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=6,pt=0,l=1,sg=1,ft=0,st=OK:M Jan 9 22:34:54 nettemp mysgw: TSF:MSG:READ,50-50-0,s=255,c=3,t=16,pt=0,l=0,sg=1: Jan 9 22:34:55 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=17,pt=6,l=25,sg=1,ft=0,st=OK:<NONCE> Jan 9 22:34:55 nettemp mysgw: TSF:MSG:READ,50-50-0,s=255,c=3,t=11,pt=0,l=13,sg=1:SENSOR JANELA Jan 9 22:34:56 nettemp mysgw: TSF:MSG:READ,50-50-0,s=255,c=3,t=16,pt=0,l=0,sg=1: Jan 9 22:34:56 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=17,pt=6,l=25,sg=1,ft=0,st=OK:<NONCE> Jan 9 22:34:57 nettemp mysgw: TSF:MSG:READ,50-50-0,s=255,c=3,t=12,pt=0,l=9,sg=1:JS 2018V1 Jan 9 22:34:57 nettemp mysgw: TSF:MSG:READ,50-50-0,s=255,c=3,t=12,pt=0,l=9,sg=1:JS 2018V1 Jan 9 22:34:57 nettemp mysgw: !TSF:MSG:SIGN VERIFY FAIL Jan 9 22:34:57 nettemp mysgw: TSF:MSG:READ,50-50-0,s=20,c=3,t=16,pt=0,l=0,sg=1: Jan 9 22:34:58 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=17,pt=6,l=25,sg=1,ft=0,st=OK:<NONCE> Jan 9 22:34:58 nettemp mysgw: TSF:MSG:READ,50-50-0,s=20,c=0,t=6,pt=0,l=0,sg=1: Jan 9 22:34:58 nettemp mysgw: TSF:MSG:READ,50-50-0,s=40,c=3,t=16,pt=0,l=0,sg=1: Jan 9 22:34:58 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=17,pt=6,l=25,sg=1,ft=0,st=OK:<NONCE> Jan 9 22:34:59 nettemp mysgw: TSF:MSG:READ,50-50-0,s=40,c=0,t=7,pt=0,l=0,sg=1: Jan 9 22:34:59 nettemp mysgw: TSF:MSG:READ,50-50-0,s=199,c=3,t=16,pt=0,l=0,sg=1: Jan 9 22:35:00 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=17,pt=6,l=25,sg=1,ft=0,st=OK:<NONCE> Jan 9 22:35:00 nettemp mysgw: TSF:MSG:READ,50-50-0,s=199,c=0,t=13,pt=0,l=0,sg=1: Jan 9 22:35:00 nettemp mysgw: TSF:MSG:READ,50-50-0,s=30,c=3,t=16,pt=0,l=0,sg=1: Jan 9 22:35:01 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=17,pt=6,l=25,sg=1,ft=0,st=OK:<NONCE> Jan 9 22:35:01 nettemp mysgw: TSF:MSG:READ,50-50-0,s=30,c=0,t=0,pt=0,l=8,sg=1:Persiana Jan 9 22:35:01 nettemp mysgw: TSF:MSG:ACK REQ Jan 9 22:35:02 nettemp mysgw: !TSF:MSG:SEND,0-0-50-50,s=30,c=0,t=0,pt=0,l=8,sg=0,ft=0,st=NACK:Persiana Jan 9 22:35:02 nettemp mysgw: TSF:MSG:READ,50-50-0,s=255,c=3,t=26,pt=1,l=1,sg=1:2 Jan 9 22:35:02 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=16,pt=0,l=0,sg=1,ft=0,st=OK: Jan 9 22:35:03 nettemp mysgw: TSF:MSG:READ,50-50-0,s=255,c=3,t=17,pt=6,l=25,sg=1:<NONCE> Jan 9 22:35:03 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=27,pt=1,l=1,sg=1,ft=0,st=OK:1 Jan 9 22:35:04 nettemp mysgw: TSF:MSG:READ,50-50-0,s=20,c=3,t=16,pt=0,l=0,sg=1: Jan 9 22:35:05 nettemp mysgw: !TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=17,pt=6,l=25,sg=1,ft=0,st=NACK:<NONCE> Jan 9 22:35:05 nettemp mysgw: TSF:MSG:READ,50-50-0,s=20,c=3,t=16,pt=0,l=0,sg=1: Jan 9 22:35:05 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=17,pt=6,l=25,sg=1,ft=0,st=OK:<NONCE> Jan 9 22:35:06 nettemp mysgw: TSF:MSG:READ,50-50-0,s=20,c=1,t=0,pt=7,l=5,sg=1:22.4 Jan 9 22:35:06 nettemp mysgw: TSF:MSG:READ,50-50-0,s=40,c=3,t=16,pt=0,l=0,sg=1: Jan 9 22:35:06 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=17,pt=6,l=25,sg=1,ft=0,st=OK:<NONCE> Jan 9 22:35:06 nettemp mysgw: TSF:MSG:READ,50-50-0,s=40,c=1,t=1,pt=2,l=2,sg=1:50 Jan 9 22:35:06 nettemp mysgw: TSF:MSG:READ,50-50-0,s=20,c=3,t=16,pt=0,l=0,sg=1: Jan 9 22:35:07 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=17,pt=6,l=25,sg=1,ft=0,st=OK:<NONCE> Jan 9 22:35:07 nettemp mysgw: TSF:MSG:READ,50-50-0,s=20,c=1,t=0,pt=7,l=5,sg=1:22.4 Jan 9 22:35:07 nettemp mysgw: TSF:MSG:READ,50-50-0,s=40,c=3,t=16,pt=0,l=0,sg=1: Jan 9 22:35:07 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=17,pt=6,l=25,sg=1,ft=0,st=OK:<NONCE> Jan 9 22:35:08 nettemp mysgw: TSF:MSG:READ,50-50-0,s=40,c=1,t=1,pt=2,l=2,sg=1:51 Jan 9 22:35:08 nettemp mysgw: TSF:MSG:READ,50-50-0,s=199,c=3,t=16,pt=0,l=0,sg=1: Jan 9 22:35:08 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=17,pt=6,l=25,sg=1,ft=0,st=OK:<NONCE> Jan 9 22:35:08 nettemp mysgw: TSF:MSG:READ,50-50-0,s=199,c=1,t=38,pt=7,l=5,sg=1:3.349 Jan 9 22:35:08 nettemp mysgw: TSF:MSG:READ,50-50-0,s=255,c=3,t=16,pt=0,l=0,sg=1: Jan 9 22:35:08 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=17,pt=6,l=25,sg=1,ft=0,st=OK:<NONCE> Jan 9 22:35:09 nettemp mysgw: TSF:MSG:READ,50-50-0,s=255,c=3,t=0,pt=1,l=1,sg=1:103 Jan 9 22:35:09 nettemp mysgw: TSF:MSG:READ,50-50-0,s=30,c=3,t=16,pt=0,l=0,sg=1: Jan 9 22:35:09 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=17,pt=6,l=25,sg=1,ft=0,st=OK:<NONCE> Jan 9 22:35:09 nettemp mysgw: TSF:MSG:READ,50-50-0,s=30,c=1,t=16,pt=2,l=2,sg=1:1 Jan 9 22:36:09 nettemp mysgw: TSF:MSG:READ,50-50-0,s=20,c=3,t=16,pt=0,l=0,sg=1: Jan 9 22:36:09 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=17,pt=6,l=25,sg=1,ft=0,st=OK:<NONCE> Jan 9 22:36:09 nettemp mysgw: TSF:MSG:READ,50-50-0,s=20,c=1,t=0,pt=7,l=5,sg=1:21.7 Jan 9 22:36:10 nettemp mysgw: TSF:MSG:READ,50-50-0,s=40,c=3,t=16,pt=0,l=0,sg=1: Jan 9 22:36:10 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=17,pt=6,l=25,sg=1,ft=0,st=OK:<NONCE> Jan 9 22:36:10 nettemp mysgw: TSF:MSG:READ,50-50-0,s=40,c=1,t=1,pt=2,l=2,sg=1:52 Jan 9 22:36:28 nettemp mysgw: TSM:READY:NWD REQ Jan 9 22:36:28 nettemp mysgw: TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=20,pt=0,l=0,sg=0,ft=0,st=OK: Jan 9 22:37:10 nettemp mysgw: TSF:MSG:READ,50-50-0,s=20,c=3,t=16,pt=0,l=0,sg=1: Jan 9 22:37:10 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=17,pt=6,l=25,sg=1,ft=0,st=OK:<NONCE> Jan 9 22:37:10 nettemp mysgw: TSF:MSG:READ,50-50-0,s=20,c=1,t=0,pt=7,l=5,sg=1:21.2 Jan 9 22:37:10 nettemp mysgw: TSF:MSG:READ,50-50-0,s=40,c=3,t=16,pt=0,l=0,sg=1: Jan 9 22:37:10 nettemp mysgw: TSF:MSG:SEND,0-0-50-50,s=255,c=3,t=17,pt=6,l=25,sg=1,ft=0,st=OK:<NONCE> Jan 9 22:37:10 nettemp mysgw: TSF:MSG:READ,50-50-0,s=40,c=1,t=1,pt=2,l=2,sg=1:54