jag har ett lua-script vilket slänger ur sig felmeddelanden, ibland. Scriptet fungerar som jag vill att det ska göra, dvs det lägger till ett tredje värde till två av mina hum/temp-givare. Men, efter några timmar så hänger sig tellstick net v2, går off-line och samtliga scheman och händelser upphör att triggas. Gissar att det är någon buffert som blir överfull, sram överfullt?
Scriptet är baserat på ett av Telldus exempel på github.
Code: Select all
local device_vinden = "Vinden" -- Name of the sensor
local device_krypgrund = "Krypgrund" -- Name of the sensor
-- DO NOT EDIT BELOW THIS LINE --
TEMPERATURE = 1
GENERIC_METER = 4096
SCALE_TEMPERATURE_CELCIUS = 0
SCALE_POWER_POWERFACTOR = 6
local sensor_type = TEMPERATURE
local sensor_scale = SCALE_TEMPERATURE_CELCIUS
local new_sensor_type = GENERIC_METER -- New sensor type
local new_sensor_scale = SCALE_POWER_POWERFACTOR -- New sensor scale
local deviceManager = require "telldus.DeviceManager"
local sensor_vinden = deviceManager:findByName(device_vinden)
local sensor_krypgrund = deviceManager:findByName(device_krypgrund)
local moldDangerRisk
function round(num, numDecimalPlaces)
local mult = 10^(numDecimalPlaces or 0)
if num >= 0 then
return math.floor(num * mult + 0.5) / mult
else
return math.ceil(num * mult - 0.5) / mult
end
end
function onSensorValueUpdated(device, valueType, temperatureValue, scale)
if device:id() == sensor_vinden:id() and valueType == sensor_type and scale == sensor_scale then -- Error
humidityValue = sensor_vinden:sensorValue(2,0)
moldDangerRisk = humidityValue - (1 / (temperatureValue + 5) * 125 + 70)
moldDangerRisk = round(moldDangerRisk, 1)
sleep(1000)
sensor_vinden:setSensorValue(new_sensor_type, moldDangerRisk, new_sensor_scale) -- Error
elseif device:id() == sensor_krypgrund:id() and valueType == sensor_type and scale == sensor_scale then -- Error
humidityValue = sensor_krypgrund:sensorValue(2,0)
moldDangerRisk = humidityValue - (1 / (temperatureValue + 5) * 125 + 70)
moldDangerRisk = round(moldDangerRisk, 1)
sleep(1000)
sensor_krypgrund:setSensorValue(new_sensor_type, moldDangerRisk, new_sensor_scale) -- Error
end
end
Errormeddelandena ser ut så här:
Could not execute function onSensorValueUpdated: [string "<python>"]:35: error during Python call
Could not execute function <Lua thread at 0x19c5840>: [string "<python>"]:44: error during Python call
Could not execute function onSensorValueUpdated: [string "<python>"]:46: error during Python call
Could not execute function <Lua thread at 0x18663c0>: [string "<python>"]:55: error during Python call
Och, dessa errormeddelanden droppar ut endast ibland; det kan gå tio minuter emellan två stycken.
Naturligtvis har jag inte scriptet aktivt för tillfället.
Skulle verkligen uppskatta information om vad som kan vara problemet!
Tackar på förhand.
vänligen,
Jan