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

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 10,419
» Latest member: 8xbetv2comm
» Forum threads: 4,322
» Forum posts: 21,300

Full Statistics

Online Users
There are currently 48 online users.
» 0 Member(s) | 28 Guest(s)
Amazonbot, AwarioBot, Baidu, DotBot, PetalBot, bot

Latest Threads
KC868-A4 – Relay 1 clicks...
Forum: KC868-A series and Uair Smart Controller
Last Post: admin
Yesterday, 11:58 PM
» Replies: 3
» Views: 26
⚡ 40 Buttons, 36 Lighting...
Forum: DIY Project
Last Post: lulu01
Yesterday, 07:34 PM
» Replies: 24
» Views: 2,956
[arduino code examples fo...
Forum: CO16
Last Post: admin
Yesterday, 03:04 AM
» Replies: 0
» Views: 7
[arduino code examples fo...
Forum: CO16
Last Post: admin
Yesterday, 01:34 AM
» Replies: 0
» Views: 12
[arduino code examples fo...
Forum: CO16
Last Post: admin
Yesterday, 12:15 AM
» Replies: 0
» Views: 15
450 Hz allowed on input?
Forum: Development
Last Post: admin
11-02-2026, 09:41 PM
» Replies: 3
» Views: 37
How Do You Handle Relay C...
Forum: KC868-A6
Last Post: lulu01
11-02-2026, 05:41 PM
» Replies: 2
» Views: 34
"KCS" v3.27.4 firmware BI...
Forum: "KCS" v3 firmware
Last Post: admin
11-02-2026, 06:02 AM
» Replies: 0
» Views: 61
how to check i2c extend c...
Forum: T16M
Last Post: admin
11-02-2026, 12:38 AM
» Replies: 0
» Views: 15
T16M ESPHome yaml for hom...
Forum: T16M
Last Post: admin
11-02-2026, 12:35 AM
» Replies: 0
» Views: 13

  KC-868-A4 0v-5v ADC no where near accurate
Posted by: Fleetz - 01-13-2025, 01:44 AM - Forum: KC868-A4 - Replies (5)

Connecting the 0-5v generator to the A3 or A4 the ADC is reporting considerably lower voltages than what is physically generated and measured using a multimeter. 

Also if program an event using IFTTT using the ADC voltage to switch a Digital output it will not trigger the event?
E.G. IF AI3 is <=2.00v THEN DO1 to On  if I reduce the voltage to AI3 to less than 2.00v or even drop it down to zero volts DI1 output does not change state.

           

Print this item

  Free samples
Posted by: Rineander - 01-12-2025, 05:23 PM - Forum: Apply for free sample product - No Replies

Hello, I’m very interested in trying your products and start using them as part of my home automation system based on home assistant. Since I prefer to use esphome to build my own sensors and stuff, integrating some of your products will take it to the next level. Making my system more efficient and more professional so I can start helping others by making step by step tutorial’s and reviews

Print this item

Question Firmware A16ESP32
Posted by: jltluc57 - 01-11-2025, 05:59 PM - Forum: KC868-A16 - Replies (3)

Hello everyone,
Sorry for my English, I'm French...

I just bought an A16 and I can't see it on the wired or Wifi network.
I try to update the firmware without result. here is what I have



   
   

can you help me please

I'm starting with this product.

Thanks in advance

Print this item

  Trigger LED on Wall Switch Panel
Posted by: petermac - 01-11-2025, 12:50 PM - Forum: F16 - Replies (5)

With the F16, without having digital out ports, is there any way to trigger the LED light on/off on wall switch panel?

Print this item

  KC868_A24 FIRMWARE
Posted by: davidecioi - 01-10-2025, 08:57 PM - Forum: KinCony A24 - Replies (5)

HI EVERYONE, I'M LOOKING FOR THE LATEST FIRMWARE FOR THE KC868_A24 BOARD, CAN ANYONE HELP ME?

Print this item

  Request for KCS Firmware Source Code
Posted by: umutc - 01-10-2025, 06:57 PM - Forum: "KCS" v2 firmware system - Replies (1)

I am currently developing automation software using the Sedona Framework and would like to integrate it with Tridium Niagara. To achieve this, I am seeking access to the KCS firmware source code to facilitate a seamless integration between both platforms.
If you are willing to share the source code, I would greatly appreciate it if you could send it via email to me.
Thank you for your time and consideration.

Best regards,

Print this item

  Basic Steps to Connect MB to Home Assistant
Posted by: petermac - 01-10-2025, 02:30 PM - Forum: KC868-M16 / M1 / MB / M30 - Replies (5)

Have received new MB DC Meter.

Please if you could provide the basics steps to get it connected to Home Assistant.

Thanks.

Print this item

Photo Inputs don't works
Posted by: osis - 01-10-2025, 09:36 AM - Forum: KC868-A16 - Replies (9)

I'm asking for help because my inputs don't work.
I check by shorting the input to GND - as in the instructions.
Do I need to configure it? I tried various configurations but without any positive effect (picture).



Attached Files Thumbnail(s)
   
Print this item

  PCF8575 Library Missing for F16
Posted by: Talal - 01-09-2025, 07:59 PM - Forum: F16 - Replies (1)

Hi! I have been working on my Project using F16. I cannot find the libraries for F16 "PCF8575" and "U8g2lib" anywhere. Kindly share the libraries. Also It would be helpful If you can provide the F16 Schematic Diagram. Thanks

Print this item

  relay
Posted by: TurSolution - 01-09-2025, 04:02 PM - Forum: KC868-A16 - Replies (1)

Hi all
I can't use relays no turn on and no turn off.
How can you help me?


my code : 
#include "gpio_i2c.h"
#include "compile_profile.h"
#include "print_log.h"
#include "PCF8574.h"
#include <Wire.h>


#define MODULE_NAME  "gpio_i2c.cpp"

#define Input_IIC_address 0x21
#define Input_IIC_address 0x22

#define Relay_IIC_address 0x24
#define Relay_IIC_address 0x25
GPIO_I2C gpioI2C;

// Set i2c address
PCF8574 pcf8574_input_1(Input_IIC_address,4,5);
PCF8574 pcf8574_input_2(Input_IIC_address,4,5);

PCF8574 pcf8574_relay_1(Relay_IIC_address,4,5);
PCF8574 pcf8574_relay_2(Relay_IIC_address,4,5);



void GPIO_I2C::Init()
{
#if ( PROFILE_COMPILE & GPIO_I2C_MODULE)

    PRINT_LOG_API_PrintDebug("Init()..", MODULE_NAME, __LINE__);
    byte count = 0;
    Wire.begin(4, 5);
  for (byte i = 8; i < 120; i++)
  {
    Wire.beginTransmission (i);          // Begin I2C transmission Address (i)
    if (Wire.endTransmission () == 0)  // Receive 0 = success (ACK response)
    {
      Serial.print ("Found address: ");
      Serial.print (i, DEC);
      Serial.print (" (0x");
      Serial.print (i, HEX);    // PCF8574 7 bit address
      Serial.println (")");
      break;
    }
  }


    //Wire.begin();  // Initialize I2C communication
  // Wire.setClock(100000); // Set I2C clock to 100kHz (default is 400kHz)

   

   

    pcf8574_relay_1.pinMode(P0, OUTPUT);
    pcf8574_relay_1.pinMode(P1, OUTPUT);
    pcf8574_relay_1.pinMode(P2, OUTPUT);
    pcf8574_relay_1.pinMode(P3, OUTPUT);
    pcf8574_relay_1.pinMode(P4, OUTPUT);
    pcf8574_relay_1.pinMode(P5, OUTPUT);
    pcf8574_relay_1.pinMode(P6, OUTPUT);
    pcf8574_relay_1.pinMode(P7, OUTPUT);

    pcf8574_relay_2.pinMode(P0, OUTPUT);
    pcf8574_relay_2.pinMode(P1, OUTPUT);
    pcf8574_relay_2.pinMode(P2, OUTPUT);
    pcf8574_relay_2.pinMode(P3, OUTPUT);
    pcf8574_relay_2.pinMode(P4, OUTPUT);
    pcf8574_relay_2.pinMode(P5, OUTPUT);
    pcf8574_relay_2.pinMode(P6, OUTPUT);
    pcf8574_relay_2.pinMode(P7, OUTPUT);

   

    pcf8574_input_1.pinMode(P0, INPUT);
    pcf8574_input_1.pinMode(P1, INPUT);
    pcf8574_input_1.pinMode(P2, INPUT);
    pcf8574_input_1.pinMode(P3, INPUT);
    pcf8574_input_1.pinMode(P4, INPUT);
    pcf8574_input_1.pinMode(P5, INPUT);
    pcf8574_input_1.pinMode(P6, INPUT);
    pcf8574_input_1.pinMode(P7, INPUT);

    pcf8574_input_2.pinMode(P0, INPUT);
    pcf8574_input_2.pinMode(P1, INPUT);
    pcf8574_input_2.pinMode(P2, INPUT);
    pcf8574_input_2.pinMode(P3, INPUT);
    pcf8574_input_2.pinMode(P4, INPUT);
    pcf8574_input_2.pinMode(P5, INPUT);
    pcf8574_input_2.pinMode(P6, INPUT);
    pcf8574_input_2.pinMode(P7, INPUT);


    if (pcf8574_relay_1.begin())
    {
        Serial.println("pcf8574_relay_1 OK");
    }
    else
    {
        Serial.println("pcf8574_relay_1 not OK");
    }

    Serial.print("Init pcf8574_2...");
    if (pcf8574_relay_2.begin())
    {
        Serial.println("pcf8574_relay_2 OK");
    }
    else
    {
        Serial.println("pcf8574_relay_2 NOT OK");
    }

    for(int i=0; i< 8; i++)
    {
        pcf8574_relay_1.digitalWrite(i, LOW);
        pcf8574_relay_2.digitalWrite(i, LOW);
    }

    if (pcf8574_input_1.begin())
    {
        Serial.println("pcf8574_input_1 OK");
    }
    else
    {
        Serial.println("pcf8574_input_1 not OK");
    }

    Serial.print("pcf8574_input_2...");
    if (pcf8574_input_2.begin())
    {
        Serial.println("pcf8574_input_2 OK");
    }
    else
    {
        Serial.println("pcf8574_input_2 NOT OK");
    }

  PRINT_LOG_API_PrintDebug("Init()..Finish", MODULE_NAME, __LINE__);
#endif

}
void GPIO_I2C:TongueinMode(uint8_t pinNum, bool mode)
{
#if ( PROFILE_COMPILE & GPIO_I2C_MODULE)
if (pinNum > 8)
    {
        if(mode)
        {
            pcf8574_relay_1.pinMode((pinNum - 1), OUTPUT);
        }       
    }
    else
    {
        if(mode)
        {
            pcf8574_relay_2.pinMode((pinNum - 1 - 8), OUTPUT);           
        }
    }
#endif
}


void GPIO_I2C::SetPinMode(bool mode, uint8_t pinNum)
{
#if ( PROFILE_COMPILE & GPIO_I2C_MODULE)
    if (pinNum > 8)
    {
        if(mode)
        {
            pcf8574_relay_1.pinMode((pinNum - 1), OUTPUT);
        }
       
    }
    else
    {
        if(mode)
        {
            pcf8574_relay_2.pinMode((pinNum - 1 - 8), OUTPUT);
           
        }
    }

#endif
}

void GPIO_I2C:Big GrinigitalWrite(uint8_t pinNum, bool mode)
{
#if ( PROFILE_COMPILE & GPIO_I2C_MODULE)
   
    if (pinNum > 8)
    {
        pcf8574_relay_1.digitalWrite(pinNum - 1, mode);
    }
    else
    {
        pcf8574_relay_2.digitalWrite(pinNum - 8 - 1, mode);
    }

#endif
}
void GPIO_I2C::SetOutputMode(bool mode, uint8_t pinNum)
{
#if ( PROFILE_COMPILE & GPIO_I2C_MODULE)
   
    if (pinNum > 8)
    {
        pcf8574_relay_1.digitalWrite(pinNum - 1, mode);
    }
    else
    {
        pcf8574_relay_2.digitalWrite(pinNum - 8 - 1, mode);
    }

#endif
}

bool GPIO_I2C::ReadInput(uint8_t pinNum)
{
    bool retVal = false;


#if ( PROFILE_COMPILE & GPIO_I2C_MODULE)


    if (pinNum > 8)
    {
        retVal = pcf8574_input_1.digitalRead(pinNum - 1);
    }
    else
    {
        retVal = pcf8574_input_2.digitalRead(pinNum - 8 - 1);
    }

#endif

    return retVal;

}


int GPIO_I2C:Big GrinigitalRead(uint8_t pinNum)
{
    int retVal = -1;
#if ( PROFILE_COMPILE & GPIO_I2C_MODULE)
   
    if (pinNum > 8)
    {
        retVal = pcf8574_input_1.digitalRead(pinNum - 1);
    }
    else
    {
        retVal = pcf8574_input_2.digitalRead(pinNum - 8 - 1);
    }

#endif

return retVal;
}

void GPIO_I2C::TestOutput()
{
#if ( PROFILE_COMPILE & GPIO_I2C_MODULE)

    PRINT_LOG_API_PrintDebug("TestOutput()..", MODULE_NAME, __LINE__);

    for(int i=0; i< 8; i++)
    {
        PRINT_LOG_API_PrintDebug("TestOutput() HIGH", MODULE_NAME, __LINE__);
        pcf8574_relay_1.digitalWrite(i, HIGH);
        pcf8574_relay_2.digitalWrite(i, HIGH);
        delay(2500);
        PRINT_LOG_API_PrintDebug("TestOutput() LOW", MODULE_NAME, __LINE__);
        pcf8574_relay_1.digitalWrite(i, LOW);
        pcf8574_relay_2.digitalWrite(i, LOW);
    }
    PRINT_LOG_API_PrintDebug("TestOutput()..Finish", MODULE_NAME, __LINE__);
    #endif
}

void GPIO_I2C::TestOutputP1()
{
#if ( PROFILE_COMPILE & GPIO_I2C_MODULE)

        PRINT_LOG_API_PrintDebug("TestOutputP1() HIGH", MODULE_NAME, __LINE__);
        //pcf8574_relay_1.digitalWriteAll(0xff);
        //pcf8574_relay_2.digitalWriteAll(0xff);
        //pcf8574_1.digitalWrite(0, HIGH);
        for (size_t i = 0; i < 8; i++)
        {
            pcf8574_relay_1.digitalWrite(i, HIGH);
            pcf8574_relay_2.digitalWrite(i, HIGH);
        }
       
     
        delay(1000);
        PRINT_LOG_API_PrintDebug("TestOutputP2() LOW", MODULE_NAME, __LINE__);
        for (size_t i = 0; i < 8; i++)
        {
            pcf8574_relay_1.digitalWrite(i, LOW);
            pcf8574_relay_2.digitalWrite(i, LOW);
        }
        delay(1000);
    #endif
}

Print this item