Changes in / [20:30]


Ignore:
Files:
3 added
1 deleted
1 edited

Legend:

Unmodified
Added
Removed
  • /tags/2.6/I_FoscamPTZ.xml

    r20 r30  
    2121            local lastTrip = luup.variable_get("urn:micasaverde-com:serviceId:SecuritySensor1", "LastTrip", sensorId) or 0 
    2222            local now = os.time() 
    23             if (os.difftime(now, lastTrip) >= ON_TIME) then -- 20 minutes 
     23            if os.difftime(now, lastTrip) >= ON_TIME then -- 20 minutes 
    2424                luup.variable_set("urn:micasaverde-com:serviceId:SecuritySensor1", "Tripped", "0", sensorId) 
    2525            end 
     
    3030 
    3131            local sensorId = tonumber(parameters.sensor_id, 10) or 0 
    32             if (sensorId == 0) then 
     32            if sensorId == 0 then 
    3333                return "failed" 
    3434            end 
     
    4444 
    4545        local function urlEncode (s) 
    46             if (s ~= nil) then 
     46            if s ~= nil then 
    4747                s = s:gsub("\n", "\r\n") 
    4848                s = s:gsub("([^%w ])", function (c) 
     
    6464 
    6565            local sensorId = tonumber(luup.variable_get(CMD_SID, "MotionSensorID", lug_device) , 10) or 0 
    66             if (sensorId > 0) then 
     66            if sensorId > 0 then 
    6767                return sensorId 
    6868            end 
     
    7171            local altid = "foscam_".. lug_device .."_sensor" 
    7272            for dev, attr in pairs(luup.devices) do 
    73                 if (attr.id == altid) then 
     73                if attr.id == altid then 
    7474                    sensorId = dev 
    7575                    break 
     
    7777            end 
    7878 
    79             if (sensorId == 0) then 
     79            if sensorId == 0 then 
    8080                -- We haven't created the motion sensor. Set State to STATE_CREATE_MS. 
    8181                luup.log("(".. luup.devices[lug_device].description .."::State=".. state ..") Motion sensor doesn't exist. Set State to STATE_CREATE_MS(".. STATE_CREATE_MS ..").") 
     
    9696 
    9797            -- Check if we have the correct category number. 
    98             if (luup.devices[lul_device].category_num ~= 6) then 
     98            if luup.devices[lul_device].category_num ~= 6 then 
    9999                luup.attr_set("category_num", "6", lul_device) 
    100100            end 
     
    105105            lug_ip = luup.devices[lul_device].ip or "" 
    106106 
    107             lug_path = luup.variable_get(CAM_SID, "URL", lul_device) or "" 
    108             if (lug_path == "") then 
     107            local snapshotUrl = luup.variable_get(CAM_SID, "URL", lul_device) or "" 
     108            if snapshotUrl == "" then 
    109109                luup.variable_set(CAM_SID, "URL", "/snapshot.cgi", lul_device) 
    110110            end 
    111111 
    112112            lug_stepSize = luup.variable_get(CAM_SID, "StepSize", lul_device) or "" 
    113             if (lug_stepSize == "") then 
     113            if lug_stepSize == "" then 
    114114                lug_stepSize = "1" 
    115115                luup.variable_set(CAM_SID, "StepSize", lug_stepSize, lul_device) 
     
    117117 
    118118            lug_reversePan = luup.variable_get(CAM_SID, "ReversePan", lul_device) or "" 
    119             if (lug_reversePan == "") then 
     119            if lug_reversePan == "" then 
    120120                lug_reversePan = "0" 
    121121                luup.variable_set(CAM_SID, "ReversePan", lug_reversePan, lul_device) 
     
    123123 
    124124            lug_reverseTilt = luup.variable_get(CAM_SID, "ReverseTilt", lul_device) or "" 
    125             if (lug_reverseTilt == "") then 
     125            if lug_reverseTilt == "" then 
    126126                lug_reverseTilt = "0" 
    127127                luup.variable_set(CAM_SID, "ReverseTilt", lug_reverseTilt, lul_device) 
     
    130130            -- Disable zoom buttons by default. 
    131131            local commands = luup.variable_get(HAD_SID, "Commands", lul_device) 
    132             if (not commands) then 
     132            if not commands then 
    133133                commands = "camera_up,camera_down,camera_left,camera_right,camera_full_screen,camera_preset,camera_archive_snapshot" 
    134134                luup.variable_set(HAD_SID, "Commands", commands, lul_device) 
     
    143143            luup.log("(".. luup.devices[lul_device].description ..") State=".. state) 
    144144 
    145             if (state == "") then 
     145            if state == "" then 
    146146                -- If it's an upgrade from an older plugin version, State is ConfiguredMD. 
    147147                state = luup.variable_get(CMD_SID, "ConfiguredMD", lul_device) or "" 
    148                 if (state == "") then 
     148                if state == "" then 
    149149                    -- Not an upgrade, the plugin is freshly installed. 
    150150                    state = STATE_MD_DISABLED 
     
    162162            -- Motion detection disabled 
    163163            ---------------------------------------------------------------------------------------- 
    164             if (state == STATE_MD_DISABLED) then -- Disable the motion detection. 
     164            if state == STATE_MD_DISABLED then -- Disable the motion detection. 
    165165                return 
    166166            ---------------------------------------------------------------------------------------- 
    167167            -- Motion sensor not created. Create the motion sensor. 
    168168            ---------------------------------------------------------------------------------------- 
    169             elseif (state == STATE_CREATE_MS) then 
     169            elseif state == STATE_CREATE_MS then 
    170170 
    171171                -- We can't configure the camera for motion detection if we don't know its URL/IP address. 
    172                 if (lug_ip == "") then 
     172                if lug_ip == "" then 
    173173                    luup.log("(".. luup.devices[lul_device].description .."::State=".. state ..") Missing camera IP.") 
    174174                    return false, "Missing camera IP address", luup.devices[lul_device].description 
     
    176176 
    177177                local gatewayAddress = luup.variable_get(CMD_SID, "GatewayAddress", lul_device) or "" 
    178                 if (gatewayAddress == "") then 
     178                if gatewayAddress == "" then 
    179179                    -- Vera's IP address hasn't been specified. Try to get it based on the camera's IP address. 
    180180                    -- Get the camera subnet. 
    181181                    local camSubnet = lug_ip:match("%d+%.%d+%.%d+") 
    182                     if (camSubnet ~= nil) then 
     182                    if camSubnet ~= nil then 
    183183                        -- Try the WAN IP. 
    184184                        local stdout = io.popen("GetNetworkState.sh ip_wan") 
     
    186186                        stdout:close() 
    187187 
    188                         if (not gatewayAddress:find(camSubnet, 1, true)) then 
     188                        if not gatewayAddress:find(camSubnet, 1, true) then 
    189189                            -- Try the LAN IP. 
    190190                            stdout = io.popen("GetNetworkState.sh ip_lan") 
     
    192192                            stdout:close() 
    193193 
    194                             if (not gatewayAddress:find(camSubnet, 1, true)) then 
     194                            if not gatewayAddress:find(camSubnet, 1, true) then 
    195195                                -- The camera is in a different network than Vera. 
    196196                                gatewayAddress = "" 
     
    200200                end 
    201201 
    202                 if (gatewayAddress == "") then 
     202                if gatewayAddress == "" then 
    203203                    -- Vera's IP address isn't specified and we couldn't get it based on the camera's IP address. 
    204204                    -- Create the variable so that it can be set up by the user. 
     
    212212 
    213213                -- Create the motion sensor. 
     214                luup.log("(".. luup.devices[lul_device].description .."::State=".. state ..") Create the motion sensor.") 
    214215                local ptr = luup.chdev.start(lul_device) 
    215                 luup.chdev.append(lul_device, ptr, "foscam_".. lul_device .."_sensor", "Foscam #".. lul_device .." Motion Sensor", "urn:schemas-micasaverde-com:device:MotionSensor:1", "D_MotionSensor1.xml", "", SES_SID ..",Armed=1\n".. SES_SID ..",Tripped=0", true, false) 
     216                luup.chdev.append(lul_device, ptr, "foscam_".. lul_device .."_sensor", luup.devices[lul_device].description .." Motion Sensor", 
     217                    "urn:schemas-micasaverde-com:device:MotionSensor:1", "D_MotionSensor1.xml", "", SES_SID ..",Armed=1\n".. SES_SID ..",Tripped=0", true, false) 
    216218                luup.chdev.sync(lul_device, ptr) 
     219 
    217220            ---------------------------------------------------------------------------------------- 
    218221            -- Motion sensor created. Configure the camera for motion detection reporting. 
    219222            ---------------------------------------------------------------------------------------- 
    220             elseif (state == STATE_CONFIGURE_CAM) then 
     223            elseif state == STATE_CONFIGURE_CAM then 
    221224 
    222225                -- We can't configure the camera if we don't know Vera's URL / IP address. 
    223226                local gatewayAddress = luup.variable_get(CMD_SID, "GatewayAddress", lul_device) or "" 
    224                 if (gatewayAddress == "") then 
     227                if gatewayAddress == "" then 
    225228                    luup.log("(".. luup.devices[lul_device].description .."::State=".. state ..") GatewayAddress is empty.") 
    226229                    return false, "Missing Gateway IP address", luup.devices[lul_device].description 
     
    229232                -- Get the motion sensor's device ID. 
    230233                local sensorId = getMotionSensorId(state) 
    231                 if (not sensorId) then 
     234                if not sensorId then 
    232235                    luup.call_delay("showSysMessage", 2, "Reload Luup to create motion sensor") 
    233236                    return 
     
    240243                local url = "http://".. gatewayAddress ..":3480/data_request?id=lr_foscam_tripped&sensor_id=".. sensorId 
    241244                local status = luup.inet.wget("http://".. lug_ip .."/set_alarm.cgi?motion_armed=1&http=1&http_url=".. urlEncode(url) .."&user=".. lug_username .."&pwd=".. urlEncode(lug_password), 5) 
    242                 if (status ~= 0) then 
     245                if status ~= 0 then 
    243246                    luup.log("(".. luup.devices[lul_device].description .."::State=".. state ..") Failed to configure camera, status = ".. status ..".") 
    244247                    return false, "Failed to configure camera", luup.devices[lul_device].description 
     
    254257                -- The configuration was successful. 
    255258                luup.variable_set(CMD_SID, "State", STATE_CONFIGURED_OK, lul_device) 
     259 
    256260            ---------------------------------------------------------------------------------------- 
    257261            -- Camera configured 
     
    261265                -- Get the motion sensor's device ID. 
    262266                local sensorId = getMotionSensorId(state) 
    263                 if (not sensorId) then 
    264                     return false, "Reload Luup to create motion sensor", luup.devices[lul_device].description 
     267                if not sensorId then 
     268                    luup.call_delay("showSysMessage", 2, "Reload Luup to create motion sensor") 
     269                    return 
    265270                end 
    266271 
    267272                -- Get and update the time until the sensor is considered untripped. 
    268273                local onTime = luup.variable_get(SES_SID, "OnTime", sensorId) or "" 
    269                 if (onTime:find("^%d+$") ~= nil) then 
     274                if onTime:find("^%d+$") ~= nil then 
    270275                    ON_TIME = tonumber(onTime, 10) or ON_TIME 
    271276                else 
     
    275280                -- Untrip the sensor if the OnTime has passed. 
    276281                local lastTrip = luup.variable_get(SES_SID, "LastTrip", sensorId) or 0 
    277                 if (os.difftime(os.time(), lastTrip) >= ON_TIME) then 
     282                if os.difftime(os.time(), lastTrip) >= ON_TIME then 
    278283                    luup.variable_set(SES_SID, "Tripped", "0", sensorId) 
    279284                end 
Note: See TracChangeset for help on using the changeset viewer.