I'm attempting to add GPIO permission to the Node-RED addon. The addon works correctly on armhf, but the addon fails to start on amd64 because the host doesn't have /sys/devices/platform/soc.
18-04-06 19:10:33 ERROR (SyncWorker_7) [hassio.docker] Can't start addon_local_nodered: 500 Server Error: Internal Server Error ("error while creating mount source path '/sys/devices/platform/soc': mkdir /sys/devices/platform/soc: operation not permitted")
Is it possible to make the GPIO permission only apply to armhf platform or make it skip mapping GPIO if /sys/devices/platform/soc doesn't exist?
Yes, we can update the Hardware class to detect all available GPIO interfaces over /sys/devices/platform/soc and return true/false if the system support GPIO. On docker API, we can use this too for decide if we use the GPIO mapping code.
I'm running Hass.io on a VM and trying to run the room-assistant add-on and I'm receiving the same error:
18-07-19 05:41:03 ERROR (SyncWorker_18) [hassio.docker] Can't start addon_6e66619d_room-assistant: 500 Server Error: Internal Server Error ("error while creating mount source path '/sys/devices/platform/soc': mkdir /sys/devices/platform/soc: operation not permitted")
@mKeRix I'm tagging you for visibility of this ongoing issue. Please let me know if I should create a separate issue on your repo or if there is a workaround.
Need to be fix inside python code. Is on tasklist but could take weeks until I find time for it.
@michaellunzer Until then I'd recommend you to just create a folder room-assistant in your local Hass.io addons folder and put this file in it: https://github.com/mKeRix/hassio-repo/blob/master/room-assistant/config.json. You can simply remove the "gpio": true line. Refresh the Hass.io addon store and install the local room-assistant version. That should hopefully work fine!
Most helpful comment
Yes, we can update the Hardware class to detect all available GPIO interfaces over
/sys/devices/platform/socand return true/false if the system support GPIO. On docker API, we can use this too for decide if we use the GPIO mapping code.