Hallo,
wie der Titel schon sagt, hätte ich gerne eine Pushnachricht aufs iPhone wenn der Batterstatus eines beliebigen Gerätes unter einen
voreingestellten wert sinkt.
Ich habe mir jetzt das hier aus verschiedenen Tutorials zusammengebastelt:
--[[
%% properties
%% events
%% globals
--]]
----- Auslesen der Batteriestatuse ----
local minBatteryLevel = 25
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' or deviceType == 'com.fibaro.FGMS001v2') then
if tonumber(batteryLevel) <= minBatteryLevel then
Debug( 'red', "ACHTUNG! " ..name.." ("..room..")/Batterie: "..batteryLevel.." %")
else
Debug( 'green', name.." ("..room..")/Batterie: "..batteryLevel.." %");
local message = 'testeintrag'
----- Variablen zum senden der PushMitteilung
local phoneID = {59}
local title = 'Achtung Batterie geht zu Neige!'
local category = 'RUN_CANCEL' -- or 'YES_NO'
local sceneID = 7
for i=1, #phoneID do
if phoneID[i] ~= nil then
fibaro:debug('Versende Interactive Push an ID ' ..phoneID[i])
api.post('/mobile/push', {["mobileDevices"]={phoneID[i]}, ["message"]=message, ["title"]=title, ["category"]=category, ["data"]={["sceneId"]=sceneID}});
end
end
end
end
end
end
end
Leider bekomme ich es nicht hin das mir das was mir:
Debug( 'green', name…" ("…room…")/Batterie: "…batteryLevel…" %");
ausgibt in diese variable geschrieben wird:
local message = 'testeintrag'
damit diese Info dann in:
api.post('/mobile/push', {["mobileDevices"]={phoneID[i]}, ["message"]=message, ["title"]=title, ["category"]=category, ["data"]={["sceneId"]=sceneID}});
geschrieben wird.