openLuup: ZWay plugin for ZWave.me hardware

Can’t get better than that, then!

On a slightly different topic, can you point me to where in the expert UI I have fing the homeId? I know where it is in the data file, but is that exposed in the UI? I’m switching to some lower-level routine and am keen to use the proper Id.

in the “network” menu under “controller info”

1 Like

Yup, there it is. Thanks!

1 Like

Sorry I only lasted only two days without making a pull request. I just sent you one to add support for window covering actions.

Something interesting happened, after deleting the parent device and reloading the engine.

The logs starting showing:

#17:Zway 2:./L_ZWay2.lua:1349: bad argument #1 to 'ipairs' (table expected, got nil)

And the plugin fails to start.

Haven’t look deeper into the error. just sharing.

1 Like

Really helpful, thanks.

Fixed (I hope) in development version 20.3.29.

1 Like

Indeed is fixed!!! Thanks.

Although this tricky thermostat does not want to play nice just yet.

TemperatureSetPoint1_Cool
TemperatureSetPoint1_Heat
TemperatureSetPoint1

Are unable to retrieve the values and keep showing as NaN, hmm actually seems like none of the variable are getting the proper values.

Screen Shot 2020-03-30 at 2.01.35 AM

Zway is not reporting command class 67 for this device for some reason which has caused AK to make the 3/29 modification to ignore that class along with the previous issues you had with this device. 67 is the class which defines the thermostat setpoints. So the question now is whether your interview yielded this command class “ThermostatSetpoint” and if it did, can you send me what it is reporting when you click on that field in the device interview section? It should look somewhat like this:

The interview completed successfully . Here the result for the CommandClass “ThermostatSetPoint”.

Ok so you have 4 subclasses in this command classes which is likely why z-way is confused and is not reporting it up. I suppose you don’t see any corresponding temperature setting child devices in the smarthome UI. Short term we could still get it to command all 4 of them but not reading them back if you are ok with it. Long term I think switching the polling and discovery to on of the other APIs will fix this.
I also don’t think the vera devices support the two other modes (Dry air and auto changeover) as these are typically controlled by other zwave command classes. I actually don’t understand what they really correspond to.

One other trick you could play would be to modify your config xml file in z-way-server/config/zddx/ or send it to me so I can modify it for you too try. I would basically go to that device and delete the two additional modes and change the modemask to “6”.

1 Like

@akbooer ZWay is looking great indeed. I’ve continue testing with other standard devices and seems to be working great. Currently I’m trying to properly manage a Scene Controller and I was wondering if anyone could share some light in how to properly store data response coming from the scene controller that currently is not being monitored. In this case the
COMMAND_CLASS_INDICATOR.

If a COMMAND_CLASS_INDICATOR Get command is sent to the scene controller how can I properly store its response in the child device?

Example

Using the SendData Action on the ZWay plugin, allows to request the scene controller’s led(s) button Indicator status as:

ZWayIP:8083/ZWaveAPI/Run/SendData(NodeID,[ Command_Class, Instance, Value ])
ZWayIP:8083/ZWaveAPI/Run/SendData(2,[ 0x87, 0x01, 0x01 ]) (Hexa)
ZWayIP:8083/ZWaveAPI/Run/SendData(2,[ 135, 1, 1 ]) (Decimal)

the answer looks like:

[2020-04-24 19:59:36.261] [I] [zway] Waiting for job reply: Indicator Get
[2020-04-24 19:59:36.281] [D] [zway] RECEIVED: ( 01 0B 00 04 00 02 03 87 03 01 B6 00 C2 )
[2020-04-24 19:59:36.281] [D] [zway] SENT ACK

and I’d like to store the Indicator response “RECEIVED” in the child device. any thoughts?

1 Like

So I can access the indicator status value here:

http://Z-WayIP:8083/JS/Run/zway.devices[2].instances[0].commandClasses[135]

key stat.

I went to L_Zway2.lua and added 135 to command_class as:

  -- IndicatorStatus
  ["135"] = function (d, inst)
    local indicatorStatus = tonumber (inst.metrics.stat)
    setVar ("IndicatorStatus", indicatorStatus, SID[S_HaDevice], d)
  end,

But no joy just yet.

1 Like