The GitHub repository is currently still private. I’d like to gather some initial demand for it before making it public. If you’re interested in testing the integration, please reply in this thread or send me a private message - I’ll grant you access.
Once enough demand has been collected, I’ll make the repository public and officially publish the integration via HACS.
Note on the current version
This is an early version (0.1.0). The paperlesspaper API is still at version 1, and not all endpoints are fully implemented. So far, the integration has only been tested with a single device (OpenPaper 7, portrait orientation).
I’m happy to receive:
Volunteers for testings with different devices and setups
Expects feedback on bugs or unexpected behavior
Suggestions for improvements
Please respond here in the thread or, later on, open issues directly on GitHub.
I’m off for a view day on Eastern Vacation. Let me check this next week. I’m also in conversation with a further developer of a paperllesspaper HomeAssistant integration. We consider to combine our effort. Any further enhancement of it is anyway a good idea!
just for my understanding, your drawing extension creates images you would like to push on the ePaper display?
If yes, the simplest way would be storing those images in a folder on HA for allowing paperlesspaper integration to pick it up for upload to the eInk Paper.
I have considered allowing my integration to write files to disk, but it would be fairly easy for someone with a little bit of elbow grease to overwrite important files in the Home Assistant directory, and then therefore destroy Home Assistant setups that way. My integration also has the ability to read files, but it can only read files from data: URLs or from HTTP URLs, because otherwise it would be very easy to exfiltrate important configuration or passwords or secrets data from the home assistant directory.
Of course, no one is stopping people using my integration from chaining the output data that the integration produces into a shell command that decodes base64 and writes it to a specific file on disk. That is actually extremely easy and can be done with a script and a little bit of configuration on the home assistant side. Perhaps this is the most expedient way for anyone to use my integration to draw arbitrary pictures and then put them into files that the paperlesspaper integration can use.
there is an option to allow users storing data (images) in HA. My example for paperlesspaper-ha leverages the HA Media repository where user can upload images for picking it up for further user.
Over all /media in Home Assistant OS is the official media directory in HA OS and can be accessed via the built-in Media Browser. You probably know you can create subdirectories there:
Via the Samba add-on: If the Samba add-on is installed, media is available as a separate share (\homeassistant\media). You can create new folders there directly.
Via the SSH/Terminal add-on: mkdir /media/my_folder
Via the File Editor / Studio Code Server add-on: You also have access to /media.
User of HA can always create their own network storages by connecting a NAS with a share to HA.
My integration also has the ability to read files, but it can only read files from data: URLs or from HTTP URLs, because otherwise it would be very easy to exfiltrate important configuration or passwords or secrets data from the home assistant directory
So why not restricting writing files only to /media/*?
Because (1) the certainty that /media is available is only a thing in the HAOS distribution, (2) and it can be changed via configuration.YAML to be somewhere else, and (3) it would still allow service callers to destroy legit media stored there by the user before.
Have you noticed that no built-in component or integration home assistant ever allows people to write or read files there? If you want to be able to have stuff like shell commands write files there, you have to go into configuration.yaml to set that up.