Forum użytkowników automatyki budynkowej

Z-wave => Fibaro - skrypty itp => Wątek zaczęty przez: amis w Listopad 12, 2017, 02:03:58 pm

Tytuł: przypisanie wartości
Wiadomość wysłana przez: amis w Listopad 12, 2017, 02:03:58 pm
Hej, ;)
Mam prośbę, czy może ktoś powiedzieć mi dlaczego nie chce działać takie polecenie
w pętli chcę sprawdzić czy urządzenie ma baterię i jak ma to coś tam
local isBatOperated = (fibaro:get (i, 'isbattery') == "1")
if isBatOperated then
...
end if
pozdro
Tytuł: Odp: przypisanie wartości
Wiadomość wysłana przez: viperlodz w Listopad 12, 2017, 09:27:49 pm
Źle sprawdzasz. Tu masz przykład.

--[[
%% properties
%% events
%% globals
--]]
local zm1 = 18;
local zm2 = 206;

if(fibaro:getValue(zm1, "batteryLevel") == '') then
  fibaro:debug("Niebateryjne");
else
  fibaro:debug("Bateryjne" .. fibaro:getValue(zm1, "batteryLevel") .. "%");
end

if(fibaro:getValue(zm2, "batteryLevel") == '') then
  fibaro:debug("Niebateryjne");
else
  fibaro:debug("Bateryjne " .. fibaro:getValue(zm2, "batteryLevel") .. "%");
end

[DEBUG] 21:27:58: Niebateryjne
[DEBUG] 21:27:58: Bateryjne 92%
Tytuł: Odp: przypisanie wartości
Wiadomość wysłana przez: amis w Listopad 13, 2017, 05:45:35 pm
dzięki tak jak piszesz działa na każde urządzenie, ale chcę sprawdzić wszystkie urządzenia np. 150 szt.
chciałem
for i = 0, 150 do
local isBatOperated = (fibaro:get (i, 'isbattery') == "1")
if isBatOperated then
...
end
end
Tytuł: Odp: przypisanie wartości
Wiadomość wysłana przez: viperlodz w Listopad 14, 2017, 07:58:18 pm
w pętlę for musisz wstawić co innego twoja wersja z fibaro:get jest błędna. Podałem prawidłową wersję z pobraniem informacji czy jest to bateria.
Dodatkowo skrypt z bateriami jest już stworzony przez innego kolegę, gdzie podajemy ID konkretnych urządzeń.
Tytuł: Odp: przypisanie wartości
Wiadomość wysłana przez: amis w Listopad 14, 2017, 08:07:15 pm
dzięki za info.
wpiszę na stałe numery urządzeń.