Fibaro Smart Implant: instructions to configure binary inputs (Updated, SKIP first two posts, instructions on the 3rd)

AFAIK you can’t. That’s why 90% of times I use some code to achieve the same thing.

Gotcha, yet that’s a shame. I wonder if the vera config doesn’t handle floating point variables? Or if it’s just a low level config thing where maybe it can be defined.

I think it’s more a UI problem. Probably they coded for F, but in C 1 point makes a difference. Try to open a ticket with support, maybe they will address in a future release.

I have also installed the -222, but with 5 temperature sensors, and I have not been able to update the code to incorporate the 5th. Does someone have a clean version of the script that all of you have been working on that I can start with ? I can install as a -223 as mentioned prior, and I can get the temperature sensors and outputs working, but I cannot get it to update without polling, and if I do ANYthing to change configuration, I get that dreaded “Failed at: Setting special association." Anybody have this completely figured out ? I really want to make this work, it would be useful in several areas for me.

Thank !

Tim

Remove it, and pair it again as generic. Otherwise, it won’t work properly. Here’s a script for 5 temp sensors:
local masterID = 301
local desc = “SmartImplant”

-- master
luup.attr_set("device_file", "D_ComboDevice1.xml", masterID)
luup.attr_set("device_json", "D_ComboDevice1.json", masterID)
luup.attr_set("device_type", "urn:schemas-micasaverde-com:device:ComboDevice:1", masterID)
luup.variable_set("urn:micasaverde-com:serviceId:ZWaveDevice1", "BasicSetCapabilities", "00=Ue1,FF=Te1,2=Ue2,1=Te2", masterID)
luup.variable_set("urn:micasaverde-com:serviceId:ZWaveDevice1", "VariablesSet", "20-IN1 mode,1d,1,21-IN2 mode,1d,1,52-IN2 value for ON,2d,1,54-IN2 value for OFF,2d,2,67-ext temp change external channel,2d,3,68-ext temp periodical report,2d,3600", masterID)
luup.variable_set("urn:micasaverde-com:serviceId:ZWaveDevice1", "AssociationSet", "1,z.8;1,z.9;1,z.10;1,z.11;1,z.12", masterID) -- this will report temp from endpoints 8, 9, 10 and 11. if you have less sensors, remove the unused ones
luup.variable_set("urn:micasaverde-com:serviceId:ZWaveDevice1", "MultiChSensType", "m3=15,m4=15,m7=1,m8=1,m9=1,m10=1,m11=1,m12=1", masterID) -- for child: if you 4 temp sensors, leave it as it is. otherwise, remove or add mx=1 according to your config
luup.variable_set("urn:micasaverde-com:serviceId:ZWaveDevice1", "PollSettings", "0", masterID) -- polling can be disabled
luup.variable_set("urn:micasaverde-com:serviceId:HaDevice1", "ChildrenSameRoom", "0", masterID) -- if you want to freely move children in other rooms
luup.attr_set("name", (desc .. " Master"), masterID)
luup.devices[masterID].subcategory_num = 11
luup.devices[masterID].category_num = 0

-- children
for deviceNo, d in pairs(luup.devices) do
    local parent = d.device_num_parent or -1
    if parent == masterID then
		local altid = luup.attr_get("altid", deviceNo)
		-- fix binary sensors
		if altid == "e1" or altid == "e2" then
			luup.attr_set("device_file", "D_MotionSensor1.xml", deviceNo)
			luup.attr_set("device_json", "D_MotionSensorAsSirenNoArm1.json", deviceNo)
			luup.attr_set("device_type", "urn:schemas-micasaverde-com:device:MotionSensor:1", deviceNo)
			luup.attr_set("name", (desc .. " " .. (altid == "e1" and "IN1" or "IN2")), deviceNo)
			d.category_num = 4
			d.subcategory_num = 8
		-- fix for temp sensors
		elseif altid == "e7" or altid == "e8" or altid == "e9" or altid == "e10" or altid == "e11" or altid == "e12" then
			luup.attr_set("device_file", "D_TemperatureSensor1.xml", deviceNo)
			luup.attr_set("device_json", "D_TemperatureSensor1.json", deviceNo)
			luup.attr_set("device_type", "urn:schemas-micasaverde-com:device:TemperatureSensor:1", deviceNo)
			luup.variable_set("urn:micasaverde-com:serviceId:ZWaveDevice1", "SensorMlScale", 1, deviceNo)
			luup.variable_set("urn:micasaverde-com:serviceId:ZWaveDevice1", "SensorMlType", 1, deviceNo)

			local name = "T #" .. tostring(tonumber(string.sub(altid, 2)) - 7)

			luup.attr_set("name", (desc .. " " .. (altid == "e7" and "Int T" or name)), deviceNo)

			d.category_num = 17
			d.subcategory_num = 0

			luup.attr_set("invisible", "0", deviceNo)
		-- hide all
		elseif altid == "e3" or altid == "e4" or altid == "e5" or altid == "e6" or altid == "m15" or altid == "m1" or altid == "b10" then
			luup.attr_set("invisible", "1", deviceNo)
		end
    end

end

Then, go to the device and edit MultiChCapabilities variables as follow:

1,7,1,94,108,34,152,159,
2,7,1,94,108,34,152,159,
3,33,1,94,108,34,152,159,
4,33,1,94,108,34,152,159,
5,16,1,94,108,34,152,159,
6,16,1,94,108,34,152,159,
7,33,1,94,108,34,152,159,
8,33,1,94,108,34,152,159,
9,33,1,94,108,34,152,159,
10,33,1,94,108,34,152,159,
11,33,1,94,108,34,152,159,
12,33,1,94,108,34,152,159,

Thank you so much, I’ll give it a shot tonight !

Tim

Hello
is the module 100% supported please ?

No, in this thread you will found the workaround I found. It’s not supported and I didn’t tested the outputs.

How can I set binary sensors. I need outputs (that work) and binary sensors.
THX

Just run the script in the 3rd post.

After I run the script I get this:

Have you paired it as a generic zwave device?

yes … as a generic zwave device

I’m traveling, but look at the other messages - and be sure to specify the correct number of temp sensors.

I don’t have temperature sensors.
At the binary sensors I want to attach one door sensor, one on the gate for pedestrian traffic and one on the gates for car traffic to know when they are closed / open.
The outputs want to use them to control the opening of the gates for car traffic and the unlocking of the gate for pedestrian traffic.

Ok, so remove the part that is configuring them. As I said, I didn’t tested with external outputs, but inputs are working ok.

Hi
I included the device the outputs work but not the inputs, all the child device appear as the photo of TMC, then after launching the script I only have three device like the second photo of TMC and nothing works anymore. Device added in generic zwave device
Sorry for my bad language, i use Google translation

Please post your variables here. Multichcapabilities should be set appropriately. Look at main device only.

Hi therealdb
Here is the Multicapabilities result
1,7,1,94,108,34,152,159,
2,7,1,94,108,34,152,159,
3,33,1,94,108,34,152,159,
4,33,1,94,108,34,152,159,
5,16,1,94,108,34,152,159,
6,16,1,94,108,34,152,159,
7,33,1,94,108,34,152,159,

On Jeedom it’s ok inputs and outputs work

Here are the screenshots here that can help you, I don’t understand much


to dissociate the inputs from the outputs :
CommandClasse 117(0x75) instance 1 index 0 for OUT1
CommandClasse 117(0x75) instance 2 index 0 for OUT2

Hi all
I still have the same problem with fgbs222, could you find a solution on your side?

Best Home Automation shopping experience. Shop at getvera!

© 2020 Vera Control Ltd., All Rights Reserved. Terms of Use | Privacy Policy