Update on my progress with ThingSpeak. I've upped my reporting to every 15 minutes (was at 5 min), and have added a few more devices. Here is my latest code:
-- Sends data from Vera to Thingspeak.
-- Load data from downstairs thermostat
local DOWN_TEMP = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature", 55)
local DOWN_HEAT = luup.variable_get("urn:upnp-org:serviceId:TemperatureSetpoint1_Heat", "CurrentSetpoint", 55)
local DOWN_COOL = luup.variable_get("urn:upnp-org:serviceId:TemperatureSetpoint1_Cool", "CurrentSetpoint", 55)
local DOWN_HUM = luup.variable_get("urn:micasaverde-com:serviceId:HumiditySensor1", "CurrentLevel", 56)
-- Load data from upstairs thermostat
local UP_TEMP = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature", 51)
local UP_HEAT = luup.variable_get("urn:upnp-org:serviceId:TemperatureSetpoint1_Heat", "CurrentSetpoint", 51)
local UP_COOL = luup.variable_get("urn:upnp-org:serviceId:TemperatureSetpoint1_Cool", "CurrentSetpoint", 51)
-- Load data from weather plugin
local OUT_TEMP = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature", 41)
local OUT_HUM = luup.variable_get("urn:micasaverde-com:serviceId:HumiditySensor1", "CurrentLevel", 44)
local WIND = luup.variable_get("urn:upnp-micasaverde-com:serviceId:Weather1", "WindSpeed", 40)
local FOYER_ON_OFF = luup.variable_get("urn:upnp-org:serviceId:SwitchPower1", "Status", 37)
-- Load data from other devices
local OUT_LIGHT_LEVEL = luup.variable_get("urn:micasaverde-com:serviceId:LightSensor1", "CurrentLevel", 60)
-- Send data to channel 1
local http = require("socket.http")
http.TIMEOUT = 5
result, status = http.request("http://api.thingspeak.com/update?key=API_Key1_Value&field1="..UP_TEMP.."&field2="..OUT_TEMP.."&field3="..OUT_HUM.."&field4="..WIND.."&field5="..UP_HEAT.."&field6="..UP_COOL.."", "run=run")
-- Send data to channel 2
local http = require("socket.http")
http.TIMEOUT = 5
result, status = http.request("http://api.thingspeak.com/update?key=API_Key2_Value&field1="..FOYER_ON_OFF.."&field2="..DOWN_TEMP.."&field3="..DOWN_HEAT.."&field4="..DOWN_COOL.."&field5="..DOWN_HUM.."&field6="..OUT_LIGHT_LEVEL.."", "run=run")