npm node-red-contrib-ccu 4.3.0
v4.3.0

3 hours ago

Added

  • Dynamic node configuration through msg.config (roadmap B-2). Put
    an object in msg.config and its properties override that node's own
    configuration for that one message; the stored configuration is never
    modified, so the next message starts from the dialog settings again.
    Supported by the value, set-value, switch, sysvar, signal and display
    nodes; each node's help panel lists the keys it accepts, and anything
    else is ignored. msg.ccu could not be used for this because it
    already carries the CCU host name. (#172, #71, #103, #80, #56, #148,
    #185)
  • signal node: every command field is reachable that way, including
    soundList and dimmerList, which now also accept a plain array of
    values (msg.config.soundList = [1, 2]) instead of the editor's
    list-of-objects shape. (#148, #80)
  • sysvar node: a typed input selects where the value to write comes from
    (msg/flow/global/env). Computing a value and storing it in a variable
    no longer needs a change node to move it into msg.payload first.
    (#56)
  • sysvar and rpc-event nodes show the last value and how long ago it
    arrived under the node — the sysvar node also when "emit value on
    start" is off, since the connection knows the value either way. (#54,
    #52)
  • value and rpc-event nodes: new option discard uncertain values,
    which drops values the ReGa could not timestamp (msg.uncertain).
    Off by default, so existing flows are unaffected. (#96)
  • ccu-mqtt: new get topic (hm/get/<channel>/<datapoint> by
    default) republishes the last known value on its status topic, so a
    refresh can be triggered over MQTT. An empty datapoint republishes the
    whole channel. (#115)
  • ccu-mqtt: the RPC topics are implemented and visible in the editor.
    The dispatcher recognised the RPC topic before but the node had no
    handler for it, so such messages were silently dropped and the
    response topic was never used — which is why both fields were
    commented out. The result (or the error) is published on the response
    topic. (#22)
  • switch node: rule values accept the bool type, as core Node-RED's
    switch node does. Without it true had to be entered as a string, and
    true == "true" is false in JavaScript, so boolean datapoints could
    only be compared by writing 0/1. (#51)
  • connection node: RPC ping can be switched off, which disables the
    periodic ping and the timeout-triggered re-init for that connection.
    Setting the ping timeout to 0 never did this — it fell back to 60
    seconds. (#44)
  • connection node: names/rooms refresh interval (default 15 minutes,
    0 = off). Channel names, rooms and functions used to be read once when
    the connection started, so anything added in the CCU WebUI stayed
    invisible until the flow was redeployed. (#167)

Fixed

  • set-value node: only the first message ever configured the node.
    Message properties were written into the node's own configuration, so
    every later message hit the "already configured" guard and was
    ignored, and the node kept acting on the first message's rooms,
    functions or channel. Each message is now evaluated on its own. (#133)
  • set-value node: the device-name filter tested whether the channel
    had a ReGa name while comparing the device name, so channels without
    a name of their own were dropped even when their device matched.
  • Enum names never worked: the CCU sends them in VALUE_LIST, but the
    code read ENUM, which no interface process sends. msg.datapointEnum
    and msg.valueEnum were always undefined, and writing an enum
    datapoint by name (AUTO-MODE rather than 0) fell back to 0.
  • ccu-mqtt: the "is this parameter writeable" check was
    !(desc.OPERATIONS) && 2, which is always false — it never fired, and
    read-only parameters were written anyway.
  • ccu-mqtt: putParamset cast every value against the description of a
    parameter that does not exist in that call, so the whole paramset went
    out uncast. Its private copy of the cast logic is gone; the shared one
    gained the MIN/MAX clamping that copy did. Unparseable numbers become
    0 instead of NaN, which XML-RPC cannot encode.
  • Running on the CCU itself was not detected any more, so local installs
    (RedMatic) silently talked to the interface processes through the
    CCU's lighttpd proxy instead of their direct ports. The check grepped
    /etc/lighttpd/conf.d/proxy.conf for a port number; on current
    firmware that file is a one-line include and the port markers live two
    levels down. It now looks for a listener on the direct port instead.
    (Roadmap B-4)
  • Writing several system variables at once left all but the first
    invisible until the next scheduled ReGa poll (30 s by default): the
    immediate re-poll each write triggers was dropped while another poll
    was still running. It is remembered and run once afterwards. (#166)
  • RSSI values from the ReGa poll were converted from the unsigned byte
    unconditionally, so a value that was already negative, or the 0 that
    means "never received", became -318 or -256. (#183)
  • Editor: the Channel and Datapoint fields were cleared whenever their
    content was not a known channel address, which also wiped
    ${PARAMETER} placeholders every time the dialog was opened — so a
    node inside a subflow lost its subflow parameter. Placeholders are
    left alone now. (#158)
  • The German help texts of the rpc-event node never loaded:
    locales/de/ccu-rpc-event.json had a trailing comma and was not valid
    JSON.

Commits since v4.2.0

  • Merge branch b-2-b-5: 4.3.0 (B-2 dynamic config, B-3 mqtt, B-4 local detection, B-5) (ac097f4)
  • 4.3.0 (7b2cc88)
  • roadmap: B-2, B-3, B-4 and B-5 done and archived (67955b2)
  • docs + editor: document msg.config, keep subflow placeholders (5b03836)
  • B-3, B-4, B-5: mqtt node, local detection, connection fixes (917e867)
  • B-2: dynamic configuration via msg across the nodes (0180273)
  • B-2: per-message config for ccu-set-value (#133, #71) (df44114)
  • docs: issue triage second pass (B-7 done) (9c6b602)
  • HANDOFF: 4.2.0 released, branch merged and deleted (113a7fb)

Don't miss a new node-red-contrib-ccu release

NewReleases is sending notifications on new releases.