Advertisement
Guest User

Skrypt Domoticz do przekazywania czujnikow pogodowych dla WU

a guest
May 20th, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.54 KB | None | 0 0
  1. --- tutaj wstawiasz nazwy swoich czujnikow
  2. Outside_Temp_Hum = 'Temp_dwor2'
  3. Inside_Temp_Hum = ''
  4. Pressure = ''
  5. Barometer = ''
  6. RainMeter = 'Deszcz2'
  7. WindMeter = 'Wiatr2'
  8. UVMeter = ''
  9. LuxMeter = ''
  10. PM25 = 'PM2.5'
  11. PM10 = 'PM10'
  12.  
  13. --WU Settings
  14. baseurl = "http://weatherstation.wunderground.com/weatherstation/updateweatherstation.php?"
  15. ID = "twoj_ID"
  16. PASSWORD = "Twoje_haslo"
  17.  
  18. local function CelciusToFarenheit(C)
  19. return (C * (9/5)) + 32
  20. end
  21.  
  22. local function hPatoInches(hpa)
  23. return hpa * 0.0295301
  24. end
  25.  
  26. local function mmtoInches(mm)
  27. if mm == nil then return 0 end
  28. return mm * 0.039370
  29. end
  30.  
  31. local function luxtoWattsm2(mm)
  32. if mm == nil then return 0 end
  33. return mm * 0.0079
  34. end
  35. utc_dtime = os.date("!%m-%d-%y %H:%M:%S",os.time())
  36.  
  37. month = string.sub(utc_dtime, 1, 2)
  38. day = string.sub(utc_dtime, 4, 5)
  39. year = "20" .. string.sub(utc_dtime, 7, 8)
  40. hour = string.sub(utc_dtime, 10, 11)
  41. minutes = string.sub(utc_dtime, 13, 14)
  42. seconds = string.sub(utc_dtime, 16, 17)
  43.  
  44. timestring = year .. "-" .. month .. "-" .. day .. "+" .. hour .. "%3A" .. minutes .. "%3A" .. seconds
  45.  
  46. SoftwareType="Domoticz"
  47.  
  48. WU_URL= baseurl .. "ID=" .. ID .. "&PASSWORD=" .. PASSWORD .. "&dateutc=" .. timestring
  49. --&winddir=230
  50. --&windspeedmph=12
  51. --&windgustmph=12
  52.  
  53. if Outside_Temp_Hum ~= '' then
  54. WU_URL = WU_URL .. "&tempf=" .. string.format("%3.1f", CelciusToFarenheit(otherdevices_temperature[Outside_Temp_Hum]))
  55. WU_URL = WU_URL .. "&humidity=" .. otherdevices_humidity[Outside_Temp_Hum]
  56. WU_URL = WU_URL .. "&dewptf=" .. string.format("%3.1f", CelciusToFarenheit(otherdevices_dewpoint[Outside_Temp_Hum]))
  57. end
  58.  
  59. if Inside_Temp_Hum ~= '' then
  60. WU_URL = WU_URL .. "&indoortempf=" .. string.format("%3.1f", CelciusToFarenheit(otherdevices_temperature[Inside_Temp_Hum]))
  61. WU_URL = WU_URL .. "&indoorhumidity=" .. otherdevices_humidity[Inside_Temp_Hum]
  62. end
  63.  
  64. if Barometer ~= '' then
  65. WU_URL = WU_URL .. "&baromin=" .. string.format("%2.2f", hPatoInches(otherdevices_barometer[Barometer]))
  66. end
  67.  
  68. if RainMeter ~= '' then
  69. WU_URL = WU_URL .. "&dailyrainin=" .. string.format("%2.2f", mmtoInches(otherdevices_rain[RainMeter]))
  70. WU_URL = WU_URL .. "&rainin=" .. string.format("%2.2f", mmtoInches(otherdevices_rain_lasthour[RainMeter]))
  71. end
  72.  
  73. if WindMeter ~= '' then
  74. WU_URL = WU_URL .. "&winddir=" .. string.format("%.0f", otherdevices_winddir[WindMeter])
  75. WU_URL = WU_URL .. "&windspeedmph=" .. string.format("%.0f", (otherdevices_windspeed[WindMeter]/0.1)*0.223693629205)
  76. WU_URL = WU_URL .. "&windgustmph=" .. string.format("%.0f", (otherdevices_windgust[WindMeter]/0.1)*0.223693629205)
  77. end
  78.  
  79. if UVMeter ~= '' then
  80. WU_URL = WU_URL .. "&UV=" .. string.format("%.1f", otherdevices_uv[UVMeter])
  81. end
  82.  
  83. if Pressure ~= '' then
  84. WU_URL = WU_URL .. "&baromin=" .. string.format("%2.2f", hPatoInches(otherdevices_svalues[Pressure]))
  85. end
  86.  
  87. if LuxMeter ~= '' then
  88. WU_URL = WU_URL .. "&solarradiation=" .. string.format("%2.2f", luxtoWattsm2(otherdevices_svalues[LuxMeter]))
  89. end
  90.  
  91. if PM25 ~= '' then
  92. WU_URL = WU_URL .. "&AqPM2.5=" .. string.format("%u", otherdevices_utility[PM25])
  93. end
  94.  
  95. if PM10 ~= '' then
  96. WU_URL = WU_URL .. "&AqPM10=" .. string.format("%u", otherdevices_utility[PM10])
  97. end
  98.  
  99.  
  100. --AqNO
  101. --AqNO3
  102. --AqSO4
  103. --AqCO
  104. --AqOZONE
  105. --leafwetness
  106. --soiltempf 2f
  107. --soilmoisture 2 3 4
  108. --&weather=
  109. --&clouds=
  110.  
  111. WU_URL = WU_URL .. "&softwaretype=" .. SoftwareType .. "&action=updateraw"
  112.  
  113. --print (WU_URL)
  114.  
  115. commandArray = {}
  116.  
  117. --remove the line below to actualy upload it
  118. commandArray['OpenURL']=WU_URL
  119.  
  120. return commandArray
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement