#OpenDisplay PR
1 messages Β· Page 1 of 1 (latest)
they can split off services
but I withheld me from reviewing it knowing that @quick badger already has opinions on it
or at least, he helped them at the beginning
Yeah they have been talking to Josef
I know, Josef has been talking to me π
majority of size is tests btw Frenck
I know, just saying first response is: That even for a first PR the line count is above average π
these guys know what they are doing. Have been very impressed with their coding, also the firmware
I appreciate your judgement; as said, first look without considering contents from my end.
We now have such flexible translations that we can make a great UI, that is not going to be great for YAML users. I see that in this PR. The service takes an integer. The selector in services.yaml puts in 0, 1, 2, 3 etc. Then strings.json gives normal names to the numbers.
I feel like that's hacky, and we should just accept strings that represent at least the value it means, so YAML users don't suffer. What do people think?
https://github.com/home-assistant/core/pull/164048/changes#r2861652215
I left a first round of review
But not sure if I have time to followup on it, so feel free to take over
(too busy working on my own new integration)
yes, states and options should have their name there
ok, yeah left that as a comment too
So we are talking about the same thing, this is what they were discussing with me
Why an image input entity instead of a service?
- allows you to use entity services
- allows you to view the rendered image without being next to the device and waiting for the refresh to occur on device side
I think that's smart as it also allows you to debug. But do we still care the image persist across restarts ? Feels unnecessary
Otherwise it's fine
if you don't, the images on the epapers will reset if you restart HA, which is not what users would want (at least I wouldn't)
Would be even nicer if we got the image from the device and reflected reality
for always we discussed that, but I felt like it's weird if we mix input/output, so we should have a clear separation
We do not need to store input
We never do that
Home Assistant reflects state of a device, that is our purpose in general
also I think the firmware doesn't allow getting the image back from the device currently
In that case, I do not understand the image entity in the above diagram
By the sound of it, it is virtual (as it is not provided by the device), which is not something we allow
I wouldn't say it's virtual since it's representing the physical device. I consider it similar to a number entity in an integration with assumed_state where you set something on the entity which is then written to the device
they were thinking about adding the get_image endpoint to the firmware, so that's something that can be addressed if needed
Sounds weird, we do not add text entities to all notification capable integrations with the last send message either
In the end, it is not provided by the device π€·ββοΈ
I mean we do when we do optimistic state/assumed state
sure, by the intent is different
You can't read e-ink screens programmatic, so it will never be possible
The firmware is made in such a way that it pushes the pixels directly to the screen, so the device requires less PSRAM
Frenck is right that it's not needed for the integration to work
It can just be a service
Since we sent images from the media browser, a user can go there to see what was sent
the thing is you also want to send non-media browser images
like custom dashboards
especially when we are talking about tags and not epaper frames
for a first thing we can start with image, but we should consider that in the architecture
OpenDisplay integration: Discover and represent OpenDisplay devices Take any image from the media browser and send it to an OpenDisplay display. Not responsible for generating images Template Image (or whatever name): Each image is created in a visual editor Width Height Colors (you can pick an ...
the nice thing about an entity service is that you can auto target areas etc.
This is what I shared with them as my vision
ya I saw that
Sensor entity with last upload and make that target of service?
Doesn't open display provide any form of information?
PS: The entity service path would be odd, considering it is not really setting something on the entity
A service action that targets a device is the right path here
I do agree, it would be nice to target an area, but that is not really a thing to be solved on an integration level (and not something we should workaround in an integration level).
No. It's meant to be in deep sleep most of the time to get years of battery
right
We should consider making the target selector capable of "devices" (but that is something a bit out of scope for here. But I like the thought of it)
Yeah or device selector to accept areas that are resolved
right, but the target selector and its UX is pretty sweet now
would be nice to re-use that
wasn't that explicitly removed by Erik a while ago
That was the device filter; that is something else
Right now, a target will always resolve to entities in the end
no matter of you select a area, device, label, etc
the outcome internally are always entities.
The suggestion than is, to allow defining the needed outcome from the target selector (e.g., devices to target, instead of entities as it does now)
ah that you mean