V1: Hide implementation details from styles API

So yesterday I was looking into the css in js section in the v1 docs, and equally delved into withRoot, and other examples. Amazing job.
But I suspect, having done so myself many times in the past, that you guys have put so much effort and thought into this, that you fell a step short from perfecting the API.
That said from a client perspective.
Current API
Currently, the examples involves:
import { withStyles, createStyleSheet } from 'material-ui/styles';

const styleSheet = createStyleSheet(theme => ({
  body: {
    margin: 0,
  },
}));

Followed by:
AppWrapper = withStyles(styleSheet)(AppWrapper);

Possible improvements
Now consider you achieve the same thing with:
import { applyStyleSheet } from 'material-ui/styles';

then (just an object)
const styleSheet = {
  body: {
    margin: 0,
  },
}

or (a function in case theme is needed)
const styleSheet = theme => ({
  body: {
    margin: 0,
  },
})

or (a tuple in case the sytlesheet name is important - the second parameter may be a function or an object)
const styleSheet = [ 'MyStyleName', theme => ({
  body: {
    margin: 0,
  },
})]

Followed by (given applyStyleSheet is curried):
return applyStyleSheet( styleSheet, MyComponent )

Basically, applyStyleSheet hides away withStyles and createStyleSheet, and has some switch logic to see if the style sheet provided is an object, function, or a tuple.
props.classes?
Lastly, another part of the API, as seen in your own doc's AppContent involves:
function AppContent(props) {
  const { className, classes, children } = props

  return (

      {children}

  )
}

withStyles injects a classes property on props.
It took a bit of mental mapping to understand that classes.content is actually the name of the class that is used in the stylesheet provided to withStyles.
It is nobody's fault ES6 has classes and CSS has classes.
I just wonder if using styleSheetClasses instead of classes, albeit more verbose, would be clearer? As in:
function AppContent(props) {
  const { className, styleSheetClasses, children } = props

  return (

      {children}

  )
}

I don't think that we should change the classes API.
Regarding the createStyleSheet API change suggestion, we can talk about it :).
If we can, I think that we should go for it, but the issue is with the implementation.
The question is around how we are going to merge with react-jss. Material-UI support some unique feature that react-jss might not want to support. Let's take the overrides theme key or the classes property as an example. How are we going to implement those feature outside of react-jss. We gonna need a wrapper at some point. The best case scenario is that we can hide it inside the withStyles higher-order component, the worse case is that we need to put it under the createStyleSheet wrapper.

cc @kof

Also, this would be an important API change, again. I don't think that I will have the energy to go into before v1. Maybe someone else might if we agree on a path going forward. I would hold that discussion until we move forward with react-jss.

overrides sounds like a feature for theming

@oliviertassinari other concerns aside, what I'm proposing here is not a change to the API with regards to createStyleSheet.
All I'm suggesting is the addition of a small function - applyStyleSheet that hides away createStyleSheet and withStyles so code is clearer and there less repetition and imports needed.
I can write this function and submit it here if you wish - it should be 7 lines of code or so.

@Izhaki Right, but I don't think that we should add a applyStyleSheet function. That's going to increase the API surface. We have a potentially better alternative, make withStyles accept a GetStyles object. But if we go into that direction, why exposing createStyleSheet in the first place? That means we can remove it and we should in order to minimize the API surface, that's a large refactorisation.
If we make the assumption that no matter what we do with react-jss, we are going to keep our withStyles higher-order component, then we can go full steam into that direction and remove createStyleSheet.

That makes sense.

Hmm... just saw this on react-jss, which is exactly what I meant in my original post:
import React from 'react'
import injectSheet from 'react-jss'

const styles = {
  button: {
    background: props => props.color
  },
  label: {
    fontWeight: 'bold'
  }
}

const Button = ({classes, children}) => (
  <button className={classes.button}>

      {children}

  </button>
)

export default injectSheet(styles)(Button)

@oliviertassinari

We have a potentially better alternative, make withStyles accept a GetStyles object. But if we go into that direction, why exposing createStyleSheet in the first place? That means we can remove it, and we should in order to minimize the API surface.
That's a large refactorisation.
If we make the assumption that no matter what we do with react-jss, we are going to keep our withStyles higher-order component, then we can go full steam into that direction and remove createStyleSheet.

Well, shouldn't view be that material-ui styles is an extension of react-jss, done using a wrapper?
Is there a problem renaming withStyles to injectSheet, and hide createStyleSheet?
Also, is this really such a large refactorisation?

@Izhaki I would avoid using the same wording as react-jss to avoid confusion. I think that we can go forward into that direction 👍 .

Also, is this really such a large refactorisation?

Could take 2-3 hours for the Material-UI codebase (yeah, 10 times less that what took me the style upgrade from alpha to beta) and then, users will have to upgrade their usage.

@oliviertassinari

I would avoid using the same wording as react-jss to avoid confusion

Not sure I agree with this, unless you foresee someone using react-jss along side material-ui. What matters is what it does, and essentially, for the API consumer (like myself), withStyles does what injectSheet does.
ramda.js, lodash, underscore all have map and reduce functions - does the same thing so who cares which library it is from?  (even though their API is actually not the same.)
But I guess there are pros and cons to each approach.

users will have to upgrade their usage

Luckily, you're still in pre-release phase. Having used the beta for a while now, I can't wait for the release, and given it being such a bounty, wouldn't mind any API changes.

It would also be helpful if withStyles could be imported from the main index, to avoid having to add a separate import line to every component:
import { withStyles } from 'material-ui'

const styles = theme => {
 // …
}

export default withStyles(styles)(Foo)

I've become a big fan of using function as child instead of HOC lately (just like react router does for instance). So I would really like if there was API so I could do the following (instead of withStyle):
const styles = /* create stylesheet somehow */;
const MyComp = () => (

);

It took me a while to get used to the syntax (used to hate it, but that can be said about JSX in general), but when I figured out it's uses it's really nice. For instance, you don't tie people up in the prop being called classes. This does not prevent you from using any propname at all.  The component being styled, and the styling component doesn't need to know about eachother at all, so the contract is smaller.
You can read more about it here: https://medium.com/merrickchristensen/function-as-child-components-5f3920a9ace9

@Alxandr I was thinking about this interface too but haven't had time to decide on this. Ultimately having alternative interface is more harm than good so it needs to have a very serious reason besides of stylistic preferences or slightly smaller contracts.

@kof another thing to consider is that one can easily be implemented in terms of the other, yet implementing a "function-as-children" component based on a HOC is rather painfull.
// ignoring statics and all that jazz
const withStyles = (styles) => (BaseComponent) => {
  return class StyledComponent extends Component {
    render() {
      return (

      );
    }
  };
};

I was thinking about this interface too but haven't had time to decide on this.

@kof While I find that the Component API provides more flexibility over the Higher-order Component one, I also find the Higher-order Component API a game changer when needing to access the injected property in the life cycles. In our case, I think that the priority is the following "lifecycles > flexibility".

ramda.js, lodash, underscore all have map and reduce functions

@Izhaki That's right, we can always change the wording. I can post a question on Twitter, we will see the result :).

https://twitter.com/MaterialUI/status/894652180656992261

@oliviertassinari @hubgit I'm not sure about promoting withStyles to the root level of material-ui. Where do you draw the line?
I'm actually hiding MUI behind a module (so all app imports don't have material-ui directly, and I can extend component at will - a practice I always saw as beneficial and it lets you extend behaviour like adding throttle etc.) and for there's a clear separation between styles and controls.

@Izhaki We are already doing the following export { MuiThemeProvider } from './styles'; in the index.js. At least we need to be consistent. Should we change that too?

I'm actually hiding MUI behind a module

I have been doing the same on a large project, though on small ones I'm consuming it directly.

@oliviertassinari what do you mean you can access it in the lifecycles in a HOC and not with function as child?
class MyComp extends Component {
  constructor(props) {
    super(props);

    console.log(this.props.styles);
  }

  // and all the others
  onComponentDidMount() {
    console.log(this.props.styles);
  }
}

const App = () => (

)

@Alxandr We won't go into this solution. To be more specific, I was referring to the collocation advantage with life cycles.

I'm actually hiding MUI behind a module
I have been doing the same on a large project, though on small ones I'm consuming it directly.

@oliviertassinari Would love to see an example of this, maybe like a recipe in the docs. I have just started using material-ui and was a bit sceptical about CSS in JS, but I like it.

@HriBB In my app, instead of
import Grid from 'material-ui/Grid'

I'll have
import {
    Grid
} from 'ui/controls'

And ui/controls.js will have:
export { default as Grid } from 'material-ui/Grid'

@HriBB Here is an example of a wrapper above the Paper as we are building a theme on top of Material-UI (doesn't look much like the material spec):
import React from 'react'
import classNames from 'classnames'
import PropTypes from 'prop-types'
import MuiPaper from 'material-ui/Paper'
import { withStyles, createStyleSheet } from 'material-ui/styles'

const styleSheet = theme => ({
  backgroundA100: {
    background: theme.palette.accent.A100,
  },
  backgroundA200: {
    background: theme.palette.accent.A200,
  },
  backgroundA400: {
    background: theme.palette.accent.A400,
  },
  padding: {
    padding: theme.spacing.unit,
  },
})

function Paper(props) {
  const { background, classes, className, padding, ...other } = props
  return (
    <MuiPaper
      elevation={0}
      square
      className={classNames(
        classes[`backgroundA${background}`],
        {
          [classes.padding]: padding,
        },
        className
      )}
      {...other}
    />
  )
}

Paper.propTypes = {
  background: PropTypes.oneOf(['100', '200', '400']),
  classes: PropTypes.object.isRequired,
  className: PropTypes.string,
  padding: PropTypes.bool,
}

Paper.defaultProps = {
  background: '100',
  padding: false,
}

export default withStyles(createStyleSheet(styleSheet))(Paper)

Also, as you can see, the plan with is issue is to be able to have the following diff on userland:
-export default withStyles(createStyleSheet(styleSheet))(Paper)
export default withStyles(styleSheet)(Paper)

Options will be moved to the second argument:
export default withStyles(styleSheet, { name: 'Paper' })(Paper)

I've just added MUI v1 to another project.
I've refactored the create-react-app on a fork to show where we ended up after refactoring.
This is just to give some sense of a real use-case, albeit opinionated.
Note that currently the example excludes the concept of Document, which will change things slightly (eg, location of global JSS).
Highlights
Compared to the original example:
theme and stylesheet injection
We inject both theme and a stylesheet to our root, as we see these app-specific than the more general root.
components/Root.js:
const styleSheet = ( theme ) => ({
    '@global': {
        html: {
            background: theme.palette.background.default,
            WebkitFontSmoothing: 'antialiased', // Antialiasing.
            MozOsxFontSmoothing: 'grayscale', // Antialiasing.
        },
        body: {
            margin: 0,
        },
    },
})

const theme = {
    palette: createPalette({
        primary: purple,
        accent: green,
    }),
}

const Root = () => {
    return (
        <Router>
            <Route path="/" component={ App } />
        </Router>
    )
}

export default withUI( Root, theme, styleSheet )

injectSheet
We have used injectSheet.
components/App:
import styleSheet from './App.jss'

// ...

export default injectSheet( styleSheet, App )

Hiding MUI
components/App:
import { Button } from '../ui/controls/';
import Dialog, {
  DialogTitle,
  DialogContent,
  DialogContentText,
  DialogActions,
} from '../ui/controls/Dialog';
import Typography from '../ui/Typography';

I have merged the first PR toward solving this issue. We should be able to remove createStyleSheet quite easily now.

Good job @oliviertassinari .
As an additional note, if you look at context.js and withRoot.js in the refactor, you'll probably recognise that these are rather generic and unlikely to change between applications.
I do wonder if these can be merged into MUI, rather than having to let clients write them time and again?
Suffice to look at the repeation between the create-react-app example and the next one to see the generic patterns emerging.


Finish the move to end-to-end tests

This PR implements the rest of the end-to-end mocking endpoints and moves most of existing tests to the end-to-end regime. The only remaining tests left to port are the refresh tests.
CC @vohoanglong0107
Closes: https://github.com/rust-lang/bors/issues/93

Resolved Clippy issues, will merge it now.
I'll take a look at https://github.com/rust-lang/bors/blob/263b7dfc2f1548a91f83d9b0b7009ebe81541e7a/src/bors/handlers/refresh.rs#L108, and then the Great End-to-End Migration™ should be completed.


package-lock.json

I was going to do a minor patch for the memory leak in _subviews, and I have npm@latest (6.1.0) and ran npm install and it overwrote the package-lock.json. It seems like they have made a lot of changes between certain NPM versions.  For some context and history see this stackoverflow
I was thinking we should either always use @lastest or we should be using the newest version released as part of Node LTS. I lean toward @latest just because I would like to integrate NPM Audit, take a look at #201.
@dhritzkiv, I know you have been dealing with releasing package-lock.json for most repositories,  I'm going to test if my changes are compatible with older versions, if not I will revert my change.
We might also consider adding engines to package.json with our recommended version of NPM.

Yeah, using latest/latest LTS is a good idea.
Also, I wouldn't worry too much about overwriting the package-lock.json file. I've had no issues between differences in package-lock file across versions of npm, on any of my repos.


add resource variable for CATCHMENT_SPINUP mode

See https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/751

All Nightly Tests passed

@gmao-rreichle We can merge this now since Scott merged matching GEOSgcm_GridComp PR 751


Fixed issue when linking and embeding static frameworks

From what I understand, static frameworks are:

Linked as usual (to be able to use them)
Never embed, as their binary becomes part of the binary that depends on them

For example, given this (SwiftModule1, SwiftModule2 and SwiftModule3 are static frameworks; SnapKit is a dynamic one):
options:
  transitivelyLinkDependencies: true

targets:
  SwiftModule1:
    type: framework.static
    ...
    dependencies:
    - framework: SwiftModule2.framework
      implicit: true
      embed: false
    - framework: ../../Carthage/Build/iOS/SnapKit.framework
  SwiftModule1Tests:
    type: bundle.unit-test
    ...
    dependencies:
    - target: SwiftModule1
    - framework: SwiftModule3.framework
      implicit: true
      embed: false

In the target SwiftModule1Tests, when generating the xcode project you find that:

Link binary with libraries: SnapKit, SwiftModule1, SwiftModule3
Embed frameworks: SnapKit, SwiftModule1

I believe that is wrong, and instead it should be:

Link binary with libraries: SnapKit, SwiftModule1, SwiftModule2, SwiftModule3
Embed frameworks: SnapKit

Thanks @acecilia!
@brentleyjones does this look right to you? You did a lot of the static library work

Build not working due to https://github.com/tuist/XcodeProj/issues/536

Oh sorry, I am not familiar with Github PR reviews, and I had comments explaining the code (which I made yesterday) but did not press in "Submit review" :/

This is ready to go :)

@acecilia Please rebase to resolve conflicts.

@brentleyjones done :)

Thanks @acecilia for this fix!


Fixes NPE in OidcClient when token endpoint auth methods are undefined.

The OIDCProviderMetadata class from nimbus/oauth-oidc returns null, rather than an empty list when these are not specified.
/*
 * @return The supported token endpoint authentication methods,
 *         {@code null} if not specified.
 */
public List<ClientAuthenticationMethod> getTokenEndpointAuthMethods() {

Thanks for your contribution.


Center loading spinner

Coverage remained the same at 94.144% when pulling 8b5267aee12816cef165c6cd0b00fcc60d921ce9 on cody-center-loader into 3d10e2a718e18b02f756836ba4bd142baa364baa on main.


Allocate maintainer for each topic

Each topic should have one, maybe two maintainers who are responsible for the document and take care of the scope as well as consistency (#25) and quality. They might be also the main writer of the text.
I think this approach is also practised by Software Carpentry

For the Research Cycle and our first three Open Science topics we decided on (see https://github.com/OKScienceDE/Open_Science_101/tree/master/meetings/2016-06-02-Mozilla_Science_Lab_Global_Sprint_2016) we have the following maintainers (from the final #mozsprint etherpad: https://pad.okfn.org/p/OpenScience101MozillaScienceLabGlobalSprint):

Research cycle (@marahe)
Open Data (@iimog, @aleimba)
Open Access (@konrad)
Open Licenses (@matthiasfromm)


orchestrator: remove v0.2 nodes from mysql cluster status

Mysql Cluster controller will spawn pod syncer for every node found in
MySQLCluster.status.
Earlier version of operator used longer names for nodes but upgrader explicitly
keeps the status for old nodes arround (32943e81). When spawning
PodSyncers for MySQL cluster the operator creates the race between
two syncers who will update the pod as the last. If syncer for old
status wins, the pod is marked as unhealthy and never updated again.
This is enabled by the fact that name of the pod is derived from
first part of the status name.
Operator should either remove the old nodes from status or ignore them
during pod syncing.
Possibly related issue #431

[ ] I've made sure the Changelog.md will remain up-to-date after this PR is merged.

This is a nice catch, I didn't think about it. Thank you for your contribution!
I think you can drop that test that is failing and should be ok. Because, If the upgrade is done from v0.2.x -> v0.3.x then to v0.4.x then that specific use-case is not important anyway.
But, if you want, to make it right you can check if it's a case for an upgrade, that can be done checking if this annotation is set and if there is no upgrade remove the node. Then we can backport this bugfix to v0.3.x.

How about this version? I'm not skilled in golang so it's very likely not golangish.


Can replace a few functions with skypy functions

What is the Topic of Your Question
Usage
Add Your Question Below
There are a few functions that are identical to implementations in skypy - skypy.utils.random.triaxial_axis_ratio <-> glass.shapes.triaxial_axis_ratio, skypy.galaxies.morphology.ryden04_ellipticity <-> glass.shells.ellipticity_ryden04, maybe more...
I did not create a new issue for these earlier based on the discussion in #259, but it would be nice to look at these too if the decision changes.
I don't have a strong opinion because even though this is a good thing to do, it will add an extra dependency.

Yep, these are my functions, and their home is in GLASS.

Ahh, that makes so much, thanks!

Yep, these are my functions, and their home is in GLASS.

Why does skypy not use the functions directly from GLASS?


[Bug] v1.0.3 Not working at all.

Works for me. Have you updated the config.toml file? There's new params.
Also you should start playback after you launched the app, that's some Spotify restriction on websocket. Software cant see track that was playing before software was launched.

Also please keep discussion of this issue here, not in the first one you created.

https://pastebin.com/LUpkA6Xw
This is my config.

I was using the .exe Thats why it was giving me an issue.


bump build number to add pinning

Overview
This package is dependent on graphviz, so a cautious pinning was added.

Changes made:

bumped build number
added jinja variable
added cautious pinning to graphvi

Jira Ticket: PKG-908
Upstream: https://github.com/pygraphviz/pygraphviz

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_92ft6vkjhj/clone/recipe/meta.yaml:66: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_92ft6vkjhj/clone/recipe/meta.yaml:66: missing_license_url: The recipe is missing a license_url
Warnings were found

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_fdxppm8imj/clone/recipe/meta.yaml:66: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_fdxppm8imj/clone/recipe/meta.yaml:66: missing_license_url: The recipe is missing a license_url
Warnings were found


Format and ViewFormat Options not working.

When trying to set format option as 'MM-DD-YYYY', the default formats seem override.  Maybe hard code.
default:
format: string	format for model value	'DD.MM.YYYY'
viewFormat: string	format for view	'DD.MM.YYYY'
Thanks,

Did you set it as global options or in the template?

Yes, I tried both global and local options. Its seems to be hard code in the following file.
datepicker-container.component.ts (not reading from options)
example: (several other places within the file)

generateCalendar(..)

let firstDay = moment(`01.${month + 1}.${year}`, 'DD.MM.YYYY');

Can you try to install version 0.3.4-beta1?
npm install angular2-datepickr@beta
Should be fixed.

Yes, the date format options and arrow icons are fixed now at least for the input component. But now we have a new error for the jb-text-datepicker component with the following error message:

error_handler.js:48 EXCEPTION: Error in ./TextDatePickerComponent class TextDatePickerComponent - inline template:1:5 caused by: Cannot read property 'preventDefault' of undefined

Should be fixed in 0.3.4-beta3

Looks good! Thank you for a fast response time. :+1:

You are welcome ;-)


[Bug]: ZW090 Upgrade v9 / ZWaveError: Failed to open the serial port: Error: Permission denied, cannot open /dev/ttyACM0 (ZW0100)

How can we help?
Hello, I upgraded from 8.2.1 to 9.1.1 and then controller does not work anymore.
Node display this on UI:

I'm using a Aeotec Z Stick Gen5+ (ZW090-C) and Node-RED in a docker container with the following config:
services:
  node-red:
    # ...
    group_add:
      - dialout
    devices:
      - "/dev/serial/by-id/usb-0658_0200-if00:/dev/ttyACM0"
    volumes:
      - type: bind
        source: /dev/serial/by-id/usb-0658_0200-if00
        target: /dev/ttyACM0

:x: zwavejs.log 9.1.1 failing
user@rpi4:~/node-red-data$ tail -n 500 -f zwavejs.log
2024-12-25T15:47:29.495Z NDERED   [options] [interview.queryAllUserCodes] Disabled
2024-12-25T15:47:29.497Z NDERED   [options] [disableOptimisticValueUpdate] Disabled
2024-12-25T15:47:29.498Z NDERED   [options] [features.softReset] Disabled
2024-12-25T15:47:29.498Z NDERED   [options] [storage.cacheDir] /data/zwave-js-cache
2024-12-25T15:47:29.499Z NDERED   [options] [storage.throttle] normal
2024-12-25T15:47:29.500Z NDERED   [options] [securityKeys.S0_Legacy] Encryption key provided          [16 bytes]
2024-12-25T15:47:29.501Z NDERED   [options] [securityKeys.S2_Unauthenticated] Encryption key provided [16 bytes]
2024-12-25T15:47:29.501Z NDERED   [options] [securityKeys.S2_Authenticated] Encryption key provided   [16 bytes]
2024-12-25T15:47:29.502Z NDERED   [options] [securityKeys.S2_AccessControl] Encryption key provided   [16 bytes]
2024-12-25T15:47:29.502Z NDERED   [options] [preferences.scales.temperature] 0x00
2024-12-25T15:47:29.502Z NDERED   [options] [preferences.scales.humidity] 0x00
2024-12-25T15:47:29.504Z NDERED   [FWUS] Open source license applied
2024-12-25T15:47:29.504Z NDERED   Initializing driver...
2024-12-25T15:47:29.519Z NDERED   [TELEMETRY] Disabling...
2024-12-25T15:47:29.541Z NDERED   Starting driver...
2024-12-25T15:47:29.545Z DRIVER   ███████╗        ██╗    ██╗  █████╗  ██╗   ██╗ ███████╗          ██╗ ███████╗
                                  ╚══███╔╝        ██║    ██║ ██╔══██╗ ██║   ██║ ██╔════╝          ██║ ██╔════╝
                                    ███╔╝  █████╗ ██║ █╗ ██║ ███████║ ██║   ██║ █████╗            ██║ ███████╗
                                   ███╔╝   ╚════╝ ██║███╗██║ ██╔══██║ ╚██╗ ██╔╝ ██╔══╝       ██   ██║ ╚════██║
                                  ███████╗        ╚███╔███╔╝ ██║  ██║  ╚████╔╝  ███████╗     ╚█████╔╝ ███████║
                                  ╚══════╝         ╚══╝╚══╝  ╚═╝  ╚═╝   ╚═══╝   ╚══════╝      ╚════╝  ╚══════╝
2024-12-25T15:47:29.546Z DRIVER   version 14.3.7
2024-12-25T15:47:29.546Z DRIVER
2024-12-25T15:47:29.547Z DRIVER   starting driver...
2024-12-25T15:47:29.547Z DRIVER   opening serial port /dev/ttyACM0
2024-12-25T15:47:30.228Z DRIVER   serial port opened
2024-12-25T15:47:30.231Z SERIAL » 0x15                                                                 (1 bytes)
2024-12-25T15:47:31.684Z DRIVER   loading configuration...
2024-12-25T15:47:31.686Z CONFIG   version 14.3.7
2024-12-25T15:47:34.436Z DRIVER   beginning interview...
2024-12-25T15:47:34.441Z DRIVER   added request handler for AddNodeToNetwork (0x4a)...
                                  1 registered
2024-12-25T15:47:34.442Z DRIVER   added request handler for RemoveNodeFromNetwork (0x4b)...
                                  1 registered
2024-12-25T15:47:34.443Z DRIVER   added request handler for ReplaceFailedNode (0x63)...
                                  1 registered
2024-12-25T15:47:34.443Z DRIVER   added request handler for SetLearnMode (0x50)...
                                  1 registered
2024-12-25T15:47:34.446Z CNTRLR   querying Serial API capabilities...
2024-12-25T15:47:34.799Z SERIAL » 0x01030007fb                                                         (5 bytes)
2024-12-25T15:47:34.802Z DRIVER » [REQ] [GetSerialApiCapabilities]
2024-12-25T15:47:34.833Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:47:34.838Z SERIAL « 0x012b0107010200860001005afe877f88cf7fc04ffbdffde067008080008086000 (45 bytes)
                                  100e87300800f000060000090
2024-12-25T15:47:34.843Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:47:34.845Z DRIVER « [RES] [GetSerialApiCapabilities]
2024-12-25T15:47:34.858Z CNTRLR   received API capabilities:
                                    firmware version:    1.2
                                    manufacturer ID:     0x86
                                    product type:        0x01
                                    product ID:          0x5a
                                    supported functions:
                                    · GetSerialApiInitData (0x02)
                                    · SetApplicationNodeInformation (0x03)
                                    · ApplicationCommand (0x04)
                                    · GetControllerCapabilities (0x05)
                                    · SetSerialApiTimeouts (0x06)
                                    · GetSerialApiCapabilities (0x07)
                                    · SoftReset (0x08)
                                    · GetProtocolVersion (0x09)
                                    · SerialAPIStarted (0x0a)
                                    · SerialAPISetup (0x0b)
                                    · SetRFReceiveMode (0x10)
                                    · UNKNOWN_FUNC_SET_SLEEP_MODE (0x11)
                                    · SendNodeInformation (0x12)
                                    · SendData (0x13)
                                    · SendDataMulticast (0x14)
                                    · GetControllerVersion (0x15)
                                    · SendDataAbort (0x16)
                                    · FUNC_ID_ZW_R_F_POWER_LEVEL_SET (0x17)
                                    · FUNC_ID_ZW_GET_RANDOM (0x1c)
                                    · GetControllerId (0x20)
                                    · UNKNOWN_FUNC_MEMORY_GET_BYTE (0x21)
                                    · UNKNOWN_FUNC_MEMORY_PUT_BYTE (0x22)
                                    · UNKNOWN_FUNC_MEMORY_GET_BUFFER (0x23)
                                    · UNKNOWN_FUNC_MEMORY_PUT_BUFFER (0x24)
                                    · EnterBootloader (0x27)
                                    · UNKNOWN_FUNC_UNKNOWN_0x28 (0x28)
                                    · GetNVMId (0x29)
                                    · ExtNVMReadLongBuffer (0x2a)
                                    · ExtNVMWriteLongBuffer (0x2b)
                                    · ExtNVMReadLongByte (0x2c)
                                    · ExtExtWriteLongByte (0x2d)
                                    · NVMOperations (0x2e)
                                    · undefined (0x2f)
                                    · ClearTxTimers (0x37)
                                    · GetTxTimers (0x38)
                                    · ClearNetworkStats (0x39)
                                    · GetNetworkStats (0x3a)
                                    · GetBackgroundRSSI (0x3b)
                                    · SetListenBeforeTalkThreshold (0x3c)
                                    · RemoveSpecificNodeIdFromNetwork (0x3f)
                                    · GetNodeProtocolInfo (0x41)
                                    · HardReset (0x42)
                                    · FUNC_ID_ZW_REPLICATION_COMMAND_COMPLETE (0x44)
                                    · FUNC_ID_ZW_REPLICATION_SEND_DATA (0x45)
                                    · AssignReturnRoute (0x46)
                                    · DeleteReturnRoute (0x47)
                                    · RequestNodeNeighborUpdate (0x48)
                                    · ApplicationUpdateRequest (0x49)
                                    · AddNodeToNetwork (0x4a)
                                    · RemoveNodeFromNetwork (0x4b)
                                    · AddControllerAndAssignPrimary (0x4c)
                                    · AddPrimaryController (0x4d)
                                    · AssignPriorityReturnRoute (0x4f)
                                    · SetLearnMode (0x50)
                                    · AssignSUCReturnRoute (0x51)
                                    · RequestNetworkUpdate (0x53)
                                    · SetSUCNodeId (0x54)
                                    · DeleteSUCReturnRoute (0x55)
                                    · GetSUCNodeId (0x56)
                                    · SendSUCNodeId (0x57)
                                    · AssignPrioritySUCReturnRoute (0x58)
                                    · ExploreRequestInclusion (0x5e)
                                    · ExploreRequestExclusion (0x5f)
                                    · RequestNodeInfo (0x60)
                                    · RemoveFailedNode (0x61)
                                    · IsFailedNode (0x62)
                                    · ReplaceFailedNode (0x63)
                                    · UNKNOWN_FUNC_UNKNOWN_0x66 (0x66)
                                    · UNKNOWN_FUNC_UNKNOWN_0x67 (0x67)
                                    · FirmwareUpdateNVM (0x78)
                                    · GetRoutingInfo (0x80)
                                    · LockUnlockLastRoute (0x90)
                                    · GetPriorityRoute (0x92)
                                    · SetPriorityRoute (0x93)
                                    · UNKNOWN_FUNC_UNKNOWN_0x98 (0x98)
                                    · FUNC_ID_APPLICATION_SLAVE_COMMAND_HANDLER (0xa1)
                                    · undefined (0xb4)
                                    · EnableWatchdog500 (0xb6)
                                    · DisableWatchdog500 (0xb7)
                                    · KickWatchdog500 (0xb8)
                                    · UNKNOWN_FUNC_UNKNOWN_0xB9 (0xb9)
                                    · UNKNOWN_FUNC_RF_POWERLEVEL_GET (0xba)
                                    · GetLibrary (0xbd)
                                    · SendTestFrame (0xbe)
                                    · GetProtocolStatus (0xbf)
                                    · FUNC_ID_ZW_SET_PROMISCUOUS_MODE (0xd0)
                                    · FUNC_ID_PROMISCUOUS_APPLICATION_COMMAND_HANDLER (0xd1)
                                    · StartWatchdog (0xd2)
                                    · StopWatchdog (0xd3)
                                    · SetMaximumRoutingAttempts (0xd4)
                                    · undefined (0xee)
                                    · undefined (0xef)
2024-12-25T15:47:34.859Z CNTRLR   querying additional controller information...
2024-12-25T15:47:34.873Z SERIAL » 0x01030002fe                                                         (5 bytes)
2024-12-25T15:47:34.874Z DRIVER » [REQ] [GetSerialApiInitData]
2024-12-25T15:47:34.879Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:47:34.975Z SERIAL « 0x0125010208081d21ff00000000000000000000000000000000000000000000000 (39 bytes)
<PHONE_NUMBER>01f
2024-12-25T15:47:34.978Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:47:34.979Z DRIVER « [RES] [GetSerialApiInitData]
2024-12-25T15:47:34.984Z CNTRLR   received additional controller information:
                                    Z-Wave API version:         8 (legacy)
                                    Z-Wave chip type:           ZW050x
                                    node type                   Controller
                                    controller role:            primary
                                    controller is the SIS:      true
                                    controller supports timers: false
                                    Z-Wave Classic nodes:       1, 6, 9, 10, 11, 12, 13, 14, 15, 16
2024-12-25T15:47:34.984Z CNTRLR   querying version info...
2024-12-25T15:47:34.993Z SERIAL » 0x01030015e9                                                         (5 bytes)
2024-12-25T15:47:34.994Z DRIVER » [REQ] [GetControllerVersion]
2024-12-25T15:47:35.003Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:47:35.006Z SERIAL « 0x011001155a2d5761766520362e3037000197                              (18 bytes)
2024-12-25T15:47:35.009Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:47:35.010Z DRIVER « [RES] [GetControllerVersion]
2024-12-25T15:47:35.016Z CNTRLR   received version info:
                                    controller type: Static Controller
                                    library version: Z-Wave 6.07
2024-12-25T15:47:35.017Z CNTRLR   querying protocol version info...
2024-12-25T15:47:35.026Z SERIAL » 0x01030009f5                                                         (5 bytes)
2024-12-25T15:47:35.027Z DRIVER » [REQ] [GetProtocolVersion]
2024-12-25T15:47:35.032Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:47:35.035Z SERIAL « 0x010901090006070000619e                                            (11 bytes)
2024-12-25T15:47:35.036Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:47:35.038Z DRIVER « [RES] [GetProtocolVersion]
2024-12-25T15:47:35.042Z CNTRLR   received protocol version info:
                                    protocol type:             Z-Wave
                                    protocol version:          6.7.0
                                    appl. framework build no.: 97
2024-12-25T15:47:35.043Z CNTRLR   querying controller capabilities...
2024-12-25T15:47:35.050Z SERIAL » 0x01030005f9                                                         (5 bytes)
2024-12-25T15:47:35.052Z DRIVER » [REQ] [GetControllerCapabilities]
2024-12-25T15:47:35.055Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:47:35.057Z SERIAL « 0x010401051ce3                                                       (6 bytes)
2024-12-25T15:47:35.060Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:47:35.061Z DRIVER « [RES] [GetControllerCapabilities]
2024-12-25T15:47:35.067Z CNTRLR   received controller capabilities:
                                    controller role:      Primary
                                    is the SUC:           true
                                    started this network: true
                                    SIS is present:       true
                                    was real primary:     true
2024-12-25T15:47:35.067Z CNTRLR   querying serial API setup capabilities...
2024-12-25T15:47:35.074Z SERIAL » 0x0104000b01f1                                                       (6 bytes)
2024-12-25T15:47:35.076Z DRIVER » [REQ] [SerialAPISetup]
                                    command: GetSupportedCommands
                                    payload: 0x01
2024-12-25T15:47:35.080Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:47:35.082Z SERIAL « 0x0105010b011eef                                                     (7 bytes)
2024-12-25T15:47:35.084Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:47:35.086Z DRIVER « [RES] [SerialAPISetup]
                                    command: GetSupportedCommands
2024-12-25T15:47:35.090Z CNTRLR   supported serial API setup commands:
                                  · GetSupportedCommands
                                  · SetTxStatusReport
                                  · SetPowerlevel
                                  · GetPowerlevel
                                  · GetMaximumPayloadSize
2024-12-25T15:47:35.090Z CNTRLR   querying max. payload size...
2024-12-25T15:47:35.097Z SERIAL » 0x0104000b10e0                                                       (6 bytes)
2024-12-25T15:47:35.098Z DRIVER » [REQ] [SerialAPISetup]
                                    command: GetMaximumPayloadSize
                                    payload: 0x10
2024-12-25T15:47:35.118Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:47:35.120Z SERIAL « 0x0105010b102ece                                                     (7 bytes)
2024-12-25T15:47:35.122Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:47:35.124Z DRIVER « [RES] [SerialAPISetup]
                                    command:              GetMaximumPayloadSize
                                    maximum payload size: 46 bytes
2024-12-25T15:47:35.128Z CNTRLR   maximum payload size: 46 bytes
2024-12-25T15:47:35.134Z CNTRLR   supported Z-Wave features:
                                    · SmartStart
2024-12-25T15:47:35.138Z CNTRLR   Performing soft reset...
2024-12-25T15:47:35.145Z SERIAL » 0x01030008f4                                                         (5 bytes)
2024-12-25T15:47:35.146Z DRIVER » [REQ] [SoftReset]
2024-12-25T15:47:35.150Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:47:35.154Z CNTRLR   Waiting for the controller to reconnect...
2024-12-25T15:47:35.156Z DRIVER   all queues idle
2024-12-25T15:47:36.656Z CNTRLR   Re-opening serial port...
2024-12-25T15:47:45.678Z DRIVER   Failed to open the serial port: Error: Permission denied, cannot open /dev/tty
                                  ACM0
2024-12-25T15:47:45.680Z DRIVER   Failed to initialize the driver: ZWaveError: The Serial API did not respond af
                                  ter soft-reset (ZW0100)
                                      at Driver.softResetInternal (/data/node_modules/zwave-js/src/lib/driver/Dr
                                  iver.ts:3102:11)
                                      at Driver.initializeControllerAndNodes (/data/node_modules/zwave-js/src/li
                                  b/driver/Driver.ts:1683:5)
                                      at Immediate.<anonymous> (/data/node_modules/zwave-js/src/lib/driver/Drive
                                  r.ts:1466:5)
2024-12-25T15:47:45.681Z NDERED   [ERROR] [DRIVER] Failed to initialize the driver: ZWaveError: The Serial API d
                                  id not respond after soft-reset (ZW0100)
                                      at Driver.softResetInternal (/data/node_modules/zwave-js/src/lib/driver/Dr
                                  iver.ts:3102:11)
                                      at Driver.initializeControllerAndNodes (/data/node_modules/zwave-js/src/li
                                  b/driver/Driver.ts:1683:5)
                                      at Immediate.<anonymous> (/data/node_modules/zwave-js/src/lib/driver/Drive
                                  r.ts:1466:5) (ZW0100)
2024-12-25T15:47:45.687Z NDERED » [WATCHDOG] [DIRECT] Forwarding payload...
2024-12-25T15:47:45.690Z DRIVER   destroying driver instance...
2024-12-25T15:47:45.692Z DRIVER   driver instance destroyed
2024-12-25T15:48:00.690Z NDERED » [WATCHDOG] [DIRECT] Forwarding payload...
2024-12-25T15:48:00.691Z NDERED   [SHUTDOWN] [WATCHDOG-RECOVERY] Cleaning up...
2024-12-25T15:48:00.691Z NDERED   Initializing driver...
2024-12-25T15:48:00.698Z NDERED   [TELEMETRY] Disabling...
2024-12-25T15:48:00.699Z NDERED   Starting driver...
2024-12-25T15:48:00.699Z DRIVER   ███████╗        ██╗    ██╗  █████╗  ██╗   ██╗ ███████╗          ██╗ ███████╗
                                  ╚══███╔╝        ██║    ██║ ██╔══██╗ ██║   ██║ ██╔════╝          ██║ ██╔════╝
                                    ███╔╝  █████╗ ██║ █╗ ██║ ███████║ ██║   ██║ █████╗            ██║ ███████╗
                                   ███╔╝   ╚════╝ ██║███╗██║ ██╔══██║ ╚██╗ ██╔╝ ██╔══╝       ██   ██║ ╚════██║
                                  ███████╗        ╚███╔███╔╝ ██║  ██║  ╚████╔╝  ███████╗     ╚█████╔╝ ███████║
                                  ╚══════╝         ╚══╝╚══╝  ╚═╝  ╚═╝   ╚═══╝   ╚══════╝      ╚════╝  ╚══════╝
2024-12-25T15:48:00.700Z DRIVER   version 14.3.7
2024-12-25T15:48:00.700Z DRIVER
2024-12-25T15:48:00.700Z DRIVER   starting driver...
2024-12-25T15:48:00.701Z DRIVER   opening serial port /dev/ttyACM0
2024-12-25T15:48:09.724Z DRIVER   Failed to open the serial port: Error: Permission denied, cannot open /dev/tty
                                  ACM0
2024-12-25T15:48:09.726Z DRIVER   destroying driver instance...
2024-12-25T15:48:09.727Z NDERED   [ERROR] [DRIVER] Failed to open the serial port: Error: Permission denied, can
                                  not open /dev/ttyACM0 (ZW0100)
2024-12-25T15:48:09.733Z NDERED » [WATCHDOG] [DIRECT] Forwarding payload...
2024-12-25T15:48:09.735Z DRIVER   driver instance destroyed
2024-12-25T15:48:24.738Z NDERED » [WATCHDOG] [DIRECT] Forwarding payload...
2024-12-25T15:48:24.739Z NDERED   [SHUTDOWN] [WATCHDOG-RECOVERY] Cleaning up...
2024-12-25T15:48:24.740Z NDERED   Initializing driver...
2024-12-25T15:48:24.752Z NDERED   [TELEMETRY] Disabling...
2024-12-25T15:48:24.754Z NDERED   Starting driver...
2024-12-25T15:48:24.755Z DRIVER   ███████╗        ██╗    ██╗  █████╗  ██╗   ██╗ ███████╗          ██╗ ███████╗
                                  ╚══███╔╝        ██║    ██║ ██╔══██╗ ██║   ██║ ██╔════╝          ██║ ██╔════╝
                                    ███╔╝  █████╗ ██║ █╗ ██║ ███████║ ██║   ██║ █████╗            ██║ ███████╗
                                   ███╔╝   ╚════╝ ██║███╗██║ ██╔══██║ ╚██╗ ██╔╝ ██╔══╝       ██   ██║ ╚════██║
                                  ███████╗        ╚███╔███╔╝ ██║  ██║  ╚████╔╝  ███████╗     ╚█████╔╝ ███████║
                                  ╚══════╝         ╚══╝╚══╝  ╚═╝  ╚═╝   ╚═══╝   ╚══════╝      ╚════╝  ╚══════╝
2024-12-25T15:48:24.755Z DRIVER   version 14.3.7
2024-12-25T15:48:24.755Z DRIVER
2024-12-25T15:48:24.756Z DRIVER   starting driver...
2024-12-25T15:48:24.756Z DRIVER   opening serial port /dev/ttyACM0
2024-12-25T15:48:33.783Z DRIVER   Failed to open the serial port: Error: Permission denied, cannot open /dev/tty
                                  ACM0
2024-12-25T15:48:33.785Z DRIVER   destroying driver instance...
2024-12-25T15:48:33.785Z NDERED   [ERROR] [DRIVER] Failed to open the serial port: Error: Permission denied, can
                                  not open /dev/ttyACM0 (ZW0100)
2024-12-25T15:48:33.793Z NDERED » [WATCHDOG] [DIRECT] Forwarding payload...
2024-12-25T15:48:33.794Z DRIVER   driver instance destroyed

Then I rollback to 8.2.1 with:
npm install<EMAIL_ADDRESS>npm rebuild --build-from-source

And it works again but I can not upgrade 😞

:white_check_mark: zwavejs.log 8.2.1 working
2024-12-25T15:57:17.108Z NDERED   [options] [interview.queryAllUserCodes] Disabled
2024-12-25T15:57:17.111Z NDERED   [options] [disableOptimisticValueUpdate] Disabled
2024-12-25T15:57:17.111Z NDERED   [options] [enableSoftReset] Disabled
2024-12-25T15:57:17.112Z NDERED   [options] [storage.cacheDir] /data/zwave-js-cache
2024-12-25T15:57:17.112Z NDERED   [options] [storage.throttle] normal
2024-12-25T15:57:17.112Z NDERED   [options] [securityKeys.S0_Legacy] Encryption key provided          [16 bytes]
2024-12-25T15:57:17.114Z NDERED   [options] [securityKeys.S2_Unauthenticated] Encryption key provided [16 bytes]
2024-12-25T15:57:17.114Z NDERED   [options] [securityKeys.S2_Authenticated] Encryption key provided   [16 bytes]
2024-12-25T15:57:17.115Z NDERED   [options] [securityKeys.S2_AccessControl] Encryption key provided   [16 bytes]
2024-12-25T15:57:17.115Z NDERED   [options] [preferences.scales.temperature] 0x00
2024-12-25T15:57:17.115Z NDERED   [options] [preferences.scales.humidity] 0x00
2024-12-25T15:57:17.116Z NDERED   [FWUS] Open source license applied
2024-12-25T15:57:17.117Z NDERED   Initializing driver...
2024-12-25T15:57:17.131Z NDERED   [TELEMETRY] Disabling...
2024-12-25T15:57:17.133Z NDERED   Starting driver...
2024-12-25T15:57:17.136Z DRIVER   ███████╗ ██╗    ██╗  █████╗  ██╗   ██╗ ███████╗             ██╗ ███████╗
                                  ╚══███╔╝ ██║    ██║ ██╔══██╗ ██║   ██║ ██╔════╝             ██║ ██╔════╝
                                    ███╔╝  ██║ █╗ ██║ ███████║ ██║   ██║ █████╗   █████╗      ██║ ███████╗
                                   ███╔╝   ██║███╗██║ ██╔══██║ ╚██╗ ██╔╝ ██╔══╝   ╚════╝ ██   ██║ ╚════██║
                                  ███████╗ ╚███╔███╔╝ ██║  ██║  ╚████╔╝  ███████╗        ╚█████╔╝ ███████║
                                  ╚══════╝  ╚══╝╚══╝  ╚═╝  ╚═╝   ╚═══╝   ╚══════╝         ╚════╝  ╚══════╝
2024-12-25T15:57:17.137Z DRIVER   version 11.14.3
2024-12-25T15:57:17.137Z DRIVER
2024-12-25T15:57:17.137Z DRIVER   starting driver...
2024-12-25T15:57:17.138Z DRIVER   opening serial port /dev/ttyACM0
2024-12-25T15:57:17.658Z DRIVER   serial port opened
2024-12-25T15:57:17.664Z SERIAL » 0x15                                                                 (1 bytes)
2024-12-25T15:57:19.441Z DRIVER   loading configuration...
2024-12-25T15:57:19.485Z CONFIG   version 11.14.3
2024-12-25T15:57:50.974Z CONFIG   Device index regenerated
2024-12-25T15:57:51.046Z DRIVER   beginning interview...

2024-12-25T15:57:51.049Z DRIVER   added request handler for AddNodeToNetwork (0x4a)...
                                  1 registered
2024-12-25T15:57:51.051Z DRIVER   added request handler for RemoveNodeFromNetwork (0x4b)...
                                  1 registered
2024-12-25T15:57:51.051Z DRIVER   added request handler for ReplaceFailedNode (0x63)...
                                  1 registered
2024-12-25T15:57:51.051Z DRIVER   added request handler for SerialAPIStarted (0x0a)...
                                  1 registered
2024-12-25T15:57:51.053Z CNTRLR   querying Serial API capabilities...
2024-12-25T15:57:51.535Z SERIAL » 0x01030007fb                                                         (5 bytes)
2024-12-25T15:57:51.538Z DRIVER » [REQ] [GetSerialApiCapabilities]
2024-12-25T15:57:51.551Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:57:51.557Z SERIAL « 0x012b0107010200860001005afe877f88cf7fc04ffbdffde067008080008086000 (45 bytes)
                                  100e87300800f000060000090
2024-12-25T15:57:51.560Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:51.562Z DRIVER « [RES] [GetSerialApiCapabilities]
                                    payload: 0x010200860001005afe877f88cf7fc04ffbdffde067008080008086000100e8730
                                  0800f0000600000
2024-12-25T15:57:51.575Z CNTRLR   received API capabilities:
                                    firmware version:    1.2
                                    manufacturer ID:     0x86
                                    product type:        0x01
                                    product ID:          0x5a
                                    supported functions:
                                    · GetSerialApiInitData (0x02)
                                    · SetApplicationNodeInformation (0x03)
                                    · ApplicationCommand (0x04)
                                    · GetControllerCapabilities (0x05)
                                    · SetSerialApiTimeouts (0x06)
                                    · GetSerialApiCapabilities (0x07)
                                    · SoftReset (0x08)
                                    · GetProtocolVersion (0x09)
                                    · SerialAPIStarted (0x0a)
                                    · SerialAPISetup (0x0b)
                                    · SetRFReceiveMode (0x10)
                                    · UNKNOWN_FUNC_SET_SLEEP_MODE (0x11)
                                    · FUNC_ID_ZW_SEND_NODE_INFORMATION (0x12)
                                    · SendData (0x13)
                                    · SendDataMulticast (0x14)
                                    · GetControllerVersion (0x15)
                                    · SendDataAbort (0x16)
                                    · FUNC_ID_ZW_R_F_POWER_LEVEL_SET (0x17)
                                    · FUNC_ID_ZW_GET_RANDOM (0x1c)
                                    · GetControllerId (0x20)
                                    · UNKNOWN_FUNC_MEMORY_GET_BYTE (0x21)
                                    · UNKNOWN_FUNC_MEMORY_PUT_BYTE (0x22)
                                    · UNKNOWN_FUNC_MEMORY_GET_BUFFER (0x23)
                                    · UNKNOWN_FUNC_MEMORY_PUT_BUFFER (0x24)
                                    · EnterBootloader (0x27)
                                    · UNKNOWN_FUNC_UNKNOWN_0x28 (0x28)
                                    · GetNVMId (0x29)
                                    · ExtNVMReadLongBuffer (0x2a)
                                    · ExtNVMWriteLongBuffer (0x2b)
                                    · ExtNVMReadLongByte (0x2c)
                                    · ExtExtWriteLongByte (0x2d)
                                    · NVMOperations (0x2e)
                                    · undefined (0x2f)
                                    · undefined (0x37)
                                    · undefined (0x38)
                                    · UNKNOWN_FUNC_ClearNetworkStats (0x39)
                                    · UNKNOWN_FUNC_GetNetworkStats (0x3a)
                                    · GetBackgroundRSSI (0x3b)
                                    · undefined (0x3c)
                                    · UNKNOWN_FUNC_RemoveNodeIdFromNetwork (0x3f)
                                    · GetNodeProtocolInfo (0x41)
                                    · HardReset (0x42)
                                    · FUNC_ID_ZW_REPLICATION_COMMAND_COMPLETE (0x44)
                                    · FUNC_ID_ZW_REPLICATION_SEND_DATA (0x45)
                                    · AssignReturnRoute (0x46)
                                    · DeleteReturnRoute (0x47)
                                    · RequestNodeNeighborUpdate (0x48)
                                    · ApplicationUpdateRequest (0x49)
                                    · AddNodeToNetwork (0x4a)
                                    · RemoveNodeFromNetwork (0x4b)
                                    · FUNC_ID_ZW_CREATE_NEW_PRIMARY (0x4c)
                                    · FUNC_ID_ZW_CONTROLLER_CHANGE (0x4d)
                                    · AssignPriorityReturnRoute (0x4f)
                                    · FUNC_ID_ZW_SET_LEARN_MODE (0x50)
                                    · AssignSUCReturnRoute (0x51)
                                    · FUNC_ID_ZW_REQUEST_NETWORK_UPDATE (0x53)
                                    · SetSUCNodeId (0x54)
                                    · DeleteSUCReturnRoute (0x55)
                                    · GetSUCNodeId (0x56)
                                    · UNKNOWN_FUNC_SEND_SUC_ID (0x57)
                                    · AssignPrioritySUCReturnRoute (0x58)
                                    · FUNC_ID_ZW_EXPLORE_REQUEST_INCLUSION (0x5e)
                                    · undefined (0x5f)
                                    · RequestNodeInfo (0x60)
                                    · RemoveFailedNode (0x61)
                                    · IsFailedNode (0x62)
                                    · ReplaceFailedNode (0x63)
                                    · UNKNOWN_FUNC_UNKNOWN_0x66 (0x66)
                                    · UNKNOWN_FUNC_UNKNOWN_0x67 (0x67)
                                    · FirmwareUpdateNVM (0x78)
                                    · GetRoutingInfo (0x80)
                                    · UNKNOWN_FUNC_LOCK_ROUTE_RESPONSE (0x90)
                                    · GetPriorityRoute (0x92)
                                    · SetPriorityRoute (0x93)
                                    · UNKNOWN_FUNC_UNKNOWN_0x98 (0x98)
                                    · FUNC_ID_APPLICATION_SLAVE_COMMAND_HANDLER (0xa1)
                                    · UNKNOWN_FUNC_UNKNOWN_0xB4 (0xb4)
                                    · UNKNOWN_FUNC_WATCH_DOG_ENABLE (0xb6)
                                    · UNKNOWN_FUNC_WATCH_DOG_DISABLE (0xb7)
                                    · UNKNOWN_FUNC_WATCH_DOG_KICK (0xb8)
                                    · UNKNOWN_FUNC_UNKNOWN_0xB9 (0xb9)
                                    · UNKNOWN_FUNC_RF_POWERLEVEL_GET (0xba)
                                    · UNKNOWN_FUNC_GET_LIBRARY_TYPE (0xbd)
                                    · UNKNOWN_FUNC_SEND_TEST_FRAME (0xbe)
                                    · UNKNOWN_FUNC_GET_PROTOCOL_STATUS (0xbf)
                                    · FUNC_ID_ZW_SET_PROMISCUOUS_MODE (0xd0)
                                    · FUNC_ID_PROMISCUOUS_APPLICATION_COMMAND_HANDLER (0xd1)
                                    · UNKNOWN_FUNC_UNKNOWN_0xD2 (0xd2)
                                    · UNKNOWN_FUNC_UNKNOWN_0xD3 (0xd3)
                                    · UNKNOWN_FUNC_UNKNOWN_0xD4 (0xd4)
                                    · undefined (0xee)
                                    · UNKNOWN_FUNC_UNKNOWN_0xEF (0xef)
2024-12-25T15:57:51.576Z CNTRLR   querying version info...
2024-12-25T15:57:51.587Z SERIAL » 0x01030015e9                                                         (5 bytes)
2024-12-25T15:57:51.587Z DRIVER » [REQ] [GetControllerVersion]
2024-12-25T15:57:51.591Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:57:51.594Z SERIAL « 0x011001155a2d5761766520362e3037000197                              (18 bytes)
2024-12-25T15:57:51.596Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:51.597Z DRIVER « [RES] [GetControllerVersion]
                                    payload: 0x5a2d5761766520362e30370001
2024-12-25T15:57:51.602Z CNTRLR   received version info:
                                    controller type: Static Controller
                                    library version: Z-Wave 6.07
2024-12-25T15:57:51.602Z CNTRLR   querying protocol version info...
2024-12-25T15:57:51.611Z SERIAL » 0x01030009f5                                                         (5 bytes)
2024-12-25T15:57:51.611Z DRIVER » [REQ] [GetProtocolVersion]
2024-12-25T15:57:51.615Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:57:51.617Z SERIAL « 0x010901090006070000619e                                            (11 bytes)
2024-12-25T15:57:51.618Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:51.620Z DRIVER « [RES] [GetProtocolVersion]
                                    payload: 0x000607000061
2024-12-25T15:57:51.624Z CNTRLR   received protocol version info:
                                    protocol type:             Z-Wave
                                    protocol version:          6.7.0
                                    appl. framework build no.: 97
2024-12-25T15:57:51.625Z CNTRLR   querying serial API setup capabilities...
2024-12-25T15:57:51.632Z SERIAL » 0x0104000b01f1                                                       (6 bytes)
2024-12-25T15:57:51.633Z DRIVER » [REQ] [SerialAPISetup]
                                    command: GetSupportedCommands
                                    payload: 0x01
2024-12-25T15:57:51.636Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:57:51.638Z SERIAL « 0x0105010b011eef                                                     (7 bytes)
2024-12-25T15:57:51.640Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:51.642Z DRIVER « [RES] [SerialAPISetup]
                                    command: GetSupportedCommands
                                    payload: 0x1e
2024-12-25T15:57:51.647Z CNTRLR   supported serial API setup commands:
                                  · GetSupportedCommands
                                  · SetTxStatusReport
                                  · SetPowerlevel
                                  · GetPowerlevel
                                  · GetMaximumPayloadSize
2024-12-25T15:57:51.648Z CNTRLR   querying controller IDs...
2024-12-25T15:57:51.653Z SERIAL » 0x01030020dc                                                         (5 bytes)
2024-12-25T15:57:51.654Z DRIVER » [REQ] [GetControllerId]
2024-12-25T15:57:51.658Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:57:51.660Z SERIAL « 0x01080120c3bccedc01ba                                              (10 bytes)
2024-12-25T15:57:51.662Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:51.665Z DRIVER « [RES] [GetControllerId]
                                    home ID:     0xc3bccedc
                                    own node ID: 1
2024-12-25T15:57:51.668Z CNTRLR   received controller IDs:
                                    home ID:     0xc3bccedc
                                    own node ID: 1
2024-12-25T15:57:51.672Z DRIVER   all queues idle
2024-12-25T15:57:51.835Z CNTRLR   supported Z-Wave features:
                                    · SmartStart
2024-12-25T15:57:51.835Z CNTRLR   querying controller capabilities...
2024-12-25T15:57:51.837Z DRIVER   all queues busy
2024-12-25T15:57:51.840Z SERIAL » 0x01030005f9                                                         (5 bytes)
2024-12-25T15:57:51.841Z DRIVER » [REQ] [GetControllerCapabilities]
2024-12-25T15:57:51.844Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:57:51.845Z SERIAL « 0x010401051ce3                                                       (6 bytes)
2024-12-25T15:57:51.847Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:51.849Z DRIVER « [RES] [GetControllerCapabilities]
                                    payload: 0x1c
2024-12-25T15:57:51.854Z CNTRLR   received controller capabilities:
                                    controller role:      primary
                                    is the SUC:           true
                                    started this network: true
                                    SIS is present:       true
                                    was real primary:     true
2024-12-25T15:57:51.855Z CNTRLR   Enabling TX status report...
2024-12-25T15:57:51.860Z SERIAL » 0x0105000b02ff0c                                                     (7 bytes)
2024-12-25T15:57:51.862Z DRIVER » [REQ] [SerialAPISetup]
                                    command: SetTxStatusReport
                                    enabled: true
2024-12-25T15:57:51.875Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:57:51.877Z SERIAL « 0x0105010b0201f3                                                     (7 bytes)
2024-12-25T15:57:51.878Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:51.880Z DRIVER « [RES] [SerialAPISetup]
                                    command: SetTxStatusReport
                                    success: true
2024-12-25T15:57:51.884Z CNTRLR   Enabling TX status report successful...
2024-12-25T15:57:51.884Z CNTRLR   finding SUC...
2024-12-25T15:57:51.889Z SERIAL » 0x01030056aa                                                         (5 bytes)
2024-12-25T15:57:51.890Z DRIVER » [REQ] [GetSUCNodeId]
2024-12-25T15:57:51.892Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:57:51.894Z SERIAL « 0x0104015601ad                                                       (6 bytes)
2024-12-25T15:57:51.896Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:51.899Z DRIVER « [RES] [GetSUCNodeId]
                                    payload: 0x01
2024-12-25T15:57:51.902Z CNTRLR   This is the SUC
2024-12-25T15:57:51.903Z CNTRLR   querying additional controller information...
2024-12-25T15:57:51.911Z SERIAL » 0x01030002fe                                                         (5 bytes)
2024-12-25T15:57:51.913Z DRIVER » [REQ] [GetSerialApiInitData]
2024-12-25T15:57:51.916Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:57:52.013Z SERIAL « 0x0125010208081d21ff00000000000000000000000000000000000000000000000 (39 bytes)
<PHONE_NUMBER>01f
2024-12-25T15:57:52.015Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:52.017Z DRIVER « [RES] [GetSerialApiInitData]
                                    payload: 0x08081d21ff0000000000000000000000000000000000000000000000000000000
                                  500
2024-12-25T15:57:52.022Z CNTRLR   received additional controller information:
                                    Z-Wave API version:         8 (legacy)
                                    Z-Wave chip type:           ZW050x
                                    node type                   Controller
                                    controller role:            primary
                                    controller is the SIS:      true
                                    controller supports timers: false
                                    nodes in the network:       1, 6, 9, 10, 11, 12, 13, 14, 15, 16
2024-12-25T15:57:52.101Z DRIVER   Cache file for homeId 0xc3bccedc found, attempting to restore the network from
                                   cache...
2024-12-25T15:57:52.115Z DRIVER   all queues idle
2024-12-25T15:57:52.121Z CNTRLR   [Node 001] Embedded device config loaded
2024-12-25T15:57:52.143Z CNTRLR   [Node 006] Embedded device config loaded
2024-12-25T15:57:52.168Z CNTRLR   [Node 009] Embedded device config loaded
2024-12-25T15:57:52.194Z CNTRLR   [Node 010] Embedded device config loaded
2024-12-25T15:57:52.225Z CNTRLR   [Node 011] Embedded device config loaded
2024-12-25T15:57:52.295Z CNTRLR   [Node 012] Embedded device config loaded
2024-12-25T15:57:52.321Z CNTRLR   [Node 013] Embedded device config loaded
2024-12-25T15:57:52.351Z CNTRLR   [Node 014] Embedded device config loaded
2024-12-25T15:57:52.380Z CNTRLR   [Node 015] Embedded device config loaded
2024-12-25T15:57:52.394Z CNTRLR   [Node 016] Embedded device config loaded
2024-12-25T15:57:52.399Z DRIVER   Restoring the network from cache was successful!
2024-12-25T15:57:52.410Z CNTRLR   [Node 001] [Manufacturer Specific] manufacturerId: metadata updated
2024-12-25T15:57:52.411Z CNTRLR   [Node 001] [Manufacturer Specific] productType: metadata updated
2024-12-25T15:57:52.413Z CNTRLR   [Node 001] [Manufacturer Specific] productId: metadata updated
2024-12-25T15:57:52.416Z CNTRLR   [Node 001] [~] [Manufacturer Specific] manufacturerId: 134 => 134
2024-12-25T15:57:52.418Z CNTRLR   [Node 001] [~] [Manufacturer Specific] productType: 1 => 1
2024-12-25T15:57:52.419Z CNTRLR   [Node 001] [~] [Manufacturer Specific] productId: 90 => 90
2024-12-25T15:57:52.420Z CNTRLR   [Node 001] [Version] firmwareVersions: metadata updated
2024-12-25T15:57:52.422Z CNTRLR   [Node 001] [~] [Version] firmwareVersions: 1.2 => 1.2
2024-12-25T15:57:52.423Z CNTRLR   [Node 001] [Version] zWaveProtocolVersion: metadata updated
2024-12-25T15:57:52.425Z CNTRLR   [Node 001] [~] [Version] zWaveProtocolVersion: "6.7.0" => "6.7.0"
2024-12-25T15:57:52.426Z CNTRLR   [Node 001] [Version] sdkVersion: metadata updated
2024-12-25T15:57:52.427Z CNTRLR   [Node 001] [~] [Version] sdkVersion: "6.81.6" => "6.81.6"
2024-12-25T15:57:52.427Z CNTRLR   setting serial API timeouts: ack = 1000 ms, byte = 150 ms
2024-12-25T15:57:52.429Z DRIVER   all queues busy
2024-12-25T15:57:52.433Z SERIAL » 0x01050006640f97                                                     (7 bytes)
2024-12-25T15:57:52.434Z DRIVER » [REQ] [SetSerialApiTimeouts]
                                    payload: 0x640f
2024-12-25T15:57:52.436Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:57:52.438Z SERIAL « 0x01050106960f64                                                     (7 bytes)
2024-12-25T15:57:52.439Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:52.440Z DRIVER « [RES] [SetSerialApiTimeouts]
                                    payload: 0x960f
2024-12-25T15:57:52.443Z CNTRLR   serial API timeouts overwritten. The old values were: ack = 1500 ms, byte = 15
                                  0 ms
2024-12-25T15:57:52.444Z CNTRLR   Interview completed
2024-12-25T15:57:52.445Z DRIVER   Network key for S0 configured, enabling S0 security manager...
2024-12-25T15:57:52.448Z DRIVER   At least one network key for S2 configured, enabling S2 security manager...
2024-12-25T15:57:52.459Z DRIVER   driver ready
2024-12-25T15:57:52.470Z CNTRLR   [Node 001] The node is alive.
2024-12-25T15:57:52.471Z CNTRLR   [Node 001] The node is ready to be used
2024-12-25T15:57:52.475Z CNTRLR   Interviewing nodes and/or determining their status: 13, 15, 10, 14, 9, 11, 6,
                                  12, 16
2024-12-25T15:57:52.476Z CNTRLR » [Node 013] pinging the node...
2024-12-25T15:57:52.650Z CNTRLR » [Node 015] pinging the node...
2024-12-25T15:57:52.653Z CNTRLR » [Node 010] pinging the node...
2024-12-25T15:57:52.656Z CNTRLR » [Node 014] pinging the node...
2024-12-25T15:57:52.660Z CNTRLR » [Node 009] pinging the node...
2024-12-25T15:57:52.662Z CNTRLR » [Node 011] pinging the node...
2024-12-25T15:57:52.666Z CNTRLR   [Node 006] The node is asleep.
2024-12-25T15:57:52.669Z CNTRLR   [Node 006] The node is ready to be used
2024-12-25T15:57:52.671Z CNTRLR   [Node 012] The node is asleep.
2024-12-25T15:57:52.672Z CNTRLR   [Node 012] The node is ready to be used
2024-12-25T15:57:52.673Z CNTRLR   [Node 016] The node is asleep.
2024-12-25T15:57:52.674Z CNTRLR   [Node 016] The node is ready to be used
2024-12-25T15:57:52.681Z SERIAL » 0x010800130d01002501cc                                              (10 bytes)
2024-12-25T15:57:52.683Z DRIVER » [Node 013] [REQ] [SendData]
                                  │ transmit options: 0x25
                                  │ callback id:      1
                                  └─[NoOperationCC]
2024-12-25T15:57:52.694Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:57:52.698Z SERIAL « 0x0104011301e8                                                       (6 bytes)
2024-12-25T15:57:52.699Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:52.706Z DRIVER « [RES] [SendData]
                                    was sent: true
2024-12-25T15:57:52.736Z SERIAL « 0x011800130100000501c9bb7f7f7f0000030a00000003010000f7              (26 bytes)
2024-12-25T15:57:52.754Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:52.768Z DRIVER « [REQ] [SendData]
                                    callback id:            1
                                    transmit status:        OK, took 50 ms
                                    repeater node IDs:      10
                                    routing attempts:       1
                                    protocol & route speed: Z-Wave, 100 kbit/s
                                    routing scheme:         LWR
                                    ACK RSSI:               -55 dBm
                                    ACK RSSI on repeaters:  -69 dBm
                                    ACK channel no.:        0
                                    TX channel no.:         0
2024-12-25T15:57:52.780Z CNTRLR   [Node 013] The node is alive.
2024-12-25T15:57:52.782Z CNTRLR   [Node 013] The node is ready to be used
2024-12-25T15:57:52.786Z CNTRLR « [Node 013] ping successful
2024-12-25T15:57:52.793Z SERIAL » 0x010800130f01002502cd                                              (10 bytes)
2024-12-25T15:57:52.796Z DRIVER » [Node 015] [REQ] [SendData]
                                  │ transmit options: 0x25
                                  │ callback id:      2
                                  └─[NoOperationCC]
2024-12-25T15:57:52.804Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:57:52.807Z SERIAL « 0x0104011301e8                                                       (6 bytes)
2024-12-25T15:57:52.808Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:52.812Z DRIVER « [RES] [SendData]
                                    was sent: true
2024-12-25T15:57:52.989Z SERIAL « 0x011800130200001300d07f7f7f7f010104000000000205000036              (26 bytes)
2024-12-25T15:57:52.990Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:52.992Z DRIVER « [REQ] [SendData]
                                    callback id:            2
                                    transmit status:        OK, took 190 ms
                                    routing attempts:       5
                                    protocol & route speed: Z-Wave, 40 kbit/s
                                    routing scheme:         NLWR
                                    ACK RSSI:               -48 dBm
                                    ACK channel no.:        1
                                    TX channel no.:         1
2024-12-25T15:57:52.995Z CNTRLR   [Node 015] The node is alive.
2024-12-25T15:57:52.996Z CNTRLR   [Node 015] The node is ready to be used
2024-12-25T15:57:52.998Z CNTRLR « [Node 015] ping successful
2024-12-25T15:57:53.001Z SERIAL » 0x010800130a01002503c9                                              (10 bytes)
2024-12-25T15:57:53.003Z DRIVER » [Node 010] [REQ] [SendData]
                                  │ transmit options: 0x25
                                  │ callback id:      3
                                  └─[NoOperationCC]
2024-12-25T15:57:53.006Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:57:53.010Z SERIAL « 0x0104011301e8                                                       (6 bytes)
2024-12-25T15:57:53.011Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:53.012Z DRIVER « [RES] [SendData]
                                    was sent: true
2024-12-25T15:57:53.035Z SERIAL « 0x011800130300000300ca7f7f7f7f00000300000000030100003f              (26 bytes)
2024-12-25T15:57:53.036Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:53.038Z DRIVER « [REQ] [SendData]
                                    callback id:            3
                                    transmit status:        OK, took 30 ms
                                    routing attempts:       1
                                    protocol & route speed: Z-Wave, 100 kbit/s
                                    routing scheme:         LWR
                                    ACK RSSI:               -54 dBm
                                    ACK channel no.:        0
                                    TX channel no.:         0
2024-12-25T15:57:53.042Z CNTRLR   [Node 010] The node is alive.
2024-12-25T15:57:53.043Z CNTRLR   [Node 010] The node is ready to be used
2024-12-25T15:57:53.044Z CNTRLR « [Node 010] ping successful
2024-12-25T15:57:53.047Z SERIAL » 0x010800130e01002504ca                                              (10 bytes)
2024-12-25T15:57:53.048Z DRIVER » [Node 014] [REQ] [SendData]
                                  │ transmit options: 0x25
                                  │ callback id:      4
                                  └─[NoOperationCC]
2024-12-25T15:57:53.051Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:57:53.055Z SERIAL « 0x0104011301e8                                                       (6 bytes)
2024-12-25T15:57:53.056Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:53.057Z DRIVER « [RES] [SendData]
                                    was sent: true
2024-12-25T15:57:53.233Z SERIAL « 0x011800130400001201cac17f7f7f0101030a000000020200009e              (26 bytes)
2024-12-25T15:57:53.234Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:53.235Z DRIVER « [REQ] [SendData]
                                    callback id:            4
                                    transmit status:        OK, took 180 ms
                                    repeater node IDs:      10
                                    routing attempts:       2
                                    protocol & route speed: Z-Wave, 40 kbit/s
                                    routing scheme:         LWR
                                    ACK RSSI:               -54 dBm
                                    ACK RSSI on repeaters:  -63 dBm
                                    ACK channel no.:        1
                                    TX channel no.:         1
2024-12-25T15:57:53.238Z CNTRLR   [Node 014] The node is alive.
2024-12-25T15:57:53.239Z CNTRLR   [Node 014] The node is ready to be used
2024-12-25T15:57:53.241Z CNTRLR « [Node 014] ping successful
2024-12-25T15:57:53.244Z SERIAL » 0x010800130901002505cc                                              (10 bytes)
2024-12-25T15:57:53.245Z DRIVER » [Node 009] [REQ] [SendData]
                                  │ transmit options: 0x25
                                  │ callback id:      5
                                  └─[NoOperationCC]
2024-12-25T15:57:53.247Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:57:53.253Z SERIAL « 0x0104011301e8                                                       (6 bytes)
2024-12-25T15:57:53.254Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:53.255Z DRIVER « [RES] [SendData]
                                    was sent: true
2024-12-25T15:57:53.317Z SERIAL « 0x011800130500000601cac17f7f7f0101030f000000020100008d              (26 bytes)
2024-12-25T15:57:53.318Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:53.320Z DRIVER « [REQ] [SendData]
                                    callback id:            5
                                    transmit status:        OK, took 60 ms
                                    repeater node IDs:      15
                                    routing attempts:       1
                                    protocol & route speed: Z-Wave, 40 kbit/s
                                    routing scheme:         LWR
                                    ACK RSSI:               -54 dBm
                                    ACK RSSI on repeaters:  -63 dBm
                                    ACK channel no.:        1
                                    TX channel no.:         1
2024-12-25T15:57:53.322Z CNTRLR   [Node 009] The node is alive.
2024-12-25T15:57:53.323Z CNTRLR   [Node 009] The node is ready to be used
2024-12-25T15:57:53.325Z CNTRLR « [Node 009] ping successful
2024-12-25T15:57:53.327Z SERIAL » 0x010800130b01002506cd                                              (10 bytes)
2024-12-25T15:57:53.328Z DRIVER » [Node 011] [REQ] [SendData]
                                  │ transmit options: 0x25
                                  │ callback id:      6
                                  └─[NoOperationCC]
2024-12-25T15:57:53.330Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:57:53.336Z SERIAL « 0x0104011301e8                                                       (6 bytes)
2024-12-25T15:57:53.337Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:53.338Z DRIVER « [RES] [SendData]
                                    was sent: true
2024-12-25T15:57:53.366Z SERIAL « 0x011800130600000300c97f7f7f7f000003000000000301000039              (26 bytes)
2024-12-25T15:57:53.368Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:53.369Z DRIVER « [REQ] [SendData]
                                    callback id:            6
                                    transmit status:        OK, took 30 ms
                                    routing attempts:       1
                                    protocol & route speed: Z-Wave, 100 kbit/s
                                    routing scheme:         LWR
                                    ACK RSSI:               -55 dBm
                                    ACK channel no.:        0
                                    TX channel no.:         0
2024-12-25T15:57:53.372Z CNTRLR   [Node 011] The node is alive.
2024-12-25T15:57:53.373Z CNTRLR   [Node 011] The node is ready to be used
2024-12-25T15:57:53.374Z CNTRLR   All nodes are ready to be used
2024-12-25T15:57:53.375Z NDERED » [ALL_NODES_READY] [DIRECT] Forwarding payload...
2024-12-25T15:57:53.377Z CNTRLR « [Node 011] ping successful
2024-12-25T15:57:53.379Z DRIVER   all queues idle
2024-12-25T15:57:58.388Z DRIVER   all queues busy
2024-12-25T15:57:58.394Z SERIAL » 0x0103003bc7                                                         (5 bytes)
2024-12-25T15:57:58.395Z DRIVER » [REQ] [GetBackgroundRSSI]
2024-12-25T15:57:58.399Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:57:58.402Z SERIAL « 0x0105013bbcbcc0                                                     (7 bytes)
2024-12-25T15:57:58.403Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:57:58.407Z DRIVER « [RES] [GetBackgroundRSSI]
                                    channel 0: -68 dBm
                                    channel 1: -68 dBm
2024-12-25T15:57:58.414Z DRIVER   all queues idle
2024-12-25T15:58:28.384Z DRIVER   all queues busy
2024-12-25T15:58:28.390Z SERIAL » 0x0103003bc7                                                         (5 bytes)
2024-12-25T15:58:28.391Z DRIVER » [REQ] [GetBackgroundRSSI]
2024-12-25T15:58:28.395Z SERIAL « [ACK]                                                                   (0x06)
2024-12-25T15:58:28.396Z SERIAL « 0x0105013bbcbec2                                                     (7 bytes)
2024-12-25T15:58:28.397Z SERIAL » [ACK]                                                                   (0x06)
2024-12-25T15:58:28.399Z DRIVER « [RES] [GetBackgroundRSSI]
                                    channel 0: -68 dBm
                                    channel 1: -66 dBm
2024-12-25T15:58:28.406Z DRIVER   all queues idle

Any idea?
Version
9.1.1
Node-RED Version
3.1.3 (node 18)
What hardware are you using?
Raspberry Pi
Any code to add?
No response

I have the same issue, after each deploy - the zwave node fails to recover:
ZWaveError: Failed to initialize the driver: ZWaveError: The Serial API did not respond after soft-reset (ZW0100)
    at Driver.softResetInternal (/home/administrator/.node-red/node_modules/zwave-js/src/lib/driver/Driver.ts:3102:11)
    at Driver.initializeControllerAndNodes (/home/administrator/.node-red/node_modules/zwave-js/src/lib/driver/Driver.ts:1683:5)
    at Immediate.<anonymous> (/home/administrator/.node-red/node_modules/zwave-js/src/lib/driver/Driver.ts:1466:5) (ZW0100)

After this, some watchdog timer starts and then it no longer can access the usb stick - permission denied, for which i need to shutdown the vm and reattach the usb stick (i am using proxmox). Something fundamental has changed recently because i never had these issues before.
It appears that the 'driver bump' commit is causing this issue.  @marcus-j-davies

Thanks @bakman2, @nioc
I can't seem to replicate this, but the only pattern thus far is both are using some form of hypervisor/VM?
Can you both try to disable the Soft Reset option whilst on the latest version?

If this still doesn't  get you anywhere, I will reach out to core developer of the Driver.

OK...
I think I can see what I have done.
Option Enabled:
https://github.com/zwave-js/node-red-contrib-zwave-js/blob/e0373b7caec7fe3051be0df5b462475cb557c0cc/zwave-js/zwave-js.js#L325
Option Disabled:
https://github.com/zwave-js/node-red-contrib-zwave-js/blob/e0373b7caec7fe3051be0df5b462475cb557c0cc/zwave-js/zwave-js.js#L351
🤦
If you can both confirm if this is disabled in your controller Node settings

Hello @marcus-j-davies, very good news.
I had not changed anything on the controller configuration when I upgraded :smile:
Do you want I reinstall the latest and confirm or the log is enough?

Can you instead, re-install the latest version, and make 1 change to a file?
in zwave-js.js line 351 - change to this false.
DriverOptions.features.softReset = true;

I should be setting it to  false - but I'm not.
You will need to restart your container after?
I don't use docker, or any other VM - so not sure how you modify files inside of them.
If this then works, I know my fix should resolve it

Ok I do it now, stay tuned.

LIne 325 will look simular, but ignore that one - its line 351

It is ok for me 👍🏻
/data $ npm i node-red-contrib-zwave-js@latest
/data $ nano node_modules/node-red-contrib-zwave-js/zwave-js/zwave-js.js
/data $ npm rebuild --build-from-source
rebuilt dependencies successfully
/data $ head -n 351 node_modules/node-red-contrib-zwave-js/zwave-js/zwave-js.js | tail -n 1
                        DriverOptions.features.softReset = false;

Then I restarted container and it works perfectly

Ok perfect!
I think that was it.
In a Container/Virtual environment?
Soft resetting the 'USB Device' acts differently, hence the option is there, but seems I (mistakenly) forced it to enable
The option was renamed driver side, so this is clearly a copy/paste operation on my part 😅
I'll push 9.1.2 soon

Great, thanks a lot.
Yes I use a docker container, and USB / serial is a pain..
NB: I also changed my container to upgrade Node-RED and node from 3.1.3 (node 18) to 4.0.8 (node 22). But seems irrelevant with your analysis and my test.

v9.1.2 Released

Installed and works perfectly. Thanks for this fast release.


We need a local storage system

We need a local storage to save the information that comes from #17
We need to choose a way to store information, a local database should be nice ( the top react native databases for mindinventory )
Also we need to think a design keeping in mind other future functionalities:

Reminders
Clouds storages and synchronized

Other source code magic
Pouchdb our selection
Due to its license, synchronization and encryption system we have chosen PouchDB

Our design

Each user have his own database var db = new PouchDB('user');

Each cards is a document

The tags are the field of the document.

Tags name should start by a letter :D

About PouchDB

NoSQL data base

It seen to be hard to start PouchDB, so we are going to try Realm

I do not feel confortable with a too restricted library. So I am going to use SQLite
It will be a future problem the sync

a commit related to this issue is b762f514293cc636ed95c62fec21b37d1d856fa0


Area for kubctl and pks misidentified

it should read: 2. click on  Tanzu Kubernetes Grid Integrated Edition

@gciCeleste -- what's the URL of the page you're correcting?  Thanks!


Fix typo in manager/dispatcher/dispatcher.go.

Signed-off-by: NanXiao<EMAIL_ADDRESS>

Current coverage is 55.13% (diff: 100%)

Merging #1311 into master will decrease coverage by 0.01%

@@             master      #1311   diff @@
==========================================
  Files            80         80
  Lines         12539      12539
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           6915       6913     -2
- Misses         4677       4680     +3
+ Partials        947        946     -1

Powered by Codecov. Last update f3bcaff...1954b0d

LGTM


Update lib.rs

Exposing Pipe in lib.rs

@a8m No problem - thanks for the review ;-)

Awesome.
Thanks @k0pernicus


host_exerciser: don't poll in IRQ mode

Signed-off-by: Tim Whisonant<EMAIL_ADDRESS>

Coverage increased (+0.02%) to 64.006% when pulling 1ae5e3e6e05d2d0b6711530b256f16fdfbd4b6d6 on tswhison/hemem into eb6eabfc2c3860c9004fc9901437669a6e9bea3d on master.


imaging added

Hii, I want to discuss about the fhir converter that have you worked on the other sample records?? if yes please notify it should be most useful for us.


add option to include title and reference

Currently the source data are not identified anywhere on the video itself, creating a risk that the video could be shared without citing the data/creators or clarifying what is being shown. Would be good to add an optional

custom title (appears at the top)
custom footnote that can include a short data description or citation (appears at the bottom)

Another option might be including these features in the python movie maker app (so you could add titles/footnotes/annotations) when you process the frames to a movie. That way you would be able to adjust the title/footnotes for different purposes without having to re-create the frames?

Related to #35

Yes, that's a better idea!


Multivalued data= works when given as a list, but is not documented nor tested

For the params= request argument, the documentation explains how multivalued query parameters can be expressed as lists in the dictionary:

You can also pass a list of items as a value:
>>> payload = {'key1': 'value1', 'key2': ['value2', 'value3']}
>>> r = requests.get('http://httpbin.org/get', params=payload)

There's also a unit test for this:
   def test_urlencoded_get_query_multivalued_param(self, httpbin):
        r = requests.get(httpbin('get'), params=dict(test=['foo', 'baz']))

For the data= request argument, only the "list of tuples" method for multivalued form-encoded values is shown in the documentation:

You can also pass a list of tuples to the data argument. This is particularly useful when the form has multiple elements that use the same key:
>>> payload = (('key1', 'value1'), ('key1', 'value2'))
>>> r = requests.post('http://httpbin.org/post', data=payload)

However, both params= and data= use the same RequestEncodingMixin._encode_params() helper for encoding the query parameters or form-encoded values. Indeed, using a list also works for data=:
>>> requests.Request(url='http://foo', method='POST', data={'a': ['b', 'c']}).prepare().body
'a=b&a=c'

Expected Result
The "list of items" method for specifying multivalued POST parameters should be documented and tested in the unit test suite.
Actual Result
I couldn't find documentation or unit tests for the "list of items" method.

Resolved in #4701.