{"id":15664374,"url":"https://github.com/syssi/esphome-dps","last_synced_at":"2025-04-15T22:50:56.597Z","repository":{"id":37992059,"uuid":"501529368","full_name":"syssi/esphome-dps","owner":"syssi","description":"ESPHome component to monitor and control the RDTech DPS series","archived":false,"fork":false,"pushed_at":"2025-03-03T10:00:50.000Z","size":952,"stargazers_count":26,"open_issues_count":5,"forks_count":4,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-29T02:12:13.207Z","etag":null,"topics":["dps","dps5020","esphome","esphome-component","hacktoberfest","uart"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/syssi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"buy_me_a_coffee":"syssi"}},"created_at":"2022-06-09T06:22:14.000Z","updated_at":"2025-03-18T11:21:54.000Z","dependencies_parsed_at":"2024-03-06T18:39:29.753Z","dependency_job_id":"79c87179-a66b-4297-9e7f-f143e244a15a","html_url":"https://github.com/syssi/esphome-dps","commit_stats":{"total_commits":54,"total_committers":3,"mean_commits":18.0,"dds":"0.40740740740740744","last_synced_commit":"64b977bfed0b7c23fe93af5f4e4c32007e3e4493"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syssi%2Fesphome-dps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syssi%2Fesphome-dps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syssi%2Fesphome-dps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syssi%2Fesphome-dps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/syssi","download_url":"https://codeload.github.com/syssi/esphome-dps/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249167434,"owners_count":21223505,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dps","dps5020","esphome","esphome-component","hacktoberfest","uart"],"created_at":"2024-10-03T13:42:19.882Z","updated_at":"2025-04-15T22:50:56.582Z","avatar_url":"https://github.com/syssi.png","language":"C++","funding_links":["https://buymeacoffee.com/syssi","https://www.buymeacoffee.com/syssi"],"categories":[],"sub_categories":[],"readme":"# esphome-dps\n\n![GitHub actions](https://github.com/syssi/esphome-dps/actions/workflows/ci.yaml/badge.svg)\n![GitHub stars](https://img.shields.io/github/stars/syssi/esphome-dps)\n![GitHub forks](https://img.shields.io/github/forks/syssi/esphome-dps)\n![GitHub watchers](https://img.shields.io/github/watchers/syssi/esphome-dps)\n[![\"Buy Me A Coffee\"](https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg)](https://www.buymeacoffee.com/syssi)\n\nESPHome component to monitor and control the RDTech Digital Control Power Supply (DPS) series via UART-TTL.  \n\n![Lovelace entities card](lovelace-entities-card.png \"Lovelace entities card\")\n\n## Supported devices\n\n* DPS3005 Buck, 0-30V, 0-5A, 160W (`current_resolution: HIGH`)\n* DPS5005 Buck, 0-50V, 0-5A, 250W (`current_resolution: HIGH`)\n* DPS8005 Buck, 0-80V, 0-5.1A, 408W (`current_resolution: HIGH`)\n* DPS5015 Buck, 0-50V, 0-15A, 750W (`current_resolution: LOW`)\n* DPS5020 Buck, 0-50V, 0-20A, 1000W (`current_resolution: LOW`, tested by [@romeox44](https://github.com/syssi/esphome-dps/discussions/1))\n* DPH5005 Buck/Boost, 0-50V, 0-5A, 250W (`current_resolution: HIGH`), reported as model 5205\n\n## Requirements\n\n* [ESPHome 2024.6.0 or higher](https://github.com/esphome/esphome/releases).\n* Generic ESP32 or ESP8266 board\n\n## Schematics\n\n```\n\n┌──────────┐                ┌─────────┐\n│          │\u003c----- RX -----\u003e│         │\n│ DPS5020  │\u003c----- TX -----\u003e│ ESP32/  │\n│          │\u003c----- GND ----\u003e│ ESP8266 │\u003c-- 3.3V\n│          │                │         │\u003c-- GND\n└──────────┘                └─────────┘\n\n\n\n│            o GND ── GND                │\n│            o TXD ── GPIO5 (`rx_pin`)   │\n│            o RXD ── GPIO4 (`tx_pin`)   │\n│            o VCC                       │\n└─[oooooooo]─────────────────[oooooooo]──┘\n\n\n```\n\n![DPS3005 connector pinout](images/dps3005-pinout.jpg \"DPS3005 connector pinout\")\n\nThe connector is a 4 Pin GH Molex Pico 1.25mm. Do not connect the ESP to the VCC pin of the DPS in any case. [This will destroy the voltage regulator of the device](https://tech.scargill.net/dps5020-diy-power-supply/#comment-60544).\n\n## Installation\n\nYou can install this component with [ESPHome external components feature](https://esphome.io/components/external_components.html) like this:\n```yaml\nexternal_components:\n  - source: github://syssi/esphome-dps@main\n```\n\nor just use the `esp32-example.yaml` as proof of concept:\n\n```bash\n# Install esphome\npip3 install esphome\n\n# Clone this external component\ngit clone https://github.com/syssi/esphome-dps.git\ncd esphome-dps\n\n# Create a secrets.yaml containing some setup specific secrets\ncat \u003e secrets.yaml \u003c\u003cEOF\nwifi_ssid: MY_WIFI_SSID\nwifi_password: MY_WIFI_PASSWORD\n\nmqtt_host: MY_MQTT_HOST\nmqtt_username: MY_MQTT_USERNAME\nmqtt_password: MY_MQTT_PASSWORD\nEOF\n\n# Validate the configuration, create a binary, upload it, and start logs\n# If you use a esp8266 run the esp8266-examle.yaml\nesphome run esp32-example.yaml\n```\n\n## Example response all sensors enabled\n\n```\n[D][sensor:124]: 'dps voltage setting': Sending state 36.00000 V with 2 decimals of accuracy\n[D][number:012]: 'dps voltage setting': Sending state 36.000000\n[D][sensor:124]: 'dps current setting': Sending state 10.00000 A with 2 decimals of accuracy\n[D][number:012]: 'dps current setting': Sending state 10.000000\n[D][sensor:124]: 'dps output voltage': Sending state 35.98000 V with 2 decimals of accuracy\n[D][sensor:124]: 'dps output current': Sending state 2.37000 A with 2 decimals of accuracy\n[D][sensor:124]: 'dps output power': Sending state 85.27000 W with 2 decimals of accuracy\n[D][sensor:124]: 'dps input voltage': Sending state 42.31000 V with 2 decimals of accuracy\n[D][binary_sensor:036]: 'dps key lock': Sending state OFF\n[D][switch:037]: 'dps key lock': Sending state OFF\n[D][text_sensor:067]: 'dps protection status': Sending state 'Normal'\n[D][binary_sensor:036]: 'dps constant current mode': Sending state OFF\n[D][binary_sensor:036]: 'dps output': Sending state ON\n[D][switch:037]: 'dps output': Sending state ON\n[D][sensor:124]: 'dps backlight brightness': Sending state 0.00000 % with 0 decimals of accuracy\n[D][text_sensor:067]: 'dps device model': Sending state 'DPS5020'\n[D][sensor:124]: 'dps firmware version': Sending state 17.00000  with 0 decimals of accuracy\n```\n\n## Known issues\n\nNone.\n\n## Debugging\n\nIf this component doesn't work out of the box for your device please update your configuration to enable the debug output of the UART component and increase the log level to the see outgoing and incoming serial traffic:\n\n```\nlogger:\n  level: DEBUG\n\nuart:\n  id: uart_0\n  baud_rate: 9600\n  tx_pin: ${tx_pin}\n  rx_pin: ${rx_pin}\n  debug:\n    direction: BOTH\n```\n\n## References\n\n* https://sigrok.org/wiki/RDTech_DPS_series\n* https://github.com/rfinnie/rdserialtool\n* https://github.com/AntaresAdroit/RDTech_PS_Comm\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyssi%2Fesphome-dps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsyssi%2Fesphome-dps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyssi%2Fesphome-dps/lists"}