Zwave: Node initialising: STATIC_VALUES

Hi all,

I’m still having some problems with OH2 and my zwave devices. Specifically two are listed as:

  • Node initialising: STATIC_VALUES - both are FGD212 dimmers (node 33 and 34)

openhab security$ grep node33 conf/items/rambert.items
Dimmer FF_BackGarden_Light_Dimmer “Back light [%d %%]” (gExternalLights,gFirstFloor) { channel=“zwave:device:c5ef376d:node33:switch_dimmer” }
Number FF_BackGarden_Light_Power “Back light - current power consumption [%.2f W]” (gPowerSensors,gFirstFloor) { channel=“zwave:device:c5ef376d:node33:meter_watts” }
Number FF_BackGarden_Light_Energy “Back light - total energy use [%.2f KWh]” (gEnergySensors,gFirstFloor) { channel=“zwave:device:c5ef376d:node33:meter_kwh” }

openhab security$ grep node34 conf/items/rambert.items
Switch FF_Hallway_Light “Hallway light [%d %%]” (gFirstFloor,gInternalLights) { channel=“zwave:device:c5ef376d:node34:switch_dimmer” }
Number FF_Hallway_Light_Power “Hallway light - current power consumption [%.2f W]” (gPowerSensors,gFirstFloor) { channel=“zwave:device:c5ef376d:node34:meter_watts” }
Number FF_Hallway_Light_Energy “Hallway light - total energy use [%.2f KWh]” (gEnergySensors,gFirstFloor) { channel=“zwave:device:c5ef376d:node34:meter_kwh” }

One of these things (node33) according to Habmin is linked to two items (FF_BackGarden_Light_Dimmer, GF_Driveway_Light_Dimmer ), which is utterly weird to me, since GF_Driveway_Light_Dimmer is linked to a different thing:
openhab security$ grep GF_Driveway_Light_Dimmer conf/items/rambert.items
Dimmer GF_Driveway_Light_Dimmer “Front light [%d %%]” (gExternalLights,gGroundFloor) { channel=“zwave:device:c5ef376d:node23:switch_dimmer” }

i.e. it’s only linked to node 23:
openhab security$ grep node23 conf/items/rambert.items
Dimmer GF_Driveway_Light_Dimmer “Front light [%d %%]” (gExternalLights,gGroundFloor) { channel=“zwave:device:c5ef376d:node23:switch_dimmer” }
Number GF_Driveway_Light_Power “Front light - current power consumption [%.2f W]” (gPowerSensors,gGroundFloor) { channel=“zwave:device:c5ef376d:node23:meter_watts” }
Number GF_Driveway_Light_Energy “Front light - total energy use [%.2f KWh]” (gEnergySensors,gGroundFloor) { channel=“zwave:device:c5ef376d:node23:meter_kwh” }

If I try to unlink node33 from GF_Driveway_Light_Dimmer in Habmin, I get a popup telling me it’s read-only.

My final problem is that when I try to plot a graph as follows:
Chart item=gPowerSensors period=D refresh=300

It only shows “Front light” (twice!) but there should be more:
openhab security$ grep gPowerSensors conf/items/rambert.items
Group gPowerSensors
Number FF_Hallway_Light_Power “Hallway light - current power consumption [%.2f W]” (gPowerSensors,gFirstFloor) { channel=“zwave:device:c5ef376d:node34:meter_watts” }
Number FF_BackGarden_Light_Power “Back light - current power consumption [%.2f W]” (gPowerSensors,gFirstFloor) { channel=“zwave:device:c5ef376d:node33:meter_watts” }
Number GF_Driveway_Light_Power “Front light - current power consumption [%.2f W]” (gPowerSensors,gGroundFloor) { channel=“zwave:device:c5ef376d:node23:meter_watts” }
Number House_Meter_Power “House Power [%.2f kW]” (gPowerSensors) { channel=“zwave:device:c5ef376d:node28:meter_watts” }

Not all of these are in MySQL though, and again I’m totally baffled why:
mysql> select * from Items;
±-------±---------------------------+
| ItemId | ItemName |
±-------±---------------------------+
| 1 | Weather_Temp |
| 2 | Weather_Humid |
| 3 | Weather_Pressure |
| 4 | GF_Bathroom_Light |
| 5 | House_Meter_Power |
| 6 | House_Meter_Current |
| 7 | House_Meter_Energy |
| 8 | House_Meter_Voltage |
| 9 | Garage_Siren |
| 10 | FF_BackGarden_Light_Energy |
| 11 | GF_Driveway_Light_Energy |
| 12 | Garage_Inside_Door_Temp |
| 13 | GF_Living_Temp |
| 14 | GF_Living_Humid |
| 15 | GF_Living_Bat |
| 16 | GF_Living_Lumin |
| 17 | GF_Living_UV |
| 18 | GF_Living_Motion |
| 19 | Garage_Inside_Door |
| 20 | Garage_Inside_Door_Bat |
| 21 | FF_LivingRoom_Motion |
| 22 | FF_LivingRoom_Lux |
| 23 | FF_LivingRoom_Bat |
| 24 | FF_BackGarden_Light_Dimmer |
| 25 | FF_Hallway_Light |
| 26 | gInternalLights |
| 27 | FF_LivingRoom_Temp |
| 28 | GF_Driveway_Light_Power |
| 29 | GF_Driveway_Light_Dimmer |
±-------±---------------------------+
29 rows in set (0.00 sec)

I see quite a few errors in the logfile:
2016-10-05 10:54:29.246 [WARN ] [ocol.ZWaveController$ZWaveSendThread] - NODE 34: Too many retries. Discarding message: Message: class=SendData[0x13], type=Request[0x00], priority=Get, dest=34, callback=219, payload=22 08 60 0D 01 01 59 03 00 01

2016-10-05 10:52:04.144 [ERROR] [class.ZWaveMultiInstanceCommandClass] - NODE 28: Endpoint 4 not found. Cannot set command classes.

2016-10-05 10:46:09.649 [WARN ] [ocol.ZWaveController$ZWaveSendThread] - NODE 33: Too many retries. Discarding message: Message: class=SendData[0x13], type=Request[0x00], priority=Get, dest=33, callback=188, payload=21 08 60 0D 01 01 59 03 00 01

Thanks in advance for any advice!

You seem to be mixing up a lot of issues, so I’ll only look at the initialisation issue for starters at least. Please can you provide a debug log (preferably as an attachment) showing the initialisation of the device.

Hiya @chris, sure. I wasn’t allowed to attach a .log file, so hopefully this works: Link

What I did was restart and
openhab> log:set debug org.openhab.binding.zwave

Hopefully this is what you need?

Also just noticed all of this, which looks a bit odd:

2016-10-05 14:24:12.162 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 33: Application Command Request (ALIVE:STATIC_VALUES)
2016-10-05 14:24:12.162 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 33: Incoming command class METER
2016-10-05 14:24:12.162 [DEBUG] [.commandclass.ZWaveMeterCommandClass] - NODE 33: Received METER command V3
2016-10-05 14:24:12.162 [DEBUG] [.commandclass.ZWaveMeterCommandClass] - NODE 33: Meter: Type=Electric(1), Scale=kWh(0), Value=12.08
2016-10-05 14:24:12.162 [DEBUG] [ve.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveMeterValueEvent
2016-10-05 14:24:12.162 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 33: Got an event from Z-Wave network: ZWaveMeterValueEvent
2016-10-05 14:24:12.162 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 33: Got a value event from Z-Wave network, endpoint = 0, command class = METER, value = 12.08
2016-10-05 14:24:12.162 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 33: Updating channel state zwave:device:c5ef376d:node33:meter_kwh to 12.08 [DecimalType]
2016-10-05 14:24:12.162 [DEBUG] [ternal.converter.ZWaveMeterConverter] - Not the right scale E_W <> E_KWh
2016-10-05 14:24:32.820 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 33: Stage STATIC_VALUES. Initialisation retry timer triggered. Increased to 1800000
2016-10-05 14:24:32.820 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 33: Node advancer - STATIC_VALUES: queue length(0), free to send(false)
2016-10-05 14:24:32.820 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 33: Initialisation retry timer started 1800000
2016-10-05 14:24:32.820 [ERROR] [alization.ZWaveNodeInitStageAdvancer] - NODE 33: Node advancer: Retries exceeded at STATIC_VALUES
2016-10-05 14:24:32.820 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 33: Retry timout: Can't advance

The “Initialisation retry time” I have no clue about, but how can the scale be wrong?

Also, I see :
2016-10-05 14:24:12.162 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 32: Transaction not completed: node address inconsistent. lastSent=32, incoming=255

Is this saying that node 32 is pretending to be node 255? I removed NODE 32 from the controller, so I’ve no idea what is going on here!

I’m not sure what you are thinking looks odd? To me I think it’s ok. I guess you might be looking at the “Not the right scale” message (??) but this is ok - I should really remove this debug message. Since there are 2 meter channels, the system is checking both configurations, and one is updating the channel, and the next one it shows is not the right scale (correctly).

This is ok as well. This debug message is related to transaction management. It basically means that it received a message from the controller (node 255) but the last message sent was to node 32 and these two messages are not consistent, so it doesn’t complete a transaction. This happens normally when devices send unsolicited messages (such as meter updates, door notifications etc).

All good there :slight_smile: .

I’ll take a look at your log later tonight…

Okay - thanks a lot Chris!

Hi @chris, just wondering if you’d had time to have a look? (Apologies for pestering)

No problem - I’ve been travelling a lot for work over the past few weeks, and it’s easy to loose track of things with the forum.

I’ll take a look now.

Mainly for my future reference, the failure is because the device isn’t responding to the ASSOCIATION_GROUP_INFO_GET request.

From my reading of the spec, this is non-compliant behaviour (which is surprising for Fibaro) but I’m trying to double check this. It might be worth resetting this device to see if that changes anything. If this turns out to be a bug in the device I’ll look at adding something to the binding to work around this.

Ok thanks! I won’t be able to physically reset the device for a week or so, but I have two devices behaving identically so unfortunately I don’t think it’s just a glitch.

Ok - that’s good to know, thanks. I’ve enquired about this with the zwave people, so let’s see what they have to say as in my reading of their spec, the device is non-compliant even though they have checked it, and it’s approved ;).

I have noticed same issue for FGD212 dimmer (Firmware 3.2) .Node initialising: STATIC_VALUES
Also I have one FGD212 for firmware 3.3. and it doesn’t have this issue.

That’s really interesting… I suspect that this is a bug in the 3.2 firmware - I’m pretty sure it’s non compliant to the standard…

I have done little more testing and added 2 more new FGD212 Things (firmware 3.3) on OH2. One installed without errors on habmin2 and another give same STATIC VALUES ERROR than FGD212 firmware 3.2. Very strange.

I have used them with OH2 MIOS binding from Vera and they work very well. Now I have tested with ZME_UZB1 zwave controller. Maybe next I will try hard reset to problem Things.

[ERROR] [alization.ZwaveNodeInitStageAdvanced] - NODE 7: Node advancer: Retries exceeded at STATIC_VALUES
[ERROR] …Timeout while sending message. Requeueing…
[ERROR] Got an error while sending data. Resending message…

Do you have any idea?

Only what I’ve already said above - I’ve no further information for any other ideas :wink:

Hiya @chris, have you heard back from the zwave folk yet?

Even if you do though and they agree it’s non-compliant, what next? I don’t think there’s any way to update the firmware in this device, so is it possible to work around this some other way?

Yes, but nothing especially useful - they said -:

If a node support a command class, it must answer a get.

So I read this as the device is non-compliant :frowning: .

Blast. :frowning:

Edit: @chris any possibility of a work around then? As mentioned I don’t think I can upgrade the firmware, and apparently this device was working okay in OH1.8. A ‘compatibility’ mode or something?

The reason it worked in 1.8 is because 1.8 doesn’t support this command class. I hope to have an update at some stage that will be more tolerant to devices not responding like this (unfortunately, it’s not that uncommon - I’m not sure what that says about the ZWave certification program!).

The other option is we can remove this command class - ie add something to the database that tells the binding not to use it - this is the easiest/quickest at the moment, and given this command class is just an ‘information’ class, it won’t change anything.

I’ve updated the database to remove this class. Please try with the updated version which should be finished building shortly…