Hello, can anyone help me with what I am trying to do please? I managed to add the binary sensor to my hub using this handler. I would like to use it with my intercom, to get a notification when someone rings the intercom (contact 2) and to be able to buzz the door for them (contact 1). I would like to sort out the contact 1 first as that function is more important to me.
In the attached photo, where I am holding the black wire with my hand and making contact with the red one, the intercom is buzzing (the door is kept unlocked) so I would assume the hardware bit works fine, I just need âa buttonâ which would connect these two wires while screwed onto the Fibaro Binary Sensor. When I manually press âopenâ or âcloseâ in the smartthings app, nothing happens. Also, while I buzz the door using the intercom normally, the is no change in the âopen/close stateâ on contact 1 (although the app notices a connection on contact 1, when having the default handler as âz wave device multi-channelâ or something like that). I tried all sorts of different handlers with no success. I am also attaching a scheme of my intercom in case anyone has any suggestions. Thank you!
Unfortunately you cannot control the relay outputs on the Binary Sensor. They are purely a passthru from the inputs.
Thank you for your fast reply! Should the contact 2 function work (to get a notification when someone rings the intercom)? Would it be able to change the state from closed to open or something in the app? Do you have any advice how can I achieve what I want with the intercom?
The Binary Sensor will register if someone closes contact 1 or 2 and you could setup a smart app to notify you when this happens. Maybe a push notification, a buzzer or a light. If you want to âbuzzâ the door then you will need an additional relay to do this. A Fibaro FGS-212 would be fine for this as it has a dry contact.
Great, thank you so much for your help!
@Zoran_Markovic When you close contact one output one closes aswell and opens when you release contact 1. This is the same for contact 2 and output 2. There is no way to stop this from happening or control them in any other way.
So if you want when contact 1 button is pressed for the buzzer to âbuzzâ and for you to be notified this is possible but you wonât be able to make it buzz on its own.
Anyone had any luck getting the Fibaro UBS working with the new app?
Suggest using the old app to get it setup and paired⌠I donât even bother with the new app at all!
That has been my philosophy. However, the new app does seem to be getting there and the UBS is one of the least things I have that doesnât work with it. I have had the UBS working for a year now on the classic app. All I really need in the new app is for it to display the temp sensors.
If you use the old app to create temperature children then Iâm confident that those would appear in the new appâŚ
They appear, they just say offline and if you click on them you get a message saying âA network or server error occurred. Try again laterâ. Interestingly though I can see the readings showing up in the activity history. See here.
Hi there . just started using you great DTH. When i change to a motion sensor from a contact sensor the motion sensor symbol does not change but it shows in the mobile app (classic) that there is movement. Is it not updating the symbol ? Cheers again.
Are you taking about the child devices or the parent device handler one? The children ones update fine for me
The children one. endpoint 2. works until i change it to a simulated motion sensor then it wont work
bottom one is the log of the parent device . top log of the simulated sensor
Found out the problem . Changed some of the code hereâŚ
def zwaveEvent(physicalgraph.zwave.commands.multichannelv3.MultiChannelCmdEncap cmd) {
log.debug âZWaveEvent V3 {cmd.inspect()}"
def result
if (cmd.commandClass == 32) {
def currentstate
def motionstate
if (cmd.parameter == [0]) {
currentstate = "closed"
motionstate = "inactive"
}
if (cmd.parameter == [255]) {
currentstate = "open"
motionstate = "active"
}
log.debug "ep{cmd.sourceEndPoint} is {currentstate}"
//First update tile on this device
sendEvent(name: "contact{cmd.sourceEndPoint}â, value: currentstate, descriptionText: âdevice.displayName - ep{cmd.sourceEndPoint} is {currentstate}")
//If not null then we have found either ep1 or ep2, hence try to send to the child device aswell
try {
def childDevice = getChildDevices()?.find { it.deviceNetworkId == "{device.deviceNetworkId}-ep${cmd.sourceEndPoint}â}
if (childDevice)
log.debug âep${cmd.sourceEndPoint} is {currentstate}"
// def motionstate = (currentstate=="closed") ? "active" : "inactive"
childDevice.sendEvent(name: "motion", value: motionstate)
childDevice.sendEvent(name: "contact", value: currentstate)
} catch (e) {
log.error "Couldn't find child device, probably doesn't exist...? Error: {e}â
}
This line does not set the state to active /inactive for the motion sensor to change.
def motionstate = (currentstate==âclosedâ) ? âactiveâ : âinactiveâ
@vasarbob Can you paste the code with âcodeâ tags (in the screen where you type your message), since that way I can follow what you have changed and where.
Thanks
def zwaveEvent(physicalgraph.zwave.commands.multichannelv3.MultiChannelCmdEncap cmd) {
log.debug "ZWaveEvent V3 ${cmd.inspect()}"
def result
if (cmd.commandClass == 32) {
def currentstate
def motionstate
if (cmd.parameter == [0]) {
currentstate = "closed"
motionstate = "inactive"
}
if (cmd.parameter == [255]) {
currentstate = "open"
motionstate = "active"
}
log.debug "ep${cmd.sourceEndPoint} is ${currentstate}"
//First update tile on this device
sendEvent(name: "contact${cmd.sourceEndPoint}", value: currentstate, descriptionText: "$device.displayName - ep${cmd.sourceEndPoint} is ${currentstate}")
//If not null then we have found either ep1 or ep2, hence try to send to the child device aswell
try {
def childDevice = getChildDevices()?.find { it.deviceNetworkId == "${device.deviceNetworkId}-ep${cmd.sourceEndPoint}"}
if (childDevice)
log.debug "ep${cmd.sourceEndPoint} is ${currentstate}"
// def motionstate = (currentstate=="closed") ? "active" : "inactive"
childDevice.sendEvent(name: "motion", value: motionstate)
childDevice.sendEvent(name: "contact", value: currentstate)
} catch (e) {
log.error "Couldn't find child device, probably doesn't exist...? Error: ${e}"
}
Curious, right you are. I had made some changes in my ST device handler, but had not pushed them to github. Sorry about that and good spot!
Updated code on Github now.