![]() |
|
KC868-AIO question - Printable Version +- Smart Home Automation Forum (https://www.kincony.com/forum) +-- Forum: Technical Support (https://www.kincony.com/forum/forumdisplay.php?fid=1) +--- Forum: KC868-A series and Uair Smart Controller (https://www.kincony.com/forum/forumdisplay.php?fid=6) +--- Thread: KC868-AIO question (/showthread.php?tid=7822) |
KC868-AIO question - pallermo - 03-17-2025 Hello to all, I have one question regarding this device or any other with RS485 interface. Can I control some device with rs485 or to receive some commands or information from another device? I want to be able to control heat pump (it has rs485) and my power generator (modbus). Also, my ATS (automatic transfer switch) has modbus option. I want to be able to do some controlling from KC868 devices to mentioned devices, receive some status etc... Like for power generator - load, temperature, fuel etc...For heat pump, there are many things to receive or to control it. Remotely I can start heat pump with RS485. Is he able to send commands to any of mentioned devices with commands and also to receive feedback from devices to know the status of it? With heat pump, remote controllers (in the room) are sending info about temps in the rooms to main outdoor device. Main device can provide those temps to KC868 via RS485 but the question is - how to program it to be able to read those messages and display temperatures inside the rooms. Is this possible at all? Also, what is the proper way for expanding number of i/o for this device? How it can be achieved? thanks RE: KC868-AIO question - admin - 03-18-2025 sure , if you can write arduino source code and know the rs485 device protocol, you can do anything. for expanding the IO, you can add KinCony DI8 or DO8 i2c extend module, so that can add digital input ports and relay. RE: KC868-AIO question - pallermo - 03-18-2025 And what about analog input expand? Is there something for that? RE: KC868-AIO question - admin - 03-18-2025 maybe in future we will design i2c analog input module. RE: KC868-AIO question - yassine03elg - 06-09-2025 #include "Arduino.h" #include "PCF8575.h" #include "Wire.h" // Set i2c address PCF8575 pcf8575_R1(0x24); PCF8575 pcf8575_R2(0x25); PCF8575 pcf8575_R3(0x21); PCF8575 pcf8575_R4(0x22); PCF8575 pcf8575_R5(0x26); PCF8575 pcf8575_R6(0x27); PCF8575 pcf8575_R7(0x20); PCF8575 pcf8575_R8(0x23); unsigned long timeElapsed; void setup() { Serial.begin(115200); pcf8575_R1.begin(); pcf8575_R2.begin(); pcf8575_R3.begin(); pcf8575_R4.begin(); pcf8575_R5.begin(); pcf8575_R6.begin(); pcf8575_R7.begin(); pcf8575_R8.begin(); pcf8575_R1.write(0,OUTPUT); pcf8575_R1.write(1,OUTPUT); pcf8575_R1.write(2,OUTPUT); pcf8575_R1.write(3,OUTPUT); pcf8575_R1.write(4,OUTPUT); pcf8575_R1.write(5,OUTPUT); pcf8575_R1.write(6,OUTPUT); pcf8575_R1.write(7,OUTPUT); pcf8575_R1.write(8,OUTPUT); pcf8575_R1.write(9,OUTPUT); pcf8575_R1.write(10,OUTPUT); pcf8575_R1.write(11,OUTPUT); pcf8575_R1.write(12,OUTPUT); pcf8575_R1.write(13,OUTPUT); pcf8575_R1.write(14,OUTPUT); pcf8575_R1.write(15,OUTPUT); pcf8575_R2.write(0,OUTPUT); pcf8575_R2.write(1,OUTPUT); pcf8575_R2.write(2,OUTPUT); pcf8575_R2.write(3,OUTPUT); pcf8575_R2.write(4,OUTPUT); pcf8575_R2.write(5,OUTPUT); pcf8575_R2.write(6,OUTPUT); pcf8575_R2.write(7,OUTPUT); pcf8575_R2.write(8,OUTPUT); pcf8575_R2.write(9,OUTPUT); pcf8575_R2.write(10,OUTPUT); pcf8575_R2.write(11,OUTPUT); pcf8575_R2.write(12,OUTPUT); pcf8575_R2.write(13,OUTPUT); pcf8575_R2.write(14,OUTPUT); pcf8575_R2.write(15,OUTPUT); pcf8575_R3.write(0,OUTPUT); pcf8575_R3.write(1,OUTPUT); pcf8575_R3.write(2,OUTPUT); pcf8575_R3.write(3,OUTPUT); pcf8575_R3.write(4,OUTPUT); pcf8575_R3.write(5,OUTPUT); pcf8575_R3.write(6,OUTPUT); pcf8575_R3.write(7,OUTPUT); pcf8575_R3.write(8,OUTPUT); pcf8575_R3.write(9,OUTPUT); pcf8575_R3.write(10,OUTPUT); pcf8575_R3.write(11,OUTPUT); pcf8575_R3.write(12,OUTPUT); pcf8575_R3.write(13,OUTPUT); pcf8575_R3.write(14,OUTPUT); pcf8575_R3.write(15,OUTPUT); pcf8575_R4.write(0,OUTPUT); pcf8575_R4.write(1,OUTPUT); pcf8575_R4.write(2,OUTPUT); pcf8575_R4.write(3,OUTPUT); pcf8575_R4.write(4,OUTPUT); pcf8575_R4.write(5,OUTPUT); pcf8575_R4.write(6,OUTPUT); pcf8575_R4.write(7,OUTPUT); pcf8575_R4.write(8,OUTPUT); pcf8575_R4.write(9,OUTPUT); pcf8575_R4.write(10,OUTPUT); pcf8575_R4.write(11,OUTPUT); pcf8575_R4.write(12,OUTPUT); pcf8575_R4.write(13,OUTPUT); pcf8575_R4.write(14,OUTPUT); pcf8575_R4.write(15,OUTPUT); pcf8575_R5.write(0,OUTPUT); pcf8575_R5.write(1,OUTPUT); pcf8575_R5.write(2,OUTPUT); pcf8575_R5.write(3,OUTPUT); pcf8575_R5.write(4,OUTPUT); pcf8575_R5.write(5,OUTPUT); pcf8575_R5.write(6,OUTPUT); pcf8575_R5.write(7,OUTPUT); pcf8575_R5.write(8,OUTPUT); pcf8575_R5.write(9,OUTPUT); pcf8575_R5.write(10,OUTPUT); pcf8575_R5.write(11,OUTPUT); pcf8575_R5.write(12,OUTPUT); pcf8575_R5.write(13,OUTPUT); pcf8575_R5.write(14,OUTPUT); pcf8575_R5.write(15,OUTPUT); pcf8575_R6.write(0,OUTPUT); pcf8575_R6.write(1,OUTPUT); pcf8575_R6.write(2,OUTPUT); pcf8575_R6.write(3,OUTPUT); pcf8575_R6.write(4,OUTPUT); pcf8575_R6.write(5,OUTPUT); pcf8575_R6.write(6,OUTPUT); pcf8575_R6.write(7,OUTPUT); pcf8575_R6.write(8,OUTPUT); pcf8575_R6.write(9,OUTPUT); pcf8575_R6.write(10,OUTPUT); pcf8575_R6.write(11,OUTPUT); pcf8575_R6.write(12,OUTPUT); pcf8575_R6.write(13,OUTPUT); pcf8575_R6.write(14,OUTPUT); pcf8575_R6.write(15,OUTPUT); pcf8575_R7.write(0,OUTPUT); pcf8575_R7.write(1,OUTPUT); pcf8575_R7.write(2,OUTPUT); pcf8575_R7.write(3,OUTPUT); pcf8575_R7.write(4,OUTPUT); pcf8575_R7.write(5,OUTPUT); pcf8575_R7.write(6,OUTPUT); pcf8575_R7.write(7,OUTPUT); pcf8575_R7.write(8,OUTPUT); pcf8575_R7.write(9,OUTPUT); pcf8575_R7.write(10,OUTPUT); pcf8575_R7.write(11,OUTPUT); pcf8575_R7.write(12,OUTPUT); pcf8575_R7.write(13,OUTPUT); pcf8575_R7.write(14,OUTPUT); pcf8575_R7.write(15,OUTPUT); pcf8575_R8.write(0,OUTPUT); pcf8575_R8.write(1,OUTPUT); pcf8575_R8.write(2,OUTPUT); pcf8575_R8.write(3,OUTPUT); pcf8575_R8.write(4,OUTPUT); pcf8575_R8.write(5,OUTPUT); pcf8575_R8.write(6,OUTPUT); pcf8575_R8.write(7,OUTPUT); pcf8575_R8.write(8,OUTPUT); pcf8575_R8.write(9,OUTPUT); pcf8575_R8.write(10,OUTPUT); pcf8575_R8.write(11,OUTPUT); pcf8575_R8.write(12,OUTPUT); pcf8575_R8.write(13,OUTPUT); pcf8575_R8.write(14,OUTPUT); pcf8575_R8.write(15,OUTPUT); } void loop() { pcf8575_R8.write(0,HIGH); delay(1000); pcf8575_R8.write(1,HIGH); delay(1000); pcf8575_R8.write(2,HIGH); delay(1000); pcf8575_R8.write(3,HIGH); delay(1000); pcf8575_R8.write(4,HIGH); delay(1000); pcf8575_R8.write(5,HIGH); delay(1000); pcf8575_R8.write(6,HIGH); delay(1000); pcf8575_R8.write(7,HIGH); delay(1000); pcf8575_R8.write(8,HIGH); delay(1000); pcf8575_R8.write(9,HIGH); delay(1000); pcf8575_R8.write(10,HIGH); delay(1000); pcf8575_R8.write(11,HIGH); delay(1000); pcf8575_R8.write(12,HIGH); delay(1000); pcf8575_R8.write(13,HIGH); delay(1000); pcf8575_R8.write(14,HIGH); delay(1000); pcf8575_R8.write(15,HIGH); delay(1000); pcf8575_R8.write(0,LOW); delay(1000); pcf8575_R8.write(1,LOW); delay(1000); pcf8575_R8.write(2,LOW); delay(1000); pcf8575_R8.write(3,LOW); delay(1000); pcf8575_R8.write(4,LOW); delay(1000); pcf8575_R8.write(5,LOW); delay(1000); pcf8575_R8.write(6,LOW); delay(1000); pcf8575_R8.write(7,LOW); delay(1000); pcf8575_R8.write(8,LOW); delay(1000); pcf8575_R8.write(9,LOW); delay(1000); pcf8575_R8.write(10,LOW); delay(1000); pcf8575_R8.write(11,LOW); delay(1000); pcf8575_R8.write(12,LOW); delay(1000); pcf8575_R8.write(13,LOW); delay(1000); pcf8575_R8.write(14,LOW); delay(1000); pcf8575_R8.write(15,LOW); delay(1000); } I put this code on the KC868-A128 panel, but it didn't give me any reaction RE: KC868-AIO question - yassine03elg - 06-09-2025 I put this code on the KC868-A128 panel, but it didn't give me any reaction RE: KC868-AIO question - admin - 06-09-2025 you need post your error screen image. |