juham-automation 0.0.7__tar.gz → 0.0.8__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.7 → juham_automation-0.0.8}/PKG-INFO +11 -3
  2. {juham_automation-0.0.7 → juham_automation-0.0.8}/README.rst +10 -2
  3. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/.buildinfo +1 -1
  4. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/basic.css +0 -8
  5. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/genindex.html +1 -1
  6. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/index.html +26 -9
  7. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/juham_automation/index.html +1 -1
  8. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/search.html +1 -1
  9. juham_automation-0.0.8/docs/build/html/searchindex.js +1 -0
  10. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation/automation/hotwateroptimizer.py +1 -1
  11. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation.egg-info/PKG-INFO +11 -3
  12. {juham_automation-0.0.7 → juham_automation-0.0.8}/pyproject.toml +1 -1
  13. juham_automation-0.0.7/docs/build/html/searchindex.js +0 -1
  14. {juham_automation-0.0.7 → juham_automation-0.0.8}/LICENSE.rst +0 -0
  15. {juham_automation-0.0.7 → juham_automation-0.0.8}/MANIFEST.in +0 -0
  16. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/.buildinfo.bak +0 -0
  17. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/.nojekyll +0 -0
  18. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_images/juham.png +0 -0
  19. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_modules/index.html +0 -0
  20. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_modules/juham_core/juham.html +0 -0
  21. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_modules/juham_core/juham_ts.html +0 -0
  22. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_modules/masterpiece/application.html +0 -0
  23. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_modules/masterpiece/composite.html +0 -0
  24. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_modules/masterpiece/masterpiece.html +0 -0
  25. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_sources/index.rst.txt +0 -0
  26. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_sources/juham_automation/index.rst.txt +0 -0
  27. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-2.3.2/css/bootstrap-responsive.css +0 -0
  28. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-2.3.2/css/bootstrap-responsive.min.css +0 -0
  29. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-2.3.2/css/bootstrap.css +0 -0
  30. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-2.3.2/css/bootstrap.min.css +0 -0
  31. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-2.3.2/img/glyphicons-halflings-white.png +0 -0
  32. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-2.3.2/img/glyphicons-halflings.png +0 -0
  33. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-2.3.2/js/bootstrap.js +0 -0
  34. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-2.3.2/js/bootstrap.min.js +0 -0
  35. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap-theme.css +0 -0
  36. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap-theme.css.map +0 -0
  37. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap-theme.min.css +0 -0
  38. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap-theme.min.css.map +0 -0
  39. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap.css +0 -0
  40. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap.css.map +0 -0
  41. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap.min.css +0 -0
  42. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap.min.css.map +0 -0
  43. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-3.4.1/fonts/glyphicons-halflings-regular.eot +0 -0
  44. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-3.4.1/fonts/glyphicons-halflings-regular.svg +0 -0
  45. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-3.4.1/fonts/glyphicons-halflings-regular.ttf +0 -0
  46. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-3.4.1/fonts/glyphicons-halflings-regular.woff +0 -0
  47. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-3.4.1/fonts/glyphicons-halflings-regular.woff2 +0 -0
  48. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-3.4.1/js/bootstrap.js +0 -0
  49. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-3.4.1/js/bootstrap.min.js +0 -0
  50. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-3.4.1/js/npm.js +0 -0
  51. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-sphinx.css +0 -0
  52. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootstrap-sphinx.js +0 -0
  53. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-2.3.2/amelia/bootstrap.min.css +0 -0
  54. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-2.3.2/cerulean/bootstrap.min.css +0 -0
  55. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-2.3.2/cosmo/bootstrap.min.css +0 -0
  56. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-2.3.2/cyborg/bootstrap.min.css +0 -0
  57. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-2.3.2/flatly/bootstrap.min.css +0 -0
  58. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-2.3.2/img/glyphicons-halflings-white.png +0 -0
  59. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-2.3.2/img/glyphicons-halflings.png +0 -0
  60. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-2.3.2/journal/bootstrap.min.css +0 -0
  61. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-2.3.2/readable/bootstrap.min.css +0 -0
  62. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-2.3.2/simplex/bootstrap.min.css +0 -0
  63. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-2.3.2/slate/bootstrap.min.css +0 -0
  64. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-2.3.2/spacelab/bootstrap.min.css +0 -0
  65. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-2.3.2/spruce/bootstrap.min.css +0 -0
  66. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-2.3.2/superhero/bootstrap.min.css +0 -0
  67. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-2.3.2/united/bootstrap.min.css +0 -0
  68. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-3.4.1/cerulean/bootstrap.min.css +0 -0
  69. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-3.4.1/cosmo/bootstrap.min.css +0 -0
  70. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-3.4.1/cyborg/bootstrap.min.css +0 -0
  71. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-3.4.1/darkly/bootstrap.min.css +0 -0
  72. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-3.4.1/flatly/bootstrap.min.css +0 -0
  73. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-3.4.1/fonts/glyphicons-halflings-regular.eot +0 -0
  74. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-3.4.1/fonts/glyphicons-halflings-regular.svg +0 -0
  75. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-3.4.1/fonts/glyphicons-halflings-regular.ttf +0 -0
  76. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-3.4.1/fonts/glyphicons-halflings-regular.woff +0 -0
  77. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-3.4.1/fonts/glyphicons-halflings-regular.woff2 +0 -0
  78. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-3.4.1/journal/bootstrap.min.css +0 -0
  79. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-3.4.1/lumen/bootstrap.min.css +0 -0
  80. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-3.4.1/paper/bootstrap.min.css +0 -0
  81. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-3.4.1/readable/bootstrap.min.css +0 -0
  82. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-3.4.1/sandstone/bootstrap.min.css +0 -0
  83. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-3.4.1/simplex/bootstrap.min.css +0 -0
  84. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-3.4.1/slate/bootstrap.min.css +0 -0
  85. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-3.4.1/spacelab/bootstrap.min.css +0 -0
  86. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-3.4.1/superhero/bootstrap.min.css +0 -0
  87. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-3.4.1/united/bootstrap.min.css +0 -0
  88. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/bootswatch-3.4.1/yeti/bootstrap.min.css +0 -0
  89. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/doctools.js +0 -0
  90. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/documentation_options.js +0 -0
  91. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/file.png +0 -0
  92. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/graphviz.css +0 -0
  93. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/js/jquery-1.12.4.min.js +0 -0
  94. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/js/jquery-fix.js +0 -0
  95. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/juham.css +0 -0
  96. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/juham.png +0 -0
  97. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/language_data.js +0 -0
  98. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/minus.png +0 -0
  99. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/plus.png +0 -0
  100. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/pygments.css +0 -0
  101. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/searchtools.js +0 -0
  102. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/_static/sphinx_highlight.js +0 -0
  103. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/objects.inv +0 -0
  104. {juham_automation-0.0.7 → juham_automation-0.0.8}/docs/build/html/py-modindex.html +0 -0
  105. {juham_automation-0.0.7 → juham_automation-0.0.8}/examples/myapp.py +0 -0
  106. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation/__init__.py +0 -0
  107. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation/automation/__init__.py +0 -0
  108. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation/automation/energycostcalculator.py +0 -0
  109. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation/automation/powermeter_simulator.py +0 -0
  110. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation/automation/spothintafi.py +0 -0
  111. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation/automation/watercirculator.py +0 -0
  112. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation/japp.py +0 -0
  113. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation/py.typed +0 -0
  114. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation/ts/__init__.py +0 -0
  115. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation/ts/electricityprice_ts.py +0 -0
  116. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation/ts/energycostcalculator_ts.py +0 -0
  117. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation/ts/forecast_ts.py +0 -0
  118. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation/ts/log_ts.py +0 -0
  119. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation/ts/power_ts.py +0 -0
  120. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation/ts/powermeter_ts.py +0 -0
  121. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation/ts/powerplan_ts.py +0 -0
  122. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation.egg-info/SOURCES.txt +0 -0
  123. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation.egg-info/dependency_links.txt +0 -0
  124. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation.egg-info/entry_points.txt +0 -0
  125. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation.egg-info/requires.txt +0 -0
  126. {juham_automation-0.0.7 → juham_automation-0.0.8}/juham_automation.egg-info/top_level.txt +0 -0
  127. {juham_automation-0.0.7 → juham_automation-0.0.8}/setup.cfg +0 -0
  128. {juham_automation-0.0.7 → juham_automation-0.0.8}/tests/__init__.py +0 -0
  129. {juham_automation-0.0.7 → juham_automation-0.0.8}/tests/automation/__init__.py +0 -0
  130. {juham_automation-0.0.7 → juham_automation-0.0.8}/tests/automation/test_energycostcalculator.py +0 -0
  131. {juham_automation-0.0.7 → juham_automation-0.0.8}/tests/automation/test_hotwateroptimizer.py +0 -0
  132. {juham_automation-0.0.7 → juham_automation-0.0.8}/tests/automation/test_juham.py +0 -0
  133. {juham_automation-0.0.7 → juham_automation-0.0.8}/tests/test_japp.py +0 -0
  134. {juham_automation-0.0.7 → juham_automation-0.0.8}/tests/ts/__init__.py +0 -0
  135. {juham_automation-0.0.7 → juham_automation-0.0.8}/tests/ts/test_energycostcalculator_ts.py +0 -0
  136. {juham_automation-0.0.7 → juham_automation-0.0.8}/tests/ts/test_forecast_ts.py +0 -0
  137. {juham_automation-0.0.7 → juham_automation-0.0.8}/tests/ts/test_log_ts.py +0 -0
  138. {juham_automation-0.0.7 → juham_automation-0.0.8}/tests/ts/test_power_ts.py +0 -0
  139. {juham_automation-0.0.7 → juham_automation-0.0.8}/tests/ts/test_powermeter_ts.py +0 -0
  140. {juham_automation-0.0.7 → juham_automation-0.0.8}/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.7
3
+ Version: 0.0.8
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>
@@ -64,7 +64,14 @@ Project Description
64
64
  This package extends the ``juham_core`` package, providing home automation building blocks that cover most common needs.
65
65
  It consists of two main sub-modules:
66
66
 
67
+ .. image:: _static/images/juham_automation.png
68
+ :alt: Basic automation classes for optimizing energy consumption and minimizing electricity costs.
69
+ :width: 640px
70
+ :align: center
71
+
72
+
67
73
  - ``automation``
74
+
68
75
  * **spothintafi**: Acquires electricity prices in Finland.
69
76
  * **watercirculator**: Automates a water circulator pump based on hot water temperature and motion detection.
70
77
  * **hotwateroptimizer**: Controls hot water radiators based on temperature sensors and electricity price data.
@@ -72,8 +79,9 @@ It consists of two main sub-modules:
72
79
 
73
80
 
74
81
  - ``ts``
75
- * This folder contains time series recorders that listen for Juham™ topics and store the data in a time series database
76
- for later inspection.
82
+
83
+ * This folder contains time series recorders that listen for Juham™ topics and store the data in a time series database
84
+ for later inspection.
77
85
 
78
86
 
79
87
  Project Status
@@ -7,7 +7,14 @@ Project Description
7
7
  This package extends the ``juham_core`` package, providing home automation building blocks that cover most common needs.
8
8
  It consists of two main sub-modules:
9
9
 
10
+ .. image:: _static/images/juham_automation.png
11
+ :alt: Basic automation classes for optimizing energy consumption and minimizing electricity costs.
12
+ :width: 640px
13
+ :align: center
14
+
15
+
10
16
  - ``automation``
17
+
11
18
  * **spothintafi**: Acquires electricity prices in Finland.
12
19
  * **watercirculator**: Automates a water circulator pump based on hot water temperature and motion detection.
13
20
  * **hotwateroptimizer**: Controls hot water radiators based on temperature sensors and electricity price data.
@@ -15,8 +22,9 @@ It consists of two main sub-modules:
15
22
 
16
23
 
17
24
  - ``ts``
18
- * This folder contains time series recorders that listen for Juham™ topics and store the data in a time series database
19
- for later inspection.
25
+
26
+ * This folder contains time series recorders that listen for Juham™ topics and store the data in a time series database
27
+ for later inspection.
20
28
 
21
29
 
22
30
  Project Status
@@ -1,4 +1,4 @@
1
1
  # Sphinx build info version 1
2
2
  # This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
3
- config: f36b75219feb06d1d2436d7de76f29e1
3
+ config: 7048f60e49aacf57039dd4753bf8844f
4
4
  tags: 645f666f9bcd5a90fca523b33c5a78b7
@@ -741,14 +741,6 @@ abbr, acronym {
741
741
  cursor: help;
742
742
  }
743
743
 
744
- .translated {
745
- background-color: rgba(207, 255, 207, 0.2)
746
- }
747
-
748
- .untranslated {
749
- background-color: rgba(255, 207, 207, 0.2)
750
- }
751
-
752
744
  /* -- code displays --------------------------------------------------------- */
753
745
 
754
746
  pre {
@@ -132,7 +132,7 @@
132
132
  </p>
133
133
  <p>
134
134
  &copy; Copyright 2024, juha meskanen.<br/>
135
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 8.2.0.<br/>
135
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 8.2.1.<br/>
136
136
  </p>
137
137
  </div>
138
138
  </footer>
@@ -87,6 +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
91
  <li><a class="reference internal" href="#february-08-2025">[0.1.7] - February 08, 2025</a></li>
91
92
  </ul>
92
93
  </li>
@@ -160,6 +161,7 @@
160
161
  </ul>
161
162
  </li>
162
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>
163
165
  <li><a class="reference internal" href="#february-08-2025">[0.1.7] - February 08, 2025</a></li>
164
166
  </ul>
165
167
  </li>
@@ -196,7 +198,7 @@
196
198
 
197
199
  <section id="welcome-to-juham-documentation">
198
200
  <h1>Welcome to Juham™ documentation!<a class="headerlink" href="#welcome-to-juham-documentation" title="Link to this heading">¶</a></h1>
199
- <a class="reference internal image-reference" href="_images/juham.png"><img alt="Juha's Ultimate Home Automation Masterpiece" src="_images/juham.png" style="width: 400px; height: 300px;" />
201
+ <a class="reference internal image-reference" href="_static/juham.png"><img alt="Juha's Ultimate Home Automation Masterpiece" src="_static/juham.png" style="width: 400px; height: 300px;" />
200
202
  </a>
201
203
  <div class="toctree-wrapper compound">
202
204
  <p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
@@ -211,16 +213,24 @@
211
213
  <h2>Project Description<a class="headerlink" href="#project-description" title="Link to this heading">¶</a></h2>
212
214
  <p>This package extends the <code class="docutils literal notranslate"><span class="pre">juham_core</span></code> package, providing home automation building blocks that cover most common needs.
213
215
  It consists of two main sub-modules:</p>
216
+ <a class="reference internal image-reference" href="_static/images/juham_automation.png"><img alt="Basic automation classes for optimizing energy consumption and minimizing electricity costs." class="align-center" src="_static/images/juham_automation.png" style="width: 640px;" />
217
+ </a>
214
218
  <ul class="simple">
215
- <li><p><code class="docutils literal notranslate"><span class="pre">automation</span></code>
216
- * <strong>spothintafi</strong>: Acquires electricity prices in Finland.
217
- * <strong>watercirculator</strong>: Automates a water circulator pump based on hot water temperature and motion detection.
218
- * <strong>hotwateroptimizer</strong>: Controls hot water radiators based on temperature sensors and electricity price data.
219
- * <strong>energycostcalculator</strong>: Monitors power consumption and electricity prices, and computes the energy balance in euros.</p></li>
220
- <li><p><code class="docutils literal notranslate"><span class="pre">ts</span></code>
221
- * This folder contains time series recorders that listen for Juham™ topics and store the data in a time series database
219
+ <li><p><code class="docutils literal notranslate"><span class="pre">automation</span></code></p>
220
+ <ul>
221
+ <li><p><strong>spothintafi</strong>: Acquires electricity prices in Finland.</p></li>
222
+ <li><p><strong>watercirculator</strong>: Automates a water circulator pump based on hot water temperature and motion detection.</p></li>
223
+ <li><p><strong>hotwateroptimizer</strong>: Controls hot water radiators based on temperature sensors and electricity price data.</p></li>
224
+ <li><p><strong>energycostcalculator</strong>: Monitors power consumption and electricity prices, and computes the energy balance in euros.</p></li>
225
+ </ul>
226
+ </li>
227
+ <li><p><code class="docutils literal notranslate"><span class="pre">ts</span></code></p>
228
+ <ul>
229
+ <li><p>This folder contains time series recorders that listen for Juham™ topics and store the data in a time series database
222
230
  for later inspection.</p></li>
223
231
  </ul>
232
+ </li>
233
+ </ul>
224
234
  </section>
225
235
  <section id="project-status">
226
236
  <h2>Project Status<a class="headerlink" href="#project-status" title="Link to this heading">¶</a></h2>
@@ -302,6 +312,13 @@ So there is a Makefile in the root folder. For those old dogs who are like me</p
302
312
  </section>
303
313
  <section id="changelog">
304
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>
317
+ <ul class="simple">
318
+ <li><p>Bug fix in the computation of the utilization optimization index: solar power was previously
319
+ given in kW, while radiator power was in W, which underestimated the effect of available solar power.</p></li>
320
+ </ul>
321
+ </section>
305
322
  <section id="february-08-2025">
306
323
  <h2>[0.1.7] - February 08, 2025<a class="headerlink" href="#february-08-2025" title="Link to this heading">¶</a></h2>
307
324
  <p>Initial release for GitLab. Pre-alpha!</p>
@@ -381,7 +398,7 @@ So there is a Makefile in the root folder. For those old dogs who are like me</p
381
398
  </p>
382
399
  <p>
383
400
  &copy; Copyright 2024, juha meskanen.<br/>
384
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 8.2.0.<br/>
401
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 8.2.1.<br/>
385
402
  </p>
386
403
  </div>
387
404
  </footer>
@@ -153,7 +153,7 @@
153
153
  </p>
154
154
  <p>
155
155
  &copy; Copyright 2024, juha meskanen.<br/>
156
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 8.2.0.<br/>
156
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 8.2.1.<br/>
157
157
  </p>
158
158
  </div>
159
159
  </footer>
@@ -147,7 +147,7 @@
147
147
  </p>
148
148
  <p>
149
149
  &copy; Copyright 2024, juha meskanen.<br/>
150
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 8.2.0.<br/>
150
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 8.2.1.<br/>
151
151
  </p>
152
152
  </div>
153
153
  </footer>
@@ -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] - 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}})
@@ -489,7 +489,7 @@ class HotWaterOptimizer(Juham):
489
489
  if len(powers) >= 8: # at least 8 hours of solar energy forecast
490
490
  for spot, solar in zip(spots, powers):
491
491
  ts = spot["Timestamp"]
492
- solarenergy = solar["Solarenergy"]
492
+ solarenergy = solar["Solarenergy"] * 1000 # argh, this is in kW
493
493
  spotprice = spot["PriceWithTax"]
494
494
  effective_price: float = self.compute_effective_price(
495
495
  self.radiator_power, solarenergy, spotprice
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: juham-automation
3
- Version: 0.0.7
3
+ Version: 0.0.8
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>
@@ -64,7 +64,14 @@ Project Description
64
64
  This package extends the ``juham_core`` package, providing home automation building blocks that cover most common needs.
65
65
  It consists of two main sub-modules:
66
66
 
67
+ .. image:: _static/images/juham_automation.png
68
+ :alt: Basic automation classes for optimizing energy consumption and minimizing electricity costs.
69
+ :width: 640px
70
+ :align: center
71
+
72
+
67
73
  - ``automation``
74
+
68
75
  * **spothintafi**: Acquires electricity prices in Finland.
69
76
  * **watercirculator**: Automates a water circulator pump based on hot water temperature and motion detection.
70
77
  * **hotwateroptimizer**: Controls hot water radiators based on temperature sensors and electricity price data.
@@ -72,8 +79,9 @@ It consists of two main sub-modules:
72
79
 
73
80
 
74
81
  - ``ts``
75
- * This folder contains time series recorders that listen for Juham™ topics and store the data in a time series database
76
- for later inspection.
82
+
83
+ * This folder contains time series recorders that listen for Juham™ topics and store the data in a time series database
84
+ for later inspection.
77
85
 
78
86
 
79
87
  Project Status
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
 
6
6
  [project]
7
7
  name = "juham-automation"
8
- version = "0.0.7"
8
+ version = "0.0.8"
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"
@@ -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"]],"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,"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,"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,"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,"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,"understand":0,"unit":0,"up":0,"volt":0,"vscode":0,"wa":0,"warranti":0,"wasn":0,"water":0,"watercircul":0,"we":0,"well":0,"whether":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,"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}})