December 25, 20196 yr I plan on adding progress/percent bars if i figure out how the existing progress bars work on the dashboard not released yet, code is super messy UPDATE: Now released. please note that currently this uses a bit of a hack to make it work as a dashboard panel, it doesn't currently support moving the panel (well it does move but it wont stick) i know a way to fix this but haven't got the time to do this right now, it's christmas lol. Beta version as shown above can be downloaded from https://raw.githubusercontent.com/Cyanlabs/corsairpsu-unraid/beta/corsairpsu.plg Edited December 29, 20196 yr by Fma965
December 25, 20196 yr 13 hours ago, Fma965 said: 12v is usually mechanical side of the hard drives, graphics cards etc. 5v is the logic controllers of the hard drives usually and sometimes 3.3v aswell I think if you are trying to reduce power only looking at 12V would be your best bet. EDIT: to make sure you have the rails correctly indentified send me the output of corsairmi via ssh/terminal That would be super cool to have it as a dashboard panel. Here is my output: name: 'HX1000i' vendor: 'CORSAIR' product: 'HX1000i' powered: 258127 (2d. 23h) uptime: 250927 (2d. 21h) temp1: 42.8 temp2: 35.2 fan rpm: 0.0 supply volts: 230.0 total watts: 82.0 output0 volts: 12.1 output0 amps: 4.2 output0 watts: 50.0 output1 volts: 5.0 output1 amps: 3.9 output1 watts: 19.0 output2 volts: 3.3 output2 amps: 3.0 output2 watts: 9.5 hmmm maybe I can use this ssh method to drag some stats into into home assistant
December 25, 20196 yr 1 hour ago, LintHart said: That would be super cool to have it as a dashboard panel. Here is my output: name: 'HX1000i' vendor: 'CORSAIR' product: 'HX1000i' powered: 258127 (2d. 23h) uptime: 250927 (2d. 21h) temp1: 42.8 temp2: 35.2 fan rpm: 0.0 supply volts: 230.0 total watts: 82.0 output0 volts: 12.1 output0 amps: 4.2 output0 watts: 50.0 output1 volts: 5.0 output1 amps: 3.9 output1 watts: 19.0 output2 volts: 3.3 output2 amps: 3.0 output2 watts: 9.5 hmmm maybe I can use this ssh method to drag some stats into into home assistant I would personally pull from http://TOWER/plugins/corsairpsu/status.php instead of ssh Your layout is the same as mine so I expect all PSU will be output 0 is 12v and output 1 is 5v and output 2 is 3.3v. my new dashboard panel version auto detects this anyway This is the output of the php page { "temp1":"44.2 \u00b0c", "temp2":"37.2 \u00b0c", "fan_rpm":"0.0 RPM", "capacity":"1000W", "12v_watts":"72.0W", "5v_watts":"24.5W", "3v_watts":"11.0W", "watts":"106.0W", "load":"11%", "vendor":"CORSAIR", "product":"RM1000i", "uptime":"6d. 12h", "poweredon":"159d. 3h" } Edited December 25, 20196 yr by Fma965
December 25, 20196 yr 22 minutes ago, Fma965 said: I would personally pull from http://TOWER/plugins/corsairpsu/status.php instead of ssh Your layout is the same as mine so I expect all PSU will be output 0 is 12v and output 1 is 5v and output 2 is 3.3v. my new dashboard panel version auto detects this anyway This is the output of the php page { "temp1":"44.2 \u00b0c", "temp2":"37.2 \u00b0c", "fan_rpm":"0.0 RPM", "capacity":"1000W", "12v_watts":"72.0W", "5v_watts":"24.5W", "3v_watts":"11.0W", "watts":"106.0W", "load":"11%", "vendor":"CORSAIR", "product":"RM1000i", "uptime":"6d. 12h", "poweredon":"159d. 3h" } That looks like a game changer thank you! Much research to do to learn how to scrape/utilise that but very excited about the possibility. I agree that would be much nicer than ssh
December 25, 20196 yr 6 hours ago, LintHart said: That looks like a game changer thank you! Much research to do to learn how to scrape/utilise that but very excited about the possibility. I agree that would be much nicer than ssh I use home assistant my self. I could potentially implement a .PHP?value=temp1 or .PHP?value=fan_rpm etc but I think ha can just parse the JSON anyway
December 25, 20196 yr 5 hours ago, Fma965 said: I use home assistant my self. I could potentially implement a .PHP?value=temp1 or .PHP?value=fan_rpm etc but I think ha can just parse the JSON anyway Any assistance in making it easier for HA would be greatly appreciated. If JSON, would that best using the RESTful sensor? also just confirming this is expected, the PHP output for me is only showing the actual values, there are no categories/headings (unsure what the correct term is) like temp1. If I go to the URL it gives me: ["3d. 10h","42.2 \/ 34.8","0.0","1000W","50.0W","18.5W","9.5W","78.0W","8%"]
December 26, 20196 yr 15 hours ago, LintHart said: Any assistance in making it easier for HA would be greatly appreciated. If JSON, would that best using the RESTful sensor? also just confirming this is expected, the PHP output for me is only showing the actual values, there are no categories/headings (unsure what the correct term is) like temp1. If I go to the URL it gives me: ["3d. 10h","42.2 \/ 34.8","0.0","1000W","50.0W","18.5W","9.5W","78.0W","8%"] only my new version supports the new layout my understanding is something like this, replace value_json.temp1 with value_json.XXXX depending on which value you want. - platform: rest resource: "http://192.168.1.3:965/plugins/corsairpsu/status.php" username: root password: !secret unraid_password authentication: basic value_template: '{{ value_json.temp1 }}' headers: User-Agent: Home Assistant Content-Type: application/json EDIT: just tested it works. Edited December 26, 20196 yr by Fma965
December 26, 20196 yr sensor: - platform: rest name: Corsair PSU json_attributes: - temp1 - temp2 - fan_rpm - capacity - 12v_watts - 5v_watts - 3v_watts - watts - load - uptime - poweredon 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 @LintHart This code works and will get all those attributes in to a sensor called sensor.corsair_psu you can also seperate them in to seperate sensors if you wanted with this code 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_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"] }}' I will likely tweak it to add raw values in the php file so you can get temp1 which would be 45°c or you can get temp1_raw which would be just 45 instead of 45°c Edited January 3, 20206 yr by Fma965
December 27, 20196 yr 18 hours ago, Fma965 said: sensor: - platform: rest name: Corsair PSU json_attributes: - temp1 - temp2 - fan_rpm - capacity - 12v_watts - 5v_watts - 3v_watts - watts - load - uptime - poweredon 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 @LintHart This code works and will get all those attributes in to a sensor called sensor.corsair_psu you can also seperate them in to seperate sensors if you wanted with this code 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_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"] }}' I will likely tweak it to add raw values in the php file so you can get temp1 which would be 45°c or you can get temp1_raw which would be just 45 instead of 45°c You sir, are my personal hero for the day. Thank you so very much, I’m just thrilled to have this available to me in unraid and home assistant. It’s working great. Thank you also for helping and putting that together over the holidays
December 27, 20196 yr 7 hours ago, LintHart said: You sir, are my personal hero for the day. Thank you so very much, I’m just thrilled to have this available to me in unraid and home assistant. It’s working great. Thank you also for helping and putting that together over the holidays No worries, any issues let me know, the code for the redesigned dashboard is janky so if something breaks the dashboard on a new unraid version my first guess would be this plugin if anything.
December 29, 20196 yr Guys be aware that the repo has changed and therefore the already installed versions won't update any more, your best way around this is to remove the plugin and install it from the community apps plugin or with the updated URLS on https://github.com/CyanLabs/corsairpsu-unraid
December 30, 20196 yr Sadly plugin not support AXi psus , I got 1500AXi... Edited December 30, 20196 yr by ingux16
December 30, 20196 yr On 12/27/2019 at 2:24 AM, Fma965 said: sensor: - platform: rest name: Corsair PSU json_attributes: - temp1 - temp2 - fan_rpm - capacity - 12v_watts - 5v_watts - 3v_watts - watts - load - uptime - poweredon 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 @LintHart This code works and will get all those attributes in to a sensor called sensor.corsair_psu you can also seperate them in to seperate sensors if you wanted with this code 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_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"] }}' I will likely tweak it to add raw values in the php file so you can get temp1 which would be 45°c or you can get temp1_raw which would be just 45 instead of 45°c I think these raw values would assist me with a trouble I’m having with my mini graph cards. Then we can set our own unit of measurement and everything should work smoothly
December 30, 20196 yr 3 minutes ago, LintHart said: I think these raw values would assist me with a trouble I’m having with my mini graph cards. Then we can set our own unit of measurement and everything should work smoothly i finish work at 4pm (UK Time) i will get this done then
December 30, 20196 yr 14 minutes ago, Fma965 said: i finish work at 4pm (UK Time) i will get this done then I love the smell of fresh updates in the morning 😛 (Australia) much appreciated. Btw I’m still using the beta but from community apps 👍 Edited December 30, 20196 yr by LintHart
December 30, 20196 yr 5 hours ago, LintHart said: I love the smell of fresh updates in the morning 😛 (Australia) much appreciated. Btw I’m still using the beta but from community apps 👍 This will allow you to get raw values. i am working on getting the dashboard code working properly, being able to be moved etc and then will release.
December 30, 20196 yr I will be starting a new thread for this plugin as this has become more than what the OP originally created.
December 30, 20196 yr 12 hours ago, ingux16 said: Sadly plugin not support AXi psus , I got 1500AXi... 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 Edited December 30, 20196 yr by Fma965
September 3, 20214 yr Since this plugin can be used with json output in Home Assistant etc but 6.8+ preventing Basic Auth, here is a go file tweak you can add to your go file to allow unauthenticated access to this script output and also to the system temperature plugin 6.10-RC1 Go File #!/bin/bash # Start the Management Utility /usr/local/sbin/emhttp & # Add Un-Authenticated access to Unraid 6.10-RC1+ for SystemTemp.php and Status.php (Corsair Plugin) while [ ! -f /var/run/nginx.pid ] do sleep 2 # or less like 0.2 done echo -e "# Fma965 Un-Authenticated Access\nlocation ~ /plugins\/corsairpsu\/status.php {\nallow all;\ninclude fastcgi_params;\n}\n\nlocation ~ /plugins\/dynamix.system.temp\/include\/SystemTemp.php {\nallow all;\ninclude fastcgi_params;\n}\n# End Fma965 Un-Authenticated Access\n\n$(cat /etc/nginx/conf.d/locations.conf)" > /etc/nginx/conf.d/locations.conf; nginx -s reload # End Un-Authenticated Access Home Assistant preview 6.8+ Go File (Patches Basic Auth back in) Edited September 3, 20214 yr by Fma965
March 12, 20224 yr hi, i think i´m to dumb to add this to my homeassistant.... could someone help me ? i added this to my configuration.yaml sensor: - platform: rest name: Corsair PSU json_attributes: - temp1 - temp2 - fan_rpm - capacity - 12v_watts - 5v_watts - 3v_watts - watts - load - uptime - poweredon resource: "http://192.168.178.123/plugins/corsairpsu/status.php" username: !secret unraid_login password: !secret unraid_password authentication: basic value_template: "{{ value_json.product }}" headers: User-Agent: Home Assistant Content-Type: application/json - 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_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"] }}' This errors appears in homeassistant: Template variable error: 'value_json' is undefined when rendering '{{ value_json.product }}' Template variable warning: 'homeassistant.util.read_only_dict.ReadOnlyDict object' has no attribute '3v_watts' when rendering '{{ states.sensor.corsair_psu.attributes["3v_watts"] }}' Template variable warning: 'homeassistant.util.read_only_dict.ReadOnlyDict object' has no attribute 'watts' when rendering '{{ states.sensor.corsair_psu.attributes["watts"] }}' Template variable warning: 'homeassistant.util.read_only_dict.ReadOnlyDict object' has no attribute 'load' when rendering '{{ states.sensor.corsair_psu.attributes["load"] }}' Template variable warning: 'homeassistant.util.read_only_dict.ReadOnlyDict object' has no attribute 'uptime' when rendering '{{ states.sensor.corsair_psu.attributes["uptime"] }}' Template variable warning: 'homeassistant.util.read_only_dict.ReadOnlyDict object' has no attribute 'poweredon' when rendering '{{ states.sensor.corsair_psu.attributes["poweredon"] }}' Do i need to add there something extra?
July 20, 20223 yr On 3/12/2022 at 11:58 AM, elbro_dark said: hi, i think i´m to dumb to add this to my homeassistant.... could someone help me ? i added this to my configuration.yaml sensor: - platform: rest name: Corsair PSU json_attributes: - temp1 - temp2 - fan_rpm - capacity - 12v_watts - 5v_watts - 3v_watts - watts - load - uptime - poweredon resource: "http://192.168.178.123/plugins/corsairpsu/status.php" username: !secret unraid_login password: !secret unraid_password authentication: basic value_template: "{{ value_json.product }}" headers: User-Agent: Home Assistant Content-Type: application/json - 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_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"] }}' This errors appears in homeassistant: Template variable error: 'value_json' is undefined when rendering '{{ value_json.product }}' Template variable warning: 'homeassistant.util.read_only_dict.ReadOnlyDict object' has no attribute '3v_watts' when rendering '{{ states.sensor.corsair_psu.attributes["3v_watts"] }}' Template variable warning: 'homeassistant.util.read_only_dict.ReadOnlyDict object' has no attribute 'watts' when rendering '{{ states.sensor.corsair_psu.attributes["watts"] }}' Template variable warning: 'homeassistant.util.read_only_dict.ReadOnlyDict object' has no attribute 'load' when rendering '{{ states.sensor.corsair_psu.attributes["load"] }}' Template variable warning: 'homeassistant.util.read_only_dict.ReadOnlyDict object' has no attribute 'uptime' when rendering '{{ states.sensor.corsair_psu.attributes["uptime"] }}' Template variable warning: 'homeassistant.util.read_only_dict.ReadOnlyDict object' has no attribute 'poweredon' when rendering '{{ states.sensor.corsair_psu.attributes["poweredon"] }}' Do i need to add there something extra? Did you manage to add this app to Home Assistant, if so, could you please explain how you did it? I'm new to home assistant and I have an AX1500i that already works correctly in UNRAID, but I wanted to create a CARD in my Home assistant with this information, thank you.
August 15, 20232 yr Is anyone able to help me figuring out why I'm getting this error? plugin: installing: corsairpsu.plg Executing hook script: pre_plugin_checks plugin: downloading: corsairpsu.plg ... done plugin: downloading: corsairpsu-2023.06.15-x86_64.txz ... done plugin bad file MD5: /boot/config/plugins/corsairpsu/corsairpsu-2023.06.15-x86_64.txz Executing hook script: post_plugin_checks I recently updated Unraid to 6.12.3 from 6.9.3, and I'm not sure how to fix this.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.