Page 1 of 1

LUA script fungerer ikke lenger

Posted: Fri Mar 17, 2023 9:45 am
by bergetun
Ingen av mine LUA script fungerer lenger. DE har tidligere fungert uten problemer, men nå får jeg masse rare feilmeldinger.

Her er ett eksempel på et script som ikke lenger fungerer.

Code: Select all

SCALE_POWER_VOLT = 4
VALUE_TYPE_POWER = 256
TYPE_TEMPERATURE = 1
POWER = 256 

local myDevice = "Volt"
local deviceManager = require "telldus.DeviceManager"
local sensor = deviceManager:findByName(myDevice)

function onSensorValueUpdated(device, valueType, value, scale)
   if device:id() == sensor:id() and valueType == TYPE_TEMPERATURE 
   then		
        sensor:setSensorValue(256, value, 4)
   end
end


Får feilmelding:

Console
Could not execute function onSensorValueUpdated: [string "<python>"]:11: attempt to index upvalue 'sensor' (a nil value)

Could not execute function onSensorValueUpdated: [string "<python>"]:11: attempt to index upvalue 'sensor' (a nil value)

Could not execute function onSensorValueUpdated: [string "<python>"]:11: attempt to index upvalue 'sensor' (a nil value)

Re: LUA script fungerer ikke lenger

Posted: Fri Mar 17, 2023 9:45 am
by micke.prag
Do not fetch the sensor in the global scope but in your function instead.

Code: Select all

SCALE_POWER_VOLT = 4
VALUE_TYPE_POWER = 256
TYPE_TEMPERATURE = 1
POWER = 256 

local myDevice = "Volt"

function onSensorValueUpdated(device, valueType, value, scale)
   local deviceManager = require "telldus.DeviceManager"
   local sensor = deviceManager:findByName(myDevice)
   if device:id() == sensor:id() and valueType == TYPE_TEMPERATURE 
   then		
        sensor:setSensorValue(256, value, 4)
   end
end


Re: LUA script fungerer ikke lenger

Posted: Fri Mar 17, 2023 9:45 am
by bergetun
Takk @micke.prag

Jeg skal prøve det

To spørsmål til deg når jeg har oppmerksomheten din :)

1. Er det mulig å lage et LUA script som oppdaterer en ekstern webside (Post/Get) med sensor data fra Telldusen. La oss si jeg vil vise temperaturen på en webside jeg har.


2. Er det planer om å legge inn støtte for å lage "dummy sensorer" gjennom LUA scriptet. Jeg har en batteri Volt/spennings sensor som bruker Temperaturprotokollen på 433mhz . Denne vises som Temperatur (Celcius) og ikke spenning (Volt) . Derav LUA scriptet i original posten min)

Re: LUA script fungerer ikke lenger

Posted: Fri Mar 17, 2023 9:45 am
by micke.prag
Tyvärr nej på båda punkterna i dagsläget.

Du kan dock hämta värdena på dina sensorer via vårt api och visa på din webbsida.

Re: LUA script fungerer ikke lenger

Posted: Fri Mar 17, 2023 9:45 am
by bergetun
Takk for svar.

PS. Scriptet fungerer fint nå :)

Re: LUA script fungerer ikke lenger

Posted: Fri Mar 17, 2023 9:45 am
by bergetun
Hei Micke,

Er det gjort enda flere endringer ? Nå virker ikke det nye scriptet lenger heller :(

Re: LUA script fungerer ikke lenger

Posted: Fri Mar 17, 2023 9:45 am
by bergetun
@Micke.prag


Hei,

Endringen som du gjorde på scriptet fungerte en liten stund, men nå virker heller ikke dette lenger. Gjøres dere endringer hele tiden, slik at script slutter å fungere ?

Her er scriptet (som du rettet på )
Dette fungerte fint i noen dager, men nå får jeg feilmeldinger

Code: Select all

SCALE_POWER_VOLT = 4
VALUE_TYPE_POWER = 256
TYPE_TEMPERATURE = 1
POWER = 256 

local myDevice = "Startbatteri"

function onSensorValueUpdated(device, valueType, value, scale)
   local deviceManager = require "telldus.DeviceManager"
   local sensor = deviceManager:findByName(myDevice)
   if device:id() == sensor:id() and valueType == TYPE_TEMPERATURE 
   then		
        sensor:setSensorValue(256, value, 4)
   end
end
Her er feilemdlingene

Could not execute function onSensorValueUpdated: [string "<python>"]:11: attempt to index local 'sensor' (a nil value)

Could not execute function onSensorValueUpdated: [string "<python>"]:11: attempt to index local 'sensor' (a nil value)

Could not execute function onSensorValueUpdated: [string "<python>"]:11: attempt to index local 'sensor' (a nil value)

Re: LUA script fungerer ikke lenger

Posted: Fri Mar 17, 2023 9:45 am
by micke.prag
Testa att lägga in lite debug-print så att du ser vilken rad som inte fungerar