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

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 9,583
» Latest member: sarahtaylor
» Forum threads: 4,191
» Forum posts: 20,825

Full Statistics

Online Users
There are currently 53 online users.
» 0 Member(s) | 39 Guest(s)
Amazonbot, Baidu, Crawl, PetalBot, Semrush, bot

Latest Threads
solar production and cons...
Forum: N30
Last Post: dominique_manas@hotmail.com
11 minutes ago
» Replies: 2
» Views: 4
MQTT Discovery: missing s...
Forum: N30
Last Post: admin
5 hours ago
» Replies: 1
» Views: 3
Current direction detecti...
Forum: N30
Last Post: admin
5 hours ago
» Replies: 1
» Views: 5
ai automation
Forum: KinCony integrate with Loxone home automation
Last Post: mediverticals
Today, 06:56 AM
» Replies: 0
» Views: 3
Connecting sensors to Kin...
Forum: F16
Last Post: admin
Today, 12:18 AM
» Replies: 1
» Views: 6
CT Sensor Direction
Forum: N60
Last Post: admin
Yesterday, 08:14 AM
» Replies: 1
» Views: 10
N60 Voltage reference
Forum: N60
Last Post: admin
08-11-2026, 11:09 PM
» Replies: 3
» Views: 18
4-20mA loop voltage consi...
Forum: B4M
Last Post: admin
08-11-2026, 08:05 AM
» Replies: 1
» Views: 16
K868-a32 plastic case
Forum: KC868-A series and Uair Smart Controller
Last Post: admin
08-10-2026, 08:48 AM
» Replies: 3
» Views: 1,186
CT Clamp Compatibility
Forum: KC868-M16 / M1 / MB / M30
Last Post: admin
08-09-2026, 10:32 PM
» Replies: 10
» Views: 1,692

  [arduino code examples for MT4]-01 433MHz RF receiver
Posted by: admin - 07-11-2026, 02:13 AM - Forum: MT4 - No Replies

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

#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();

void setup() {
  Serial.begin(9600);
  mySwitch.enableReceive(digitalPinToInterrupt(38));
  Serial.print("begin test");
}

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();
  }
}
   
arduino ino file download:

.zip   433-decode.zip (Size: 451 bytes / Downloads: 100)
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download:

.zip   433-decode.ino.merged.zip (Size: 181.95 KB / Downloads: 75)

Print this item

  MT4 ESPHome yaml for home assistant without tuya
Posted by: admin - 07-11-2026, 02:10 AM - Forum: MT4 - No Replies

Code:
esphome:
  name: mt4
  friendly_name: MT4

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: esp-idf

logger:

api:

ethernet:
  type: W5500
  clk_pin: GPIO42
  mosi_pin: GPIO43
  miso_pin: GPIO44
  cs_pin: GPIO41
  interrupt_pin: GPIO2
  reset_pin: GPIO1

web_server:
  port: 80

globals:
  - id: motor1_direction
    type: int
    restore_value: true
    initial_value: '0'
  - id: motor1_speed_value
    type: float
    restore_value: true
    initial_value: '0.5'

  - id: motor2_direction
    type: int
    restore_value: true
    initial_value: '0'
  - id: motor2_speed_value
    type: float
    restore_value: true
    initial_value: '0.5'

  - id: motor3_direction
    type: int
    restore_value: true
    initial_value: '0'
  - id: motor3_speed_value
    type: float
    restore_value: true
    initial_value: '0.5'

  - id: motor4_direction
    type: int
    restore_value: true
    initial_value: '0'
  - id: motor4_speed_value
    type: float
    restore_value: true
    initial_value: '0.5'

output:
  # Motor 1
  - platform: gpio
    id: motor1_in1
    pin: GPIO39

  - platform: gpio
    id: motor1_in2
    pin: GPIO46

  - platform: ledc
    id: motor1_pwm
    pin: GPIO9
    frequency: 1000Hz

  # Motor 2
  - platform: gpio
    id: motor2_in1
    pin: GPIO11

  - platform: gpio
    id: motor2_in2
    pin: GPIO10

  - platform: ledc
    id: motor2_pwm
    pin: GPIO12
    frequency: 1000Hz

  # Motor 3
  - platform: gpio
    id: motor3_in1
    pin: GPIO13

  - platform: gpio
    id: motor3_in2
    pin: GPIO47

  - platform: ledc
    id: motor3_pwm
    pin: GPIO14
    frequency: 1000Hz

  # Motor 4
  - platform: gpio
    id: motor4_in1
    pin: GPIO48

  - platform: gpio
    id: motor4_in2
    pin: GPIO45

  - platform: ledc
    id: motor4_pwm
    pin: GPIO21
    frequency: 1000Hz

script:
  # Motor 1
  - id: motor1_forward
    then:
      - output.turn_on: motor1_in1
      - output.turn_off: motor1_in2
      - output.set_level:
          id: motor1_pwm
          level: !lambda "return id(motor1_speed_value);"

  - id: motor1_reverse
    then:
      - output.turn_off: motor1_in1
      - output.turn_on: motor1_in2
      - output.set_level:
          id: motor1_pwm
          level: !lambda "return id(motor1_speed_value);"

  - id: motor1_stop
    then:
      - output.turn_off: motor1_in1
      - output.turn_off: motor1_in2
      - output.set_level:
          id: motor1_pwm
          level: 0%

  # Motor 2
  - id: motor2_forward
    then:
      - output.turn_on: motor2_in1
      - output.turn_off: motor2_in2
      - output.set_level:
          id: motor2_pwm
          level: !lambda "return id(motor2_speed_value);"

  - id: motor2_reverse
    then:
      - output.turn_off: motor2_in1
      - output.turn_on: motor2_in2
      - output.set_level:
          id: motor2_pwm
          level: !lambda "return id(motor2_speed_value);"

  - id: motor2_stop
    then:
      - output.turn_off: motor2_in1
      - output.turn_off: motor2_in2
      - output.set_level:
          id: motor2_pwm
          level: 0%

  # Motor 3
  - id: motor3_forward
    then:
      - output.turn_on: motor3_in1
      - output.turn_off: motor3_in2
      - output.set_level:
          id: motor3_pwm
          level: !lambda "return id(motor3_speed_value);"

  - id: motor3_reverse
    then:
      - output.turn_off: motor3_in1
      - output.turn_on: motor3_in2
      - output.set_level:
          id: motor3_pwm
          level: !lambda "return id(motor3_speed_value);"

  - id: motor3_stop
    then:
      - output.turn_off: motor3_in1
      - output.turn_off: motor3_in2
      - output.set_level:
          id: motor3_pwm
          level: 0%

  # Motor 4
  - id: motor4_forward
    then:
      - output.turn_on: motor4_in1
      - output.turn_off: motor4_in2
      - output.set_level:
          id: motor4_pwm
          level: !lambda "return id(motor4_speed_value);"

  - id: motor4_reverse
    then:
      - output.turn_off: motor4_in1
      - output.turn_on: motor4_in2
      - output.set_level:
          id: motor4_pwm
          level: !lambda "return id(motor4_speed_value);"

  - id: motor4_stop
    then:
      - output.turn_off: motor4_in1
      - output.turn_off: motor4_in2
      - output.set_level:
          id: motor4_pwm
          level: 0%

button:
  - platform: template
    name: "Motor1 Forward"
    on_press:
      - globals.set:
          id: motor1_direction
          value: '1'
      - script.execute: motor1_forward

  - platform: template
    name: "Motor1 Reverse"
    on_press:
      - globals.set:
          id: motor1_direction
          value: '-1'
      - script.execute: motor1_reverse

  - platform: template
    name: "Motor1 Stop"
    on_press:
      - globals.set:
          id: motor1_direction
          value: '0'
      - script.execute: motor1_stop

  - platform: template
    name: "Motor2 Forward"
    on_press:
      - globals.set:
          id: motor2_direction
          value: '1'
      - script.execute: motor2_forward

  - platform: template
    name: "Motor2 Reverse"
    on_press:
      - globals.set:
          id: motor2_direction
          value: '-1'
      - script.execute: motor2_reverse

  - platform: template
    name: "Motor2 Stop"
    on_press:
      - globals.set:
          id: motor2_direction
          value: '0'
      - script.execute: motor2_stop

  - platform: template
    name: "Motor3 Forward"
    on_press:
      - globals.set:
          id: motor3_direction
          value: '1'
      - script.execute: motor3_forward

  - platform: template
    name: "Motor3 Reverse"
    on_press:
      - globals.set:
          id: motor3_direction
          value: '-1'
      - script.execute: motor3_reverse

  - platform: template
    name: "Motor3 Stop"
    on_press:
      - globals.set:
          id: motor3_direction
          value: '0'
      - script.execute: motor3_stop

  - platform: template
    name: "Motor4 Forward"
    on_press:
      - globals.set:
          id: motor4_direction
          value: '1'
      - script.execute: motor4_forward

  - platform: template
    name: "Motor4 Reverse"
    on_press:
      - globals.set:
          id: motor4_direction
          value: '-1'
      - script.execute: motor4_reverse

  - platform: template
    name: "Motor4 Stop"
    on_press:
      - globals.set:
          id: motor4_direction
          value: '0'
      - script.execute: motor4_stop

number:
  - platform: template
    name: "Motor1 Speed"
    id: motor1_speed
    min_value: 0
    max_value: 100
    step: 1
    optimistic: true
    restore_value: true
    initial_value: 50
    set_action:
      - globals.set:
          id: motor1_speed_value
          value: !lambda "return x / 100.0;"
      - if:
          condition:
            lambda: "return id(motor1_direction) == 1;"
          then:
            - script.execute: motor1_forward
      - if:
          condition:
            lambda: "return id(motor1_direction) == -1;"
          then:
            - script.execute: motor1_reverse

  - platform: template
    name: "Motor2 Speed"
    id: motor2_speed
    min_value: 0
    max_value: 100
    step: 1
    optimistic: true
    restore_value: true
    initial_value: 50
    set_action:
      - globals.set:
          id: motor2_speed_value
          value: !lambda "return x / 100.0;"
      - if:
          condition:
            lambda: "return id(motor2_direction) == 1;"
          then:
            - script.execute: motor2_forward
      - if:
          condition:
            lambda: "return id(motor2_direction) == -1;"
          then:
            - script.execute: motor2_reverse

  - platform: template
    name: "Motor3 Speed"
    id: motor3_speed
    min_value: 0
    max_value: 100
    step: 1
    optimistic: true
    restore_value: true
    initial_value: 50
    set_action:
      - globals.set:
          id: motor3_speed_value
          value: !lambda "return x / 100.0;"
      - if:
          condition:
            lambda: "return id(motor3_direction) == 1;"
          then:
            - script.execute: motor3_forward
      - if:
          condition:
            lambda: "return id(motor3_direction) == -1;"
          then:
            - script.execute: motor3_reverse

  - platform: template
    name: "Motor4 Speed"
    id: motor4_speed
    min_value: 0
    max_value: 100
    step: 1
    optimistic: true
    restore_value: true
    initial_value: 50
    set_action:
      - globals.set:
          id: motor4_speed_value
          value: !lambda "return x / 100.0;"
      - if:
          condition:
            lambda: "return id(motor4_direction) == 1;"
          then:
            - script.execute: motor4_forward
      - if:
          condition:
            lambda: "return id(motor4_direction) == -1;"
          then:
            - script.execute: motor4_reverse
   
yaml file download:

.txt   HA_4_motor.txt (Size: 9 KB / Downloads: 53)

Print this item

  MT4 ESP32-S3 IO pins define
Posted by: admin - 07-11-2026, 02:09 AM - Forum: MT4 - No Replies

IIC Bus:

SDA:GPIO5
SCL:GPIO4

24C02 EPROM i2c address: 0x50

-----------------

Ethernet (W5500) I/O define:

clk_pin: GPIO42
mosi_pin: GPIO43
miso_pin: GPIO44
cs_pin: GPIO41

interrupt_pin: GPIO2
reset_pin: GPIO1

--------------------
RS485:
RXD:GPIO7
TXD:GPIO6

Tuya module:
RXD:GPIO17
TXD:GPIO16

Tuya network button: Tuya module's P28
Tuya network LED: Tuya module's P16
--------------------
1-Wire-TEP1:GPIO18
1-Wire-TEP2:GPIO8

--------------------

433MHz RF receiver: GPIO38
IR receiver: GPIO15

DL(download) button: GPIO0
---------------------
Motor1:
IN1-1: GPIO39
IN1-2: GPIO46
PWM1: GPIO9

Motor2:
IN2-1: GPIO11
IN2-2: GPIO10
PWM2: GPIO12

Motor3:
IN3-1: GPIO13
IN3-2: GPIO47
PWM3: GPIO14

Motor4:
IN4-1: GPIO48
IN4-2: GPIO45
PWM4: GPIO21

   

Print this item

  B32M maximum voltage
Posted by: audiotek10 - 07-09-2026, 07:51 AM - Forum: DIY Project - Replies (1)

The power supply is always shown as 12-24V 

I want to use this in a motorhome/RV and we have 24V LiFePO4 batteries. This can charge up to 28.8V. Is this safe with the B32M? How strict is the limit?

Print this item

  KinCony F16 work with Control4 EA-1
Posted by: admin - 07-07-2026, 07:34 AM - Forum: KinCony integrate with Control4 home automation - No Replies

   
   
   
F16 enable TCP Server mode, port 50088
   
copy these driver files to this path:
   
found kincony devices.
   
   
   
scene mode:
   

Print this item

  KinCony Driver File For Control4
Posted by: admin - 07-07-2026, 07:05 AM - Forum: KinCony integrate with Control4 home automation - No Replies

KinCony Driver File For Control4

.zip   Control4-KinCony-Driver.zip (Size: 1.11 MB / Downloads: 94)

Print this item

  KinCony Gateway User Guide
Posted by: admin - 07-07-2026, 07:03 AM - Forum: KinCony integrate with Control4 home automation - No Replies

KinCony Gateway User Guide

.pdf   KinCony Gateway User Guide.pdf (Size: 138.81 KB / Downloads: 97)

Print this item

  KinCony Contact Driver User Guide
Posted by: admin - 07-07-2026, 07:03 AM - Forum: KinCony integrate with Control4 home automation - No Replies

KinCony Contact Driver User Guide

.pdf   KinCony Contact Driver User Guide.pdf (Size: 126.08 KB / Downloads: 109)

Print this item

  KinCony Light Driver User Guide
Posted by: admin - 07-07-2026, 07:02 AM - Forum: KinCony integrate with Control4 home automation - No Replies

KinCony Light Driver User Guide

.pdf   KinCony Light Driver User Guide.pdf (Size: 91.17 KB / Downloads: 102)

Print this item

  KinCony Relay Driver User Guide
Posted by: admin - 07-07-2026, 07:02 AM - Forum: KinCony integrate with Control4 home automation - No Replies

KinCony Relay Driver User Guide

.pdf   KinCony Relay Driver User Guide.pdf (Size: 115.6 KB / Downloads: 91)

Print this item