Skrypt do wyświetla...
 
Powiadomienia
Wyczyść wszystko

UWAGAStrona oraz Forum Smart'ny Dom nie będzie dostępne 23 Grudnia 2024 ze względu na przenoszenie serwisu na mocniejszą maszynę.

W tym czasie polecam poświęcenie swojego czasu na pomoc partnerowi w przygotowaniu udanych Świąt 😉

Za niedogodności z góry przepraszam, admin

Kontakt

[Rozwiązany] Skrypt do wyświetlania temperatury na lcd

6 Wpisów
2 Użytkownicy
0 Reactions
1,785 Wyświetleń
(@dzidzi20)
Wpisów: 51
Kontrybutor
Autor tematu
 

Witam.

Mam taki skryp który wyświetla mi temperaturę na ekranie lcd. Skrypt działa poprawnie ale wyświetla temperaturę z dwoma miejscami po przecinnku a chciałbym zaokrąglić to do jednego miejsca po przecinku.

skrypt:

local NazwaCzujnika="klatka"
commandArray = {} if devicechanged[NazwaCzujnika] then
commandArray['OpenURL']='192.168.0.159/control?cmd=lcd,3,1,KLATKA%20TEMP='..otherdevices_svalues[NazwaCzujnika]..'*C'
end
return commandArray




udało mi siię osiagnąć cel

function round(num, idp)
local mult = 10^(idp or 0)
return math.floor(num * mult + 0.5) / mult
end
temp=round(otherdevices_svalues['klatka'],1)
commandArray = {}
commandArray['OpenURL']='192.168.0.159/control?cmd=lcd,3,1,Klatka%20TEMP:'..temp..'*C%20 '
return commandArray

 

 
Dodane : 20/11/2019 6:25 pm
(@adamdudek)
Wpisów: 55
Kontrybutor
 

Cześć

Możesz zerkną poniżej na kod bo jak go wpisze to wyrzuca błąd jak podany na samym końcu 

 

function round(num, idp)
local mult = 10^(idp or 0)
return math.floor(num * mult + 0.5) / mult
end
temp=round(otherdevices_svalues['Bojler 1'],1)
commandArray = {}
commandArray['OpenURL']='192.168.0.160/control?cmd=lcd,8,1,B%20TEMP:'..temp..'*C%20 '
return commandArray

 

 

2022-09-15 20:41:41.885 Error: Error opening url: 192.168.0.160/control?cmd=lcd,8,1,B%20TEMP:22.5*C%20

 
Dodane : 15/09/2022 7:43 pm
(@dzidzi20)
Wpisów: 51
Kontrybutor
Autor tematu
 

to jest u mnie działający aktualnie skrypt:

-- script_time_misc.lua
-------------------------------------
commandArray = {}
function round(num, idp)
 local mult = 10^(idp or 0)
 return math.floor(num * mult + 0.5) / mult
end
temp=round(otherdevices_temperature['klatka'],1)
local m = os.date('%M')
    if (m % 1 == 0) then
        os.execute ('curl -s "192.168.0.156/control?cmd=lcd,3,1,Klatka%20%20'..temp..'%20°C%20%20"')
   end
return commandArray
 
Dodane : 15/09/2022 7:53 pm
(@adamdudek)
Wpisów: 55
Kontrybutor
 

Dzięki za szybka odpowiedz

działa a jesteś w stanie mi powiedzieć jak to zmienić a żeby wyświetlał temperatury zaokrąglone bez przecinka?

 
Dodane : 15/09/2022 8:08 pm
(@dzidzi20)
Wpisów: 51
Kontrybutor
Autor tematu
 

Niestety nie. Nie umiem pisać skryptów. Ten kiedyś zlazłem w sieci i metodą prób i błędów dostosowałem pod siebie. 

 
Dodane : 15/09/2022 8:14 pm
(@dzidzi20)
Wpisów: 51
Kontrybutor
Autor tematu
 

Mam czujnik temperatury podłączony pod wemos na którym jest easy esp. tam można ustawić aby podawał do domoticza pełne wartości bez przecinka i sprawa będzie załatwiona o ile używasz easy esp  

 
Dodane : 15/09/2022 8:17 pm
Udostępnij: