Using Fibaro Dimmers in OH 2.3

Hi All,

First venture into this. I’ve managed to get my Aeon ZStick Gen5 up and working/online. Im using a Dimmer 2 by Fibaro

I can see in the logs that the Fibaro Dimmer is seen as ‘node 2’

18:30:46.760 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Found 1 instances of SWITCH_MULTILEVEL
18:30:46.761 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking MANUFACTURER_SPECIFIC
18:30:46.765 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking ASSOCIATION
18:30:46.768 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking BASIC
18:30:46.768 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking CONFIGURATION
18:30:46.768 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking ALARM
18:30:46.768 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - found ALARM
18:30:46.769 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Found 1 instances of ALARM
18:30:46.769 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking CRC_16_ENCAP
18:30:46.774 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking SWITCH_ALL
18:30:46.775 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking ASSOCIATION_GROUP_INFO
18:30:46.775 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - queued 0 frames
18:30:46.775 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer - advancing to DYNAMIC_END
18:30:46.775 [DEBUG] [ave.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveInitializationStateEvent
18:30:46.776 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: loop - DYNAMIC_END try 0: stageAdvanced(true)
18:30:46.776 [DEBUG] [ol.initialization.ZWaveNodeSerializer] - NODE 2: Serializing to file /var/lib/openhab2/zwave/node2.xml
18:30:46.812 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer - advancing to HEAL_START
18:30:46.814 [DEBUG] [ave.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveInitializationStateEvent
18:30:46.814 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: loop - HEAL_START try 0: stageAdvanced(true)
18:30:46.815 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer - advancing to DELETE_ROUTES
18:30:46.815 [DEBUG] [ave.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveInitializationStateEvent
18:30:46.815 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: loop - DELETE_ROUTES try 0: stageAdvanced(true)
18:30:46.817 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 2: Generate return routes list
18:30:46.819 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer is deleting return routes.
18:30:46.820 [DEBUG] [message.DeleteReturnRouteMessageClass] - NODE 2: Deleting return routes
18:30:46.822 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer - queued packet. Queue length is 1
18:30:46.823 [DEBUG] [ave.internal.protocol.ZWaveController] - Message queued. Queue length = 3. Queue={}
18:30:46.823 [DEBUG] [tocol.ZWaveController$ZWaveSendThread] - NODE 2: Response processed after 160ms/196ms.

My items:


Switch      LivingRoom             "Living Room"                                          { zwave="2:command=SWITCH_MULTILEVEL" }
Dimmer      LivingRoom_dim         "LivingRoom [%d %%]"                                   { zwave="2:command=SWITCH_MULTILEVEL" }
Number      LivingRoom_power       "LivingRoom - current power consumption [%.2f W]"      { zwave="2:command=METER,meter_scale=E_W,refresh_interval=300" }
Number      LivingRoom_energy      "LivingRoom - total energy use [%.2f KWh]"             { zwave="2:command=METER,meter_scale=E_KWh,refresh_interval=300" }

Sitemap:

    }
    Frame label="Lighting" {
        Switch item=LivingRoom
        Slider item=LivingRoom
    }

I can see the unit in the Sitemap. Tailing the log shows:

18:42:34.617 [INFO ] [smarthome.event.ItemCommandEvent ] - Item ‘LivingRoom’ received command OFF
18:42:34.622 [INFO ] [smarthome.event.ItemStateChangedEvent] - LivingRoom changed from ON to OFF

The light does not turn on/off

Thoughts?

These item definitions are for OH1 - they won’t work with OH2.

Oh that may be way! I found some articles in the OH2 WIKI

Can you point me to the right item definitions please?

Sure -:

You can also look at the Addons section -:

Here you can search for the device you have - since you didn’t say the device (there are many “Fibaro Dimmers”) I can’t provide you the link. This will show you the channels available in the device.

its a Fibaro Dimmer 2, its mentioned in the first post

There are a couple of versions of dimmer 2 - just search in documentation following the link I provided.

Thankyou
I assume the first channel, switch_dimmer is for the ON/OFF? and switch_dimmer1 is for Dimming? Its not overly clear for a beginner.

Channel Channel Id Category Item Type
Dimmer switch_dimmer DimmableLight Dimmer
Scene Number scene_number Number
Sensor (power) sensor_power Energy Number
Electric meter (kWh) meter_kwh Energy Number
Electric meter (watts) meter_watts Energy Number
Reset the total power consumption meter_reset Energy Switch
Force initial brightness config_decimal Decimal
Alarm (heat) alarm_heat Switch
Alarm (power) alarm_power Door Switch
Alarm (system) alarm_system Switch
Dimmer 1 switch_dimmer1 DimmableLight Dimmer
Sensor (power) 1 sensor_power1 Energy Number
Electric meter (kWh) 1 meter_kwh1 Energy Number
Electric meter (watts) 1 meter_watts1 Energy Number
Alarm (heat) 1 alarm_heat1 Switch
Alarm (power) 1 alarm_power1 Door Switch
Alarm (system) 1 alarm_system1 Switch
Dimmer 2 switch_dimmer2 DimmableLight Dimmer

Probably these are both the same function. Remember that a Dimmer type can accept either a Slider or a Switch in a sitemap, so you can configure the channel however you like.

I would suggest to use the ones with the numbers on the end - these should use the multi-channel commands associated with the 2 switches. (probably the first one could be removed).

Here is a working item config for a FGD212:

Switch FibFGD212_1_Sw (gRestore) { channel="zwave:device:12345678-9012-3456-7890-123456789012:node37:switch_dimmer" }
Dimmer FibFGD212_1_Dim (gRestore) { channel="zwave:device:12345678-9012-3456-7890-123456789012:node37:switch_dimmer" }
Number FibFGD212_1_Num (gRestore) { channel="zwave:device:12345678-9012-3456-7890-123456789012:node37:scene_number" }

Makes sense. Ill change it to the numbered versions.

Thanks sihui, is the device: required?

This is the channel UID - it is needed - it will be different in your system though.

And how do you find what your channel UIDS are?

:42:09.264 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking ASSOCIATION for endpoint 2
19:42:09.265 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking BASIC for endpoint 2
19:42:09.265 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking SWITCH_MULTILEVEL for endpoint 2
19:42:09.265 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - found SWITCH_MULTILEVEL
19:42:09.266 [DEBUG] [ass.ZWaveMultiLevelSwitchCommandClass] - NODE 2: Creating new message for command SWITCH_MULTILEVEL_GET
19:42:09.266 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 2: Encapsulating message, instance / endpoint 2
19:42:09.267 [DEBUG] [dclass.ZWaveMultiInstanceCommandClass] - NODE 2: Creating new message for command MULTI_CHANNEL_ENCAP endpoint 2
19:42:09.267 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking MULTI_INSTANCE_ASSOCIATION for endpoint 2
19:42:09.268 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking ZWAVE_PLUS_INFO for endpoint 2
19:42:09.268 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking ASSOCIATION_GROUP_INFO for endpoint 2
19:42:09.268 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking VERSION for endpoint 2
19:42:09.269 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking MANUFACTURER_SPECIFIC
19:42:09.269 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking NO_OPERATION
19:42:09.269 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking SENSOR_MULTILEVEL
19:42:09.269 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - found SENSOR_MULTILEVEL
19:42:09.270 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Found 1 instances of SENSOR_MULTILEVEL
19:42:09.270 [DEBUG] [ass.ZWaveMultiLevelSensorCommandClass] - NODE 2: Creating new message for command SENSOR_MULTI_LEVEL_GET
19:42:09.270 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking ZWAVE_PLUS_INFO
19:42:09.274 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking POWERLEVEL
19:42:09.276 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - found POWERLEVEL
19:42:09.278 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Found 1 instances of POWERLEVEL
19:42:09.280 [DEBUG] [mandclass.ZWavePowerLevelCommandClass] - NODE 2: Creating new message for application command POWERLEVEL_GET
19:42:09.280 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking CRC_16_ENCAP
19:42:09.280 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking FIRMWARE_UPDATE_MD
19:42:09.286 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking BASIC
19:42:09.287 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking SWITCH_MULTILEVEL
19:42:09.287 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - found SWITCH_MULTILEVEL
19:42:09.287 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Found 1 instances of SWITCH_MULTILEVEL
19:42:09.288 [DEBUG] [ass.ZWaveMultiLevelSwitchCommandClass] - NODE 2: Creating new message for command SWITCH_MULTILEVEL_GET
19:42:09.288 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking CONFIGURATION
19:42:09.289 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking MULTI_INSTANCE_ASSOCIATION
19:42:09.289 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking ALARM
19:42:09.289 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - found ALARM
19:42:09.291 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Found 1 instances of ALARM
19:42:09.291 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking SWITCH_ALL
19:42:09.291 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking ASSOCIATION_GROUP_INFO
19:42:09.292 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking DEVICE_RESET_LOCALLY
19:42:09.292 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking APPLICATION_STATUS
19:42:09.292 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking VERSION
19:42:09.293 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - checking METER
19:42:09.293 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - found METER
19:42:09.293 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Found 1 instances of METER
19:42:09.297 [DEBUG] [l.commandclass.ZWaveMeterCommandClass] - NODE 2: Creating new message for application command METER_GET
19:42:09.298 [DEBUG] [l.commandclass.ZWaveMeterCommandClass] - NODE 2: Creating new message for application command METER_GET
19:42:09.298 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: DYNAMIC_VALUES - queued 11 frames
19:42:09.299 [DEBUG] [tocol.ZWaveController$ZWaveSendThread] - NODE 2: Response processed after 199ms/199ms.

They are the thing UID, with the channel name on the end. The channel ID is in the documentation for the device.

The Thing ID can be seen in the UI (see below for example) -:

getting there Chris!!

1 Like

This is just the coolest sh1t ever :smiley:

The switch and dimming is working, it’s a bit rough but I’m getting somewhere. Love this OH2!

2 Likes

Hi All

I cant seem to get OH2 to display both my Watts and Usage

My items:


Switch LivingRoomSw1   "Living Room"                                          { channel="zwave:device:d4900ba9:node2:switch_dimmer1" }
Dimmer LivingRoomDim1  "Living Room [%d %%]"                                  { channel="zwave:device:d4900ba9:node2:switch_dimmer1" }
Number LivingRoomNum1  "LivingRoom - current power consumption [%.2f W]"      { channel="zwave:device:d4900ba9:node2:meter_watts1" }
Number LivingRoomNum1  "LivingRoom - total energy use [%.2f KWh]"             { channel="zwave:device:d4900ba9:node2:meter_kwh1" }


it’s the ‘1’ at the end of your channel definitions, I think (I don’t have those for my dimmer).

Isn´t it wrong to define 2 items with the same name?

Number LivingRoomNum1  "LivingRoom - current power consumption [%.2f W]"      { channel="zwave:device:d4900ba9:node2:meter_watts1" }
Number LivingRoomNum1  "LivingRoom - total energy use [%.2f KWh]"             { channel="zwave:device:d4900ba9:node2:meter_kwh1" }

Notice the “LivingRoomNum1” is twice… I would suspect Openhab Tail log would notify you on this.

yeah, I remembered after i’d posted that there’s 3 lots of items for this device.

I can’t remember now what use the 1 & 2 versions are, but I do remember I tried them and gave up with them to only use the un-numbered items.