Domoticz - Plocka ut temperaturen från sensorn med luaskript

Diskussioner runt hur den tänkta funktionaliteten nås
subaru95
Wannabe
Inlägg: 14
Blev medlem: 26 jun 2009, 22:00
Ort: Ludvika

Re: Domoticz - Plocka ut temperaturen från sensorn med luask

Inlägg av subaru95 »

Får inte upp någon till temperatur.nu Har provad flera script och dom körs i domoticz med jämna rum men kommer fram till temp servern på temperatur.nu Hash nyckel är en som fungerar med Msure systemet vilket jag vill lämna nu, Kan man använda samma hash nyckel eller måste jag beställa en ny? Så här ser scriptet ut hasch nyckeln har sifforna omkastade bara för er att se var jag lagt dom... Ska det inte vara med någon ort vart loggningen är ? Finns alla fall inte i msure installationen..... Scriptet heter temperatur.nuscript_time_reporttemp.lua
Förmodligen är det något enkelt som jag förbisett..

Med vänlig hälsning Hasse



-- Script to report temperature to

commandArray = {}

if (otherdevices_temperature['Ute'] <= otherdevices_temperature['inomhus']) then
commandArray['OpenURL']='http://www.temperatur.nu/rapportera.php ... 328329>&t=' .. string.format("%.2f", otherdevices_temperature['Ute'])
else
commandArray['OpenURL']='http://www.temperatur.nu/rapportera.php ... 328329>&t=' .. string.format("%.2f", otherdevices_temperature['inomhus'])
end

return commandArray


2015-12-20 16:02:42.142 (RFX) Temp (Vardagsrum)

2015-12-20 16:02:46.930 (RFX) Temp (inomhus1)

2015-12-20 16:02:47.363 (RFX) Temp (inomhus)

2015-12-20 16:03:00.106 EventSystem: Fetching url...

2015-12-20 16:03:00.106 EventSystem: Script event triggered: /home/pi/domoticz/scripts/lua/script_time_reporttemp.lua

2015-12-20 16:03:10.535 (RFX) Temp (Garage)

2015-12-20 16:03:11.565 Hardware Monitor: Fetching data (System sensors)
Användarvisningsbild
Plutonium
Moderator
Inlägg: 1244
Blev medlem: 04 jan 2008, 02:34
Ort: Nossebro
Kontakt:

Re: Domoticz - Plocka ut temperaturen från sensorn med luask

Inlägg av Plutonium »

Hej Hasse

Din hash ser lite knepig, det har smygit in <> tecken, ta bort dom.

http://www.temperatur.nu/rapportera.php ... 6328329&t=
http://essunga.org
Moderator - Temperatur.nu
subaru95
Wannabe
Inlägg: 14
Blev medlem: 26 jun 2009, 22:00
Ort: Ludvika

Re: Domoticz - Plocka ut temperaturen från sensorn med luask

Inlägg av subaru95 »

Tecknen är borta nu. Tyvärr ingen skillnad.

Med vänlig hälsning Hasse
Användarvisningsbild
Plutonium
Moderator
Inlägg: 1244
Blev medlem: 04 jan 2008, 02:34
Ort: Nossebro
Kontakt:

Re: Domoticz - Plocka ut temperaturen från sensorn med luask

Inlägg av Plutonium »

Om du lägger till detta "_Temperature" efter ditt variabelnamn.

if (otherdevices_temperature['Ute_Temperature'] <= otherdevices_temperature['inomhus_Temperature']) then
http://essunga.org
Moderator - Temperatur.nu
subaru95
Wannabe
Inlägg: 14
Blev medlem: 26 jun 2009, 22:00
Ort: Ludvika

Re: Domoticz - Plocka ut temperaturen från sensorn med luask

Inlägg av subaru95 »

Tyvärr fungerar inte... Skickar ett pm till dig

Med vänlig hälsning Hasse
subaru95
Wannabe
Inlägg: 14
Blev medlem: 26 jun 2009, 22:00
Ort: Ludvika

Re: Domoticz - Plocka ut temperaturen från sensorn med luask

Inlägg av subaru95 »

Ser i min msure fil att det finns en mer att lägga till, Location vart ska den raden in i lua-scriptet?



// Set this to the name of your location
private readonly string locationId = "aaaaaaaa";

// Set this to the id given to you by Temperatur.nu
private readonly string reportId = "xxxxxxxx";


Med vänlig hälsning Hasse
TheeDude
Wannabe
Inlägg: 17
Blev medlem: 04 okt 2015, 23:14
Ort: Boden

Re: Domoticz - Plocka ut temperaturen från sensorn med luask

Inlägg av TheeDude »

mattsjo skrev: 01 sep 2013, 23:16 Jag har ett (eventuellt) enklare sätt att rapportera temperatur...

Jag har två tempsensorer, en som heter Ute och den andra som heter UteVP. Tror att det är ganska enkelt att se hur man ska ändra om man bara har en sensor.

Följande script heter script_time_reporttemp.lua och ligger i /home/pi/domoticz/scripts/lua på min Raspberry:

Kod: Markera allt

-- Script to report temperature to temperatur.nu

commandArray = {}

if (otherdevices_temperature['Ute'] <= otherdevices_temperature['UteVP']) then
    commandArray['OpenURL']='http://www.temperatur.nu/rapportera.php?hash=<hash>&t=' .. string.format("%.2f", otherdevices_temperature['Ute'])
else
    commandArray['OpenURL']='http://www.temperatur.nu/rapportera.php?hash=<hash>&t=' .. string.format("%.2f", otherdevices_temperature['UteVP'])
end

return commandArray
Ska någon använda detta script måste givetvis <hash> ovan bytas ut mot den hash som gäller för den station som ska födas med data... Skriptet körs en gång per minut.

Hej, gammal tråd det här, men jag provar ändå.

Har kört med ditt script i ett antal år, och det har fungerat utan bekymmer!
Men enheten som skickar mina temperaturvärden racklar en del (jäkla fibaro)
Så, jag har installerat ytterligare en tempsensor till mitt FTX aggregat på uteluften.
Försökte då få till i lua så den jämför 3 olika värden, men där gick jag bet!
Gjorde något i stil med detta, och har provat lite olika varianter, men inget av det verkar bringa mig någon lycka.

Någon som vill hjälpa mig i rätt riktning? :D

Kod: Markera allt

-- Script to report temperature to temperatur.nu

commandArray = {}

if (otherdevices_temperature['Utomhustemperatur-Syd'] or otherdevices_temperature['Utomhustemperatur-Nord'] <= otherdevices_temperature['FTX Uteluft (GT1)'] ) then
    commandArray['OpenURL']='http://www.temperatur.nu/rapportera.php?hash==' .. string.format("%.2f", otherdevices_temperature['Utomhustemperatur-Syd'])
else
	commandArray['OpenURL']='http://www.temperatur.nu/rapportera.php?hash==' .. string.format("%.2f", otherdevices_temperature['Utomhustemperatur-Nord'])     
elseif
	commandArray['OpenURL']='http://www.temperatur.nu/rapportera.php?hash==' .. string.format("%.2f", otherdevices_temperature['FTX Uteluft (GT1)'])
 
 end

return commandArray
rogerthn
Tar hemautomation på allvar
Inlägg: 82
Blev medlem: 06 mar 2008, 22:25
Ort: Trollhättan

Re: Domoticz - Plocka ut temperaturen från sensorn med luask

Inlägg av rogerthn »

TheeDude skrev: 03 sep 2021, 23:38 Hej, gammal tråd det här, men jag provar ändå.

Har kört med ditt script i ett antal år, och det har fungerat utan bekymmer!
Men enheten som skickar mina temperaturvärden racklar en del (jäkla fibaro)
Så, jag har installerat ytterligare en tempsensor till mitt FTX aggregat på uteluften.
Försökte då få till i lua så den jämför 3 olika värden, men där gick jag bet!
Gjorde något i stil med detta, och har provat lite olika varianter, men inget av det verkar bringa mig någon lycka.

Någon som vill hjälpa mig i rätt riktning? :D

Kod: Markera allt

-- Script to report temperature to temperatur.nu

commandArray = {}

if (otherdevices_temperature['Utomhustemperatur-Syd'] or otherdevices_temperature['Utomhustemperatur-Nord'] <= otherdevices_temperature['FTX Uteluft (GT1)'] ) then
    commandArray['OpenURL']='http://www.temperatur.nu/rapportera.php?hash==' .. string.format("%.2f", otherdevices_temperature['Utomhustemperatur-Syd'])
else
	commandArray['OpenURL']='http://www.temperatur.nu/rapportera.php?hash==' .. string.format("%.2f", otherdevices_temperature['Utomhustemperatur-Nord'])     
elseif
	commandArray['OpenURL']='http://www.temperatur.nu/rapportera.php?hash==' .. string.format("%.2f", otherdevices_temperature['FTX Uteluft (GT1)'])
 
 end

return commandArray
Hej
Jag har 3 temperaturer som jag kollar, lägsta används för rapportering till https://www.temperatur.nu/
För Framsida stoppar rapportering med ojämna mellanrum så om den är äldre än 10 minuter skippas den.
Först en funktion för att kolla ålder

Kod: Markera allt

--- tijdverschil bepalen sinds laatste schakeling in sec
function timedifference (s)
   if s == nil then print("Error  ") end
   year = string.sub(s, 1, 4)
   month = string.sub(s, 6, 7)
   day = string.sub(s, 9, 10)
   hour = string.sub(s, 12, 13)
   minutes = string.sub(s, 15, 16)
   seconds = string.sub(s, 18, 19)
   t1 = os.time()
   t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
   difference = (os.difftime (t1, t2))
   return difference
end
Hämta värden och ålder

Kod: Markera allt

aqMeterName = 'Baksida'
tempBaksida = otherdevices_svalues[aqMeterName]
updaBaksida = otherdevices_lastupdate[aqMeterName]
aqTradgard  = 'Tradgard'
tempTradgard,humiTradgard,otherTradgard = otherdevices_svalues[aqTradgard]:match("([^;]+);([^;]+);([^;]+)")
updaTradgard = otherdevices_lastupdate[aqTradgard]
aqFramsida  = 'Framsida'
tempFramsida = otherdevices_svalues[aqFramsida]
updaFramsida = otherdevices_lastupdate[aqFramsida]
Följt av

Kod: Markera allt

commandArray = {}
if devicechanged[aqMeterName] then
  timeNow = os.date("%Y-%m-%d %H:%M:%S")
  year 	= tonumber(os.date("%Y"))
  month 	= tonumber(os.date("%m"))
  day 	= tonumber(os.date("%d"))
  hour 	= tonumber(os.date("%H"))
  min 	= tonumber(os.date("%M"))
  sec     = tonumber(os.date("%S"))
  timeValue = hour * 60 + min

local minTemperature = tonumber(tempTradgard)
local tempInput = 'tradgard'
diffFramsida = timedifference(updaFramsida)
if diffFramsida < 600 then
    if tonumber(tempFramsida) < minTemperature then
        minTemperature = tonumber(tempFramsida)
        tempInput = 'framsida'
    end
end
if tonumber(tempBaksida) < minTemperature then
    minTemperature = tonumber(tempBaksida)
    tempInput = 'baksida'
end
Nu finns lägsta temperatur i minTemperature
Lycka till
Skriv svar