Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

JayBee_Unraid

Members
  • Joined

  • Last visited

  1. That was it! I just needed to switch it to host. Thanks for figuring that out. No, that address is the one used my unRaid server, you can see it in the screenshot. No problem with the port either. It was all about the container IP not being the same as the unraid IP. I believe it was in host before, since it was working, but somehow somewhere on the updates it reverted to bridge, and I didn't notice. Anyway, thanks for the help.
  2. No I already double checked, and it is on the port 3000, else I would have fixed it already... I didn't change anything in the config compared to the previous versions, and these versions were running fine. I also tried with 3210 just in case but it's not working either obviously since it's the web interface port. Are you sure the container version on the github was updated to the latest one this time? It wasn't the case last time. Also did you try to do a fresh install on your unraid through your own github address to see what it does on your own machine?
  3. @SasaKaranovic Can you please check what is happening with the latest version of the container? You can check the errors I am getting the previous message.
  4. I updated the OpenFANservice container recently, but then realized today my HDD were dangerously hot. After a quick check, I saw the container didn't want to connect to the controller container, so I tried to reinstall it. Now it doesn't want to start at all, what is going on here? Tried to reinstall it multiple times but nothing works. Note that if I change the host IP to something else, it does start but doesn't want to connect. Here is the installation command I used: docker run -d --name OpenFANservice \ -v /var/local/emhttp:/mnt/OpenFanService/sensors:ro \ -v /mnt/user/appdata/openfanservice/fan_profiles.yaml:/mnt/OpenFanService/data/fan_profiles.yaml:ro \ -e "OPENFAN_HOST=192.168.0.5" \ -e "OPENFAN_PORT=3000" \ -e "OPENFAN_SENSORS=/mnt/OpenFanService/sensors/disks.ini" \ -e "OPENFAN_PROFILE=/mnt/OpenFanService/data/fan_profiles.yaml" \ -e "OPENFAN_RELOAD=True" \ ghcr.io/sasakaranovic/openfanunraidservice:release and here is the container's log: Jul 01 2025 04:52:25.337 pid:7 fan_configuration.py 120 DEBUG -- Assigned Profile: LowerHDD Jul 01 2025 04:52:25.337 pid:7 fan_configuration.py 119 DEBUG Created fan control OpenFAN/Fan/1 Jul 01 2025 04:52:25.337 pid:7 fan_configuration.py 120 DEBUG -- Assigned Profile: UpperHDD Jul 01 2025 04:52:25.338 pid:7 temperature_sensors.py 24 DEBUG Sensor parity temperature is 41°C Jul 01 2025 04:52:25.338 pid:7 temperature_sensors.py 24 DEBUG Sensor disk1 temperature is 37°C Jul 01 2025 04:52:25.338 pid:7 temperature_sensors.py 24 DEBUG Sensor disk2 temperature is 39°C Jul 01 2025 04:52:25.339 pid:7 temperature_sensors.py 24 DEBUG Sensor disk3 temperature is 37°C Jul 01 2025 04:52:25.339 pid:7 temperature_sensors.py 24 DEBUG Sensor disk4 temperature is 41°C Jul 01 2025 04:52:25.339 pid:7 temperature_sensors.py 24 DEBUG Sensor disk5 temperature is 42°C Jul 01 2025 04:52:25.339 pid:7 temperature_sensors.py 24 DEBUG Sensor parity2 temperature is *°C Jul 01 2025 04:52:25.339 pid:7 temperature_sensors.py 24 DEBUG Sensor cache_nvme temperature is 49°C Jul 01 2025 04:52:25.339 pid:7 temperature_sensors.py 24 DEBUG Sensor cache_sata temperature is 35°C Jul 01 2025 04:52:25.339 pid:7 temperature_sensors.py 24 DEBUG Sensor cache_sata2 temperature is 34°C Jul 01 2025 04:52:25.339 pid:7 temperature_sensors.py 24 DEBUG Sensor flash temperature is *°C Jul 01 2025 04:52:25.339 pid:7 start.py 70 DEBUG Setting fan OpenFAN/Fan/0 to 60% PWM based on sensor temperature of 41°C Traceback (most recent call last): File "/usr/local/lib/python3.10/dist-packages/urllib3/connection.py", line 198, in newconn sock = connection.create_connection( File "/usr/local/lib/python3.10/dist-packages/urllib3/util/connection.py", line 85, in create_connection raise err File "/usr/local/lib/python3.10/dist-packages/urllib3/util/connection.py", line 73, in create_connection sock.connect(sa) ConnectionRefusedError: [Errno 111] Connection refused The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/local/lib/python3.10/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( File "/usr/local/lib/python3.10/dist-packages/urllib3/connectionpool.py", line 493, in makerequest conn.request( File "/usr/local/lib/python3.10/dist-packages/urllib3/connection.py", line 445, in request self.endheaders() File "/usr/lib/python3.10/http/client.py", line 1278, in endheaders self._send_output(message_body, encode_chunked=encode_chunked) File "/usr/lib/python3.10/http/client.py", line 1038, in sendoutput self.send(msg) File "/usr/lib/python3.10/http/client.py", line 976, in send self.connect() File "/usr/local/lib/python3.10/dist-packages/urllib3/connection.py", line 276, in connect self.sock = self._new_conn() File "/usr/local/lib/python3.10/dist-packages/urllib3/connection.py", line 213, in newconn raise NewConnectionError( urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x15208cb0ed40>: Failed to establish a new connection: [Errno 111] Connection refused The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/local/lib/python3.10/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( File "/usr/local/lib/python3.10/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( File "/usr/local/lib/python3.10/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='192.168.0.5', port=3000): Max retries exceeded with url: /api/v0/fan/0/set?value=60 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x15208cb0ed40>: Failed to establish a new connection: [Errno 111] Connection refused')) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/mnt/OpenFanService/start.py", line 150, in <module> main(None, None, None, None, None) File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 1442, in call return self.main(*args, **kwargs) File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 1363, in main rv = self.invoke(ctx) File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 1226, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 794, in invoke return callback(*args, **kwargs) File "/mnt/OpenFanService/start.py", line 147, in main OpenFan.run_forever(live_reload=arg_live_reload) File "/mnt/OpenFanService/start.py", line 115, in run_forever self.update_fan_controls() File "/mnt/OpenFanService/start.py", line 38, in update_fan_controls self.update_fan(fan) File "/mnt/OpenFanService/start.py", line 71, in update_fan return self.openfan_client.set_fan_pwm(fanData['Identifier'], fan_value) File "/mnt/OpenFanService/openfan_client.py", line 47, in set_fan_pwm r = requests.get(f'{self.api_url}/fan/{fan}/set?value={pwm}', verify=False, timeout=(0.5, 1)) File "/usr/local/lib/python3.10/dist-packages/requests/api.py", line 73, in get return request("get", url, params=params, **kwargs) File "/usr/local/lib/python3.10/dist-packages/requests/api.py", line 59, in request return session.request(method=method, url=url, **kwargs) File "/usr/local/lib/python3.10/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/local/lib/python3.10/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/local/lib/python3.10/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPConnectionPool(host='192.168.0.5', port=3000): Max retries exceeded with url: /api/v0/fan/0/set?value=60 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x15208cb0ed40>: Failed to establish a new connection: [Errno 111] Connection refused'))
  5. Thanks a lot for the update, that is massively better and more useful now 🍻 And yeah the YAML file does work now.
  6. @SasaKaranovic Can you please read my previous messages and check the issues I mentioned?
  7. please share the content of your json, add it to your comment as a code snippet.
  8. The latest image version for the docker isn't up to date at all, I guess the dev forgot to update it from his own source code. It means yaml support isn't present at all in the docker, so no matter what it won't work. To make a json it's simple, just create an yaml file then use a yaml to json converter, then change the docker installation to replace every reference of the yaml file by the json file. Alternatively you can get a sample json file from here and modify it the way you want. Also both documentation and samples are incorrect, as fans are counted from 0 not 1, you need to change that if you want it to control the proper fan.
  9. For your containers you aren't using the usual appdata subfolder?
  10. There is another little issue in the guide, for the fan_profiles.yaml the fan identifiers are supposed to be starting with 0 not 1. So fan 1 is "OpenFAN/Fan/0", fan 2 is "OpenFAN/Fan/1" and so on. Would it be possible to have multiple temp sources per profile, and control the temp curve with the highest temp one? I have 2 fans that cool down 8 drives (4 for each fan) in my NAS, so having them controlled by only one HDD will cause issue whenever that specific disk isn't spinning, which forces me to use fixed speed.
  11. Hi there, I installed the main container which works well, and followed the doc for the service container with a custom yaml (that I checked with the yaml tool), but it keeps telling me Error parsing json file. Apr 22 2025 08:51:41.777 pid:7 start.py 25 INFO Loading fan profiles Apr 22 2025 08:51:41.777 pid:7 fan_configuration.py 23 ERROR Error parsing json file Apr 22 2025 08:51:41.777 pid:7 fan_configuration.py 24 ERROR Error: Expecting value: line 1 column 1 (char 0) How can I fix that? It sounds to me that the container is expecting a json file even though I'm using a yaml file? Was the container installation command in the doc tested with yaml? I converted to json and modified the install command accordingly, and indeed it works now, there seems to be an issue with how yaml is handled. Edit: I believe the container downloaded from ghcr.io/sasakaranovic/openfanunraidservice:release isn't up to date at all, the newer fan_configuration.py file doesn't contain the "Error parsing json file" error, it uses "Error parsing profile file" instead. It seems like the version installed predates the yaml addition...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.