Commit f42a8775 by John Donnal

auto doc rebuild

parent 51617df2
......@@ -272,15 +272,10 @@ div.admonition {
}
div.admonition tt.xref, div.admonition code.xref, div.admonition a tt {
background-color: ;
background-color: #FBFBFB;
border-bottom: 1px solid #fafafa;
}
dd div.admonition {
margin-left: -60px;
padding-left: 60px;
}
div.admonition p.admonition-title {
font-family: 'Garamond', 'Georgia', serif;
font-weight: normal;
......@@ -443,6 +438,16 @@ table.field-list p {
margin-bottom: 0.8em;
}
/* Cloned from
* https://github.com/sphinx-doc/sphinx/commit/ef60dbfce09286b20b7385333d63a60321784e68
*/
.field-name {
-moz-hyphens: manual;
-ms-hyphens: manual;
-webkit-hyphens: manual;
hyphens: manual;
}
table.footnote td.label {
width: .1px;
padding: 0.3em 0 0.3em 0.5em;
......@@ -488,11 +493,6 @@ dl pre, blockquote pre, li pre {
padding-left: 30px;
}
dl dl pre {
margin-left: -90px;
padding-left: 90px;
}
tt, code {
background-color: #ecf0f3;
color: #222;
......
......@@ -4,7 +4,7 @@
*
* Sphinx stylesheet -- basic theme.
*
* :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS.
* :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
......@@ -398,6 +398,13 @@ table.field-list td, table.field-list th {
margin: 0;
}
.field-name {
-moz-hyphens: manual;
-ms-hyphens: manual;
-webkit-hyphens: manual;
hyphens: manual;
}
/* -- other body styles ----------------------------------------------------- */
ol.arabic {
......
......@@ -4,7 +4,7 @@
*
* Sphinx JavaScript utilities for all documentation.
*
* :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS.
* :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
......
......@@ -47,8 +47,10 @@
.highlight .mh { color: #208050 } /* Literal.Number.Hex */
.highlight .mi { color: #208050 } /* Literal.Number.Integer */
.highlight .mo { color: #208050 } /* Literal.Number.Oct */
.highlight .sa { color: #4070a0 } /* Literal.String.Affix */
.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
.highlight .sc { color: #4070a0 } /* Literal.String.Char */
.highlight .dl { color: #4070a0 } /* Literal.String.Delimiter */
.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #4070a0 } /* Literal.String.Double */
.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
......@@ -59,7 +61,9 @@
.highlight .s1 { color: #4070a0 } /* Literal.String.Single */
.highlight .ss { color: #517918 } /* Literal.String.Symbol */
.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #06287e } /* Name.Function.Magic */
.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
.highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */
.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */
\ No newline at end of file
......@@ -4,7 +4,7 @@
*
* Sphinx JavaScript utilities for the full-text search.
*
* :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS.
* :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
......
......@@ -4,7 +4,7 @@
*
* sphinx.websupport utilities for all documentation.
*
* :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS.
* :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
......@@ -35,7 +35,7 @@
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
</head>
<body role="document">
<body>
<div class="document">
......@@ -64,7 +64,7 @@ one or more elements and can be viewed as a database table:</p>
<tr class="row-odd"><th class="head">timestamp</th>
<th class="head">element1</th>
<th class="head">element2</th>
<th class="head">...</th>
<th class="head"></th>
<th class="head">elementN</th>
</tr>
</thead>
......@@ -72,25 +72,25 @@ one or more elements and can be viewed as a database table:</p>
<tr class="row-even"><td>1003421</td>
<td>0.0</td>
<td>10.5</td>
<td>...</td>
<td></td>
<td>2.3</td>
</tr>
<tr class="row-odd"><td>1003423</td>
<td>1.0</td>
<td>-8.0</td>
<td>...</td>
<td></td>
<td>2.3</td>
</tr>
<tr class="row-even"><td>1003429</td>
<td>8.0</td>
<td>12.5</td>
<td>...</td>
<td></td>
<td>2.3</td>
</tr>
<tr class="row-odd"><td>1003485</td>
<td>4.0</td>
<td>83.5</td>
<td>...</td>
<td></td>
<td>2.3</td>
</tr>
</tbody>
......@@ -188,8 +188,8 @@ with a consume module. See reference section for details on the pipe API.</p>
&copy;2017, John Donnal.
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 1.5.1</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.9</a>
Powered by <a href="http://sphinx-doc.org/">Sphinx 1.6.2</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.10</a>
|
<a href="_sources/concepts.rst.txt"
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
......@@ -34,7 +34,7 @@
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
</head>
<body role="document">
<body>
<div class="document">
......@@ -105,8 +105,8 @@
&copy;2017, John Donnal.
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 1.5.1</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.9</a>
Powered by <a href="http://sphinx-doc.org/">Sphinx 1.6.2</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.10</a>
</div>
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
......@@ -35,7 +35,7 @@
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
</head>
<body role="document">
<body>
<div class="document">
......@@ -86,12 +86,12 @@ reader</strong> is called from the command line it prints values to stdout:</p>
<span class="c1"># ... list of reader modules</span>
$&gt; joule reader <span class="nb">help</span> random
<span class="c1"># ... help with the random module</span>
$&gt; joule reader random <span class="m">2</span> 10
Starting random stream: <span class="m">2</span> elements @ 10.0Hz
<span class="m">1485188853650944</span> 0.32359053067687582 0.70028608966895545
<span class="m">1485188853750944</span> 0.72139550945715136 0.39218791387411422
<span class="m">1485188853850944</span> 0.40728044378612194 0.26446072057019654
<span class="m">1485188853950944</span> 0.61021957330250398 0.27359526775709841
$&gt; joule reader random <span class="m">2</span> <span class="m">10</span>
Starting random stream: <span class="m">2</span> elements @ <span class="m">10</span>.0Hz
<span class="m">1485188853650944</span> <span class="m">0</span>.32359053067687582 <span class="m">0</span>.70028608966895545
<span class="m">1485188853750944</span> <span class="m">0</span>.72139550945715136 <span class="m">0</span>.39218791387411422
<span class="m">1485188853850944</span> <span class="m">0</span>.40728044378612194 <span class="m">0</span>.26446072057019654
<span class="m">1485188853950944</span> <span class="m">0</span>.61021957330250398 <span class="m">0</span>.27359526775709841
<span class="c1"># ... more output ...</span>
</pre></div>
</div>
......@@ -108,7 +108,7 @@ Starting random stream: <span class="m">2</span> elements @ 10.0Hz
</pre></div>
</div>
<p>This will create a reader module that runs <strong>joule reader random</strong> and pipes
the output to <strong>/demo/random</strong>. That&#8217;s all you need to do to set up
the output to <strong>/demo/random</strong>. Thats all you need to do to set up
the capture pipeline. Restart joule and check that the new module is
running:</p>
<div class="highlight-bash"><div class="highlight"><pre><span></span>$&gt; sudo systemctl restart joule.service
......@@ -118,17 +118,17 @@ $&gt; joule modules
+-------------+---------+--------------+---------+-----+-------------+
<span class="p">|</span> Module <span class="p">|</span> Sources <span class="p">|</span> Destinations <span class="p">|</span> Status <span class="p">|</span> CPU <span class="p">|</span> mem <span class="p">|</span>
+-------------+---------+--------------+---------+-----+-------------+
<span class="p">|</span> Demo Reader <span class="p">|</span> <span class="p">|</span> /demo/random <span class="p">|</span> running <span class="p">|</span> 0% <span class="p">|</span> <span class="m">33</span> MB <span class="o">(</span>42%<span class="o">)</span> <span class="p">|</span>
<span class="p">|</span> Demo Reader <span class="p">|</span> <span class="p">|</span> /demo/random <span class="p">|</span> running <span class="p">|</span> <span class="m">0</span>% <span class="p">|</span> <span class="m">33</span> MB <span class="o">(</span><span class="m">42</span>%<span class="o">)</span> <span class="p">|</span>
+-------------+---------+--------------+---------+-----+-------------+
$&gt; joule logs <span class="s2">&quot;Demo Reader&quot;</span>
<span class="o">[</span><span class="m">27</span> Jan <span class="m">2017</span> 18:05:41<span class="o">]</span> ---starting module---
<span class="o">[</span><span class="m">27</span> Jan <span class="m">2017</span> 18:05:41<span class="o">]</span> Starting random stream: <span class="m">2</span> elements @ 10.0Hz
<span class="o">[</span><span class="m">27</span> Jan <span class="m">2017</span> <span class="m">18</span>:05:41<span class="o">]</span> ---starting module---
<span class="o">[</span><span class="m">27</span> Jan <span class="m">2017</span> <span class="m">18</span>:05:41<span class="o">]</span> Starting random stream: <span class="m">2</span> elements @ <span class="m">10</span>.0Hz
<span class="c1"># confirm data is entering NilmDB</span>
$&gt; nilmtool list -E /demo/random
/demo/random
interval extents: Fri, <span class="m">27</span> Jan <span class="m">2017</span> <span class="c1"># ...</span>
total data: <span class="m">1559</span> rows, 155.700002 seconds
total data: <span class="m">1559</span> rows, <span class="m">155</span>.700002 seconds
</pre></div>
</div>
</div>
......@@ -165,8 +165,8 @@ it will display a description of the operations it will perform on the data</p>
<span class="c1"># ... list of filter modules</span>
$&gt; joule filter <span class="nb">help</span> mean
<span class="c1"># ... help with the mean module</span>
$&gt; joule filter mean 9
per-element moving average with a window size of 9
$&gt; joule filter mean <span class="m">9</span>
per-element moving average with a window size of <span class="m">9</span>
</pre></div>
</div>
<p>To add this filter to our pipeline copy the following into a file at
......@@ -193,24 +193,24 @@ $&gt; joule modules
+-------------+--------------+----------------+---------+-----+-------------+
<span class="p">|</span> Module <span class="p">|</span> Sources <span class="p">|</span> Destinations <span class="p">|</span> Status <span class="p">|</span> CPU <span class="p">|</span> mem <span class="p">|</span>
+-------------+--------------+----------------+---------+-----+-------------+
<span class="p">|</span> Demo Reader <span class="p">|</span> <span class="p">|</span> /demo/random <span class="p">|</span> running <span class="p">|</span> 0% <span class="p">|</span> <span class="m">33</span> MB <span class="o">(</span>42%<span class="o">)</span> <span class="p">|</span>
<span class="p">|</span> Demo Filter <span class="p">|</span> /demo/random <span class="p">|</span> /demo/filtered <span class="p">|</span> running <span class="p">|</span> 0% <span class="p">|</span> <span class="m">53</span> MB <span class="o">(</span>68%<span class="o">)</span> <span class="p">|</span>
<span class="p">|</span> Demo Reader <span class="p">|</span> <span class="p">|</span> /demo/random <span class="p">|</span> running <span class="p">|</span> <span class="m">0</span>% <span class="p">|</span> <span class="m">33</span> MB <span class="o">(</span><span class="m">42</span>%<span class="o">)</span> <span class="p">|</span>
<span class="p">|</span> Demo Filter <span class="p">|</span> /demo/random <span class="p">|</span> /demo/filtered <span class="p">|</span> running <span class="p">|</span> <span class="m">0</span>% <span class="p">|</span> <span class="m">53</span> MB <span class="o">(</span><span class="m">68</span>%<span class="o">)</span> <span class="p">|</span>
+-------------+--------------+----------------+---------+-----+-------------+
$&gt; joule logs <span class="s2">&quot;Demo Reader&quot;</span>
<span class="o">[</span><span class="m">27</span> Jan <span class="m">2017</span> 18:22:48<span class="o">]</span> ---starting module---
<span class="o">[</span><span class="m">27</span> Jan <span class="m">2017</span> 18:22:48<span class="o">]</span> Starting random stream: <span class="m">2</span> elements @ 10.0Hz
<span class="o">[</span><span class="m">27</span> Jan <span class="m">2017</span> <span class="m">18</span>:22:48<span class="o">]</span> ---starting module---
<span class="o">[</span><span class="m">27</span> Jan <span class="m">2017</span> <span class="m">18</span>:22:48<span class="o">]</span> Starting random stream: <span class="m">2</span> elements @ <span class="m">10</span>.0Hz
$&gt; joule logs <span class="s2">&quot;Demo Filter&quot;</span>
<span class="o">[</span><span class="m">27</span> Jan <span class="m">2017</span> 18:22:48<span class="o">]</span> ---starting module---
<span class="o">[</span><span class="m">27</span> Jan <span class="m">2017</span> 18:22:48<span class="o">]</span> Starting moving average filter with window size 9
<span class="o">[</span><span class="m">27</span> Jan <span class="m">2017</span> <span class="m">18</span>:22:48<span class="o">]</span> ---starting module---
<span class="o">[</span><span class="m">27</span> Jan <span class="m">2017</span> <span class="m">18</span>:22:48<span class="o">]</span> Starting moving average filter with window size <span class="m">9</span>
<span class="c1"># confirm data is entering NilmDB</span>
$&gt; nilmtool list -E -n /demo/*
/demo/filtered
interval extents: Fri, <span class="m">27</span> Jan <span class="m">2017</span> <span class="c1"># ...</span>
total data: <span class="m">132</span> rows, 13.100001 seconds
total data: <span class="m">132</span> rows, <span class="m">13</span>.100001 seconds
/demo/random
interval extents: Fri, <span class="m">27</span> Jan <span class="m">2017</span> <span class="c1"># ...</span>
total data: <span class="m">147</span> rows, 14.600001 seconds
total data: <span class="m">147</span> rows, <span class="m">14</span>.600001 seconds
</pre></div>
</div>
</div>
......@@ -278,8 +278,8 @@ $&gt; nilmtool list -E -n /demo/*
&copy;2017, John Donnal.
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 1.5.1</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.9</a>
Powered by <a href="http://sphinx-doc.org/">Sphinx 1.6.2</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.10</a>
|
<a href="_sources/getting_started.rst.txt"
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
......@@ -34,7 +34,7 @@
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
</head>
<body role="document">
<body>
<div class="document">
......@@ -175,8 +175,8 @@ $&gt; ./runner.sh <span class="c1"># run end-to-end tests</span>
&copy;2017, John Donnal.
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 1.5.1</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.9</a>
Powered by <a href="http://sphinx-doc.org/">Sphinx 1.6.2</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.10</a>
|
<a href="_sources/index.rst.txt"
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
......@@ -35,7 +35,7 @@
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
</head>
<body role="document">
<body>
<div class="document">
......@@ -105,7 +105,7 @@ naming guidelines above.</p>
available using the <strong>nilmtool</strong> command.</p>
<div class="highlight-bash"><div class="highlight"><pre><span></span>$&gt; sudo apache2ctl restart
$&gt; nilmtool info
Client version: 1.10.3
Client version: <span class="m">1</span>.10.3
<span class="c1">#...more information</span>
</pre></div>
</div>
......@@ -126,7 +126,7 @@ Raspbian ship with earlier versions. Check your version by running
the following command:</p>
<div class="highlight-bash"><div class="highlight"><pre><span></span>$&gt; sudo apt-get install python3 python3-pip -y
$&gt; python3 -V
Python 3.5.2 <span class="c1">#&lt;--- this version is ok</span>
Python <span class="m">3</span>.5.2 <span class="c1">#&lt;--- this version is ok</span>
</pre></div>
</div>
<p>If your version is 3.5.2 or greater, skip ahead to installing Joule, otherwise you
......@@ -223,7 +223,7 @@ $&gt; sudo systemctl start joule.service
<div class="highlight-bash"><div class="highlight"><pre><span></span>$&gt; sudo systemctl status joule.service
● joule.service - <span class="s2">&quot;Joule Management Daemon&quot;</span>
Loaded: loaded <span class="o">(</span>/etc/systemd/system/joule.service<span class="p">;</span> enabled<span class="o">)</span>
Active: active <span class="o">(</span>running<span class="o">)</span> since Tue 2017-01-17 09:53:21 EST<span class="p">;</span> 7s ago
Active: active <span class="o">(</span>running<span class="o">)</span> since Tue <span class="m">2017</span>-01-17 <span class="m">09</span>:53:21 EST<span class="p">;</span> 7s ago
Main PID: <span class="m">2296</span> <span class="o">(</span>jouled<span class="o">)</span>
CGroup: /system.slice/joule.service
└─2296 /usr/local/bin/python3 /usr/local/bin/jouled
......@@ -326,8 +326,8 @@ the python3.5 binaries in <strong>/usr/local/bin/</strong></td></tr>
&copy;2017, John Donnal.
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 1.5.1</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.9</a>
Powered by <a href="http://sphinx-doc.org/">Sphinx 1.6.2</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.10</a>
|
<a href="_sources/install.rst.txt"
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
......@@ -35,7 +35,7 @@
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
</head>
<body role="document">
<body>
<div class="document">
......@@ -97,12 +97,12 @@ running the following command:</p>
+--------------------------------+----------------+-----------------+---------+-----+--------------+
<span class="p">|</span> Module <span class="p">|</span> Sources <span class="p">|</span> Destinations <span class="p">|</span> Status <span class="p">|</span> CPU <span class="p">|</span> mem <span class="p">|</span>
+--------------------------------+----------------+-----------------+---------+-----+--------------+
<span class="p">|</span> meter4 process: <span class="p">|</span> /meter4/sensor <span class="p">|</span> /meter4/prep-a <span class="p">|</span> running <span class="p">|</span> 39% <span class="p">|</span> <span class="m">30</span> MB <span class="o">(</span>355%<span class="o">)</span> <span class="p">|</span>
<span class="p">|</span> meter4 process: <span class="p">|</span> /meter4/sensor <span class="p">|</span> /meter4/prep-a <span class="p">|</span> running <span class="p">|</span> <span class="m">39</span>% <span class="p">|</span> <span class="m">30</span> MB <span class="o">(</span><span class="m">355</span>%<span class="o">)</span> <span class="p">|</span>
<span class="p">|</span> reconstruct -&gt; sinefit -&gt; prep <span class="p">|</span> <span class="p">|</span> /meter4/prep-b <span class="p">|</span> <span class="p">|</span> <span class="p">|</span> <span class="p">|</span>
<span class="p">|</span> <span class="p">|</span> <span class="p">|</span> /meter4/prep-c <span class="p">|</span> <span class="p">|</span> <span class="p">|</span> <span class="p">|</span>
<span class="p">|</span> <span class="p">|</span> <span class="p">|</span> /meter4/iv <span class="p">|</span> <span class="p">|</span> <span class="p">|</span> <span class="p">|</span>
<span class="p">|</span> <span class="p">|</span> <span class="p">|</span> /meter4/sinefit <span class="p">|</span> <span class="p">|</span> <span class="p">|</span> <span class="p">|</span>
<span class="p">|</span> meter4 capture: <span class="p">|</span> <span class="p">|</span> /meter4/sensor <span class="p">|</span> running <span class="p">|</span> 8% <span class="p">|</span> <span class="m">28</span> MB <span class="o">(</span>336%<span class="o">)</span> <span class="p">|</span>
<span class="p">|</span> meter4 capture: <span class="p">|</span> <span class="p">|</span> /meter4/sensor <span class="p">|</span> running <span class="p">|</span> <span class="m">8</span>% <span class="p">|</span> <span class="m">28</span> MB <span class="o">(</span><span class="m">336</span>%<span class="o">)</span> <span class="p">|</span>
<span class="p">|</span> serial data capture <span class="p">|</span> <span class="p">|</span> <span class="p">|</span> <span class="p">|</span> <span class="p">|</span> <span class="p">|</span>
+--------------------------------+----------------+-----------------+---------+-----+--------------+
</pre></div>
......@@ -111,22 +111,22 @@ running the following command:</p>
<strong>joule logs</strong> command to print recent log entries. The logs are
automatically rotated: see the ProcDB:MaxLogLines parameter in <a class="reference internal" href="reference.html#main-conf"><span class="std std-ref">main.conf</span></a></p>
<div class="highlight-bash"><div class="highlight"><pre><span></span>$&gt; joule logs <span class="s2">&quot;meter4 capture&quot;</span>
<span class="o">[</span><span class="m">23</span> Jan <span class="m">2017</span> 16:14:56<span class="o">]</span> ---starting module---
<span class="o">[</span><span class="m">23</span> Jan <span class="m">2017</span> <span class="m">16</span>:14:56<span class="o">]</span> ---starting module---
$&gt; joule logs <span class="s2">&quot;meter4 process&quot;</span>
<span class="o">[</span><span class="m">23</span> Jan <span class="m">2017</span> 16:14:56<span class="o">]</span> ---starting module---
<span class="o">[</span><span class="m">23</span> Jan <span class="m">2017</span> <span class="m">16</span>:14:56<span class="o">]</span> ---starting module---
</pre></div>
</div>
<p>Check that the data is entering NilmDB using the <strong>nilmtool</strong> command. Joule inserts data periodically, see NilmDB:InsertionPeriod in <a class="reference internal" href="reference.html#main-conf"><span class="std std-ref">main.conf</span></a></p>
<div class="highlight-bash"><div class="highlight"><pre><span></span>$&gt; nilmtool list -En /meter4/prep*
/meter4/prep-a
interval extents: Mon, <span class="m">23</span> Jan <span class="m">2017</span> 16:11:01.833447 -0500 -&gt; Mon, <span class="m">23</span> Jan <span class="m">2017</span> 16:16:29.322283 -0500
total data: <span class="m">18054</span> rows, 300.878769 seconds
interval extents: Mon, <span class="m">23</span> Jan <span class="m">2017</span> <span class="m">16</span>:11:01.833447 -0500 -&gt; Mon, <span class="m">23</span> Jan <span class="m">2017</span> <span class="m">16</span>:16:29.322283 -0500
total data: <span class="m">18054</span> rows, <span class="m">300</span>.878769 seconds
/meter4/prep-b
interval extents: Mon, <span class="m">23</span> Jan <span class="m">2017</span> 16:11:01.833447 -0500 -&gt; Mon, <span class="m">23</span> Jan <span class="m">2017</span> 16:16:29.322283 -0500
total data: <span class="m">18054</span> rows, 300.878769 seconds
interval extents: Mon, <span class="m">23</span> Jan <span class="m">2017</span> <span class="m">16</span>:11:01.833447 -0500 -&gt; Mon, <span class="m">23</span> Jan <span class="m">2017</span> <span class="m">16</span>:16:29.322283 -0500
total data: <span class="m">18054</span> rows, <span class="m">300</span>.878769 seconds
/meter4/prep-c /meter4/prep-a
interval extents: Mon, <span class="m">23</span> Jan <span class="m">2017</span> 16:11:01.833447 -0500 -&gt; Mon, <span class="m">23</span> Jan <span class="m">2017</span> 16:16:29.322283 -0500
total data: <span class="m">18054</span> rows, 300.878769 seconds
interval extents: Mon, <span class="m">23</span> Jan <span class="m">2017</span> <span class="m">16</span>:11:01.833447 -0500 -&gt; Mon, <span class="m">23</span> Jan <span class="m">2017</span> <span class="m">16</span>:16:29.322283 -0500
total data: <span class="m">18054</span> rows, <span class="m">300</span>.878769 seconds
</pre></div>
</div>
</div>
......@@ -195,8 +195,8 @@ $&gt; joule logs <span class="s2">&quot;meter4 process&quot;</span>
&copy;2017, John Donnal.
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 1.5.1</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.9</a>
Powered by <a href="http://sphinx-doc.org/">Sphinx 1.6.2</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.10</a>
|
<a href="_sources/nilm.rst.txt"
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
......@@ -34,7 +34,7 @@
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
</head>
<body role="document">
<body>
<div class="document">
......@@ -88,7 +88,7 @@
<span id="id1"></span><h3><a class="toc-backref" href="#id10">main.conf</a><a class="headerlink" href="#main-conf" title="Permalink to this headline"></a></h3>
<p>Joule uses a set of default configurations that should work for most
cases. These defaults can be customized by editing
<strong>/etc/joule/main.conf</strong>. Start joule with the <strong>&#8211;config</strong> flag to use a configuration file at
<strong>/etc/joule/main.conf</strong>. Start joule with the <strong>config</strong> flag to use a configuration file at
an alternate location. The example <strong>main.conf</strong> below shows the
full set of options and their default settings:</p>
<div class="highlight-ini"><div class="highlight"><pre><span></span><span class="k">[NilmDB]</span>
......@@ -254,8 +254,8 @@ full set of options and their default settings:</p>
&copy;2017, John Donnal.
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 1.5.1</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.9</a>
Powered by <a href="http://sphinx-doc.org/">Sphinx 1.6.2</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.10</a>
|
<a href="_sources/reference.rst.txt"
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
......@@ -41,7 +41,7 @@
</head>
<body role="document">
<body>
<div class="document">
......@@ -118,8 +118,8 @@
&copy;2017, John Donnal.
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 1.5.1</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.9</a>
Powered by <a href="http://sphinx-doc.org/">Sphinx 1.6.2</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.10</a>
</div>
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
......@@ -35,7 +35,7 @@
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
</head>
<body role="document">
<body>
<div class="document">
......@@ -78,7 +78,7 @@ unit tests assure that your code will work correctly once it is
deployed. While unit tests may at first seem tedious to configure,
they greatly improve your code in two ways. First, a good test
suite prevents code regressions allowing you to refactor confidently.
Second, well written tests provide &#8220;live&#8221; documentation that others
Second, well written tests provide “live” documentation that others
can use to understand what your module does and how to use it.</p>
<div class="section" id="readermodules">
<h3><a class="toc-backref" href="#id6">ReaderModules</a><a class="headerlink" href="#readermodules" title="Permalink to this headline"></a></h3>
......@@ -123,10 +123,10 @@ NumpyPipe documentation for details on local pipes and the layout
parameter.</li>
<li>Create an args object that contains values for any custom arguments
your module requires, it also should also initialize the pipes
argument to &#8220;unset&#8221;. In production, modules generate pipes
argument to “unset”. In production, modules generate pipes
automatically from their command line parameters. In testing we
disable the pipe building routine by using the keyword &#8220;unset&#8221;, and
instead pass our own pipe to the module&#8217;s run function, below.</li>
disable the pipe building routine by using the keyword “unset”, and
instead pass our own pipe to the modules run function, below.</li>
</ol>
</div>
<div class="section" id="run-reader-in-an-event-loop">
......@@ -235,10 +235,10 @@ used in testing. Modules should always use <code class="docutils literal"><span
<span class="pre">pipe.write</span></code>.</li>
<li>Create an args object that contains values for any custom arguments
your module requires, it also should also initialize the pipes
argument to &#8220;unset&#8221;. In production, modules generate pipes
argument to “unset”. In production, modules generate pipes
automatically from the command line parameters. In testing we
disable the pipe building routine by using the keyword &#8220;unset&#8221;, and
instead pass our in pipes directly to the module&#8217;s run function, below.</li>
disable the pipe building routine by using the keyword “unset”, and
instead pass our in pipes directly to the modules run function, below.</li>
</ol>
</div>
<div class="section" id="run-the-filter-in-an-event-loop">
......@@ -339,7 +339,7 @@ $&gt; ./runner.sh
<span class="c1">#...output from Docker omitted..</span>
joule <span class="p">|</span> ---------<span class="o">[</span>running e2e <span class="nb">test</span> suite<span class="o">]</span>---------
joule <span class="p">|</span> OK
e2e_joule_1 exited with code 0
e2e_joule_1 exited with code <span class="m">0</span>
<span class="c1">#...output from Docker omitted...</span>
</pre></div>
</div>
......@@ -352,8 +352,8 @@ though you need to set up the appropriate configuration files to run your module
<h3><a class="toc-backref" href="#id15">Configuration Files</a><a class="headerlink" href="#configuration-files" title="Permalink to this headline"></a></h3>
<p>The E2E tests run joule just like a production system, therefore you
must include module and stream configuration files in order for joule
to recognize and run your module. It provides a type of &#8220;live&#8221;
documentation. These file serve as a type of &#8220;live&#8221; documentation that
to recognize and run your module. It provides a type of “live”
documentation. These file serve as a type of “live” documentation that
others can use as a guide when setting up your module on other their
system.</p>
<p>The example_modules e2e test runs both the reader and filter module. The
......@@ -441,7 +441,7 @@ installation.</p>
<span class="k">def</span> <span class="nf">check_logs</span><span class="p">()</span>
<span class="c1">#check output from &#39;joule logs&#39; command</span>
<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s2">&quot;__main__&quot;</span><span class="p">:</span>
<span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s2">&quot;__main__&quot;</span><span class="p">:</span>
<span class="n">main</span><span class="p">()</span>
<span class="k">print</span><span class="p">(</span><span class="s2">&quot;OK&quot;</span><span class="p">)</span> <span class="c1"># no asserts failed, so things are good</span>
</pre></div>
......@@ -516,8 +516,8 @@ and the e2eutils reference for details on the testing API.</p>
&copy;2017, John Donnal.
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 1.5.1</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.9</a>
Powered by <a href="http://sphinx-doc.org/">Sphinx 1.6.2</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.10</a>
|
<a href="_sources/testing_modules.rst.txt"
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
......@@ -35,7 +35,7 @@
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
</head>
<body role="document">
<body>
<div class="document">
......@@ -82,12 +82,12 @@ provide custom functionality by overriding the parent methods:</p>
<p>The module should provide a custom <code class="docutils literal"><span class="pre">__init__</span></code> function which calls
the parent, and may define two special properties: <strong>description</strong> and
<strong>help</strong>. The description property should be a short one line summary of the module
eg &#8220;reads data from serial port&#8221;, and the help property should be a longer, multiline
eg “reads data from serial port”, and the help property should be a longer, multiline
string explaining what the module does and how to use it, preferably with a usage example.
These properties are used by the <strong>joule reader</strong> help system.
You may also add any additional initialization code your module requires.</p>
<div class="highlight-python"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="nb">super</span><span class="p">(</span><span class="n">ReaderDemo</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="s2">&quot;Demo Reader&quot;</span><span class="p">)</span>
<div class="highlight-python"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="nb">super</span><span class="p">(</span><span class="n">ReaderDemo</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="s2">&quot;Demo Reader&quot;</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">description</span> <span class="o">=</span> <span class="s2">&quot;one line: demo reader&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">help</span> <span class="o">=</span> <span class="s2">&quot;a paragraph: this reader does x,y,z etc...&quot;</span>
<span class="c1">#...your custom initialization...</span>
......@@ -157,12 +157,12 @@ provide custom functionality by overriding the parent methods:</p>
<p>The module should provide a custom <code class="docutils literal"><span class="pre">__init__</span></code> function which calls
the parent, and may define two special properties: <strong>description</strong> and
<strong>help</strong>. The description property should be a short one line summary of the module
eg &#8220;computes a moving average&#8221;, and the help property should be a longer, multiline
eg “computes a moving average”, and the help property should be a longer, multiline
string explaining what the module does and how to use it, preferably with a usage example.
These properties are used by the <strong>joule filter</strong> help system.
You may also add any additional initialization code your module requires.</p>
<div class="highlight-python"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="nb">super</span><span class="p">(</span><span class="n">ReaderDemo</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="s2">&quot;Demo Reader&quot;</span><span class="p">)</span>
<div class="highlight-python"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="nb">super</span><span class="p">(</span><span class="n">ReaderDemo</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="s2">&quot;Demo Reader&quot;</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">description</span> <span class="o">=</span> <span class="s2">&quot;one line: demo reader&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">help</span> <span class="o">=</span> <span class="s2">&quot;a paragraph: this reader does x,y,z etc...&quot;</span>
<span class="c1">#...your custom initialization...</span>
......@@ -308,8 +308,8 @@ modules in isolation. An example is provided in <strong>test_filter.py</strong>.
&copy;2017, John Donnal.
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 1.5.1</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.9</a>
Powered by <a href="http://sphinx-doc.org/">Sphinx 1.6.2</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.10</a>
|
<a href="_sources/writing_modules.rst.txt"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment