OH2 + Fibaro FGSD-002 Smoke Sensor

Hello @all,
I’m struggling with the configuration of the Fibaro Smoke Sensor FGSD-002. Temperature and Battery level are shown correctly, but the alarm is never triggered. My goal is to simply have a rule that performs some action, when an smoke or fire alarm is triggerd.
In comparison to ask the question “where is the error in my configuration”, i’d like to ask the question: can anyone offer a complete configuration based on an *.items file and a *.rules file?
Thx!

Here we go:

Item definition:

Switch	Rauchmelder_Kinderzimmer_Rauch	"Rauchmelder [MAP(smoke.map):%s]"	(gKinderzimmer,gSicherheit) { channel="zwave:device:158bb98dc23:node8:alarm_smoke" }
Switch	Rauchmelder_Kinderzimmer_Hitze	"Feuermelder [MAP(feuer.map):%s]"	(gKinderzimmer,gSicherheit) { channel="zwave:device:158bb98dc23:node8:alarm_heat" }
Number	Rauchmelder_Kinderzimmer_Batterie	"Rauchmelder Batterie [%d %%]" (gKinderzimmer,gBatterie,gSicherheit) { channel="zwave:device:158bb98dc23:node8:battery-level" }
Number	Rauchmelder_Kinderzimmer_Temperatur	"Temperatur [%.1f °C]" (gKinderzimmer,gSicherheit,gChartTemperatur) { channel="zwave:device:158bb98dc23:node8:sensor_temperature" }

There are more channels, but I am only using these four. Of course you have to use your own channel definitions and your own groups. And don’t forget to use the respective map files if you choose my definitions.

Sitemap:

		Text label="Kinderzimmer" icon="girl_2" {
			Frame label="Heizung" {				
				Text item=Rauchmelder_Kinderzimmer_Temperatur icon="temperature"
			}
			Frame label="Sicherheit" {
				Text item=Rauchmelder_Kinderzimmer_Rauch icon="smoke"
                Text item=Rauchmelder_Kinderzimmer_Hitze icon="fire"
			}
		}

I am using two different frames (“Heating” and “Security”) only to differentiate. No need to do this. And I’m not using the battery item in the sitemap. I only use it in a rule to check the battery state and fire an email if the level is under 20%.

Rule(s):

rule "Rauchalarm Kinderzimmer"
when
	Item Rauchmelder_Kinderzimmer_Rauch changed from OFF to ON
then
	sendBroadcastNotification("Rauchalarm Kinderzimmer!!")
end

This is only for the smoke alarm. For heat alarm there is another rule (adapt the item name and the text, that’s all). And the rule uses push notifications to my iphone through myopenhab.org. So you need the add-on installed and an account on myopenhab.org.

But if you have problems with the alarm trigger, maybe we should have a look at the device configuration first?

Don’t hesitate to ask if you have questions.

Regards,
Stefan

Hi Stefan,
thank you very much for your help. I adjusted my configuration but the alarm rule doesn’t get fired anyway.
My configuration looks like this:
Items:

Number  eg_flur_temperatur  "Temperatur [%.1f °C]" <temperature> (EGFlur) {channel="zwave:device:159ccd69def:node11:sensor_temperature"}
Number  eg_flur_batterie  "Batterie [%d %%]" <battery> (EGFlur) {channel="zwave:device:159ccd69def:node11:battery-level" }
Switch  eg_flur_rauchmelder "Rauchmelder [%s]" <alarm> (EGFlur) {channel="zwave:device:159ccd69def:node11:alarm_smoke" }
Switch  eg_flur_feueralarm "Feueralarm [%s]" <alarm> (EGFlur) {channel="zwave:device:159ccd69def:node11:alarm_heat" }

Rule(s)

rule "Feueralarm EG Flur"
when
    Item eg_flur_feueralarm changed from OFF to ON
then
	logWarn("EG Flur","Feueralarm EG Flur!!")
	
end

rule "Rauchalarm EG Flur"
when
    Item eg_flur_rauchmelder changed from OFF to ON
then
	logWarn("EG Flur","Feueralarm EG Flur!!)
end

And here is my log file:

20:43:30.394 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 0F 00 04 00 0B 09 71 05 00 00 00 FF 01 03 00 7F
20:43:30.402 [DEBUG] [ve.internal.protocol.ZWaveController] - Receive queue TAKE: Length=0
20:43:30.406 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 0F 00 04 00 0B 09 71 05 00 00 00 FF 01 03 00 7F
20:43:30.410 [DEBUG] [ve.internal.protocol.ZWaveController] - Process Message = 01 0F 00 04 00 0B 09 71 05 00 00 00 FF 01 03 00 7F
20:43:30.414 [DEBUG] [ve.internal.protocol.ZWaveController] - Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 0B 09 71 05 00 00 00 FF 01 03 00
20:43:30.416 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 11: Application Command Request (ALIVE:DONE)
20:43:30.417 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 11: Starting initialisation from DONE
20:43:30.418 [DEBUG] [ve.internal.protocol.ZWaveController] - Event Listener org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer@fd6108 already registered
20:43:30.420 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 11: Incoming command class ALARM
20:43:30.422 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 11: Received ALARM command V5
20:43:30.423 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 11: Process NOTIFICATION_REPORT V5
20:43:30.425 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 11: NOTIFICATION report - 0 = 0, event=3, status=255
20:43:30.426 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 11: Alarm Type = SMOKE (0)
20:43:30.428 [DEBUG] [ve.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveAlarmValueEvent
20:43:30.429 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 11: Got an event from Z-Wave network: ZWaveAlarmValueEvent
20:43:30.431 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 11: Got a value event from Z-Wave network, endpoint = 0, command class = ALARM, value = 255
20:43:30.434 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - Alarm converter processing NOTIFICATION
20:43:30.435 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - Alarm converter NOTIFICATION event is 3, type OnOffType
20:43:30.437 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 11: Updating channel state zwave:device:159ccd69def:node11:alarm_smoke to ON [OnOffType]
20:43:30.443 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - Alarm converter processing NOTIFICATION
20:43:30.446 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - Alarm converter processing NOTIFICATION
20:43:30.447 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - Alarm converter processing NOTIFICATION
20:43:30.449 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - Alarm converter processing NOTIFICATION
20:43:30.450 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 6: Transaction not completed: node address inconsistent.  lastSent=6, incoming=255

Can you spot my mistake ?

Not really. Looks all good. You even get an alarm trigger:

20:43:30.437 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 11: Updating channel state zwave:device:159ccd69def:node11:alarm_smoke to ON [OnOffType]

So why do you think that there isn’t an alarm triggered? What happens with your item eg_flur_rauchmelder in your sitemap, when the alarm is triggered? Does it switch from OFF to ON? If so, then the behavior of the item is correct and we have to take a look at the rules (because the action isn’t executed). If not, we have to take a look at the item. But I think, because there is an event for this item, the item state should be fine.

Additionally, you can have a look at the events.log during the alarm trigger. This could also be useful at times…

Furthermore: Do you trigger “real” alarms? I mean, do you produce smoke? :wink: I’ve read that the sensor is also capable of doing a smoke alarm test. But with the test scenario it could be that the smoke trigger isn’t executed. Therefore it has to be a real smoke test. :wink:

If we can’t find a solution, we should have a look at the configuration parameters of the device.

Which OH version and binding version do you use? Stable 2.0 or snapshot 2.1?

I’n my opinion no alarm is triggered, because no log entry is written and also no broadcast notification is sent, if i adjust the rules. But the rules can’t be the problem, because if I’m using the console and trigger the following command, the corresponding notification is sent.

smarthome:update eg_flur_rauchmelder ON

Coming to the test scenario: I’m using the smoke alarm test from the sensor, without real smoke. Maybe real smoke is the better test scenario.
I’m using the OH and binding version 2.0 Stable. Maybe I’ll wait for the 2.1 binding.
Thx for your help!

Go try a real smoke test. I think this will solve your issue. There is some smoke spray available at amazon. But you can also use the smoke of a blown out match.

The 2.0 stable binding is ok. I’ve had some minor issues with this version and my smoke sensor, but in general it’s working.

Just bumping this thread. I too have a problem with this device triggering the linked item, even though the logs look okay.

My item is:

Switch KitchenSmokeDect "Kitchen Smoke"  {channel="zwave:device:zstick:node230:alarm_smoke" }

Then when I waft smoke into the alarm, the zwave logs register the command but strangely don’t update the device:

21-Jan-2018 09:58:28.191 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction from controllerQueue
21-Jan-2018 09:58:28.191 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage nothing
21-Jan-2018 09:58:28.694 [DEBUG] [wave.handler.ZWaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 0F 00 04 00 E6 09 71 05 00 00 00 FF 01 02 00 93 
21-Jan-2018 09:58:28.694 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=ApplicationCommandHandler[4], type=Request[0], dest=230, callback=0, payload=00 E6 09 71 05 00 00 00 FF 01 02 00 
21-Jan-2018 09:58:28.694 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - processReceiveMessage past lock Message: class=ApplicationCommandHandler[4], type=Request[0], dest=230, callback=0, payload=00 E6 09 71 05 00 00 00 FF 01 02 00 
21-Jan-2018 09:58:28.695 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=ApplicationCommandHandler[4], type=Request[0], dest=230, callback=0, payload=00 E6 09 71 05 00 00 00 FF 01 02 00 
21-Jan-2018 09:58:28.695 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - lastTransaction null
21-Jan-2018 09:58:28.695 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 230: Application Command Request (ALIVE:REQUEST_NIF)
21-Jan-2018 09:58:28.695 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 230: Incoming command class COMMAND_CLASS_ALARM, endpoint 0
21-Jan-2018 09:58:28.695 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 230: SECURITY NOT required on COMMAND_CLASS_ALARM
21-Jan-2018 09:58:28.695 [DEBUG] [e.internal.protocol.commandclass.ZWaveCommandClass] - NODE 230: Received COMMAND_CLASS_ALARM V5 NOTIFICATION_REPORT
21-Jan-2018 09:58:28.695 [DEBUG] [ernal.protocol.commandclass.ZWaveAlarmCommandClass] - NODE 230: NOTIFICATION report - 0 = 0, event=2, status=255, plen=0
21-Jan-2018 09:58:28.695 [DEBUG] [ernal.protocol.commandclass.ZWaveAlarmCommandClass] - NODE 230: Alarm Type = SMOKE (0)
21-Jan-2018 09:58:28.695 [DEBUG] [ab.binding.zwave.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveAlarmValueEvent
21-Jan-2018 09:58:28.695 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 230: Got an event from Z-Wave network: ZWaveAlarmValueEvent
21-Jan-2018 09:58:28.695 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 230: Got a value event from Z-Wave network, endpoint = 0, command class = COMMAND_CLASS_ALARM, value = 255
21-Jan-2018 09:58:28.696 [DEBUG] [nding.zwave.internal.converter.ZWaveAlarmConverter] - Alarm converter processing NOTIFICATION
21-Jan-2018 09:58:28.696 [DEBUG] [nding.zwave.internal.converter.ZWaveAlarmConverter] - Alarm converter NOTIFICATION event is 2, type OnOffType
21-Jan-2018 09:58:28.696 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 230: Updating channel state zwave:device:zstick:node230:alarm_smoke to ON [OnOffType]
21-Jan-2018 09:58:28.696 [DEBUG] [nding.zwave.internal.converter.ZWaveAlarmConverter] - Alarm converter processing NOTIFICATION
21-Jan-2018 09:58:28.696 [DEBUG] [nding.zwave.internal.converter.ZWaveAlarmConverter] - Alarm converter NOTIFICATION event is 2, type OnOffType
21-Jan-2018 09:58:28.696 [DEBUG] [nding.zwave.internal.converter.ZWaveAlarmConverter] - Alarm converter processing NOTIFICATION
21-Jan-2018 09:58:28.696 [DEBUG] [nding.zwave.internal.converter.ZWaveAlarmConverter] - Alarm converter NOTIFICATION event is 2, type OnOffType
21-Jan-2018 09:58:28.697 [DEBUG] [nding.zwave.internal.converter.ZWaveAlarmConverter] - Alarm converter processing NOTIFICATION
21-Jan-2018 09:58:28.697 [DEBUG] [nding.zwave.internal.converter.ZWaveAlarmConverter] - Alarm converter NOTIFICATION event is 2, type OnOffType
21-Jan-2018 09:58:28.697 [DEBUG] [nding.zwave.internal.converter.ZWaveAlarmConverter] - Alarm converter NOTIFICATION event is 2, channel alarm_system is not implemented.
21-Jan-2018 09:58:28.697 [DEBUG] [nding.zwave.internal.converter.ZWaveAlarmConverter] - Alarm converter processing NOTIFICATION
21-Jan-2018 09:58:28.697 [DEBUG] [nding.zwave.internal.converter.ZWaveAlarmConverter] - Alarm converter NOTIFICATION event is 2, type OnOffType
21-Jan-2018 09:58:28.697 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 230: Commands processed 1.
21-Jan-2018 09:58:28.697 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 230: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@4568a144.
21-Jan-2018 09:58:28.697 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
21-Jan-2018 09:58:28.697 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
21-Jan-2018 09:58:28.697 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty
21-Jan-2018 09:58:28.698 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start

I don’t have this kind of issue with any other zwave devices. Does anyone have any idea what the problem/solution might be?

Am using the latest experimental zwave binding

thanks,

Dan

For the moment I use my standard hacky workaround of capturing the zwave log output in a crontab awk script and using that to fire my switch device:

@reboot tail -F /var/log/openhab2/zwave.log | awk '/zwave:device:zstick:node230:alarm_smoke to ON/ { system("wget http://localhost:8080/classicui/CMD?KitchenSmokeDect=ON -P /tmp") }'