hass-divoom icon indicating copy to clipboard operation
hass-divoom copied to clipboard

Add support for Pixoo Max

Open ryoku-cha opened this issue 1 year ago • 2 comments

The Pixoo has a resolution of 16x16 pixels while the Pixoo Max has 32x32. Not sure if anything else has changed (Protocol).

As far as i understand, this would be implemented with a new file for this device. Something link this: hass-divoom/tree/main/devices/pixoo-max.py

    def __init__(self, host=None, port=1, logger=None):
        self.type = "Pixoo-Max"
        self.size = 32

There might be more changed required further down the code, compared to pixoo.py.

ryoku-cha avatar Oct 07 '22 21:10 ryoku-cha

I have only very basic coding know how, not sure if I can implement this on my own.

I plan to try the currently available code with my Divoom Max. Hoping that a least changing Channels is possible or turing on and off. I expect that sending pictures will need code adjustment (especially if 32x32 images will be used, but maybe 16x16 work ...)

ryoku-cha avatar Oct 07 '22 21:10 ryoku-cha

You could try it by changing that one line you already found to

self.size = 32

In the end it all comes down to the concrete protocol/structure that needs to be sent. If its enough to just send a 32x32 pixel image to the Pixoo Max, it already might work. But if they changed the underlying protocol (which is closed source and reverse engineered by other people) than it might get complicated, especially for someone who does not own the device.

For example I used a lot of code from people, who did a pretty good job with the Divoom Timebox. Channels and some other functions were different, but the image functionality luckily was the same. Most of it could be determined just by trial-and-error.

Just gimme a short notice, if increasing the size already worked. If yes, I can add some options or parameters so that it can be configured in yaml without changing the code.

d03n3rfr1tz3 avatar Oct 07 '22 21:10 d03n3rfr1tz3