juham-automation 0.0.8__tar.gz → 0.0.10__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.
Files changed (140) hide show
  1. {juham_automation-0.0.8 → juham_automation-0.0.10}/PKG-INFO +1 -2
  2. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/index.html +6 -4
  3. juham_automation-0.0.10/docs/build/html/searchindex.js +1 -0
  4. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation/automation/spothintafi.py +12 -1
  5. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation/ts/electricityprice_ts.py +11 -7
  6. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation.egg-info/PKG-INFO +1 -2
  7. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation.egg-info/requires.txt +0 -1
  8. {juham_automation-0.0.8 → juham_automation-0.0.10}/pyproject.toml +1 -2
  9. juham_automation-0.0.8/docs/build/html/searchindex.js +0 -1
  10. {juham_automation-0.0.8 → juham_automation-0.0.10}/LICENSE.rst +0 -0
  11. {juham_automation-0.0.8 → juham_automation-0.0.10}/MANIFEST.in +0 -0
  12. {juham_automation-0.0.8 → juham_automation-0.0.10}/README.rst +0 -0
  13. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/.buildinfo +0 -0
  14. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/.buildinfo.bak +0 -0
  15. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/.nojekyll +0 -0
  16. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_images/juham.png +0 -0
  17. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_modules/index.html +0 -0
  18. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_modules/juham_core/juham.html +0 -0
  19. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_modules/juham_core/juham_ts.html +0 -0
  20. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_modules/masterpiece/application.html +0 -0
  21. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_modules/masterpiece/composite.html +0 -0
  22. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_modules/masterpiece/masterpiece.html +0 -0
  23. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_sources/index.rst.txt +0 -0
  24. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_sources/juham_automation/index.rst.txt +0 -0
  25. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/basic.css +0 -0
  26. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-2.3.2/css/bootstrap-responsive.css +0 -0
  27. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-2.3.2/css/bootstrap-responsive.min.css +0 -0
  28. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-2.3.2/css/bootstrap.css +0 -0
  29. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-2.3.2/css/bootstrap.min.css +0 -0
  30. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-2.3.2/img/glyphicons-halflings-white.png +0 -0
  31. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-2.3.2/img/glyphicons-halflings.png +0 -0
  32. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-2.3.2/js/bootstrap.js +0 -0
  33. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-2.3.2/js/bootstrap.min.js +0 -0
  34. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap-theme.css +0 -0
  35. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap-theme.css.map +0 -0
  36. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap-theme.min.css +0 -0
  37. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap-theme.min.css.map +0 -0
  38. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap.css +0 -0
  39. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap.css.map +0 -0
  40. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap.min.css +0 -0
  41. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap.min.css.map +0 -0
  42. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-3.4.1/fonts/glyphicons-halflings-regular.eot +0 -0
  43. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-3.4.1/fonts/glyphicons-halflings-regular.svg +0 -0
  44. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-3.4.1/fonts/glyphicons-halflings-regular.ttf +0 -0
  45. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-3.4.1/fonts/glyphicons-halflings-regular.woff +0 -0
  46. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-3.4.1/fonts/glyphicons-halflings-regular.woff2 +0 -0
  47. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-3.4.1/js/bootstrap.js +0 -0
  48. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-3.4.1/js/bootstrap.min.js +0 -0
  49. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-3.4.1/js/npm.js +0 -0
  50. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-sphinx.css +0 -0
  51. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootstrap-sphinx.js +0 -0
  52. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-2.3.2/amelia/bootstrap.min.css +0 -0
  53. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-2.3.2/cerulean/bootstrap.min.css +0 -0
  54. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-2.3.2/cosmo/bootstrap.min.css +0 -0
  55. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-2.3.2/cyborg/bootstrap.min.css +0 -0
  56. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-2.3.2/flatly/bootstrap.min.css +0 -0
  57. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-2.3.2/img/glyphicons-halflings-white.png +0 -0
  58. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-2.3.2/img/glyphicons-halflings.png +0 -0
  59. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-2.3.2/journal/bootstrap.min.css +0 -0
  60. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-2.3.2/readable/bootstrap.min.css +0 -0
  61. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-2.3.2/simplex/bootstrap.min.css +0 -0
  62. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-2.3.2/slate/bootstrap.min.css +0 -0
  63. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-2.3.2/spacelab/bootstrap.min.css +0 -0
  64. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-2.3.2/spruce/bootstrap.min.css +0 -0
  65. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-2.3.2/superhero/bootstrap.min.css +0 -0
  66. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-2.3.2/united/bootstrap.min.css +0 -0
  67. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-3.4.1/cerulean/bootstrap.min.css +0 -0
  68. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-3.4.1/cosmo/bootstrap.min.css +0 -0
  69. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-3.4.1/cyborg/bootstrap.min.css +0 -0
  70. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-3.4.1/darkly/bootstrap.min.css +0 -0
  71. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-3.4.1/flatly/bootstrap.min.css +0 -0
  72. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-3.4.1/fonts/glyphicons-halflings-regular.eot +0 -0
  73. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-3.4.1/fonts/glyphicons-halflings-regular.svg +0 -0
  74. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-3.4.1/fonts/glyphicons-halflings-regular.ttf +0 -0
  75. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-3.4.1/fonts/glyphicons-halflings-regular.woff +0 -0
  76. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-3.4.1/fonts/glyphicons-halflings-regular.woff2 +0 -0
  77. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-3.4.1/journal/bootstrap.min.css +0 -0
  78. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-3.4.1/lumen/bootstrap.min.css +0 -0
  79. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-3.4.1/paper/bootstrap.min.css +0 -0
  80. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-3.4.1/readable/bootstrap.min.css +0 -0
  81. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-3.4.1/sandstone/bootstrap.min.css +0 -0
  82. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-3.4.1/simplex/bootstrap.min.css +0 -0
  83. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-3.4.1/slate/bootstrap.min.css +0 -0
  84. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-3.4.1/spacelab/bootstrap.min.css +0 -0
  85. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-3.4.1/superhero/bootstrap.min.css +0 -0
  86. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-3.4.1/united/bootstrap.min.css +0 -0
  87. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/bootswatch-3.4.1/yeti/bootstrap.min.css +0 -0
  88. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/doctools.js +0 -0
  89. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/documentation_options.js +0 -0
  90. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/file.png +0 -0
  91. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/graphviz.css +0 -0
  92. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/js/jquery-1.12.4.min.js +0 -0
  93. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/js/jquery-fix.js +0 -0
  94. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/juham.css +0 -0
  95. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/juham.png +0 -0
  96. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/language_data.js +0 -0
  97. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/minus.png +0 -0
  98. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/plus.png +0 -0
  99. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/pygments.css +0 -0
  100. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/searchtools.js +0 -0
  101. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/_static/sphinx_highlight.js +0 -0
  102. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/genindex.html +0 -0
  103. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/juham_automation/index.html +0 -0
  104. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/objects.inv +0 -0
  105. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/py-modindex.html +0 -0
  106. {juham_automation-0.0.8 → juham_automation-0.0.10}/docs/build/html/search.html +0 -0
  107. {juham_automation-0.0.8 → juham_automation-0.0.10}/examples/myapp.py +0 -0
  108. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation/__init__.py +0 -0
  109. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation/automation/__init__.py +0 -0
  110. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation/automation/energycostcalculator.py +0 -0
  111. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation/automation/hotwateroptimizer.py +0 -0
  112. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation/automation/powermeter_simulator.py +0 -0
  113. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation/automation/watercirculator.py +0 -0
  114. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation/japp.py +0 -0
  115. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation/py.typed +0 -0
  116. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation/ts/__init__.py +0 -0
  117. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation/ts/energycostcalculator_ts.py +0 -0
  118. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation/ts/forecast_ts.py +0 -0
  119. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation/ts/log_ts.py +0 -0
  120. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation/ts/power_ts.py +0 -0
  121. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation/ts/powermeter_ts.py +0 -0
  122. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation/ts/powerplan_ts.py +0 -0
  123. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation.egg-info/SOURCES.txt +0 -0
  124. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation.egg-info/dependency_links.txt +0 -0
  125. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation.egg-info/entry_points.txt +0 -0
  126. {juham_automation-0.0.8 → juham_automation-0.0.10}/juham_automation.egg-info/top_level.txt +0 -0
  127. {juham_automation-0.0.8 → juham_automation-0.0.10}/setup.cfg +0 -0
  128. {juham_automation-0.0.8 → juham_automation-0.0.10}/tests/__init__.py +0 -0
  129. {juham_automation-0.0.8 → juham_automation-0.0.10}/tests/automation/__init__.py +0 -0
  130. {juham_automation-0.0.8 → juham_automation-0.0.10}/tests/automation/test_energycostcalculator.py +0 -0
  131. {juham_automation-0.0.8 → juham_automation-0.0.10}/tests/automation/test_hotwateroptimizer.py +0 -0
  132. {juham_automation-0.0.8 → juham_automation-0.0.10}/tests/automation/test_juham.py +0 -0
  133. {juham_automation-0.0.8 → juham_automation-0.0.10}/tests/test_japp.py +0 -0
  134. {juham_automation-0.0.8 → juham_automation-0.0.10}/tests/ts/__init__.py +0 -0
  135. {juham_automation-0.0.8 → juham_automation-0.0.10}/tests/ts/test_energycostcalculator_ts.py +0 -0
  136. {juham_automation-0.0.8 → juham_automation-0.0.10}/tests/ts/test_forecast_ts.py +0 -0
  137. {juham_automation-0.0.8 → juham_automation-0.0.10}/tests/ts/test_log_ts.py +0 -0
  138. {juham_automation-0.0.8 → juham_automation-0.0.10}/tests/ts/test_power_ts.py +0 -0
  139. {juham_automation-0.0.8 → juham_automation-0.0.10}/tests/ts/test_powermeter_ts.py +0 -0
  140. {juham_automation-0.0.8 → juham_automation-0.0.10}/tests/ts/test_powerplan_ts.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: juham-automation
3
- Version: 0.0.8
3
+ Version: 0.0.10
4
4
  Summary: Juha's Ultimate Home Automation Masterpiece
5
5
  Author-email: J Meskanen <juham.api@gmail.com>
6
6
  Maintainer-email: "J. Meskanen" <juham.api@gmail.com>
@@ -50,7 +50,6 @@ Requires-Dist: masterpiece_pahomqtt>=0.0.3
50
50
  Requires-Dist: juham_core>=0.0.7
51
51
  Requires-Dist: requests>=2.31
52
52
  Requires-Dist: pytz>=2024.1
53
- Requires-Dist: importlib-metadata
54
53
  Provides-Extra: dev
55
54
  Requires-Dist: check-manifest; extra == "dev"
56
55
  Requires-Dist: types-pyz; extra == "dev"
@@ -87,7 +87,7 @@
87
87
  </ul>
88
88
  </li>
89
89
  <li><a class="reference internal" href="#changelog">Changelog</a><ul>
90
- <li><a class="reference internal" href="#february23-2025">[0.1.8] - February23, 2025</a></li>
90
+ <li><a class="reference internal" href="#february-23-2025">[0.1.8-10] - February 23, 2025</a></li>
91
91
  <li><a class="reference internal" href="#february-08-2025">[0.1.7] - February 08, 2025</a></li>
92
92
  </ul>
93
93
  </li>
@@ -161,7 +161,7 @@
161
161
  </ul>
162
162
  </li>
163
163
  <li><a class="reference internal" href="#changelog">Changelog</a><ul>
164
- <li><a class="reference internal" href="#february23-2025">[0.1.8] - February23, 2025</a></li>
164
+ <li><a class="reference internal" href="#february-23-2025">[0.1.8-10] - February 23, 2025</a></li>
165
165
  <li><a class="reference internal" href="#february-08-2025">[0.1.7] - February 08, 2025</a></li>
166
166
  </ul>
167
167
  </li>
@@ -312,11 +312,13 @@ So there is a Makefile in the root folder. For those old dogs who are like me</p
312
312
  </section>
313
313
  <section id="changelog">
314
314
  <h1>Changelog<a class="headerlink" href="#changelog" title="Link to this heading">¶</a></h1>
315
- <section id="february23-2025">
316
- <h2>[0.1.8] - February23, 2025<a class="headerlink" href="#february23-2025" title="Link to this heading">¶</a></h2>
315
+ <section id="february-23-2025">
316
+ <h2>[0.1.8-10] - February 23, 2025<a class="headerlink" href="#february-23-2025" title="Link to this heading">¶</a></h2>
317
317
  <ul class="simple">
318
+ <li><p>Support for grid (network) prices and tax added.</p></li>
318
319
  <li><p>Bug fix in the computation of the utilization optimization index: solar power was previously
319
320
  given in kW, while radiator power was in W, which underestimated the effect of available solar power.</p></li>
321
+ <li><p>New attribute added to time series: GridCost (cost and tax per kWh)</p></li>
320
322
  </ul>
321
323
  </section>
322
324
  <section id="february-08-2025">
@@ -0,0 +1 @@
1
+ Search.setIndex({"alltitles":{"Automation":[[0,"automation"]],"Changelog":[[0,"changelog"]],"Classes":[[0,"classes"]],"Code Formatting":[[0,"code-formatting"]],"Contents:":[[0,null]],"Contributing to Juham\u2122 - Juha\u2019s Ultimate Home Automation Masterpiece":[[0,"contributing-to-juham-juha-s-ultimate-home-automation-masterpiece"]],"Design":[[0,"design"]],"Design Patterns":[[0,"design-patterns"]],"Documentation":[[0,"documentation"]],"Index":[[0,"index"]],"Inline TODO":[[0,"inline-todo"]],"LICENSE":[[0,"license"]],"More Stuff":[[0,"more-stuff"]],"Project Description":[[0,"project-description"]],"Project Status":[[0,"project-status"]],"Special Thanks":[[0,"special-thanks"]],"TODOs for Juham\u2122":[[0,"todos-for-juham"]],"Testing":[[0,"testing"]],"Thank You!":[[0,"thank-you"]],"Todo":[[0,"id1"],[0,null]],"Using Emacs and Makefile":[[0,"using-emacs-and-makefile"]],"Welcome to Juham\u2122 - Juha\u2019s Ultimate Home Automation Masterpiece":[[0,"welcome-to-juham-juha-s-ultimate-home-automation-masterpiece"]],"Welcome to Juham\u2122 documentation!":[[0,null]],"[0.1.7] - February 08, 2025":[[0,"february-08-2025"]],"[0.1.8-10] - February 23, 2025":[[0,"february-23-2025"]],"juham_automation":[[1,null]]},"docnames":["index","juham_automation/index"],"envversion":{"sphinx":65,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1},"filenames":["index.rst","juham_automation/index.rst"],"indexentries":{},"objects":{},"objnames":{},"objtypes":{},"terms":{"15":0,"2":0,"2024":0,"43":0,"5":0,"A":0,"AND":0,"AS":0,"BE":0,"BUT":0,"FOR":0,"For":0,"IN":0,"It":0,"NO":0,"NOT":0,"OF":0,"OR":0,"THE":0,"TO":0,"The":0,"To":0,"WITH":0,"_":0,"abov":0,"acquir":0,"across":0,"action":0,"actual":0,"ad":0,"add":0,"adjust":0,"advanc":0,"align":0,"all":0,"alpha":0,"alreadi":0,"also":0,"an":0,"ani":0,"appreci":0,"ar":0,"aris":0,"associ":0,"attempt":0,"attribut":0,"author":0,"avail":0,"bake":0,"balanc":0,"base":0,"becaus":0,"been":0,"befor":0,"behind":0,"best":0,"between":0,"black":0,"block":0,"both":0,"bought":0,"bug":0,"build":0,"c":0,"capabl":0,"chapter":0,"charg":0,"circul":0,"claim":0,"common":0,"comput":0,"condit":0,"configur":0,"connect":0,"consist":0,"consumpt":0,"contain":0,"contract":0,"control":0,"copi":0,"copyright":0,"cost":0,"could":0,"cover":0,"currenc":0,"current":0,"damag":0,"data":0,"databas":0,"deal":0,"demonstr":0,"desper":0,"despit":0,"detect":0,"develop":0,"differ":0,"distinct":0,"distribut":0,"do":0,"doc":0,"docstr":0,"doesn":0,"dog":0,"don":0,"donat":0,"done":0,"down":0,"drag":0,"drop":0,"eclips":0,"effect":0,"effort":0,"electr":0,"element":0,"encourag":0,"encrypt":0,"endless":0,"energi":0,"energycostcalcul":0,"ensur":0,"entir":0,"entri":0,"essenti":0,"euro":0,"event":0,"everi":0,"except":0,"express":0,"extend":0,"extent":0,"extrac":0,"fall":0,"featur":0,"feedback":0,"few":0,"file":0,"find":0,"finland":0,"fit":0,"five":0,"fix":0,"folder":0,"follow":0,"formatt":0,"forthcom":0,"free":0,"from":0,"furnish":0,"gener":0,"gentlemen":0,"gitlab":0,"give":0,"given":0,"goal":0,"grant":0,"graphic":0,"grate":0,"grid":0,"gridcost":0,"ha":0,"half":0,"hard":0,"have":0,"help":0,"herebi":0,"hi":0,"highli":0,"holder":0,"hole":0,"hot":0,"hotwateroptim":0,"hour":0,"how":0,"howev":0,"i":0,"id":0,"idea":0,"imbal":0,"impli":0,"import":0,"improv":0,"includ":0,"individu":0,"initi":0,"inspect":0,"inspir":0,"instanc":0,"instrument":0,"integr":0,"invalu":0,"item":0,"its":0,"json":0,"juham_autom":0,"juham_cor":0,"k":0,"kind":0,"know":0,"known":0,"kw":0,"kwh":0,"lack":0,"later":0,"lenght":0,"liabil":0,"liabl":0,"like":0,"limit":0,"line":0,"list":0,"listen":0,"locat":0,"logo":0,"look":0,"love":0,"m":0,"mahi":0,"main":0,"maintain":0,"make":0,"mani":0,"me":0,"merchant":0,"merg":0,"meskanen":0,"microsoft":0,"minim":0,"minut":0,"mission":0,"modifi":0,"modul":0,"monitor":0,"most":0,"motion":0,"mqtt":0,"much":0,"multipl":0,"my":0,"need":0,"neg":0,"network":0,"new":0,"noninfring":0,"notic":0,"obtain":0,"offer":0,"okai":0,"old":0,"optim":0,"organ":0,"origin":0,"other":0,"otherwis":0,"out":0,"outstand":0,"own":0,"packag":0,"page":0,"panel":0,"particular":0,"password":0,"per":0,"period":0,"permiss":0,"permit":0,"person":0,"pi":0,"pleas":0,"plu":0,"portion":0,"possibl":0,"power":0,"pre":0,"previous":0,"price":0,"prioriz":0,"produc":0,"product":0,"profession":0,"properli":0,"provid":0,"publish":0,"pump":0,"purpos":0,"push":0,"python":0,"rabbit":0,"radiat":0,"raspberri":0,"read":0,"real":0,"realli":0,"record":0,"relai":0,"releas":0,"report":0,"requir":0,"restrict":0,"right":0,"robust":0,"root":0,"rst":0,"search":0,"secur":0,"seem":0,"sell":0,"semblanc":0,"sensor":0,"seri":0,"settlement":0,"shall":0,"shelli":0,"should":0,"simpli":0,"simul":0,"small":0,"so":0,"softwar":0,"solar":0,"some":0,"sourc":0,"spare":0,"spark":0,"spothintafi":0,"state":0,"still":0,"store":0,"strang":0,"structur":0,"sub":0,"subject":0,"sublicens":0,"substanti":0,"support":0,"system":0,"t":0,"tax":0,"tba":0,"temperatur":0,"teppo":0,"term":0,"thei":0,"thi":0,"those":0,"thought":0,"time":0,"tinker":0,"tool":0,"topic":0,"tort":0,"translat":0,"transmiss":0,"tri":0,"truli":0,"turn":0,"two":0,"underestim":0,"understand":0,"unit":0,"up":0,"util":0,"volt":0,"vscode":0,"w":0,"wa":0,"warranti":0,"wasn":0,"water":0,"watercircul":0,"we":0,"well":0,"whether":0,"which":0,"while":0,"who":0,"whom":0,"wifi":0,"without":0,"work":0,"workflow":0,"would":0,"write":0,"your":0},"titles":["Welcome to Juham\u2122 documentation!","juham_automation"],"titleterms":{"":0,"0":0,"08":0,"1":0,"10":0,"2025":0,"23":0,"7":0,"8":0,"autom":0,"changelog":0,"class":0,"code":0,"content":0,"contribut":0,"descript":0,"design":0,"document":0,"emac":0,"februari":0,"format":0,"home":0,"index":0,"inlin":0,"juha":0,"juham":0,"juham_autom":1,"licens":0,"makefil":0,"masterpiec":0,"more":0,"pattern":0,"project":0,"special":0,"statu":0,"stuff":0,"test":0,"thank":0,"todo":0,"ultim":0,"us":0,"welcom":0,"you":0}})
@@ -18,6 +18,9 @@ class SpotHintaFiThread(JuhamCloudThread):
18
18
  _spot_topic: str = ""
19
19
  _url: str = ""
20
20
  _interval: float = 12 * 3600
21
+ grid_cost_day: float = 0.0314
22
+ grid_cost_night: float = 0.0132
23
+ grid_cost_tax: float = 0.028272
21
24
 
22
25
  def __init__(self, client: Optional[Mqtt] = None) -> None:
23
26
  super().__init__(client)
@@ -51,11 +54,19 @@ class SpotHintaFiThread(JuhamCloudThread):
51
54
  for e in data:
52
55
  ts = time.mktime(time.strptime(e["DateTime"], "%Y-%m-%dT%H:%M:%S%z"))
53
56
  hour = datetime.utcfromtimestamp(ts).strftime("%H")
57
+ total_price: float
58
+ grid_cost: float
59
+ if int(hour) < 22 and int(hour) >= 6:
60
+ grid_cost = self.grid_cost_day
61
+ else:
62
+ grid_cost = self.grid_cost_night
63
+ total_price = e["PriceWithTax"] + grid_cost + self.grid_cost_tax
54
64
  h = {
55
65
  "Timestamp": ts,
56
66
  "hour": hour,
57
67
  "Rank": e["Rank"],
58
- "PriceWithTax": e["PriceWithTax"],
68
+ "PriceWithTax": total_price,
69
+ "GridCost": grid_cost + self.grid_cost_tax,
59
70
  }
60
71
  spot.append(h)
61
72
  self.publish(self._spot_topic, json.dumps(spot), 1, True)
@@ -37,11 +37,15 @@ class ElectricityPriceTs(JuhamTs):
37
37
  Args:
38
38
  m (dict): holding hourlys spot electricity prices
39
39
  """
40
+ grid_cost : float
40
41
  for h in m:
41
- point = (
42
- self.measurement("spot")
43
- .tag("hour", h["Timestamp"])
44
- .field("value", h["PriceWithTax"])
45
- .time(epoc2utc(h["Timestamp"]))
46
- )
47
- self.write(point)
42
+ if "GridCost" in h:
43
+ grid_cost = h["GridCost"]
44
+ point = (
45
+ self.measurement("spot")
46
+ .tag("hour", h["Timestamp"])
47
+ .field("value", h["PriceWithTax"])
48
+ .field("grid", grid_cost)
49
+ .time(epoc2utc(h["Timestamp"]))
50
+ )
51
+ self.write(point)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: juham-automation
3
- Version: 0.0.8
3
+ Version: 0.0.10
4
4
  Summary: Juha's Ultimate Home Automation Masterpiece
5
5
  Author-email: J Meskanen <juham.api@gmail.com>
6
6
  Maintainer-email: "J. Meskanen" <juham.api@gmail.com>
@@ -50,7 +50,6 @@ Requires-Dist: masterpiece_pahomqtt>=0.0.3
50
50
  Requires-Dist: juham_core>=0.0.7
51
51
  Requires-Dist: requests>=2.31
52
52
  Requires-Dist: pytz>=2024.1
53
- Requires-Dist: importlib-metadata
54
53
  Provides-Extra: dev
55
54
  Requires-Dist: check-manifest; extra == "dev"
56
55
  Requires-Dist: types-pyz; extra == "dev"
@@ -4,7 +4,6 @@ masterpiece_pahomqtt>=0.0.3
4
4
  juham_core>=0.0.7
5
5
  requests>=2.31
6
6
  pytz>=2024.1
7
- importlib-metadata
8
7
 
9
8
  [dev]
10
9
  check-manifest
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
 
6
6
  [project]
7
7
  name = "juham-automation"
8
- version = "0.0.8"
8
+ version = "0.0.10"
9
9
  description = "Juha's Ultimate Home Automation Masterpiece"
10
10
  readme = {file = "README.rst", content-type = "text/markdown"}
11
11
  requires-python = ">=3.8"
@@ -33,7 +33,6 @@ dependencies = [
33
33
  "juham_core >= 0.0.7",
34
34
  "requests >= 2.31",
35
35
  "pytz >= 2024.1",
36
- "importlib-metadata"
37
36
  ]
38
37
 
39
38
 
@@ -1 +0,0 @@
1
- Search.setIndex({"alltitles":{"Automation":[[0,"automation"]],"Changelog":[[0,"changelog"]],"Classes":[[0,"classes"]],"Code Formatting":[[0,"code-formatting"]],"Contents:":[[0,null]],"Contributing to Juham\u2122 - Juha\u2019s Ultimate Home Automation Masterpiece":[[0,"contributing-to-juham-juha-s-ultimate-home-automation-masterpiece"]],"Design":[[0,"design"]],"Design Patterns":[[0,"design-patterns"]],"Documentation":[[0,"documentation"]],"Index":[[0,"index"]],"Inline TODO":[[0,"inline-todo"]],"LICENSE":[[0,"license"]],"More Stuff":[[0,"more-stuff"]],"Project Description":[[0,"project-description"]],"Project Status":[[0,"project-status"]],"Special Thanks":[[0,"special-thanks"]],"TODOs for Juham\u2122":[[0,"todos-for-juham"]],"Testing":[[0,"testing"]],"Thank You!":[[0,"thank-you"]],"Todo":[[0,"id1"],[0,null]],"Using Emacs and Makefile":[[0,"using-emacs-and-makefile"]],"Welcome to Juham\u2122 - Juha\u2019s Ultimate Home Automation Masterpiece":[[0,"welcome-to-juham-juha-s-ultimate-home-automation-masterpiece"]],"Welcome to Juham\u2122 documentation!":[[0,null]],"[0.1.7] - February 08, 2025":[[0,"february-08-2025"]],"[0.1.8] - February23, 2025":[[0,"february23-2025"]],"juham_automation":[[1,null]]},"docnames":["index","juham_automation/index"],"envversion":{"sphinx":65,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1},"filenames":["index.rst","juham_automation/index.rst"],"indexentries":{},"objects":{},"objnames":{},"objtypes":{},"terms":{"15":0,"2":0,"2024":0,"43":0,"5":0,"A":0,"AND":0,"AS":0,"BE":0,"BUT":0,"FOR":0,"For":0,"IN":0,"It":0,"NO":0,"NOT":0,"OF":0,"OR":0,"THE":0,"TO":0,"The":0,"To":0,"WITH":0,"_":0,"abov":0,"acquir":0,"across":0,"action":0,"actual":0,"add":0,"adjust":0,"advanc":0,"align":0,"all":0,"alpha":0,"alreadi":0,"also":0,"an":0,"ani":0,"appreci":0,"ar":0,"aris":0,"associ":0,"attempt":0,"author":0,"avail":0,"bake":0,"balanc":0,"base":0,"becaus":0,"been":0,"befor":0,"behind":0,"best":0,"between":0,"black":0,"block":0,"both":0,"bought":0,"bug":0,"build":0,"c":0,"capabl":0,"chapter":0,"charg":0,"circul":0,"claim":0,"common":0,"comput":0,"condit":0,"configur":0,"connect":0,"consist":0,"consumpt":0,"contain":0,"contract":0,"control":0,"copi":0,"copyright":0,"cost":0,"could":0,"cover":0,"currenc":0,"current":0,"damag":0,"data":0,"databas":0,"deal":0,"demonstr":0,"desper":0,"despit":0,"detect":0,"develop":0,"differ":0,"distinct":0,"distribut":0,"do":0,"doc":0,"docstr":0,"doesn":0,"dog":0,"don":0,"donat":0,"done":0,"down":0,"drag":0,"drop":0,"eclips":0,"effect":0,"effort":0,"electr":0,"element":0,"encourag":0,"encrypt":0,"endless":0,"energi":0,"energycostcalcul":0,"ensur":0,"entir":0,"entri":0,"essenti":0,"euro":0,"event":0,"everi":0,"except":0,"express":0,"extend":0,"extent":0,"extrac":0,"fall":0,"featur":0,"feedback":0,"few":0,"file":0,"find":0,"finland":0,"fit":0,"five":0,"fix":0,"folder":0,"follow":0,"formatt":0,"forthcom":0,"free":0,"from":0,"furnish":0,"gener":0,"gentlemen":0,"gitlab":0,"give":0,"given":0,"goal":0,"grant":0,"graphic":0,"grate":0,"ha":0,"half":0,"hard":0,"have":0,"help":0,"herebi":0,"hi":0,"highli":0,"holder":0,"hole":0,"hot":0,"hotwateroptim":0,"hour":0,"how":0,"howev":0,"i":0,"id":0,"idea":0,"imbal":0,"impli":0,"import":0,"improv":0,"includ":0,"individu":0,"initi":0,"inspect":0,"inspir":0,"instanc":0,"instrument":0,"integr":0,"invalu":0,"item":0,"its":0,"json":0,"juham_autom":0,"juham_cor":0,"k":0,"kind":0,"know":0,"known":0,"kw":0,"lack":0,"later":0,"lenght":0,"liabil":0,"liabl":0,"like":0,"limit":0,"line":0,"list":0,"listen":0,"locat":0,"logo":0,"look":0,"love":0,"m":0,"mahi":0,"main":0,"maintain":0,"make":0,"mani":0,"me":0,"merchant":0,"merg":0,"meskanen":0,"microsoft":0,"minim":0,"minut":0,"mission":0,"modifi":0,"modul":0,"monitor":0,"most":0,"motion":0,"mqtt":0,"much":0,"multipl":0,"my":0,"need":0,"neg":0,"new":0,"noninfring":0,"notic":0,"obtain":0,"offer":0,"okai":0,"old":0,"optim":0,"organ":0,"origin":0,"other":0,"otherwis":0,"out":0,"outstand":0,"own":0,"packag":0,"page":0,"panel":0,"particular":0,"password":0,"period":0,"permiss":0,"permit":0,"person":0,"pi":0,"pleas":0,"plu":0,"portion":0,"possibl":0,"power":0,"pre":0,"previous":0,"price":0,"prioriz":0,"produc":0,"product":0,"profession":0,"properli":0,"provid":0,"publish":0,"pump":0,"purpos":0,"push":0,"python":0,"rabbit":0,"radiat":0,"raspberri":0,"read":0,"real":0,"realli":0,"record":0,"relai":0,"releas":0,"report":0,"requir":0,"restrict":0,"right":0,"robust":0,"root":0,"rst":0,"search":0,"secur":0,"seem":0,"sell":0,"semblanc":0,"sensor":0,"seri":0,"settlement":0,"shall":0,"shelli":0,"should":0,"simpli":0,"simul":0,"small":0,"so":0,"softwar":0,"solar":0,"some":0,"sourc":0,"spare":0,"spark":0,"spothintafi":0,"state":0,"still":0,"store":0,"strang":0,"structur":0,"sub":0,"subject":0,"sublicens":0,"substanti":0,"support":0,"system":0,"t":0,"tba":0,"temperatur":0,"teppo":0,"term":0,"thei":0,"thi":0,"those":0,"thought":0,"time":0,"tinker":0,"tool":0,"topic":0,"tort":0,"translat":0,"transmiss":0,"tri":0,"truli":0,"turn":0,"two":0,"underestim":0,"understand":0,"unit":0,"up":0,"util":0,"volt":0,"vscode":0,"w":0,"wa":0,"warranti":0,"wasn":0,"water":0,"watercircul":0,"we":0,"well":0,"whether":0,"which":0,"while":0,"who":0,"whom":0,"wifi":0,"without":0,"work":0,"workflow":0,"would":0,"write":0,"your":0},"titles":["Welcome to Juham\u2122 documentation!","juham_automation"],"titleterms":{"":0,"0":0,"08":0,"1":0,"2025":0,"7":0,"8":0,"autom":0,"changelog":0,"class":0,"code":0,"content":0,"contribut":0,"descript":0,"design":0,"document":0,"emac":0,"februari":0,"february23":0,"format":0,"home":0,"index":0,"inlin":0,"juha":0,"juham":0,"juham_autom":1,"licens":0,"makefil":0,"masterpiec":0,"more":0,"pattern":0,"project":0,"special":0,"statu":0,"stuff":0,"test":0,"thank":0,"todo":0,"ultim":0,"us":0,"welcom":0,"you":0}})