User Tools

Site Tools


Navigation Menu

Flight-Control

<
Previous mounth
09/26/2023
>
Next mounth
SMTWFTS
39
24
24
25
25
26
26
27282930
4001020304050607
4108091011121314
4215161718192021
4322232425262728









Hot Projects

SEEDStack

SEEDStack - Open 3D printable seed/sprouting systemDIY Food Hacking

UCSSPM

UCSSPM - Unified Clear-Sky Solar Prediction ModelOpen Solar Power

picoReflow

picoReflow - DIY PID Reflow Oven Controller based on RaspberryPiDIY Reflow Soldering

PiGI

PiGI - DIY Geiger Counter based on RaspberryPiRasPi Geiger Counter

DIY ARA-2000

Active Wideband Receiver Antenna for SDR - ARA-2000Wideband Antenna

DSpace

DSPace - Map everythingMap everything!

Mission-Tags

Pimp my Riden RD-6018W

This Episode will focus solely on hacking around in the Riden RD-6018W. Per default, the W version comes with a wireless interface and Ridens android app. Since that is less than useful the idea came up to see if we could flash our own firmware onto it.

Luckily Riden uses a COTS ESP12 module. Unluckily the module isn't simply flashed by plugging it into USB like we are used on the ESP32 nodemcu (and the likes) modules. The next task was to analyze and reverse engineer the module and its PCB implementation and hack a little USB-Serial adapter and breadboard magic, to flash a specific esphome firmware that talks modbus to the RD-6018 and exposes the control interfaces and log data to home-assistant.

After that was successfully done, control is now available in Home-Assistant and long term log-data is stored in Prometheus and available in Grafana.

Last but not least USB connection and working with the open-source toolkit RidenGUI also turned out to be no problem at all. All in all, this was a very successful session to get the most out of the Riden RD-6018 and the same should apply to the RD-6006 and RD-6012 models.

Hardware

Software

Update

As requested, here is the esphome config for it:

################################################################################
#  RD-6018W ESP-12F Configuration  #############################################
#  V1.0 chrono (Apollo-NG) 2022-11-13

substitutions:
  name: 'rd-6018'
  friendly_name: 'RD-6018'
 
################################################################################
#  GENERAL  ####################################################################

esphome:
  name:                         ${name}
  platform:                     ESP8266
  board:                        esp01_1m

wifi:
  ssid:                         !secret wifi_ssid
  password:                     !secret wifi_psk
  domain:                       ".iot.apollo.lan"
  fast_connect:                 on

logger:
  baud_rate:                    0
 
# Enable Home Assistant API and set reboot timeout
api:
  reboot_timeout:               60s
 
# Enable OTA updates
ota:

# Time sync needed for total_daily_energy calcs 
time:
  - platform:                   homeassistant
    id:                         homeassistant_time
    timezone:                   "UTC"
 
################################################################################
#  BUS Config  #################################################################

uart:
  tx_pin: 1
  rx_pin: 3
  baud_rate: 1000000
  debug:

modbus_controller:
  address: 0x01
  update_interval: 10s
 
################################################################################
#  SENSORS  ####################################################################

text_sensor:

  - platform:                   version
    name:                       "${name} - Version"
    icon:                       mdi:cube-outline
 

sensor:

  - platform:                   uptime
    name:                       "${name} - Uptime"
    update_interval:            60s
    icon:                       mdi:clock-outline

  - platform:                   wifi_signal
    name:                       "${name} - Wifi Signal"
    update_interval:            10s
    icon:                       mdi:wifi

  - platform: modbus_controller
    name: '${friendly_name} Internal Temperature'
    register_type: holding
    address: 4
    register_count: 2
    bitmask: 0xFFFF
    value_type: U_DWORD
    unit_of_measurement: °C
    state_class: measurement
    device_class: temperature
    lambda: |
      return data[item->offset + 1] == 0 ? x : -x;
  - platform: modbus_controller
    name: '${friendly_name} External Temperature'
    register_type: holding
    address: 34
    register_count: 2
    bitmask: 0xFFFF
    value_type: U_DWORD
    unit_of_measurement: °C
    state_class: measurement
    device_class: temperature
    lambda: |
      return data[item->offset + 1] == 0 ? x : -x;
  - platform: modbus_controller
    name: '${friendly_name} Output Voltage'
    register_type: holding
    address: 10
    value_type: U_WORD
    unit_of_measurement: V
    state_class: measurement
    device_class: voltage
    accuracy_decimals: 2
    filters:
      - multiply: 0.01

  - platform: modbus_controller
    name: '${friendly_name} Output Current'
    register_type: holding
    address: 11
    value_type: U_WORD
    unit_of_measurement: A
    state_class: measurement
    device_class: current
    accuracy_decimals: 2
    filters:
      - multiply: 0.01

  - platform: modbus_controller
    name: '${friendly_name} Output Energy'
    register_type: holding
    address: 12
    value_type: U_WORD
    unit_of_measurement: Ah
    state_class: measurement
    device_class: energy
    accuracy_decimals: 2
    filters:
      - multiply: 0.001
  - platform: modbus_controller
    name: '${friendly_name} Output Power'
    address: 13
    register_type: holding
    value_type: U_WORD
    unit_of_measurement: W
    state_class: measurement
    device_class: power
    accuracy_decimals: 2
    filters:
      - multiply: 0.01

  - platform: modbus_controller
    name: '${friendly_name} Input Voltage'
    register_type: holding
    address: 14
    value_type: U_WORD
    unit_of_measurement: V
    state_class: measurement
    device_class: voltage
    accuracy_decimals: 2
    filters:
      - multiply: 0.01

  - platform: modbus_controller
    name: '${friendly_name} Energy'
    internal: true
    register_type: holding
    address: 40
    value_type: U_DWORD
    unit_of_measurement: Wh
    state_class: measurement
    device_class: energy
    accuracy_decimals: 3
    filters:
      - multiply: 0.001

switch:
  - platform: modbus_controller
    name: '${friendly_name} Keypad Lock'
    address: 15
    register_type: holding
    bitmask: 1

  - platform: modbus_controller
    name: '${friendly_name} Power'
    address: 18
    register_type: holding
    bitmask: 1

number:
  - platform: modbus_controller
    name: '${friendly_name} Voltage Setting'
    address: 8
    value_type: U_WORD
    min_value: 0.01
    max_value: 60.0
    step: 0.01
    lambda: return x / 100.0f;
    multiply: 100

  - platform: modbus_controller
    name: '${friendly_name} Current Setting'
    address: 9
    value_type: U_WORD
    min_value: 0.01
    max_value: 18.0
    step: 0.01
    lambda: return x / 100.0f;
    multiply: 100

  - platform: modbus_controller
    name: '${friendly_name} Voltage Protection'
    entity_category: config
    address: 82
    value_type: U_WORD
    min_value: 0.01
    max_value: 60.0
    step: 0.01
    lambda: return x / 100.0f;
    multiply: 100

  - platform: modbus_controller
    name: '${friendly_name} Current Protection'
    entity_category: config
    address: 83
    value_type: U_WORD
    min_value: 0.01
    max_value: 18.0
    step: 0.01
    lambda: return x / 100.0f;
    multiply: 100

binary_sensor:
  - platform: modbus_controller
    name: '${friendly_name} Battery Mode'
    address: 32
    register_type: holding
    bitmask: 1

If you want to see more, please join Odysee and follow our channel there.

Discussion

Darkolov, 2023/04/19 12:42

Would that ESP12 esphome/grafana hack also work on a Riden RD-6024? Would you mind sharing your esphome config for it?

chrono, 2023/04/19 19:19, 2023/04/19 19:21

sure, see updated post above - i would guess that should work with the Riden/Ruideng RD-6024W as well but since I don't have that one I could only test and verify this on the RD-6018W. Just give it a try :)

Angel17, 2023/07/20 08:14

Such an interesting post. I enjoy reading this one. Lanai Screen Installation Spring Hill, FL

circleinteriorltd, 2023/08/07 08:49

A piece of very good information about Riden RD-6018W. You can use it as a Home Assistant module. It will be a great product when you design your beautiful home.

토토사이트 , 2023/08/14 03:33

I am continually looking online for articles that can facilitate me. Thank you! https://meoktwi.com/

https://therowdylender.com/, 2023/08/14 03:33

I stumbled on this while browsing on google I’ll be sure to come back. thanks for sharing. https://therowdylender.com/

메이저사이트, 2023/08/14 03:33

What’s up colleagues, its enormous post regarding educationand entirely defined, keep it up all the time. https://totogorae.com/

먹튀검증, 2023/08/14 03:34

F*ckin¦ Have you ever thought about including a little bit more than just your articles? https://mymelee.com/

UFABET1688X, 2023/08/24 15:15

ufaslot แทงบอลได้ทุกที่ ทันทีที่ต้องการ สล็อตเว็บตรงอันดับ1 ที่ให้คุณสนุกได้ทุกรูปแบบ

cococ, 2023/09/12 08:49

Les répliques de montres sont des montres fabriquées pour ressembler [url=https://www.repliquemontreluxechine.com]replique montre[/url] etroitement aux montres authentiques de marques de luxe. Elles sont souvent moins chères que les montres authentiques, ce qui les [url=https://www.repliquemontreluxechine.com/categorie/panerai]replique panerai[/url] rend plus accessibles à un plus grand nombre de personnes. Voici quelques raisons pour lesquelles certaines personnes choisissent d'acheter des répliques de montres , Les montres de luxe authentiques [url=https://www.montrerepliquesuisse.com]replique suisse[/url] peuvent coûter des milliers, voire des dizaines de milliers d'euros. Les répliques de montres offrent [url=https://www.suissereplique.com/categorie/iwc]replique iwc[/url] une alternative moins chère pour ceux qui veulent le look [url=https://www.orologireplicamilano.com/categoria/vacheron-constantin]replica Vacheron Constantin[/url] et le style d'une montre de luxe sans payer le prix exorbitant.

Enter your comment. Wiki syntax is allowed:
K A Z C Q