Coder Social home page Coder Social logo

Comments (2)

home-assistant avatar home-assistant commented on July 20, 2024

Hey there @home-assistant/z-wave, mind taking a look at this issue as it has been labeled with an integration (zwave_js) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of zwave_js can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Renames the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign zwave_js Removes the current integration label and assignees on the issue, add the integration domain after the command.
  • @home-assistant add-label needs-more-information Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue.
  • @home-assistant remove-label needs-more-information Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


zwave_js documentation
zwave_js source
(message by IssueLinks)

from core.

btbutts avatar btbutts commented on July 20, 2024

One thing I'll add is that I know that when using a USB controller, its recommended to specify the controller path via the systemd link generated at /dev/serial/by-path/ via udev rules (IE: the rules located in /usr/lib/udev/rules.d/60-serial.rules). The challenge with this with GPIO HAT Z-Wave controllers is that even though the RPi5 UARTs are connected to a PCI device in the CPU, devices at /dev/ttyACM0 are not included in the rules, thus no path is generated.
Specifically, the current lines for this are:

SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb"
SUBSYSTEMS=="pci", ENV{ID_BUS}=="", ENV{ID_BUS}="pci", \
  ENV{ID_VENDOR_ID}="$attr{vendor}", ENV{ID_MODEL_ID}="$attr{device}", \
  IMPORT{builtin}="hwdb --subsystem=pci"

# /dev/serial/by-path/, /dev/serial/by-id/ for USB devices
KERNEL!="ttyUSB[0-9]*|ttyACM[0-9]*", GOTO="serial_end"

With the first line, USB UART devices will have a path generated. The second line allows for PCI devices. However, since the KERNEL line omits ttyAMA[0-9]*, I'm thinking that this is why no system path is generated by the udev rules for GPIO UART devices. I've thought about potentially modifying this file for testing but the filesystem is readonly this is something I'd need to validate with an isolated Home Assistant lab running HASSOS.

My thought is that perhaps one could:

  1. Modify the last line (as copied above) to include ttyAMA[0-9]*
  2. Verify that a system path is generated by the udev rules at /dev/serial/by-path/
  3. If number 2 above is successful, identify if the Z-Wave JS Add-On and Integration alike detect the new path and see if that improves the behavior I'm seeing.

from core.

Related Issues (20)

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.