LUA, batteri-status z-wave

Moderator: Telldus

Post Reply
AndersGregow
Posts: 18
Joined: Thu Jan 18, 2018 11:08 am

LUA, batteri-status z-wave

Post by AndersGregow » Thu Jan 18, 2018 11:08 am

Någon som vet hur man får fram en z-wave-enhets batteri-nivå/status i LUA?
Via onZwaveMessageReceived på något sätt?

erikjoens
Posts: 14
Joined: Thu Jan 18, 2018 11:08 am

Re: LUA, batteri-status z-wave

Post by erikjoens » Thu Jan 18, 2018 11:08 am

Hej @AndersGregow

Har knåpat ihop ett eget script som ev. kan fungera. Har dock tyvärr aldrig fått det bekräftat eftersom inga av mina z-wave enheter har haft dålig batterinivå ännu. Enl. z-wave spec:en så bör det vara rätt cmdClass och cmd iaf. Kanske någon med bättre koll kan kommentera om det kan fungera eller ej.

Ett önskemål till telldus hade ju så klart varit att Telldus Live! hanterade detta och skickat en notifikation om batterinivån blir låg på en enhet.

Code: Select all

local deviceName = "......" -- NAME OF DUMMY DEVICE
local deviceManager = require "telldus.DeviceManager"
local batteryWarningDevice = deviceManager:findByName(deviceName)

COMMAND_CLASS_BATTERY = 0x80
COMMAND_BATTERY_REPORT = 0x03

function onZwaveMessageReceived(device, flags, cmdClass, cmd, data)
	if cmdClass == COMMAND_CLASS_BATTERY and cmd == COMMAND_BATTERY_REPORT then

		-- Some devices only report 0x255 when battery is low, other devices report the actual battery level in this case the threshold is set to 0x5 (0-100%)
		if data[0] == 0x255 or data[0] < 0x5 then 
			local message = string.format("Battery low on device %s - %s", device:name(), device:id())

			-- Turns on a dummy device that is setup to a trigger an Event, in the device log the device name is logged.
			batteryWarningDevice:command("turnon", nil, message)
		end
	end
end

AndersGregow
Posts: 18
Joined: Thu Jan 18, 2018 11:08 am

Re: LUA, batteri-status z-wave

Post by AndersGregow » Thu Jan 18, 2018 11:08 am

Snyggt, ska testa det. Tack.

AndersGregow
Posts: 18
Joined: Thu Jan 18, 2018 11:08 am

Re: LUA, batteri-status z-wave

Post by AndersGregow » Thu Jan 18, 2018 11:08 am

Funkar perfekt.
Jag testade det genom att ändra "if data[0] == 0x255 or data[0] < 0x5 then" till "if data[0] == 0x255 or data[0] > 0x5 then". :-)

erikjoens
Posts: 14
Joined: Thu Jan 18, 2018 11:08 am

Re: LUA, batteri-status z-wave

Post by erikjoens » Thu Jan 18, 2018 11:08 am

Smart, då borde det ju fungerar även när batterinivån är låg :)

senilpon
Posts: 3
Joined: Thu Jan 18, 2018 11:08 am

Re: LUA, batteri-status z-wave

Post by senilpon » Thu Jan 18, 2018 11:08 am

Fel tråd att kanske ställa frågan, men någon som vet hur jag får texten i message uppfångat i ett C# program?

Post Reply