Giter Club home page Giter Club logo

rpi_i2c_oled's People

Contributors

crismc avatar rsnodgrass avatar si458 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

rpi_i2c_oled's Issues

[Bug]: Remote I/O Error

Requirements

  • I have updated RPI_I2C_OLED to the latest available version
  • I did a search to see if there is a similar issue.

Current Behavior

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
[13:58:51] INFO: Starting I2C OLED App...
/dev/i2c-1
[13:58:51] INFO: /dev/i2c-1 enabled
[13:58:51] INFO: I2C access enabled. Proceeding!
[13:58:51] INFO: Display Info to OLED
[13:58:51] INFO: Running 'python3 display.py -c /data/options.json'
Traceback (most recent call last):
File "/I2C_OLED/display.py", line 5, in
from bin.Config import Config
File "/I2C_OLED/bin/Config.py", line 5, in
from bin.Screens import *
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/I2C_OLED/bin/Screens.py", line 53, in
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 121] Remote 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

Expected Behavior

No response

Steps To Reproduce

No response

Context

YAML state

Environment

- Browser: Firefox
- HA Version:11.03
- I2C_OLED: JMDO 96 c

Anything else?

No response

[Feature]: Run ruff formatter on codebase

Is your feature request related to a problem?

Code quality improvements.

Describe the solution you'd like

Run ruff formatter on all *.py files. Also should set the target Python version for the code repository in pyproject.toml (e.g. 3.10?) so when various code checking and formatting tools run they know what syntax is valid.

Describe alternatives you've considered

Ruff is starting to replace usage of the long-standing black8 and brunette formatters.

Additional context

Recommend adding .pre-commit-config.yaml in project root with the following once ruff has been run, so those that use pre-commit will ensure that new code automatically is formatted to the project's standards as well.

---
# pre-commit autoupdate

fail_fast: true

repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.6.0
    hooks:
      - id: trailing-whitespace
      - id: end-of-file-fixer

  # isort - sort import statements
  - repo: https://github.com/pycqa/isort
    rev: 5.13.2
    hooks:
      - id: isort
        files: \.(py)$
        args: [--settings-path=pyproject.toml]  # ["--profile", "black" ]

  - repo: https://github.com/astral-sh/ruff-pre-commit
    rev: v0.4.4
    hooks:
      - id: ruff
        args: [ --fix ]  # run linter
      - id: ruff-format  # run formatter

  #### OPTIONAL: for keeping syntax more current

  - repo: https://github.com/asottile/pyupgrade
    rev: v3.15.2
    hooks:
      - id: pyupgrade
        args: [--py310-plus] # keep 2 versions behind current

  - repo: https://github.com/dosisod/refurb
    rev: v2.0.0
    hooks:
      - id: refurb

Improved display options

Is your feature request related to a problem?

Yes, it is very hard to read text in many circumstances.

Describe the solution you'd like

Additional configurability around how text and icons are displayed

Describe alternatives you've considered

No response

Additional context

No response

[Bug]: CPU load data does not populate. It's showing 0.000.00%

Requirements

  • I have updated RPI_I2C_OLED to the latest available version
  • I did a search to see if there is a similar issue.

Current Behavior

CPU load data does not populate. It's showing 0.000.00%

Expected Behavior

CPU load is expected to show the current CPU load, which isnt 0.000.00%

Steps To Reproduce

  1. Run the CPU screen on any distribution
  2. CPU screen shows 0.000.00%

Context

YAML state

Environment

- Browser:
- HA Version:
- I2C_OLED: 1.0.3

Anything else?

No response

Support buttons on additional GPIO pins

Is your feature request related to a problem?

No

Describe the solution you'd like

Will be nice to navigate to a menu and be able to perform some task like reboot, docker container restart (homeassistant restart) and other custom commands via config file.

Describe alternatives you've considered

No response

Additional context

No response

[Feature]: Support more displays

Is your feature request related to a problem?

No

Describe the solution you'd like

I know that this brings in a big dependency, but maybe use a library like Luma.oled to support more displays? It also handles the hardware i2c, supports LCD's etc and effects like panning/zooming etc. Luma.core.
There is also an SPI driver in the core library.

Describe alternatives you've considered

I've forked the repository and successfully implement another display driver in a very trivial manner.
Example

Additional context

I've tested it by forking your repository Home Assistant Addons and installing on multiple RPI's with HaOS. My displays are 128x64 and render only half the height obviously, but I've noticed there is already a pull request for supporting that.

[Feature]: Add support for SSD1306_128_64

Is your feature request related to a problem?

how hard would it be to add support for SSD1306_128_64? I was debating on branching this and give it a go.

Describe the solution you'd like

Be able to use a 128x64 screen

Describe alternatives you've considered

No response

Additional context

Here is the screen I currently using and would like to add support for.
https://www.amazon.com/gp/product/B07VDXYDVY

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.