Rekuperator - Virtualka

  • 6 Odpowiedzi
  • 4592 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline virgojavier

  • * 10
  • 0
  • Nazwa i wersja ID: Fibaro/3.8
Rekuperator - Virtualka
« dnia: Styczeń 12, 2016, 05:29:47 pm »
Witam
Zamarzyła mi się wirtualka do podglądu pracy rekuperatora. Pierwszą część którą udało mi się już zrobić to info dotyczące tego na którym biegu w zależności od zużycia prądu (reku jest podłączony wall plugiem) rekuperator się znajduje.
Druga to stan GWC, czy aktywny czy nie, podobnie na podstawie info z wall plaga sterującego GWC.

Następnie zakupiłem UBS i 4 DSy w celu przeliczania sprawności rekuperatora.

local myDeviceID = fibaro:getSelfId()
local t1Id = 1549
local t2Id = 1550
local t3Id = 1551
local t4Id = 1552
local temp_zew = tonumber(fibaro:getValue(t1Id, "value"))
local temp_wylot = tonumber(fibaro:getValue(t2Id, "value"))
local temp_nawiew = tonumber(fibaro:getValue(t3Id, "value"))
local temp_wywiew = tonumber(fibaro:getValue(t4Id, "value"))
fibaro:call(myDeviceID, "setProperty", "ui.LabelNow1.value", temp_zew)
fibaro:call(myDeviceID, "setProperty", "ui.LabelNow2.value", temp_wylot)
fibaro:call(myDeviceID, "setProperty", "ui.LabelNow4.value", temp_nawiew)
fibaro:call(myDeviceID, "setProperty", "ui.LabelNow5.value", temp_wywiew)
local sprawnosc = ((temp_nawiew - temp_zew)/(temp_wywiew - temp_zew))*100
fibaro:call(myDeviceID, "setProperty", "ui.LabelNow6.value", sprawnosc)

Wszystko fajnie działa, ale wyliczona sprawność wyświetla się z 10 miejscami po przecinku.
Wie ktoś może jak zaogrąglić wyliczaną wartość do jednego miejsca po przecinku?

Z góry dzięki za podpowiedź
« Ostatnia zmiana: Styczeń 12, 2016, 09:02:03 pm wysłana przez virgojavier »
*

Offline wojo2000

  • ** 34
  • 0
Odp: Rekuperator - Virtualka
« Odpowiedź #1 dnia: Marzec 20, 2016, 07:38:49 pm »
a czy możesz sterować biegami rekuperatora? zastanawiam się czy płacić prawie 1000pln za moduł Aeris Inteligence, czy da się to przy pomocy fibaro rozwiązać...
Odp: Rekuperator - Virtualka
« Odpowiedź #2 dnia: Kwiecień 16, 2016, 07:23:26 am »
Witaj virgojavier
spróbuj tak:

wpisz do swojego kodu przed twoimi zmiennymi:

local p = 100 -- ilość zer = ilość miejsc po przecinku
local s = sprawnosc

zamiast  "p" możesz wpisać "przecinek" ale to długi wyraz,
potem

tak samo zamiast "sprawnosc" napisałem: "s", możesz zostawić "sprawnosc", zrobiłem tak dla przejrzystości przykładu;
przed wyświetleniem właściwie jakiejkolwiek liczby lub przed jej dalszym użyciem (w tym przypadku chodzi o "sprawnosc")
napisz taki kod (najlepiej skopiuj i wstaw poprawne zmienne):

sprawnosc = s - ((((s - math.floor(s)) * p) - math.floor(((s - math.floor(s)) * p))) / p);

teraz możesz ilością zer - w zmiennej "p" ("p", czytaj "przecinek") - obok jedynki regulować sobie ilość miejsc po przecinku jak "dusza" zapragnie ;)
nie znam wszystkich funkcji matematycznych, wiec zrobiłem to tak!
Ale za to działa u mnie niezawodnie!!! 8)
Nawet jak byś chciał, możesz wstawić do wirtualki suwak do regulacji ilości miejsc po przecinku, tylko proponuje wtedy zmienną "p" zrobić jako globalną ;) ;) :D
« Ostatnia zmiana: Kwiecień 16, 2016, 07:25:37 am wysłana przez Andrzej.M »
Odp: Rekuperator - Virtualka
« Odpowiedź #3 dnia: Kwiecień 16, 2016, 10:18:14 am »
Zmieniając troszkę temat chciałbym zapytać, ponieważ sam w tej kwestii jeszcze się nie nauczyłem, jak skonstruować ścieżkę, którą wysłałbym do rekuperatora z przycisku urządzenia wirtualnego w HC2?
Problem jest w tym, że komenda wpisana w adres przeglądarki, po wciśnięciu klawisza ENTER wykonuje z sukcesem swoje zadanie. Natomiast wpisanie tego do urządzenia wirtualnego i wciśnięcie przycisku wysyłającego zadany tekst nie pociąga za sobą żadnego skutku.

tekst wygląda następująco:

http://192.168.1.200:8080/rest/supply/A/set/1

tabela funkcji i konstrukcji ścieżki jest w załączniku.
docelowo chciałbym móc sprawdzić, czy rekuperator jest włączony czy nie oraz sczytać temperaturę z pilota jak również włączyć i/lub wyłączyć rekuperator ale też zmienić bieg rekuperatora.
Z góry dziękuję za pomoc.
Pozdrawiam
*

Offline sztywniak

  • ***** 601
  • 23
  • Nazwa i wersja ID: HC2 3.60/ 4.37, Vera 1.7.1018
Odp: Rekuperator - Virtualka
« Odpowiedź #4 dnia: Kwiecień 18, 2016, 08:42:46 pm »
na forum masz pełno przykładów jak wysyłać cokolwiek po http.
funkcja Net.FHttp
Odp: Rekuperator - Virtualka
« Odpowiedź #5 dnia: Kwiecień 21, 2016, 06:13:08 am »
poproszę zatem o link do przykładu wysłania komendy do rekuperatora bo do tej pory nie znalazłem niczego odpowiedniego (albo wysyłanie do HC2 albo odczyt). A skoro orientujesz się doskonale, to z łatwością mnie pokierujesz
Z góry dziękuję :)
*

Offline marecki_0luk1

  • Administratorzy
  • ***** 430
  • 26
  • Nazwa i wersja ID: HC3 5.070.42 / HC2 4.600
Odp: Rekuperator - Virtualka
« Odpowiedź #6 dnia: Kwiecień 21, 2016, 09:03:13 am »
Przecież sztywniak napisał Ci dokładnie czego szukać.
http://lmgtfy.com/?q=Fibaro+Net.FHttp