pymscada 0.1.11b8__tar.gz → 0.1.11b9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pymscada might be problematic. Click here for more details.

Files changed (89) hide show
  1. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/PKG-INFO +2 -2
  2. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/pyproject.toml +2 -2
  3. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/accuweather.yaml +1 -1
  4. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/openweather.yaml +1 -1
  5. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/iodrivers/openweather.py +4 -2
  6. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/LICENSE +0 -0
  7. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/README.md +0 -0
  8. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/__init__.py +0 -0
  9. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/__main__.py +0 -0
  10. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/bus_client.py +0 -0
  11. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/bus_server.py +0 -0
  12. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/checkout.py +0 -0
  13. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/config.py +0 -0
  14. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/console.py +0 -0
  15. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/README.md +0 -0
  16. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/__init__.py +0 -0
  17. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/bus.yaml +0 -0
  18. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/files.yaml +0 -0
  19. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/history.yaml +0 -0
  20. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/logixclient.yaml +0 -0
  21. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/modbus_plc.py +0 -0
  22. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/modbusclient.yaml +0 -0
  23. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/modbusserver.yaml +0 -0
  24. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/opnotes.yaml +0 -0
  25. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/ping.yaml +0 -0
  26. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/pymscada-bus.service +0 -0
  27. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/pymscada-demo-modbus_plc.service +0 -0
  28. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/pymscada-files.service +0 -0
  29. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/pymscada-history.service +0 -0
  30. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/pymscada-io-accuweather.service +0 -0
  31. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/pymscada-io-logixclient.service +0 -0
  32. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/pymscada-io-modbusclient.service +0 -0
  33. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/pymscada-io-modbusserver.service +0 -0
  34. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/pymscada-io-ping.service +0 -0
  35. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/pymscada-io-snmpclient.service +0 -0
  36. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/pymscada-opnotes.service +0 -0
  37. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/pymscada-wwwserver.service +0 -0
  38. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/snmpclient.yaml +0 -0
  39. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/tags.yaml +0 -0
  40. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/demo/wwwserver.yaml +0 -0
  41. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/files.py +0 -0
  42. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/history.py +0 -0
  43. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/iodrivers/__init__.py +0 -0
  44. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/iodrivers/accuweather.py +0 -0
  45. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/iodrivers/logix_client.py +0 -0
  46. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/iodrivers/logix_map.py +0 -0
  47. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/iodrivers/modbus_client.py +0 -0
  48. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/iodrivers/modbus_map.py +0 -0
  49. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/iodrivers/modbus_server.py +0 -0
  50. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/iodrivers/ping_client.py +0 -0
  51. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/iodrivers/ping_map.py +0 -0
  52. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/iodrivers/snmp_client.py +0 -0
  53. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/iodrivers/snmp_map.py +0 -0
  54. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/main.py +0 -0
  55. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/misc.py +0 -0
  56. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/module_config.py +0 -0
  57. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/opnotes.py +0 -0
  58. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/pdf/__init__.py +0 -0
  59. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/pdf/one.pdf +0 -0
  60. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/pdf/two.pdf +0 -0
  61. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/periodic.py +0 -0
  62. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/protocol_constants.py +0 -0
  63. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/samplers.py +0 -0
  64. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/tag.py +0 -0
  65. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/tools/snmp_client2.py +0 -0
  66. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/tools/walk.py +0 -0
  67. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/validate.py +0 -0
  68. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/src/pymscada/www_server.py +0 -0
  69. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/tests/__init__.py +0 -0
  70. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/tests/bus_echo.py +0 -0
  71. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/tests/iodrivers/test_logix.py +0 -0
  72. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/tests/iodrivers/test_modbus.py +0 -0
  73. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/tests/test_assets/busserver.yaml +0 -0
  74. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/tests/test_assets/db.sqlite +0 -0
  75. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/tests/test_assets/hist_tag_0_0.dat +0 -0
  76. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/tests/test_assets/hist_tag_0_10_2.dat +0 -0
  77. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/tests/test_assets/hist_tag_0_15.dat +0 -0
  78. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/tests/test_assets/hist_tag_0_26.dat +0 -0
  79. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/tests/test_assets/hist_tag_0_50.dat +0 -0
  80. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/tests/test_bus_server.py +0 -0
  81. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/tests/test_config.py +0 -0
  82. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/tests/test_history.py +0 -0
  83. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/tests/test_misc.py +0 -0
  84. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/tests/test_openweather.py +0 -0
  85. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/tests/test_opnotes.py +0 -0
  86. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/tests/test_periodic.py +0 -0
  87. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/tests/test_samplers.py +0 -0
  88. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/tests/test_tag.py +0 -0
  89. {pymscada-0.1.11b8 → pymscada-0.1.11b9}/tests/test_validate.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pymscada
3
- Version: 0.1.11b8
3
+ Version: 0.1.11b9
4
4
  Summary: Shared tag value SCADA with python backup and Angular UI
5
5
  Author-Email: Jamie Walton <jamie@walton.net.nz>
6
6
  License: GPL-3.0-or-later
@@ -15,7 +15,7 @@ Project-URL: Bug Tracker, https://github.com/jamie0walton/pymscada/issues
15
15
  Requires-Python: >=3.9
16
16
  Requires-Dist: PyYAML>=6.0.1
17
17
  Requires-Dist: aiohttp>=3.8.5
18
- Requires-Dist: pymscada-html>=0.1.10b4
18
+ Requires-Dist: pymscada-html>=0.1.10b5
19
19
  Requires-Dist: cerberus>=1.3.5
20
20
  Requires-Dist: pycomm3>=1.2.14
21
21
  Requires-Dist: pysnmplib>=5.0.24
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "pymscada"
3
- version = "0.1.11b8"
3
+ version = "0.1.11b9"
4
4
  description = "Shared tag value SCADA with python backup and Angular UI"
5
5
  authors = [
6
6
  { name = "Jamie Walton", email = "jamie@walton.net.nz" },
@@ -8,7 +8,7 @@ authors = [
8
8
  dependencies = [
9
9
  "PyYAML>=6.0.1",
10
10
  "aiohttp>=3.8.5",
11
- "pymscada-html>=0.1.10b4",
11
+ "pymscada-html>=0.1.10b5",
12
12
  "cerberus>=1.3.5",
13
13
  "pycomm3>=1.2.14",
14
14
  "pysnmplib>=5.0.24",
@@ -1,5 +1,5 @@
1
1
  bus_ip: 127.0.0.1
2
- bus_port: 1325
2
+ bus_port: 1324
3
3
  proxy: 'http://127.0.0.1:3128'
4
4
  api:
5
5
  url: http://dataservice.accuweather.com/forecasts/v1/hourly/12hour/
@@ -1,5 +1,5 @@
1
1
  bus_ip: 127.0.0.1
2
- bus_port: 1325
2
+ bus_port: 1324
3
3
  proxy:
4
4
  api:
5
5
  api_key: ${OPENWEATHER_API_KEY}
@@ -73,6 +73,7 @@ class OpenWeatherClient:
73
73
 
74
74
  async def fetch_current_data(self):
75
75
  """Fetch current weather data for all locations."""
76
+ logging.info('fetching current')
76
77
  if self.session is None:
77
78
  self.session = aiohttp.ClientSession()
78
79
  for location, coords in self.locations.items():
@@ -92,6 +93,7 @@ class OpenWeatherClient:
92
93
 
93
94
  async def fetch_forecast_data(self):
94
95
  """Fetch forecast weather data for all locations."""
96
+ logging.info('fetching forecast')
95
97
  if self.session is None:
96
98
  self.session = aiohttp.ClientSession()
97
99
  for location, coords in self.locations.items():
@@ -113,9 +115,9 @@ class OpenWeatherClient:
113
115
  """Poll OpenWeather APIs every 10 minutes."""
114
116
  now = int(time())
115
117
  if now % 600 == 0: # Every 10 minutes
116
- await self.fetch_current_data()
118
+ asyncio.create_task(self.fetch_current_data())
117
119
  if now % 10800 == 60: # Every 3 hours, offset by 1 minute
118
- await self.fetch_forecast_data()
120
+ asyncio.create_task(self.fetch_forecast_data())
119
121
 
120
122
  async def start(self):
121
123
  """Start bus connection and API polling."""
File without changes
File without changes