Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- commandArray = {}
- -- Set IDX of Watermeter
- iIDX = 83
- -- Set Watermeter based on user variable "WaterMeter"
- if ( uservariables["WaterMeter"] > 0 ) then
- print("Water usage is set to " .. uservariables["WaterMeter"] / 1000 .. "m3 by user")
- commandArray['UpdateDevice'] = ''..iIDX..'|0|'..uservariables["WaterMeter"]..''
- commandArray['Variable:WaterMeter'] = tostring(0)
- end
- -- Water usage
- -- Retrieve value from water meter device:
- sWaterUsage = otherdevices_svalues['Waterverbruik']
- -- To have a better readable format, divide number by 1000:
- sWaterUsagePrint = tonumber(sWaterUsage / 1000);
- -- calculation is done with the unmodified water value
- sWaterUsage = tonumber(sWaterUsage);
- -- For Debuging
- print("Water usage until now is " .. sWaterUsagePrint .. "m3 ")
- print('GPIO Watermeter = '..otherdevices['GPIO Watermeter'])
- function timedifference(s)
- year = string.sub(s, 1, 4)
- month = string.sub(s, 6, 7)
- day = string.sub(s, 9, 10)
- hour = string.sub(s, 12, 13)
- minutes = string.sub(s, 15, 16)
- seconds = string.sub(s, 18, 19)
- t1 = os.time()
- t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
- difference = os.difftime (t1, t2)
- return difference
- end
- if (devicechanged['GPIO Watermeter'] == 'Off')
- then
- sWaterUsageTot = (sWaterUsage + 1)
- print("Water usage is set to " .. sWaterUsageTot / 1000 .. "m3 ")
- commandArray['UpdateDevice'] = ''..iIDX..'|0|'..sWaterUsageTot..''
- else
- -- Keep a live device
- if (timedifference(otherdevices_lastupdate["Waterverbruik"]) > 300)
- then
- print("Water usage is still " .. sWaterUsage / 1000 .. "m3 ")
- commandArray['UpdateDevice'] = ''..iIDX..'|0|'..sWaterUsage..''
- end
- end
- return commandArray
Advertisement
Add Comment
Please, Sign In to add comment