Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 8,844
» Latest member: Techvault
» Forum threads: 3,873
» Forum posts: 19,765

Full Statistics

Online Users
There are currently 40 online users.
» 0 Member(s) | 17 Guest(s)
AhrefsBot, Amazonbot, Applebot, Bing, Bytespider, Crawl, Google, PetalBot, Semrush, bot

Latest Threads
N60 wire case diagram for...
Forum: N60
Last Post: admin
1 hour ago
» Replies: 0
» Views: 2
N60 wire case diagram for...
Forum: N60
Last Post: admin
1 hour ago
» Replies: 0
» Views: 2
RS485 Modbus SHT30 sensor...
Forum: "KCS" v3 firmware
Last Post: admin
5 hours ago
» Replies: 3
» Views: 34
KC868-A2v3 FILES
Forum: KC868-A2v3
Last Post: admin
Yesterday, 11:36 AM
» Replies: 1
» Views: 7
KC868-A2v3
Forum: KC868-A2
Last Post: admin
Yesterday, 11:36 AM
» Replies: 1
» Views: 10
KC868-A2v3 PCB layout CAD...
Forum: Schematic & diagram & Dimensions of KinCony PCB layout CAD file
Last Post: admin
Yesterday, 11:35 AM
» Replies: 0
» Views: 5
N30 wire case diagram for...
Forum: N30
Last Post: admin
Yesterday, 01:23 AM
» Replies: 0
» Views: 8
N30 wire case diagram for...
Forum: N30
Last Post: admin
Yesterday, 01:20 AM
» Replies: 0
» Views: 16
Incoming SMS not reported...
Forum: G1
Last Post: JCh
03-30-2026, 02:15 PM
» Replies: 5
» Views: 171
"KCS" v3.24.2 firmware BI...
Forum: "KCS" v3 firmware
Last Post: admin
03-30-2026, 12:02 AM
» Replies: 2
» Views: 254

  How to use the radio remote of Kincony ?
Posted by: vincen - 05-08-2024, 07:44 AM - Forum: Suggestions and feedback on KinCony's products - Replies (6)

Hi

I have bought months ago some little black round remotes from Kincony to use with some existing 433Mhz devices. Unhappy I need to reprogram them to use them with an other device. Unhappy the product is not listed on Kincony website and guy that answers on Aliexpress for Kincony is just dumb (sorry to say) or don't speak english at all which is very boring Sad
Does someone have the explanations to learn Radio codes into it ? I remembered it needed 2 buttont to be hold together but not sure which ones now :/

Thanks for help

incèn

Print this item

  Tuya adapter V2 arduino source code - RS485 1 phase AC Energy Meter
Posted by: admin - 05-08-2024, 07:27 AM - Forum: KC868-ATC / Tuya adapter V2 - No Replies

let your own RS485 AC energy meter work with Tuya app, so that can remote monitor meter data by Tuya app via internet.
   
   
   
   
arduino source code donwload: 
.zip   Tuya_AdapterV2_RS485_Energy_Meter.zip (Size: 2.41 KB / Downloads: 580)

Code:
#include <ModbusMaster.h>
#include <Arduino.h>
#include <TuyaWifi.h>
#include "HardwareSerial.h"
//---------RS485 setting
#define DEBUG   1

#define SERIAL_BAUD   9600
#define RX_PIN    32
#define TX_PIN    33
#define SERIAL_NUM  2
#define SLAVE_ADDR  225
//#define READ_ADDR  0
#define READ_NUM   2 

uint8_t raw_vcp_data[8] = {0};
uint16_t total_energy = 0;

uint16_t READ_ADDR = 0;
const static uint16_t addr_start_arr[6] = {
  0,100,106,118,142,144,
};
const static String emeter_name_arr[6] = {
  "Total active energy",
  "Voltage",
  "Current",
  "Active power",
  "Power factor",
  "Grid frequency",
};

typedef struct
{
  float total_active_energy;
  float voltage;
  float current;
  float active_power;
  float power_factor;
  float grid_freq;
}EMETER_STR;
typedef union
{
  EMETER_STR emeter_str;
  float emeter_arr[6];
}EMETER_UNION;

/* Current device DP values */
EMETER_UNION emeter_union = {0};

HardwareSerial My485Serial(SERIAL_NUM);
ModbusMaster node;
uint16_t rcv_buf[READ_NUM] = {0};
uint16_t conv_buf[READ_NUM] = {0};

static int16_t cnt_read = 0;

static void ReadEmeterRegs(void)
{
  uint32_t read_tmp = 0;
 
  READ_ADDR = addr_start_arr[cnt_read];
  uint8_t result = node.readHoldingRegisters(READ_ADDR, READ_NUM);
  if (result == node.ku8MBSuccess) {//if communicate successful then
       
    for (uint8_t j = 0; j < READ_NUM; j++)
    {
      rcv_buf[j] = node.getResponseBuffer(j);     
    }
    conv_buf[1] = rcv_buf[0];
    conv_buf[0] = rcv_buf[1];
    emeter_union.emeter_arr[cnt_read] = *(float*)&conv_buf[0];
    switch(cnt_read)
    {
      case 0:total_energy = emeter_union.emeter_arr[cnt_read] * 10;break;
      case 1:
        read_tmp = emeter_union.emeter_arr[cnt_read] * 10;
        raw_vcp_data[0] = (read_tmp &0xff00)>>8;
        raw_vcp_data[1] = (read_tmp &0x0ff);
        break;
      case 2:
        read_tmp = emeter_union.emeter_arr[cnt_read] * 1000;
        raw_vcp_data[2] = (read_tmp &0x0ff0000)>>16;
        raw_vcp_data[3] = (read_tmp &0x0ff00)>>8;
        raw_vcp_data[4] = read_tmp &0x0ff;
        break;
      case 3:
        read_tmp = emeter_union.emeter_arr[cnt_read] * 1000;
        raw_vcp_data[5] = (read_tmp &0x0ff0000)>>16;
        raw_vcp_data[6] = (read_tmp &0x0ff00)>>8;
        raw_vcp_data[7] = read_tmp &0x0ff;
        break;
      default:break;
    }
    #if DEBUG
    Serial1.print(emeter_name_arr[cnt_read]);
    Serial1.print(":<HEX 0x");
    Serial1.print(rcv_buf[0],HEX);
    Serial1.print(" ");
    Serial1.print(rcv_buf[1],HEX);
    Serial1.print(" FVALUE ");
    Serial1.print(emeter_union.emeter_arr[cnt_read]);
    Serial1.println("> ");
    #endif
    cnt_read++;
    if(cnt_read>=4) cnt_read = 0;
  }
  else
  {
    node.clearResponseBuffer();
  }
}

//---RS485 setting end----

TuyaWifi my_device;



/* Current LED status */
unsigned char led_state = 0;
/* Connect network button pin */
int key_pin = 25;


/* Data point define */
typedef enum
{
  DPID_TOTAL_ENERGY = 1,
  //DPID_VOLTAGE,
  //DPID_CURRENT,
  //DPID_ACTIVE_POWER,
  DPID_VCP = 6,
  //DPID_POWER_FACTOR,
  //DPID_GRID_FREQ,
}EMETER_DPID_DEF;


#define LED_WiFi  26
//#define LED_User  33



/* Stores all DPs and their types. PS: array[][0]:dpid, array[][1]:dp type.
*                                     dp type(TuyaDefs.h) : DP_TYPE_RAW, DP_TYPE_BOOL, DP_TYPE_VALUE, DP_TYPE_STRING, DP_TYPE_ENUM, DP_TYPE_BITMAP
*/
unsigned char dp_array[][2] =
{
  {DPID_TOTAL_ENERGY, DP_TYPE_VALUE},
  {DPID_VCP, DP_TYPE_RAW},
};

unsigned char pid[] = {"gl3gvyksva54unam"}; ////change pid here....
unsigned char mcu_ver[] = {"1.0.0"};

/* last time */
unsigned long last_time = 0;

void setup()
{

  My485Serial.begin(SERIAL_BAUD, SERIAL_8E1, RX_PIN, TX_PIN); //RS485 serial port
  node.begin(SLAVE_ADDR,My485Serial);
  Serial.begin(9600,SERIAL_8N1,22,19);  //Tuya module serial port
  Serial1.begin(115200,SERIAL_8N1,3,1);   //USB serial port

 
  // Serial with tuyawifi
 
 

  //Initialize led port, turn off led.
  pinMode(LED_WiFi, OUTPUT);
  digitalWrite(LED_WiFi, LOW);

/*  pinMode(LED_User, OUTPUT);
  digitalWrite(LED_User, LOW);*/

  //Initialize networking keys.
  pinMode(key_pin, INPUT_PULLUP);

  //Enter the PID and MCU software version
  my_device.init(pid, mcu_ver);
  //incoming all DPs and their types array, DP numbers
  my_device.set_dp_cmd_total(dp_array, 2);
  //register DP download processing callback function
  my_device.dp_process_func_register(dp_process);
  //register upload all DP callback function
  my_device.dp_update_all_func_register(dp_update_all);
 
  //delay(300);
  last_time = millis();
}

void loop()
{
  ReadEmeterRegs();  // read RS485 sensor
  my_device.uart_service();

  //Enter the connection network mode when Pin7 is pressed.
  if (digitalRead(key_pin) == LOW) {
    delay(80);
    if (digitalRead(key_pin) == LOW) {
      my_device.mcu_set_wifi_mode(SMART_CONFIG);
    }
  }
  /* LED blinks when network is being connected */
  if ((my_device.mcu_get_wifi_work_state() != WIFI_LOW_POWER) && (my_device.mcu_get_wifi_work_state() != WIFI_CONN_CLOUD) && (my_device.mcu_get_wifi_work_state() != WIFI_SATE_UNKNOW)) {
    if (millis()- last_time >= 500) {
      last_time = millis();

      if (led_state == LOW) {
        led_state = HIGH;
      } else {
        led_state = LOW;
      }
      digitalWrite(LED_WiFi, led_state);
    }
  }

  /* report the temperature and humidity */
  if ((my_device.mcu_get_wifi_work_state() == WIFI_CONNECTED) ||
      (my_device.mcu_get_wifi_work_state() == WIFI_CONN_CLOUD)) {
    dp_update_all();
  }

  delay(1000);
}

/**
* @description: DP download callback function.
* @param {unsigned char} dpid
* @param {const unsigned char} value
* @param {unsigned short} length
* @return {unsigned char}
*/
unsigned char dp_process(unsigned char dpid,const unsigned char value[], unsigned short length)
{
  /* all DP only report */
  return TY_SUCCESS;
}

/**
* @description: Upload all DP status of the current device.
* @param {*}
* @return {*}
*/
void dp_update_all(void)
{
  my_device.mcu_dp_update((unsigned char)DPID_TOTAL_ENERGY, total_energy, 1);
  my_device.mcu_dp_update((unsigned char)DPID_VCP, raw_vcp_data, 8);
}
   
   
   
   
   
   
   
   



Attached Files Image(s)
   
Print this item

  KC868A-4 RF433MHz decoding.
Posted by: franco.demei@gmail.com - 05-06-2024, 07:04 PM - Forum: KC868-A4 - Replies (17)

If I understood the meaning of the sample code. Once uploaded the code, opening the Serial monitoring to Arduino IDE I should see the code transmitted  from 433 MHz remote control.  I don't understand why to the monitor I don't see anything. I'm sure that the remote control and receiver module woks fine because to the receiver data pin, with a scope ,when I press one button to the remote control, I see the pulse train.
Below the Decoding sample code.

Code:
/*
  Simple example for receiving
 
  https://github.com/sui77/rc-switch/
*/

#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();

void setup() {
  Serial.begin(115200);
  mySwitch.enableReceive(0);  // Receiver on interrupt 0 => that is pin #2
}

void loop() {
  if (mySwitch.available()) {
   
    Serial.print("Received ");
    Serial.print( mySwitch.getReceivedValue() );
    Serial.print(" / ");
    Serial.print( mySwitch.getReceivedBitlength() );
    Serial.print("bit ");
    Serial.print("Protocol: ");
    Serial.println( mySwitch.getReceivedProtocol() );

    mySwitch.resetAvailable();
  }
}
 
What can I do to see to the serial monitor, the remote control codes ?

Tank You

Print this item

  output turns off automaticly
Posted by: deibar - 05-06-2024, 06:34 PM - Forum: KC868-A series and Uair Smart Controller - Replies (1)

Hello, I have two Kincony A16 boards. Im using toggle buttons, but after some time output automatically turns off, and this happens with both Kincony boards with every output, wiring is good, what can be the reason? This how the code looks like:

esphome:
  name: esphome-web-af6e50
  friendly_name: Kincony2

esp32:
  board: esp32dev
  framework:
    type: arduino

# Example configuration entry for ESP32
i2c:
  sda: 4
  scl: 5
  scan: true
  id: bus_a

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "pbLoAOpRUI49e65b0pCUrVShaclU3bM38vlGfnNQ9YY="

ota:


wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esphome-Web-Af6E50"
    password: "ajhfwy1kFdbc"

captive_portal:

# Example configuration entry
pcf8574:
  - id: 'pcf8574_output1'  # for output channel 1-8
    address: 0x24

  - id: 'pcf8574_output2'  # for output channel 9-16
    address: 0x25

  - id: 'pcf8574_input1'  # for input channel 1-8
    address: 0x22

  - id: 'pcf8574_input2'  # for input channel 9-16
    address: 0x21

esphome:
  name: esphome-web-b050e4
  friendly_name: Kincony1

esp32:
  board: esp32dev
  framework:
    type: arduino

# Example configuration entry for ESP32
i2c:
  sda: 4
  scl: 5
  scan: true
  id: bus_a

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "tBC8hXDhMHsgklwFmZerS9tVQP0p+6Qus3+OyUTj+Jo="

ota:


wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esphome-Web-B050E4"
    password: "SziFua377JQb"

captive_portal:

# Example configuration entry
pcf8574:
  - id: 'pcf8574_output1'  # for output channel 1-8
    address: 0x24

  - id: 'pcf8574_output2'  # for output channel 9-16
    address: 0x25

  - id: 'pcf8574_input1'  # for input channel 1-8
    address: 0x22

  - id: 'pcf8574_input2'  # for input channel 9-16
    address: 0x21

# Outputs
switch:
  - platform: gpio
    id: livingroom 
    name: "Living room "
    pin:
      pcf8574: pcf8574_output2
      number: 7
      mode: OUTPUT
      inverted: true

# Inputs
binary_sensor:
  - platform: gpio
    name: "Living room switch"
    pin:
      pcf8574: pcf8574_input1
      number: 0
      mode: INPUT
      inverted: true
    on_press:
      then:
        - switch.toggle: livingroom

Print this item

  Tuya adapter V2 arduino source code - RS485 temperature humidity sensor
Posted by: admin - 05-06-2024, 01:35 AM - Forum: KC868-ATC / Tuya adapter V2 - Replies (8)

let your own RS485 temperature and humidity sensor can work with Tuya app, so that can remote monitor sensor data and make AUTOMATION by Tuya app via internet.
   
         
   
arduino source code donwload: 
.zip   Tuya_AdapterV2_RS485_Temper_Hum.zip (Size: 1.98 KB / Downloads: 612)

Code:
#include <ModbusMaster.h>
#include <Arduino.h>
#include <TuyaWifi.h>
#include "HardwareSerial.h"
//---------RS485 setting
#define DEBUG   1

#define SERIAL_BAUD   9600
#define RX_PIN    32
#define TX_PIN    33
#define SERIAL_NUM  2
#define SLAVE_ADDR  1
#define READ_ADDR  0
#define READ_NUM   2 

HardwareSerial My485Serial(SERIAL_NUM);
ModbusMaster node;
uint16_t rcv_buf[READ_NUM] = {0};
float get_value[2] = {0.0};

/* Current device DP values */
int temperature = 0;
int humidity = 0;

static void ReadInputRegs(void)
{
  uint8_t result = node.readInputRegisters(READ_ADDR, READ_NUM);
  if (result == node.ku8MBSuccess) {//if communicate successful then
    #if DEBUG
    Serial1.print("Result:"); 
    #endif
   
    for (uint8_t j = 0; j < READ_NUM; j++)
    {
      rcv_buf[j] = node.getResponseBuffer(j);
      #if 0 ///just for debug.
      Serial1.print(" 0x");
      Serial1.print( rcv_buf[j], HEX );//display data in hex.
      #endif
    }
    get_value[0] = rcv_buf[0]/10;///huminity
    get_value[1] = rcv_buf[1]/10;///temperature

    temperature = rcv_buf[0];
    humidity = get_value[1];
   
    #if DEBUG
    Serial1.print("humi.<"); 
    Serial1.print(get_value[1]);
    Serial1.print("%>");
    Serial1.print(" temp.<"); 
    Serial1.print(get_value[0]);
    Serial1.println("°c>");
    #endif

    //delay(300);
  }
  else
  {
    node.clearResponseBuffer();
  }
}

//---RS485 setting end----

TuyaWifi my_device;



/* Current LED status */
unsigned char led_state = 0;
/* Connect network button pin */
int key_pin = 25;

/* Data point define */
#define DPID_TEMP_CURRENT     1
#define DPID_HUMIDITY_CURRENT 2

#define LED_WiFi  26
//#define LED_User  33



/* Stores all DPs and their types. PS: array[][0]:dpid, array[][1]:dp type.
*                                     dp type(TuyaDefs.h) : DP_TYPE_RAW, DP_TYPE_BOOL, DP_TYPE_VALUE, DP_TYPE_STRING, DP_TYPE_ENUM, DP_TYPE_BITMAP
*/
unsigned char dp_array[][2] =
{
  {DPID_TEMP_CURRENT, DP_TYPE_VALUE},
  {DPID_HUMIDITY_CURRENT, DP_TYPE_VALUE},
};

unsigned char pid[] = {"dpyditdgaadmqw8m"};
unsigned char mcu_ver[] = {"1.0.0"};

/* last time */
unsigned long last_time = 0;

void setup()
{

  My485Serial.begin(SERIAL_BAUD, SERIAL_8N1, RX_PIN, TX_PIN); //RS485 serial port
  node.begin(SLAVE_ADDR,My485Serial);
  Serial.begin(9600,SERIAL_8N1,22,19);  //Tuya module serial port
  Serial1.begin(115200,SERIAL_8N1,3,1);   //USB serial port

 
  // Serial with tuyawifi
 
 

  //Initialize led port, turn off led.
  pinMode(LED_WiFi, OUTPUT);
  digitalWrite(LED_WiFi, LOW);

/*  pinMode(LED_User, OUTPUT);
  digitalWrite(LED_User, LOW);*/

  //Initialize networking keys.
  pinMode(key_pin, INPUT_PULLUP);

  //Enter the PID and MCU software version
  my_device.init(pid, mcu_ver);
  //incoming all DPs and their types array, DP numbers
  my_device.set_dp_cmd_total(dp_array, 2);
  //register DP download processing callback function
  my_device.dp_process_func_register(dp_process);
  //register upload all DP callback function
  my_device.dp_update_all_func_register(dp_update_all);
 
  //delay(300);
  last_time = millis();
}

void loop()
{
  ReadInputRegs();  // read RS485 sensor
  my_device.uart_service();

  //Enter the connection network mode when Pin7 is pressed.
  if (digitalRead(key_pin) == LOW) {
    delay(80);
    if (digitalRead(key_pin) == LOW) {
      my_device.mcu_set_wifi_mode(SMART_CONFIG);
    }
  }
  /* LED blinks when network is being connected */
  if ((my_device.mcu_get_wifi_work_state() != WIFI_LOW_POWER) && (my_device.mcu_get_wifi_work_state() != WIFI_CONN_CLOUD) && (my_device.mcu_get_wifi_work_state() != WIFI_SATE_UNKNOW)) {
    if (millis()- last_time >= 500) {
      last_time = millis();

      if (led_state == LOW) {
        led_state = HIGH;
      } else {
        led_state = LOW;
      }
      digitalWrite(LED_WiFi, led_state);
    }
  }

  /* report the temperature and humidity */
  if ((my_device.mcu_get_wifi_work_state() == WIFI_CONNECTED) || (my_device.mcu_get_wifi_work_state() == WIFI_CONN_CLOUD)) {
    my_device.mcu_dp_update(DPID_TEMP_CURRENT, temperature, 1);
    my_device.mcu_dp_update(DPID_HUMIDITY_CURRENT, humidity, 1);
  }

  delay(1000);
}

/**
* @description: DP download callback function.
* @param {unsigned char} dpid
* @param {const unsigned char} value
* @param {unsigned short} length
* @return {unsigned char}
*/
unsigned char dp_process(unsigned char dpid,const unsigned char value[], unsigned short length)
{
  /* all DP only report */
  return TY_SUCCESS;
}

/**
* @description: Upload all DP status of the current device.
* @param {*}
* @return {*}
*/
void dp_update_all(void)
{
  my_device.mcu_dp_update(DPID_TEMP_CURRENT, temperature, 1);
  my_device.mcu_dp_update(DPID_HUMIDITY_CURRENT, humidity, 1);
}

Print this item

  KC868-A32 relay board Loxone integration
Posted by: IoP1984 - 05-04-2024, 01:08 PM - Forum: KC868-A32/A32 Pro - Replies (1)

Hi!

What is the easiest way to integrate the A32 board into the Loxone system? If there are multiple methods, what are my options?

Print this item

  COL + rs485 meter
Posted by: athxp - 05-02-2024, 08:51 PM - Forum: KC868-HxB series Smart Controller - Replies (3)

HI,
I have a Kincony RS-484 meter. I would like to use it to monitor a photovoltaic system and carry out automations with COL.
we are talking about around 6000-6500w of power and currents around 30A. will the meter have problems?
Furthermore, can I program COL using the simple IFTTT rules linked to the meter measurements?
 thanks

Print this item

  KC868-A4S Analog Inputs
Posted by: DabblerIOT - 05-02-2024, 07:36 PM - Forum: Development - Replies (2)

Hi.   Sorting out analog inputs using esp32home. Thank you for any response, board working well.

Using this right now..

- platform: adc
    pin: 36
    name: "ADC-IN1"
    update_interval: 5s
    attenuation: 11db
    filters:
      - lambda: if (x <= 0.15) { return 0; } return x * 1.51;

Several questions:
(1) I saw some example code posted to this forum where about x of 3.1 it used a higher multiplier. Why? This code is going to cause a large increase in output value at 3.111 x. Would a better approach be to read ground and vcc to the esp, and then scale your input readings according to those two readings using those values as 0 and 100% of input span? (0-3.3 after the voltage divider, or 0-5v at the input terminal).

(2) If I want to read a 10k ntc thermistor, it looks like a voltage divider, of 5.1k/10k is already there on the input... so if I power a 10k ntc thermistor with 3.3 volts, wouldn't I be essentially just adding the resistance value of my thermistor onto the 5.1k on-board resistor? (Allowing me to subtract 5.1k from the read value, and then normalizing my reading using the on-board code). My voltage isn't what I expect if this were true. (I am not an expert on the electronics side). Just enough to be dangerous.

Code was here.
https://www.kincony.com/forum/showthread...hlight=adc
sensor:
- platform: adc
pin: 36
name: "A8S A1 Voltage"
update_interval: 5s
attenuation: 11db
filters:
- lambda:
if (x >= 3.11) {
return x * 1.60256;
} else if (x <= 0.15) {
return 0;
} else {
return x * 1.51;
}

Print this item

  KC868 A4 for education
Posted by: Sidboudk - 05-01-2024, 06:33 PM - Forum: Apply for free sample product - No Replies

I'm requesting a KC868-A4 equipment for educational purpos. I'm associated professor at Evry-paris saclay university and we want to teach our students microcontroller programming and basic concepts of electricity and electronics.

Print this item

  E16T IFTTT Limit and Logs
Posted by: ByteCrusader22 - 04-30-2024, 05:08 AM - Forum: "KCS" v2 firmware system - Replies (1)

Hello, 


I'm currently running E16T using E16S KCS Firmware and linked to Tuya APP


1. Is there a limit to how many IFTTT automations can be run on E16T using KCS firmware without running into memory issues and causing instability?
2. Can IFTTT and Tuya automations be run at the same time? If so which will override the other if there are clashes.
3. ⁠Is it possible to check the memory utilisation using the KCS firmware?
4. ⁠Can the device post logs to external databases using IFTTT?

Print this item