crismc/homeassistant_addons

[Feature]: Compatibility with 128x64 I2C OLED screens

Opened this issue · 1 comments

Is your feature request related to a problem?

New feature.

Describe the solution you'd like

New Feature: Support for 128x64 screens, such as (https://es.aliexpress.com/item/1005004355547926.html) for the printable case from https://www.thingiverse.com/thing:4740975
image

Describe alternatives you've considered

Tested display with current version, I2C enabled via HassOS I2C Configurator correctly.
Got this debug output:

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
[01:34:24] INFO: Starting I2C OLED App...
[01:34:24] INFO: Debug mode set to true
/dev/i2c-1
[01:34:24] INFO: /dev/i2c-1 enabled
[01:34:24] INFO: I2C access enabled. Proceeding!
[01:34:24] INFO: Display Info to OLED
[01:34:24] INFO: Running 'python3 display.py -d -c /data/options.json'
Traceback (most recent call last):
  File "/I2C_OLED/display.py", line 5, in <module>
    from bin.Config import Config
  File "/I2C_OLED/bin/Config.py", line 5, in <module>
    from bin.Screens import *  
    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/I2C_OLED/bin/Screens.py", line 53, in <module>
    class BaseScreen:
  File "/I2C_OLED/bin/Screens.py", line 58, in BaseScreen
    def __init__(self, duration, display = Display(), utils = Utils(), config = None):
                                           ^^^^^^^^^
  File "/I2C_OLED/bin/Screens.py", line 17, in __init__
    self.clear()
  File "/I2C_OLED/bin/Screens.py", line 27, in clear
    self.display.begin()
  File "/I2C_OLED/bin/SSD1306.py", line 97, in begin
    self._initialize()
  File "/I2C_OLED/bin/SSD1306.py", line 154, in _initialize
    self.command(SSD1306_DISPLAYOFF)                    # 0xAE
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/I2C_OLED/bin/SSD1306.py", line 89, in command
    self._bus.write_byte_data(self._address, control, value)
OSError: [Errno 5] I/O error
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

Additional context

No response

would also like this, tracked the screen size definition to the https://github.com/crismc/rpi_i2c_oled/blob/master/bin/Screens.py file but don't know where to edit this on HA or even if i can. total noob with HA still.