Hallo,
ist es möglich, dass ich eine Pushmitteilung bekomme, wenn eine Batterie fast leer ist oder bekomme ich es immer nur per Zufall raus, wenn ich mich einlogge?
Danke
Hallo,
ist es möglich, dass ich eine Pushmitteilung bekomme, wenn eine Batterie fast leer ist oder bekomme ich es immer nur per Zufall raus, wenn ich mich einlogge?
Danke
Hi,
du kannst das Skript, welches die Batterien prüft, gerne um eine Push-Funktion erweitern
Gruß
habe ich probiert
habe diese script kopiert:
--[[
%% properties
%% globals
--]]
local scene = 42
local handy = 4
fibaro:debug(„Start – Module Batteriecheck“)
if (fibaro:countScenes()>1) then
fibaro:debug(„stop scene“);
fibaro:abort();
end
if (fibaro:getGlobalValue(„Tageszeit“) == „Morgen“) then
local minBatteryLevel = 25
local maxID = 500
Debug = function ( color, message )
fibaro:debug(string.format(‚%s‘, „span“, color, message, „span“))
end
for id = 1, maxID do
local batteryLevel = fibaro:get(id, ‚batteryLevel‘)
if batteryLevel ~= nil
then
local name = fibaro:getName(id)
local room = fibaro:getRoomNameByDeviceID(id)
if not(room == „unassigned“) then
local deviceType = fibaro:getType(id)
if (deviceType == ‚com.fibaro.FGFS101‘ or deviceType == ‚com.fibaro.remoteSwitch‘ or deviceType == ‚com.fibaro.doorLock‘ or deviceType == ‚com.fibaro.FGMS001‘ or deviceType == ‚com.fibaro.windowSensor‘ or deviceType == ‚com.fibaro.doorSensor‘ or deviceType == ‚com.fibaro.binarySwitch‘ or deviceType == ‚com.fibaro.FGSS001‘ or deviceType == ‚com.fibaro.thermostatDanfoss‘) then
if tonumber(batteryLevel) <= minBatteryLevel then
Debug( 'red', "ACHTUNG! " ..name.." ("..room..")/Batterie: "..batteryLevel.." %")
fibaro:call(handy, "sendPush", "!!! "..name.." ("..room..")/Batterie: "..batteryLevel.." %")
else
Debug( 'green', name.." ("..room..")/Batterie: "..batteryLevel.." %")
end
end
end
end
end
end
———————————————————————————-
fibaro:debug("Ende – Module Batteriecheck");
fibaro:killScenes(scene);
bekomme aber immer fehler:
[DEBUG] 15:23:37: line 10: unexpected symbol near char(226)
wo liegt da der fehler?
habe das script nochmal abgeändert:
--[[
%% properties
%% globals
--]]
local minBatteryLevel = 30
local maxID = 1000
Debug = function ( color, message )
fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span"))
end
for id = 1, maxID do
local batteryLevel = fibaro:get(id, 'batteryLevel')
if batteryLevel ~= nil
then
local name = fibaro:getName(id)
local room = fibaro:getRoomNameByDeviceID(id)
if not(room == "unassigned") then
local deviceType = fibaro:getType(id)
if (deviceType == 'com.fibaro.FGFS101' or deviceType == 'com.fibaro.remoteSwitch' or deviceType == 'com.fibaro.doorLock' or deviceType == 'com.fibaro.FGMS001' or deviceType == 'com.fibaro.windowSensor' or deviceType == 'com.fibaro.doorSensor' or deviceType == 'com.fibaro.binarySwitch' or deviceType == 'com.fibaro.FGSS001') then
if tonumber(batteryLevel) <= minBatteryLevel then
Debug( 'red', "ACHTUNG! " ..name.." ("..room..")/Batterie: "..batteryLevel.." %")
fibaro:call(4, "sendPush", "!!! "..name.." ("..room..")/Batterie: "..batteryLevel.." %")
else
Debug( 'green', name.." ("..room..")/Batterie: "..batteryLevel.." %")
end
end
end
end
end
sobald ich nun die Zeile 21 gegen diese tausche (um die Thermostate hinzuzufügen):
if (deviceType == ‚com.fibaro.FGFS101‘ or deviceType == ‚com.fibaro.remoteSwitch‘ or deviceType == ‚com.fibaro.doorLock‘ or deviceType == ‚com.fibaro.FGMS001‘ or deviceType == ‚com.fibaro.windowSensor‘ or deviceType == ‚com.fibaro.doorSensor‘ or deviceType == ‚com.fibaro.binarySwitch‘ or deviceType == ‚com.fibaro.FGSS001‘ or deviceType == ‚com.fibaro.thermostatDanfoss‘) then
kommt Fehler in der Zeile… finde den Fehler nur nicht
Hi,
die Zeichen ‚ sind falsch. Es müssen '
sein. Zumindest sieht es auf den ersten Blick so aus.
Gruß
danke, daran lag es