message: fix: ensure subscribe to topics
  Fixes Fixes
diff: @@ -1682,16 +1682,6 @@ export default class Gateway {
  const isDiscovered = this.discovered[valueId.id]
  - const isFromCache = !node.ready
  -
  - // prevent to send cached values if them are stateless
  - if (isFromCache && valueId.stateless) {
  - logger.debug(
  - `Skipping send of stateless value ${valueId.id}: it's from cache`
  - )
  - return
  - }
  -
  // check if this value isn't discovered yet (values added after node is ready)
  if (this.config.hassDiscovery && !isDiscovered) {
  this.discoverValue(node, this._getIdWithoutNode(valueId))
  @@ -1785,6 +1775,8 @@ export default class Gateway {
  if (valueId.writeable && !this.topicValues[topic]) {
  const levels = topic.split('/').length
  + logger.debug(`Subscribing to updates of ${valueId.id}`)
  +
  if (this.topicLevels.indexOf(levels) < 0) {
  this.topicLevels.push(levels)
  this._mqtt.subscribe('+'.repeat(levels).split('').join('/'))
  @@ -1816,8 +1808,17 @@ export default class Gateway {
  }
  }
  + const isFromCache = !node.ready
  +
  + // prevent to send cached values if them are stateless
  + if (isFromCache && valueId.stateless) {
  + logger.debug(
  + `Skipping send of stateless value ${valueId.id}: it's from cache`
  + )
  + } else {
  this._mqtt.publish(topic, data, mqttOptions)
  }
  + }
  /**
  * Triggered when a notification is received from a node in Zwave Client
  @@ -2347,6 +2348,10 @@ export default class Gateway {
  true
  ) as ValueIdTopic
  + if (!topics) {
  + throw Error(`Can't find topics for ${vID}`)
  + }
  +
  cfg.values.push(vID, valueIdState.targetValue)
  discoveredStateTopic = this._mqtt.getTopic(topics.topic)
  