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

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 4,504
» Latest member: qrqr4435
» Forum threads: 2,287
» Forum posts: 11,895

Full Statistics

Online Users
There are currently 43 online users.
» 1 Member(s) | 31 Guest(s)
Bing, Facebook, Google, PetalBot, Yandex, bot, facebookexternalhit, erick.w

Latest Threads
PWM support?
Forum: KC868-A16
Last Post: luis15pt
3 hours ago
» Replies: 6
» Views: 36
KC868 A32 Firmware 2.2.4 ...
Forum: KC868-A32/A32 Pro
Last Post: iozzi_giorgio
9 hours ago
» Replies: 2
» Views: 27
[arduino code examples fo...
Forum: KC868-A32/A32 Pro
Last Post: admin
Today, 05:12 AM
» Replies: 0
» Views: 3
USB ports
Forum: KinCony Server-Mini / Server-16 Raspberry Pi4 relay module
Last Post: BaconRanch
Today, 02:47 AM
» Replies: 2
» Views: 7
Lesson23- How to connect ...
Forum: KC868-A series and Uair Smart Controller
Last Post: admin
Yesterday, 10:11 AM
» Replies: 10
» Views: 7,159
KC868-AG RF - sending rep...
Forum: KC868-A series and Uair Smart Controller
Last Post: PhilW
Yesterday, 07:46 AM
» Replies: 3
» Views: 10
Usar entradas y oled i2c ...
Forum: KC868-A6
Last Post: sistemasyusa
Yesterday, 03:16 AM
» Replies: 4
» Views: 17
a16 as basis for a securi...
Forum: KC868-A16
Last Post: admin
09-18-2024, 11:58 PM
» Replies: 8
» Views: 55
GSM CALL RELAY
Forum: KC868-A2
Last Post: admin
09-18-2024, 11:53 PM
» Replies: 9
» Views: 4,109
KC868-A16S or KC868-A8S
Forum: KC868-A series and Uair Smart Controller
Last Post: admin
09-18-2024, 11:51 PM
» Replies: 3
» Views: 39

  how to connect celling pir sensor with h32b pro
Posted by: engmohades - 12-12-2022, 12:17 PM - Forum: News - Replies (3)

how to connect celling pir sensor with h32b pro ?

there are ( + - ) ( tamper ) ( alarm ) 

What is the tamper and How can I use the tamper in the home automation ?



Attached Files Thumbnail(s)
   
Print this item

  facttoy values KC868-A8
Posted by: Isaac639 - 12-12-2022, 08:43 AM - Forum: KC868-A8 - Replies (1)

Hello, 
I have KC868-A8 v.1.4
How can I reset the motherboard to factory settings?

Thank you very much!
Isaac.

Print this item

  KC868-HA ESP32 arduino demo code work with KC868-A8S
Posted by: admin - 12-12-2022, 12:43 AM - Forum: KC868-HxB series Smart Controller - Replies (2)

This is arduino demo code for KC868-A8S board, you can use for any KC868-A series board just have RS485 interface.
The function is press 6 digital input trigger relay output and feedback relay state to switch panel's LEDs. When press the switch panel buttons, will control KC868-A8S relay output.
arduino code download link:

.zip   KC868-HA-A8S-Demo.zip (Size: 1.79 KB / Downloads: 308)

           

Print this item

  KC868-HA ESP32 arduino demo code work with KC868-A8S
Posted by: admin - 12-12-2022, 12:39 AM - Forum: KC868-A series and Uair Smart Controller - No Replies

This is arduino demo code for KC868-A8S board, you can use for any KC868-A series board just have RS485 interface.
The function is press 6 digital input trigger relay output and feedback relay state to switch panel's LEDs. When press the switch panel buttons, will control KC868-A8S relay output.
arduino code download link:

.zip   KC868-HA-A8S-Demo.zip (Size: 1.79 KB / Downloads: 225)
           

Code:
#include "Arduino.h"
#include "PCF8574.h"
#include "CRC16.h"
#include "CRC.h"

#define  RS485Address   0x01

#define  USB_TX_PIN   1
#define  USB_RX_PIN   3
#define  M485_TX_PIN   33
#define  M485_RX_PIN   32

// Set i2c address
PCF8574 pcf8574o(0x24,4,5);
PCF8574 pcf8574i(0x22,4,5);

unsigned long switch_32_1_state = 0;

uint16_t  CRC16_Data = 0;
uint8_t  CRC16_Data_H = 0;
uint8_t  CRC16_Data_L = 0;

unsigned char Rs485_Str[30] = {0};

String indata="";
String val="";

String outdata="";

void setup()
{
  // Serial 0 with USB
  Serial.begin(9600,SERIAL_8N1,USB_RX_PIN,USB_TX_PIN);
  // Serial 2 with 485
  Serial2.begin(9600,SERIAL_8N1,M485_RX_PIN,M485_TX_PIN);

  Serial.println();

  // Set pinMode to OUTPUT
  pcf8574o.pinMode(P0, OUTPUT);
  pcf8574o.pinMode(P1, OUTPUT);
  pcf8574o.pinMode(P2, OUTPUT);
  pcf8574o.pinMode(P3, OUTPUT);
  pcf8574o.pinMode(P4, OUTPUT);
  pcf8574o.pinMode(P5, OUTPUT);
  pcf8574o.pinMode(P6, OUTPUT);
  pcf8574o.pinMode(P7, OUTPUT);

  Serial.print("Init pcf8574o...");
  if (pcf8574o.begin()){
    Serial.println("OK");
  }else{
    Serial.println("KO");
  }


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

  Serial.print("Init pcf8574i...");
  if (pcf8574i.begin()){
    Serial.println("OK");
  }else{
    Serial.println("KO");
  }


pcf8574o.digitalWrite(P0, HIGH);
pcf8574o.digitalWrite(P1, HIGH);
pcf8574o.digitalWrite(P2, HIGH);
pcf8574o.digitalWrite(P3, HIGH);
pcf8574o.digitalWrite(P4, HIGH);
pcf8574o.digitalWrite(P5, HIGH);
pcf8574o.digitalWrite(P6, HIGH);
pcf8574o.digitalWrite(P7, HIGH);


}

void loop()
{
//------------------------------------

//sample IO
  PCF8574::DigitalInput di = pcf8574i.digitalReadAll();

  if(!((di.p0)&&(di.p1)&&(di.p2)&&(di.p3)&&(di.p4)&&(di.p5)&&(di.p6)&&(di.p7)))
  {
      if(di.p0==0)  
      {
        if(((switch_32_1_state&0x01)?1:0) == 0 )
        {
        pcf8574o.digitalWrite(P0, LOW);
        switch_32_1_state = switch_32_1_state | (1<<(1-1));
        }
        else
        {
        pcf8574o.digitalWrite(P0, HIGH);
        switch_32_1_state = switch_32_1_state & (~(1<<(1-1)));
        }

      }     


      if(di.p1==0)  
      {
     
        if(((switch_32_1_state&0x02)?1:0) == 0 )
        {
        pcf8574o.digitalWrite(P1, LOW);
        switch_32_1_state = switch_32_1_state | (1<<(2-1));
        }
        else
        {
        pcf8574o.digitalWrite(P1, HIGH);
        switch_32_1_state = switch_32_1_state & (~(1<<(2-1)));
        }

      }     


      if(di.p2==0)  
      {
     
        if(((switch_32_1_state&0x04)?1:0) == 0 )
        {
        pcf8574o.digitalWrite(P2, LOW);
        switch_32_1_state = switch_32_1_state | (1<<(3-1));
        }
        else
        {
        pcf8574o.digitalWrite(P2, HIGH);
        switch_32_1_state = switch_32_1_state & (~(1<<(3-1)));
        }

      }     


      if(di.p3==0)  
      {
     
        if(((switch_32_1_state&0x08)?1:0) == 0 )
        {
        pcf8574o.digitalWrite(P3, LOW);
        switch_32_1_state = switch_32_1_state | (1<<(4-1));
        }
        else
        {
        pcf8574o.digitalWrite(P3, HIGH);
        switch_32_1_state = switch_32_1_state & (~(1<<(4-1)));
        }

   }     


      if(di.p4==0)  
      {
        if(((switch_32_1_state&0x10)?1:0) == 0 )
        {
        pcf8574o.digitalWrite(P4, LOW);
        switch_32_1_state = switch_32_1_state | (1<<(5-1));
        }
        else
        {
        pcf8574o.digitalWrite(P4, HIGH);
        switch_32_1_state = switch_32_1_state & (~(1<<(5-1)));
        }

      }     


      if(di.p5==0)  
      {
        if(((switch_32_1_state&0x20)?1:0) == 0 )
        {
        pcf8574o.digitalWrite(P5, LOW);
        switch_32_1_state = switch_32_1_state | (1<<(6-1));
        }
        else
        {
        pcf8574o.digitalWrite(P5, HIGH);
        switch_32_1_state = switch_32_1_state & (~(1<<(6-1)));
        }

      }     


      if(di.p6==0)  
      {
        if(((switch_32_1_state&0x40)?1:0) == 0 )
        {
        pcf8574o.digitalWrite(P6, LOW);
        switch_32_1_state = switch_32_1_state | (1<<(7-1));
        }
        else
        {
        pcf8574o.digitalWrite(P6, HIGH);
        switch_32_1_state = switch_32_1_state & (~(1<<(7-1)));
        }

      }     


      if(di.p7==0)  
      {
     
        if(((switch_32_1_state&0x80)?1:0) == 0 )
        {
        pcf8574o.digitalWrite(P7, LOW);
        switch_32_1_state = switch_32_1_state | (1<<(8-1));
        }
        else
        {
        pcf8574o.digitalWrite(P7, HIGH);
        switch_32_1_state = switch_32_1_state & (~(1<<(8-1)));
        }

      }   


     rs485_feedback();
}

  while(!((di.p0==1)&&(di.p1==1)&&(di.p2==1)&&(di.p3==1)&&(di.p4==1)&&(di.p5==1)&&(di.p6==1)&&(di.p7==1)))
   {
    di = pcf8574i.digitalReadAll();
   }
//------------------------------------
//read RS485 data
while(Serial2.available()>0)
   {
    indata+=char(Serial2.read());   //read  via 485
    delay(2);
    if(Serial2.available()<=0)
     {
        //Serial2.print(indata);
     }
   }   
//------------------------------------
//deal with RS485 data
if(indata.length()>0)
  {
     val=indata;   //
               Serial.print(indata);

      //----Key control relay command 
    if((val[0]==RS485Address)&&(val[1]==0x10)&&(val[2]==0x00)&&(val[3]==0x0A)&&(val[4]==0x00)&&(val[5]==0x06)&&(val[6]==0x0C))
    {
        val[7] = (((val[7]>>4) & 0x0F)*10)+(val[7]& 0x0F); //bcd to hex
        val[8] = val[8] & 0x01;
        switch_32_1_state = switch_32_1_state ^ (val[8]<<(val[7]-1));

        val[9]  = (((val[9]>>4) & 0x0F)*10)+(val[9]& 0x0F); //bcd to hex
        val[10] = val[10] & 0x01;
        switch_32_1_state = switch_32_1_state ^ (val[10]<<(val[9]-1));
       
        val[11]  = (((val[11]>>4) & 0x0F)*10)+(val[11]& 0x0F); //bcd to hex
        val[12] = val[12] & 0x01;
        switch_32_1_state = switch_32_1_state ^ (val[12]<<(val[11]-1));
       
        val[13]  = (((val[13]>>4) & 0x0F)*10)+(val[13]& 0x0F); //bcd to hex
        val[14] = val[14] & 0x01;
        switch_32_1_state = switch_32_1_state ^ (val[14]<<(val[13]-1));
      
        val[15]  = (((val[15]>>4) & 0x0F)*10)+(val[15]& 0x0F); //bcd to hex
        val[16] = val[16] & 0x01;
        switch_32_1_state = switch_32_1_state ^ (val[16]<<(val[15]-1));

        val[17]  = (((val[17]>>4) & 0x0F)*10)+(val[17]& 0x0F); //bcd to hex
        val[18] = val[18] & 0x01;
        switch_32_1_state = switch_32_1_state ^ (val[18]<<(val[17]-1));

        //switch_1_state
        if(((switch_32_1_state&0x01)?1:0) == 0 )
        {
        pcf8574o.digitalWrite(P0, HIGH);
        }
        else
        {
        pcf8574o.digitalWrite(P0, LOW);
        }

        //switch_2_state
        if(((switch_32_1_state&0x02)?1:0) == 0 )
        {
        pcf8574o.digitalWrite(P1, HIGH);
        }
        else
        {
        pcf8574o.digitalWrite(P1, LOW);
        }

        //switch_3_state
        if(((switch_32_1_state&0x04)?1:0) == 0 )
        {
        pcf8574o.digitalWrite(P2, HIGH);
        }
        else
        {
        pcf8574o.digitalWrite(P2, LOW);
        }

        //switch_4_state
        if(((switch_32_1_state&0x08)?1:0) == 0 )
        {
        pcf8574o.digitalWrite(P3, HIGH);
        }
        else
        {
        pcf8574o.digitalWrite(P3, LOW);
        }

        //switch_5_state
        if(((switch_32_1_state&0x10)?1:0) == 0 )
        {
        pcf8574o.digitalWrite(P4, HIGH);
        }
        else
        {
        pcf8574o.digitalWrite(P4, LOW);
        }

        //switch_6_state
        if(((switch_32_1_state&0x20)?1:0) == 0 )
        {
        pcf8574o.digitalWrite(P5, HIGH);
        }
        else
        {
        pcf8574o.digitalWrite(P5, LOW);
        }

        //switch_7_state
        if(((switch_32_1_state&0x40)?1:0) == 0 )
        {
        pcf8574o.digitalWrite(P6, HIGH);
        }
        else
        {
        pcf8574o.digitalWrite(P6, LOW);
        }

        //switch_8_state
        if(((switch_32_1_state&0x80)?1:0) == 0 )
        {
        pcf8574o.digitalWrite(P7, HIGH);
        }
        else
        {
        pcf8574o.digitalWrite(P7, LOW);
        }

     rs485_feedback();
   
    }

  }
   
   
    indata="";   //clear indata
//--------------------------------------------------

 
  delay(30);
 
}

void rs485_feedback(void)
{
       Rs485_Str[0] = RS485Address;
       Rs485_Str[1] = 0x03;
       Rs485_Str[2] = 0x06;
       Rs485_Str[3] = 0x55;
       Rs485_Str[4] = 0xAA;
       Rs485_Str[5] = (int)((switch_32_1_state >> 24) & 0xFF);
       Rs485_Str[6] = (int)((switch_32_1_state >> 16) & 0xFF);
       Rs485_Str[7] = (int)((switch_32_1_state >> 8) & 0xFF);
       Rs485_Str[8] = (int)(switch_32_1_state & 0xFF);
      
       outdata = "12345678901";
       outdata[0] = Rs485_Str[0];
       outdata[1] = Rs485_Str[1];
       outdata[2] = Rs485_Str[2];
       outdata[3] = Rs485_Str[3];
       outdata[4] = Rs485_Str[4];
       outdata[5] = Rs485_Str[5];
       outdata[6] = Rs485_Str[6];
       outdata[7] = Rs485_Str[7];
       outdata[8] = Rs485_Str[8];
    
       CRC16_Data = (crc16((uint8_t *) Rs485_Str, 9, 0x8005, 0xFFFF, 0, true, true));
       CRC16_Data_H = CRC16_Data/256;
       CRC16_Data_L = CRC16_Data%256;
       outdata[9] = CRC16_Data_L;
       outdata[10] = CRC16_Data_H;
       Serial.print(outdata);
       Serial2.print(outdata);
}

Print this item

  Failed to restart Home Assistant
Posted by: Almhlws - 12-10-2022, 05:16 PM - Forum: KC868-HxB series Smart Controller - Replies (4)

The system cannot restart because the configuration is not valid: Invalid config for [mqtt]: [name:] is an invalid option for [mqtt]. Check: mqtt->mqtt->switch->2->name:. (See /config/configuration.yaml, line 17).




Quote:Loads default set of integrations. Do not remove.
default_config:
Load frontend themes from the themes folder
frontend:
themes: !include_dir_merge_named themes
Text to speech
tts:
• platform: google_translate
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
mqtt:
broker: 192.168.100.172
port: 1883
username: XXXX
password: XXX
Example configuration.yaml entry
switch:
• name: ‘output-1’
unique_id: output-1
state_topic: ‘server/c5a1fc1837679772e927e9de/state’
command_topic: ‘server/c5a1fc1837679772e927e9de/set’
payload_on: ‘{“relay1”:{“on”:1}}’
payload_off: ‘{“relay1”:{“on”:0}}’
value_template: ‘{{ value_json.relay1.on }}’
state_on: 1
state_off: 0
• name: ‘output-2’
unique_id: output-2
state_topic: ‘server/c5a1fc1837679772e927e9de/state’
command_topic: ‘server/c5a1fc1837679772e927e9de/set’
payload_on: ‘{“relay2”:{“on”:1}}’
payload_off: ‘{“relay2”:{“on”:0}}’
value_template: ‘{{ value_json.relay2.on }}’
state_on: 1
state_off: 0

Print this item

  KC868-A16 ESPHome yaml for DHT11/ds18b20 RF
Posted by: stanchiam - 12-09-2022, 01:22 AM - Forum: KC868-A16 - Replies (5)

Hi, 

I am using ESPhome and home assistant, tried the below yaml using REV1.5 board but not sure how to get the temperature sensor and RF receiver/transmitter(already installed) working on HA.

Is my yaml correct? I am not sure about the pin number used, from the board i see the dht data cable is fixed at HT3.
Please help take a look at the yaml and also how to use with HA. Unable to find info for ESPHome and HA using KC868-A16.

remote_receiver:
  pin: 2
  dump: rc_switch
  # Settings to optimize recognition of RF devices
  tolerance: 50%
  filter: 250us
  idle: 4ms
  buffer_size: 2kb
remote_transmitter:
  pin: 15
  carrier_duty_percent: 100%
# Example configuration entry for sensor
sensor:
  - platform: dht
    pin: 14
    temperature:
      name: "Temperature"
    humidity:
      name: "Humidity"
    update_interval: 10s
  # - platform: dallas
  #   pin: 14
  #   address: 0x1c0000031edd2a28
  #   name: "ds18b20-1"

Print this item

  KC868-HA RS485 Button Adapter Protocol document
Posted by: admin - 12-08-2022, 04:25 AM - Forum: KC868-HxB series Smart Controller - No Replies

Here is the protocol of KC868-HA RS485 Button Adapter, send command and relay state feedback protocol:



Attached Files
.pdf   KC868-HA-protocol-for-RS485-relay-board.pdf (Size: 204.94 KB / Downloads: 272)
Print this item

  COLB problem
Posted by: hentes - 12-02-2022, 08:28 PM - Forum: KC868-HxB series Smart Controller - Replies (5)

Hello. I have a situation with one from the 2 COLB logical controllers. I would really appreciate if you could help me. After powering it on the RUN and the PWR leds are OFF. It is connected to LAN but the device scanner is not finding it. All the ethernet and wifi mode leds are off. The product is brand new. Never used. What could be the problem? Thank you.



Attached Files Thumbnail(s)
   
Print this item

  "wrong" Lora-Module and LED-defective
Posted by: bitboy0 - 12-02-2022, 12:42 PM - Forum: KC868-A6 - Replies (5)

Hello all.

I don't know if this is the right place for complaints. If this is not appropriate, then please tell me the right way.

I bought the 868-A6 set on Ali-Express. It has all arrived. Unfortunately it came with a 433MHz Lora module, which I can't make sense of in Europe. I have already replaced that myself with an 868 module.
In addition, I noticed that of the 6 LEDs that indicate the status of the relays, one is missing and two were soldered on incorrectly. So a maximum of three of these LEDs are lit.

How can we solve the problem?



Attached Files Thumbnail(s)
   
Print this item

  ds18b20 connection?=
Posted by: janosch1337 - 12-02-2022, 11:09 AM - Forum: KC868-AI - Replies (1)

hey,

could you please tell my how i can add ds18b20 to this board? 34-39 are not possible to use as dallas pin...

Print this item