Fma965

Community Developer
  • Posts

    175
  • Joined

  • Last visited

Everything posted by Fma965

  1. Guys i need more peoples AX outputs to be able to fully determine what values are important etc if you have a AX psu download the compiled binary above and send me a text copy of the applications output like above. @FranciumF @buggex @cpthzrd
  2. So guys, i've made some progress with the help of @rasmus This is running on UnRAID Here is a compiled version of just the CLI application, extract and dump it in /usr/local/bin via SCP (SSH), windows users can use WinSCP for example. the path of the binary needs to be /usr/local/bin/cpsumon/cpsumoncli https://drive.google.com/file/d/1LqRRKbqku96GYuQ8oHc9_TQDSY58uQKi/view?usp=sharing you will still need to do the unbind/bind THIS IS NOT A USER INTERFACE THIS IS MERELY THE COMPILED BINARY, I AM WORKING ON ADDING SUPPORT BUT THIS IS JUST A PROGRESS UPDATE.
  3. if any one wants to help get AX support working, join my discord https://discord.gg/rjb3z87 in channel #corsair-psu
  4. echo -n "1-11:1.0" > /sys/bus/usb/drivers/cp210x/bind is the 1-11:1.0 the same after you reboot? i presume it is. if so a simple edit to your /boot/config/go file will allow set that driver correctly on boot each time and then the rest could be handled in my plugin.
  5. Please follow what @rasmus has done above and send me the output of the command. i wan't to check how consistent the output data is.
  6. Yeah this is a super simple conversion of the ini files that unraid / dynamix use and converts them to JSON just for external access.
  7. AX PSU's use a different method, i am looking in to what can be done based on the information above. Difficult to implement without having my own AX psu though.
  8. I've spoke to him and have some idea on what to do, it's a little more difficult for me than his as he uses a docker container. i will see what i can do when i get time, if anyone wants to implement it and send a PR thats fine.
  9. for what? also aren't you the same guy i was speaking to on discord?
  10. AX PSU's won't work as discussed previously in this thread, they work on completely different protocols, the ones in that list you quoted are already in the ax-test build so if it's not working then it's not supported.
  11. try the test version https://raw.githubusercontent.com/Cyanlabs/corsairpsu-unraid/ax-test/corsairpsu.plg 0x1c09, /* RM550i */ 0x1c0a, /* RM650i */ 0x1c0b, /* RM750i */ 0x1c0c, /* RM850i */ 0x1c0d, /* RM1000i */ 0x1c03, /* HX550i */ 0x1c04, /* HX650i */ 0x1c05, /* HX750i */ 0x1c06, /* HX850i */ 0x1c07, /* HX1000i */ 0x1c08, /* HX1200i */
  12. For those wanted to access the json externally and are on 6.8+ i have made a quick hack to bring back Basic Auth. if you visit /login the form will still work but it won't auto redirect and force form auth any more. you need to create a htpasswd file in /boot/config/htpasswd https://www.htaccesstools.com/htpasswd-generator/ and then set your go file in /boot/config/go to be this This will patch a few lines in the nginx emhttp-servers.conf file allowing Basic Auth once again. #!/bin/bash # Start the Management Utility /usr/local/sbin/emhttp & # Wait for Nginx to be running before patching Basic Auth while [ ! -f /var/run/nginx.pid ] do sleep 2 # or less like 0.2 done # Patch Basic Auth back in to Unraid 6.8+ (Make sure /boot/config/htpasswd exists and is valid) cp /boot/config/htpasswd /etc/nginx/basic sed -i 's%return 302 \$scheme:\/\/\$http_host\/login;%# return 302 \$scheme:\/\/\$http_host\/login;%' /etc/nginx/conf.d/emhttp-servers.conf sed -i '/^auth_request\ \/auth_request.php;/a auth_basic "Unraid";\nauth_basic_user_file /etc/nginx/basic;' /etc/nginx/conf.d/emhttp-servers.conf nginx -s reload # End Nginx Basic Auth Patch
  13. Well as it's unlikely that this is going to be added any time soon @demonspork Here are some on the fly sed commands to patch the nginx conf file Create a htpasswd file in /boot/config with a valud basic authentication cp /boot/config/htpasswd /etc/nginx/basic sed -i 's%return 302 \$scheme:\/\/\$http_host\/login;%# return 302 \$scheme:\/\/\$http_host\/login;%' /etc/nginx/conf.d/emhttp-servers.conf sed -i '/^auth_request\ \/auth_request.php;/a auth_basic "Unraid";\nauth_basic_user_file /etc/nginx/basic;' /etc/nginx/conf.d/emhttp-servers.conf nginx -s reload This will break the auto redirect to /login but also makes it possible to use basic auth Using the CA User Scripts Plugin Then in the /boot/config/plugins/user.scripts/scripts/Fix Basic Auth/script file #!/bin/bash while [ ! -f /var/run/nginx.pid ] do sleep 2 # or less like 0.2 done cp /boot/config/htpasswd /etc/nginx/basic sed -i 's%return 302 \$scheme:\/\/\$http_host\/login;%# return 302 \$scheme:\/\/\$http_host\/login;%' /etc/nginx/conf.d/emhttp-servers.conf sed -i '/^auth_request\ \/auth_request.php;/a auth_basic "Unraid";\nauth_basic_user_file /etc/nginx/basic;' /etc/nginx/conf.d/emhttp-servers.conf nginx -s reload UPDATE: i have made it work with the /boot/config/go file #!/bin/bash # Start the Management Utility /usr/local/sbin/emhttp & # Wait for Nginx to be running before patching Basic Auth while [ ! -f /var/run/nginx.pid ] do sleep 2 # or less like 0.2 done # Patch Basic Auth back in to Unraid 6.8+ (Make sure /boot/config/htpasswd exists and is valid) cp /boot/config/htpasswd /etc/nginx/basic sed -i 's%return 302 \$scheme:\/\/\$http_host\/login;%# return 302 \$scheme:\/\/\$http_host\/login;%' /etc/nginx/conf.d/emhttp-servers.conf sed -i '/^auth_request\ \/auth_request.php;/a auth_basic "Unraid";\nauth_basic_user_file /etc/nginx/basic;' /etc/nginx/conf.d/emhttp-servers.conf nginx -s reload # End Nginx Basic Auth Patch
  14. Yeah thought as much, was worth a try though. not sure why Corsair decided to change the way their PSU's worked for certain models but it's typical of companies.
  15. Can you run corsairmi via SSH / console and show me the output. i'm guessing based on my research that the AXi devices use different code, C/C++ is way beyond me so thats not something i would be able to do and it looks like the dev of corsairmi itself is no longer active.
  16. https://raw.githubusercontent.com/Cyanlabs/corsairpsu-unraid/ax-test/corsairpsu.plg Please try the above URL. paste it in the install plugin section of Unraid. I would suggest removing the current version first although shouldn't technically be needed. Technically although untested the following devices should be compatible in the ax-text build 0x1c09, /* RM550i */ 0x1c0a, /* RM650i */ 0x1c0b, /* RM750i */ 0x1c0c, /* RM850i */ 0x1c0d, /* RM1000i */ 0x1c03, /* HX550i */ 0x1c04, /* HX650i */ 0x1c05, /* HX750i */ 0x1c06, /* HX850i */ 0x1c07, /* HX1000i */ 0x1c08, /* HX1200i */ 0x1c0e, /* AX850i */ 0x1c0f, /* AX1000i */ 0x1c10, /* AX1200i */ 0x1c02, /* AX1500i */ 0x1c11, /* AX1600i */ I have no idea if AXi devices use the same protocols so people with these units will need to test. Thanks to this file for the list of Device ID's https://github.com/audiohacked/OpenCorsairLink/blob/testing/device.c
  17. Tell me the device id from the system devices page assuming it has a USB interface and works in iCue / Link it should be the same code as the other devices and just needs the device ID adding to it.
  18. awesome this is released now and to be honest as long as there are no issues i doubt i will update it too much, i may try and add compatibility with othe PSU's if people provide me with the device id. Unfortunately though at the current state of unraid 6.8 with no basic auth or any public information about an API this will stop being accessible from Home Assistant in Unraid 6.8 unless ofcourse a API is implemented.
  19. For any future discussion on my fork of this plugin please go here
  20. So if you have been following this plugin you will know that it was originally created by realies I have since decided to improve upon this and have made multiple tweaks including adding support for the new Unraid Dashboard and a better JSON layout for easier access from Home Assistant etc. Unlike the original this version now also supports AXi PSU's via the command line tool cpsumoncli I decided it was best to start a separate thread for this as i don't want to continue to hijack the original creators old thread incase he returns. Current PSU's supported by corsairmi are 0x1c09, /* RM550i */ 0x1c0a, /* RM650i */ 0x1c0b, /* RM750i */ 0x1c0c, /* RM850i */ 0x1c0d, /* RM1000i */ 0x1c03, /* HX550i */ 0x1c04, /* HX650i */ 0x1c05, /* HX750i */ 0x1c06, /* HX850i */ 0x1c07, /* HX1000i */ 0x1c08, /* HX1200i */ As far as i know all AXi PSU's are supported via cpsumoncli If your PSU is compatible with Link / iCUE and not in the list above let me know the Device ID and i will see what i can do. You can find the device id at http://TOWER//Tools/SysDevs and then under "USB Devices" look for something like this Bus 001 Device 002: ID 1b1c:1c0d Corsair Please see screenshots below of the new design on the Unraid Dashboard, Plugin can be installed from the Community Apps plugin or from the Install URL below. https://raw.githubusercontent.com/Cyanlabs/corsairpsu-unraid/master/corsairpsu.plg Home Assistant example code sensor: - platform: rest name: Corsair PSU json_attributes: - temp1 - temp2 - fan_rpm - capacity - 12v_watts - 5v_watts - 3v_watts - watts - load - 12v_load - 5v_load - 3v_load - uptime - poweredon - efficiency resource: "http://TOWER/plugins/corsairpsu/status.php" username: root password: !secret unraid_password authentication: basic value_template: '{{ value_json.product }}' headers: User-Agent: Home Assistant Content-Type: application/json sensor: - platform: template sensors: psu_temp1: friendly_name: 'Temperature 1' value_template: '{{ states.sensor.corsair_psu.attributes["temp1"] }}' psu_temp2: friendly_name: 'Temperature 2' value_template: '{{ states.sensor.corsair_psu.attributes["temp2"] }}' psu_fan_rpm: friendly_name: 'Fan Speed' value_template: '{{ states.sensor.corsair_psu.attributes["fan_rpm"] }}' psu_capactiy: friendly_name: 'Capacity' value_template: '{{ states.sensor.corsair_psu.attributes["capacity"] }}' psu_12v_watts: friendly_name: '12v Watts' value_template: '{{ states.sensor.corsair_psu.attributes["12v_watts"] }}' psu_5v_watts: friendly_name: '5v Watts' value_template: '{{ states.sensor.corsair_psu.attributes["5v_watts"] }}' psu_3v_watts: friendly_name: '3v Watts' value_template: '{{ states.sensor.corsair_psu.attributes["3v_watts"] }}' psu_watts: friendly_name: 'Current Load' value_template: '{{ states.sensor.corsair_psu.attributes["watts"] }}' psu_load: friendly_name: 'Current Load Percentage' value_template: '{{ states.sensor.corsair_psu.attributes["load"] }}' psu_12v_load: friendly_name: '12v Load' value_template: '{{ states.sensor.corsair_psu.attributes["12v_load"] }}' psu_5v_load: friendly_name: '5v Load' value_template: '{{ states.sensor.corsair_psu.attributes["5v_load"] }}' psu_3v_load: friendly_name: '3v Load' value_template: '{{ states.sensor.corsair_psu.attributes["3v_load"] }}' psu_uptime: friendly_name: 'Uptime' value_template: '{{ states.sensor.corsair_psu.attributes["uptime"] }}' psu_poweredon: friendly_name: 'Total Power On Hours' value_template: '{{ states.sensor.corsair_psu.attributes["poweredon"] }}' psu_efficiency: friendly_name: 'Efficiency' value_template: '{{ states.sensor.corsair_psu.attributes["efficiency"] }}'
  21. i missed your reply, it would seem corsairmi doesn't support it? I think you would literally need to add your ID from system devices e.g and compile the code. assuming it supports corsair link etc. ID 1b1c:1c0d Corsair... https://github.com/notaz/corsairmi/blob/master/corsairmi.c#L77