LUA script fungerer ikke lenger

Moderator: Telldus

Post Reply
bergetun
Posts: 35
Joined: Fri Mar 17, 2023 9:45 am

LUA script fungerer ikke lenger

Post 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)
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: LUA script fungerer ikke lenger

Post 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

Micke Prag
Software
Telldus Technologies
bergetun
Posts: 35
Joined: Fri Mar 17, 2023 9:45 am

Re: LUA script fungerer ikke lenger

Post 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)
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: LUA script fungerer ikke lenger

Post 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.
Micke Prag
Software
Telldus Technologies
bergetun
Posts: 35
Joined: Fri Mar 17, 2023 9:45 am

Re: LUA script fungerer ikke lenger

Post by bergetun »

Takk for svar.

PS. Scriptet fungerer fint nå :)
bergetun
Posts: 35
Joined: Fri Mar 17, 2023 9:45 am

Re: LUA script fungerer ikke lenger

Post by bergetun »

Hei Micke,

Er det gjort enda flere endringer ? Nå virker ikke det nye scriptet lenger heller :(
bergetun
Posts: 35
Joined: Fri Mar 17, 2023 9:45 am

Re: LUA script fungerer ikke lenger

Post 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)
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: LUA script fungerer ikke lenger

Post by micke.prag »

Testa att lägga in lite debug-print så att du ser vilken rad som inte fungerar
Micke Prag
Software
Telldus Technologies
Post Reply