Hur får jag upp Värdet från LUA till datorn?

Moderator: Telldus

Post Reply
dalis
Posts: 4
Joined: Fri Mar 17, 2023 9:45 am

Hur får jag upp Värdet från LUA till datorn?

Post by dalis »

Hej!
Jag har en ultraljudssensor som mäter avstånd, den skall mäta nivån i en tank.
Sensorn ger en 4-20 mA signal som jag omvandlar till spänning (1,6V - 8V) detta matar jag in i en Fibaro RGBW som har fyra ingångar som kan ta emot en signal på 0-10V.
Sedan har jag använt mig av ett LUA-script som Telldus rekomenderade.
Så nu återstår bara att få upp värdet i datorn (telldus live), jag har lagt till "Fibaro RGBW" enheten men jag vill ju se värdet som LUA har omvandlat....
Hur gör jag.
Kalarne
Posts: 26
Joined: Fri Mar 17, 2023 9:45 am

Re: Hur får jag upp Värdet från LUA till datorn?

Post by Kalarne »

Finns ett Lua-exempel som visar hur man modifierar en temperatur från en givare.
Skulle kunna vara en väg även för dig.
dalis
Posts: 4
Joined: Fri Mar 17, 2023 9:45 am

Re: Hur får jag upp Värdet från LUA till datorn?

Post by dalis »

Jag har ett Lua skript som omvandlar volt till temp.
Men jag får inte upp något värde i telldus live, jag kan inte "läggatill" lua scriptet i telldus live....
Får jag bara upp ett värde där så kan jag nog skriva om programet så att det blir ett avstånd istället för temp.
Kalarne
Posts: 26
Joined: Fri Mar 17, 2023 9:45 am

Re: Hur får jag upp Värdet från LUA till datorn?

Post by Kalarne »

Om du har en fiktiv/död temperaturgivare kan du ju kontinuerligt uppdatera den via lua.

Sen kan du ju använda den ”temperaturen” i Live.
dalis
Posts: 4
Joined: Fri Mar 17, 2023 9:45 am

Re: Hur får jag upp Värdet från LUA till datorn?

Post by dalis »

Kalarne wrote:Om du har en fiktiv/död temperaturgivare kan du ju kontinuerligt uppdatera den via lua.

Sen kan du ju använda den ”temperaturen” i Live.
Det här lät intressant, hur skapar jag en fiktiv/död tempgivare?
jag har en inne/ute temp givare skall jag använda den?
Kalarne
Posts: 26
Joined: Fri Mar 17, 2023 9:45 am

Re: Hur får jag upp Värdet från LUA till datorn?

Post by Kalarne »

Mina termometrar skapar en ”död” sensor varje gång jag byter batterier. Måste sedan
amnge den ”nya” som skapas och ta bort den ”döda”.

Att ta ut batterierna ur din tempmätare skulle alltså kunna vara ett sätt att skapa en dummy att visa dina mätvärden genom.
Kalarne
Posts: 26
Joined: Fri Mar 17, 2023 9:45 am

Re: Hur får jag upp Värdet från LUA till datorn?

Post by Kalarne »

Ett alternativ är, om din temperatursensor används i anslutning till din tank, att skapa ett andra mätvärde för sensorn. Ett värde som anger % fyllnadsgrad. Analogt med fuktighetsmätare som anger både temperatur och luftfuktighet.

Testade på en temperatursensor som normalt bara visar temperatur och la via lua till ett %-värde. Visas snyggt i appen.

device:setSensorValue(1, val1, 0) -- Sätter första värdet för sensorn, t.ex temperatur
device:setSensorValue(2, val2, 0) -- Sätter andra värdet för sensorn, t.ex luftfuktighet
dalis
Posts: 4
Joined: Fri Mar 17, 2023 9:45 am

Re: Hur får jag upp Värdet från LUA till datorn?

Post by dalis »

Wow nu har jag lite grejer att prova tack som f_n.
återkommer när jag provat detta.
walderyd
Posts: 1
Joined: Fri Mar 17, 2023 9:45 am

Re: Hur får jag upp Värdet från LUA till datorn?

Post by walderyd »

Hur gick det för dig? Fick du upp något värde? Jag sitter med samma problem nu. Ska läsa in en 0-10V signal.

När jag la till Fibaro RGBW i telldus live trillade det in 6 enheter, varav den första även hamnade som en sensor för effekt.
Sen har jag ändrat parameter 14 för att kunna läsa det som ingångar istället, men hur vet jag vilken eller vad som motsvarar ingång ett?

Försöker sen köra via koden nedan, men lyckas inge bra.
Har döpt de 6 enheterna till Givare1-Givare6.
-- Script to convert the SWITCH_MULTILEVEL_REPORT that is sent from the analog
-- input on Fibaro RGBW Controller FGRGBWM-441 to a sensor value.
-- The sensor value is shown as degrees celcius (°C), but is in fact voltage (V).
-- This script can only handle 1 analog input as it is now.
-- Please note that configuration 14 has to be set to handle analog 0-10 V input.
-- Use configuration 43 to set the input change threshold

local main_device = "Givare1" -- Set the name of the main device
local analog_input = "Givare2" -- Set the name of the device that is IN1
local debug = true -- Select if you like to se debug data in the console or not

-- DO NOT EDIT BELOW THIS LINE --

SWITCH_MULTILEVEL = 0x26
SWITCH_MULTILEVEL_REPORT = 3

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

function onZwaveMessageReceived(device, flags, cmdClass, cmd, data)
if device:name() ~= analog_input then
return
end
if cmdClass ~= SWITCH_MULTILEVEL or cmd ~= SWITCH_MULTILEVEL_REPORT then
return
end
voltage = data[0] / 10
if debug == true then
print("%s - %s V", device:name(), voltage)
end
sensor:setSensorValue(1, voltage, 0)
end
Post Reply