node-red-contrib-power-saver 3.1.1 → 3.2.2

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 (43) hide show
  1. package/docs/.vuepress/dist/404.html +3 -3
  2. package/docs/.vuepress/dist/assets/js/app.46f7644a.js +1 -0
  3. package/docs/.vuepress/dist/assets/js/{runtime~app.0da14230.js → runtime~app.714a526c.js} +1 -1
  4. package/docs/.vuepress/dist/assets/js/v-0b5e3c8c.3b37457f.js +1 -0
  5. package/docs/.vuepress/dist/assets/js/{v-1e2b191e.50b8fa18.js → v-1e2b191e.98cc227b.js} +1 -1
  6. package/docs/.vuepress/dist/assets/js/v-4637f9e4.b320f5e8.js +1 -0
  7. package/docs/.vuepress/dist/assets/js/v-510ed0d4.9d35e3e3.js +1 -0
  8. package/docs/.vuepress/dist/changelog/index.html +3 -3
  9. package/docs/.vuepress/dist/contribute/index.html +2 -2
  10. package/docs/.vuepress/dist/examples/example-next-schedule-entity.html +2 -2
  11. package/docs/.vuepress/dist/examples/example-nordpool-current-state.html +2 -2
  12. package/docs/.vuepress/dist/examples/example-nordpool-events-state.html +2 -2
  13. package/docs/.vuepress/dist/examples/example-tibber-mqtt.html +2 -2
  14. package/docs/.vuepress/dist/examples/index.html +2 -2
  15. package/docs/.vuepress/dist/faq/index.html +2 -2
  16. package/docs/.vuepress/dist/guide/index.html +2 -2
  17. package/docs/.vuepress/dist/index.html +2 -2
  18. package/docs/.vuepress/dist/nodes/index.html +2 -2
  19. package/docs/.vuepress/dist/nodes/old-power-saver-doc.html +2 -2
  20. package/docs/.vuepress/dist/nodes/power-saver.html +2 -2
  21. package/docs/.vuepress/dist/nodes/ps-elvia-add-tariff.html +2 -2
  22. package/docs/.vuepress/dist/nodes/ps-general-add-tariff.html +3 -3
  23. package/docs/.vuepress/dist/nodes/ps-receive-price.html +2 -2
  24. package/docs/.vuepress/dist/nodes/ps-strategy-best-save.html +7 -5
  25. package/docs/.vuepress/dist/nodes/ps-strategy-lowest-price.html +7 -5
  26. package/docs/.vuepress/dist/nodes/strategy-input.html +2 -2
  27. package/docs/changelog/README.md +18 -0
  28. package/docs/nodes/ps-general-add-tariff.md +2 -0
  29. package/docs/nodes/ps-strategy-best-save.md +6 -2
  30. package/docs/nodes/ps-strategy-lowest-price.md +6 -2
  31. package/package.json +1 -1
  32. package/src/elvia/elvia-add-tariff.js +5 -1
  33. package/src/handle-input.js +15 -9
  34. package/src/receive-price.js +6 -1
  35. package/test/data/tibber-result-end-0-24h.json +3 -1
  36. package/test/data/tibber-result-end-0.json +3 -1
  37. package/test/general-add-tariff.test.js +5 -2
  38. package/test/send-config-input.test.js +44 -0
  39. package/test/strategy-lowest-price.test.js +5 -0
  40. package/docs/.vuepress/dist/assets/js/app.8016111b.js +0 -1
  41. package/docs/.vuepress/dist/assets/js/v-0b5e3c8c.34230e16.js +0 -1
  42. package/docs/.vuepress/dist/assets/js/v-4637f9e4.38f66bbb.js +0 -1
  43. package/docs/.vuepress/dist/assets/js/v-510ed0d4.9f2a81c6.js +0 -1
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1">
6
6
  <meta name="generator" content="VuePress 2.0.0-beta.27">
7
7
  <link rel="icon" href="/euro.png"><title>Nord Pool and events: state node | Power Saver</title><meta name="description" content="A Node-RED note to save money on hourly changing power prices">
8
- <link rel="preload" href="/node-red-contrib-power-saver/assets/js/runtime~app.0da14230.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css" as="style"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/812.79dad458.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/app.8016111b.js" as="script">
8
+ <link rel="preload" href="/node-red-contrib-power-saver/assets/js/runtime~app.714a526c.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css" as="style"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/812.79dad458.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/app.46f7644a.js" as="script">
9
9
  <link rel="stylesheet" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css">
10
10
  </head>
11
11
  <body>
@@ -168,6 +168,6 @@
168
168
  <span class="token punctuation">}</span>
169
169
  <span class="token punctuation">]</span>
170
170
  </code></pre></div><!--]--></div><footer class="page-meta"><!----><div class="meta-item last-updated"><span class="meta-item-label">Last Updated: </span><span class="meta-item-info">12/12/2021, 2:17:07 PM</span></div><!----></footer><nav class="page-nav"><p class="inner"><span class="prev"> ← <a href="/node-red-contrib-power-saver/examples/example-nordpool-current-state.html" class="nav-link" aria-label="Nord Pool and current state node"><!--[--><!--]--> Nord Pool and current state node <!--[--><!--]--></a></span><span class="next"><a href="/node-red-contrib-power-saver/examples/example-tibber-mqtt.html" class="nav-link" aria-label="Tibber, a switch and MQTT"><!--[--><!--]--> Tibber, a switch and MQTT <!--[--><!--]--></a> → </span></p></nav><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
171
- <script src="/node-red-contrib-power-saver/assets/js/runtime~app.0da14230.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/812.79dad458.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/app.8016111b.js" defer></script>
171
+ <script src="/node-red-contrib-power-saver/assets/js/runtime~app.714a526c.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/812.79dad458.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/app.46f7644a.js" defer></script>
172
172
  </body>
173
173
  </html>
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1">
6
6
  <meta name="generator" content="VuePress 2.0.0-beta.27">
7
7
  <link rel="icon" href="/euro.png"><title>Tibber, a switch and MQTT | Power Saver</title><meta name="description" content="A Node-RED note to save money on hourly changing power prices">
8
- <link rel="preload" href="/node-red-contrib-power-saver/assets/js/runtime~app.0da14230.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css" as="style"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/812.79dad458.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/app.8016111b.js" as="script">
8
+ <link rel="preload" href="/node-red-contrib-power-saver/assets/js/runtime~app.714a526c.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css" as="style"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/812.79dad458.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/app.46f7644a.js" as="script">
9
9
  <link rel="stylesheet" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css">
10
10
  </head>
11
11
  <body>
@@ -177,6 +177,6 @@
177
177
  <span class="token punctuation">}</span>
178
178
  <span class="token punctuation">]</span>
179
179
  </code></pre></div><!--]--></div><footer class="page-meta"><!----><div class="meta-item last-updated"><span class="meta-item-label">Last Updated: </span><span class="meta-item-info">12/12/2021, 2:17:07 PM</span></div><!----></footer><nav class="page-nav"><p class="inner"><span class="prev"> ← <a href="/node-red-contrib-power-saver/examples/example-nordpool-events-state.html" class="nav-link" aria-label="Nord Pool and events: state node"><!--[--><!--]--> Nord Pool and events: state node <!--[--><!--]--></a></span><!----></p></nav><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
180
- <script src="/node-red-contrib-power-saver/assets/js/runtime~app.0da14230.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/812.79dad458.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/app.8016111b.js" defer></script>
180
+ <script src="/node-red-contrib-power-saver/assets/js/runtime~app.714a526c.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/812.79dad458.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/app.46f7644a.js" defer></script>
181
181
  </body>
182
182
  </html>
@@ -5,11 +5,11 @@
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1">
6
6
  <meta name="generator" content="VuePress 2.0.0-beta.27">
7
7
  <link rel="icon" href="/euro.png"><title>Examples | Power Saver</title><meta name="description" content="A Node-RED note to save money on hourly changing power prices">
8
- <link rel="preload" href="/node-red-contrib-power-saver/assets/js/runtime~app.0da14230.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css" as="style"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/812.79dad458.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/app.8016111b.js" as="script">
8
+ <link rel="preload" href="/node-red-contrib-power-saver/assets/js/runtime~app.714a526c.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css" as="style"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/812.79dad458.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/app.46f7644a.js" as="script">
9
9
  <link rel="stylesheet" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="app"><!--[--><div class="theme-container"><!--[--><header class="navbar"><div class="toggle-sidebar-button" title="toggle sidebar" aria-expanded="false" role="button" tabindex="0"><div class="icon" aria-hidden="true"><span></span><span></span><span></span></div></div><span><a href="/node-red-contrib-power-saver/" class=""><!----><span class="site-name">Power Saver</span></a></span><div class="navbar-links-wrapper" style=""><!--[--><!--]--><nav class="navbar-links can-hide"><!--[--><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/guide/" class="nav-link" aria-label="Guide"><!--[--><!--]--> Guide <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/nodes/" class="nav-link" aria-label="Nodes"><!--[--><!--]--> Nodes <!--[--><!--]--></a></div><div class="navbar-links-item"><a aria-current="page" href="/node-red-contrib-power-saver/examples/" class="router-link-active router-link-exact-active nav-link router-link-active" aria-label="Examples"><!--[--><!--]--> Examples <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/contribute/" class="nav-link" aria-label="Contribute"><!--[--><!--]--> Contribute <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/changelog/" class="nav-link" aria-label="Changes"><!--[--><!--]--> Changes <!--[--><!--]--></a></div><div class="navbar-links-item"><a class="nav-link external" href="https://github.com/ottopaulsen/node-red-contrib-power-saver" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><button class="toggle-dark-button" title="toggle dark mode"><svg style="" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6z" fill="currentColor"></path><path d="M5.394 6.813l1.414-1.415l3.506 3.506L8.9 10.318z" fill="currentColor"></path><path d="M2 15.005h5v2H2z" fill="currentColor"></path><path d="M5.394 25.197L8.9 21.691l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 25.005h2v5h-2z" fill="currentColor"></path><path d="M21.687 23.106l1.414-1.415l3.506 3.506l-1.414 1.414z" fill="currentColor"></path><path d="M25 15.005h5v2h-5z" fill="currentColor"></path><path d="M21.687 8.904l3.506-3.506l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 2.005h2v5h-2z" fill="currentColor"></path></svg><svg style="display:none;" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z" fill="currentColor"></path></svg></button><!----></div></header><!--]--><div class="sidebar-mask"></div><!--[--><aside class="sidebar"><nav class="navbar-links"><!--[--><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/guide/" class="nav-link" aria-label="Guide"><!--[--><!--]--> Guide <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/nodes/" class="nav-link" aria-label="Nodes"><!--[--><!--]--> Nodes <!--[--><!--]--></a></div><div class="navbar-links-item"><a aria-current="page" href="/node-red-contrib-power-saver/examples/" class="router-link-active router-link-exact-active nav-link router-link-active" aria-label="Examples"><!--[--><!--]--> Examples <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/contribute/" class="nav-link" aria-label="Contribute"><!--[--><!--]--> Contribute <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/changelog/" class="nav-link" aria-label="Changes"><!--[--><!--]--> Changes <!--[--><!--]--></a></div><div class="navbar-links-item"><a class="nav-link external" href="https://github.com/ottopaulsen/node-red-contrib-power-saver" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><ul class="sidebar-links"><!--[--><!--[--><p class="sidebar-heading sidebar-item">Examples</p><ul class=""><li><!--[--><a href="/node-red-contrib-power-saver/examples/example-nordpool-current-state.html" class="nav-link sidebar-item" aria-label="Nord Pool and current state node"><!--[--><!--]--> Nord Pool and current state node <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a href="/node-red-contrib-power-saver/examples/example-nordpool-events-state.html" class="nav-link sidebar-item" aria-label="Nord Pool and events: state node"><!--[--><!--]--> Nord Pool and events: state node <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a href="/node-red-contrib-power-saver/examples/example-tibber-mqtt.html" class="nav-link sidebar-item" aria-label="Tibber, a switch and MQTT"><!--[--><!--]--> Tibber, a switch and MQTT <!--[--><!--]--></a><!----><!--]--></li></ul><!--]--><!--]--></ul><!--[--><!--]--></aside><!--]--><!--[--><main class="page"><!--[--><!--]--><div class="theme-default-content"><!--[--><h1 id="examples" tabindex="-1"><a class="header-anchor" href="#examples" aria-hidden="true">#</a> Examples</h1><p><a href="./example-nordpool-current-state">Nord Pool and <code>current state</code> node in HA</a><br><a href="./example-nordpool-events-state">Nord Pool and <code>events: state</code> node in HA</a><br><a href="./example-tibber-mqtt">Tibber and mqtt</a></p><h2 id="user-provided-examples" tabindex="-1"><a class="header-anchor" href="#user-provided-examples" aria-hidden="true">#</a> User provided examples</h2><p><a href="/node-red-contrib-power-saver/examples/example-next-schedule-entity.html" class="">Output schedule to a sensor entity</a> (by Stefan)</p><!--]--></div><footer class="page-meta"><!----><div class="meta-item last-updated"><span class="meta-item-label">Last Updated: </span><span class="meta-item-info">12/23/2021, 9:03:45 PM</span></div><!----></footer><!----><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
13
- <script src="/node-red-contrib-power-saver/assets/js/runtime~app.0da14230.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/812.79dad458.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/app.8016111b.js" defer></script>
13
+ <script src="/node-red-contrib-power-saver/assets/js/runtime~app.714a526c.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/812.79dad458.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/app.46f7644a.js" defer></script>
14
14
  </body>
15
15
  </html>
@@ -5,11 +5,11 @@
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1">
6
6
  <meta name="generator" content="VuePress 2.0.0-beta.27">
7
7
  <link rel="icon" href="/euro.png"><title>FAQ | Power Saver</title><meta name="description" content="A Node-RED note to save money on hourly changing power prices">
8
- <link rel="preload" href="/node-red-contrib-power-saver/assets/js/runtime~app.0da14230.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css" as="style"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/812.79dad458.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/app.8016111b.js" as="script">
8
+ <link rel="preload" href="/node-red-contrib-power-saver/assets/js/runtime~app.714a526c.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css" as="style"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/812.79dad458.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/app.46f7644a.js" as="script">
9
9
  <link rel="stylesheet" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="app"><!--[--><div class="theme-container no-sidebar"><!--[--><header class="navbar"><div class="toggle-sidebar-button" title="toggle sidebar" aria-expanded="false" role="button" tabindex="0"><div class="icon" aria-hidden="true"><span></span><span></span><span></span></div></div><span><a href="/node-red-contrib-power-saver/" class=""><!----><span class="site-name">Power Saver</span></a></span><div class="navbar-links-wrapper" style=""><!--[--><!--]--><nav class="navbar-links can-hide"><!--[--><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/guide/" class="nav-link" aria-label="Guide"><!--[--><!--]--> Guide <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/nodes/" class="nav-link" aria-label="Nodes"><!--[--><!--]--> Nodes <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/examples/" class="nav-link" aria-label="Examples"><!--[--><!--]--> Examples <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/contribute/" class="nav-link" aria-label="Contribute"><!--[--><!--]--> Contribute <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/changelog/" class="nav-link" aria-label="Changes"><!--[--><!--]--> Changes <!--[--><!--]--></a></div><div class="navbar-links-item"><a class="nav-link external" href="https://github.com/ottopaulsen/node-red-contrib-power-saver" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><button class="toggle-dark-button" title="toggle dark mode"><svg style="" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6z" fill="currentColor"></path><path d="M5.394 6.813l1.414-1.415l3.506 3.506L8.9 10.318z" fill="currentColor"></path><path d="M2 15.005h5v2H2z" fill="currentColor"></path><path d="M5.394 25.197L8.9 21.691l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 25.005h2v5h-2z" fill="currentColor"></path><path d="M21.687 23.106l1.414-1.415l3.506 3.506l-1.414 1.414z" fill="currentColor"></path><path d="M25 15.005h5v2h-5z" fill="currentColor"></path><path d="M21.687 8.904l3.506-3.506l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 2.005h2v5h-2z" fill="currentColor"></path></svg><svg style="display:none;" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z" fill="currentColor"></path></svg></button><!----></div></header><!--]--><div class="sidebar-mask"></div><!--[--><aside class="sidebar"><nav class="navbar-links"><!--[--><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/guide/" class="nav-link" aria-label="Guide"><!--[--><!--]--> Guide <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/nodes/" class="nav-link" aria-label="Nodes"><!--[--><!--]--> Nodes <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/examples/" class="nav-link" aria-label="Examples"><!--[--><!--]--> Examples <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/contribute/" class="nav-link" aria-label="Contribute"><!--[--><!--]--> Contribute <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/changelog/" class="nav-link" aria-label="Changes"><!--[--><!--]--> Changes <!--[--><!--]--></a></div><div class="navbar-links-item"><a class="nav-link external" href="https://github.com/ottopaulsen/node-red-contrib-power-saver" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><ul class="sidebar-links"><!--[--><!--]--></ul><!--[--><!--]--></aside><!--]--><!--[--><main class="page"><!--[--><!--]--><div class="theme-default-content"><!--[--><h1 id="faq" tabindex="-1"><a class="header-anchor" href="#faq" aria-hidden="true">#</a> FAQ</h1><h2 id="why-does-the-best-save-node-not-turn-off-the-most-expensive-hours" tabindex="-1"><a class="header-anchor" href="#why-does-the-best-save-node-not-turn-off-the-most-expensive-hours" aria-hidden="true">#</a> Why does the Best Save node not turn off the most expensive hours?</h2><p>Here is an example:</p><p><img src="data:image/png;base64,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" alt="Mysterious saving"></p><p>The purple strokes shows the savings. The Best Save node is configured to save up to 5 hours in a sequence, and only when saving is more than 0.05 NOK.</p><p>Why does it not save the most expensive period?</p><p>If you move the saving-period 4-5 hours earlier, the most expensive hours would have been saved. Why is this not better?</p><p>Remember that the power that is not used during the saving-period, will be used immediately after. At least, that is the idea, and the normal behaviour if the power consumer is a water heater or another heater controlled by a thermostat. So, then the power would be used one of the blue hours in stead of the green cheaper hour.</p><p>Also remember that when saving, you do not save the full price. You only save what is the difference between the price during the saved hours and the price the hour immediately after.</p><p>So the best saving is found where this difference is the largest, and that is not always by turning off the most expensive hours. In the case above, the difference is largest when you turn off the hours marked wit a purple stroke, so this is the best saving you can get.</p><p>Of course, if you expand the saving period from 5 to 10 hours you would save even more, but that would be a different case, and you can do that if it is ok for you to turn off for that long time.</p><p>Another alternative is to reduce the minimum saving from 0.05 to 0.001. Then the 3 first red hours would be turned off, but the last red would have to be on, in order to get one hour on until the next 5-hour period off. This would however not save you for much money, since the hour that is on is almost as expensive as the hours you would turn off.</p><!--]--></div><footer class="page-meta"><!----><div class="meta-item last-updated"><span class="meta-item-label">Last Updated: </span><span class="meta-item-info">1/5/2022, 7:42:13 PM</span></div><!----></footer><!----><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
13
- <script src="/node-red-contrib-power-saver/assets/js/runtime~app.0da14230.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/812.79dad458.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/app.8016111b.js" defer></script>
13
+ <script src="/node-red-contrib-power-saver/assets/js/runtime~app.714a526c.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/812.79dad458.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/app.46f7644a.js" defer></script>
14
14
  </body>
15
15
  </html>
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1">
6
6
  <meta name="generator" content="VuePress 2.0.0-beta.27">
7
7
  <link rel="icon" href="/euro.png"><title>Guide | Power Saver</title><meta name="description" content="A Node-RED note to save money on hourly changing power prices">
8
- <link rel="preload" href="/node-red-contrib-power-saver/assets/js/runtime~app.0da14230.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css" as="style"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/812.79dad458.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/app.8016111b.js" as="script">
8
+ <link rel="preload" href="/node-red-contrib-power-saver/assets/js/runtime~app.714a526c.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css" as="style"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/812.79dad458.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/app.46f7644a.js" as="script">
9
9
  <link rel="stylesheet" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css">
10
10
  </head>
11
11
  <body>
@@ -47,6 +47,6 @@
47
47
  }
48
48
  }
49
49
  </code></pre><div class="highlight-lines"><br><br><div class="highlight-line"> </div><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br></div></div><!--]--></div><!--]--></div><p>See more details in the <a href="../nodes/ps-receive-price#tibber-input">documentation</a> for the <code>ps-receive-price</code> node.</p><p>Se documentation for <a href="https://flows.nodered.org/node/node-red-contrib-tibber-api" target="_blank" rel="noopener noreferrer">node-red-contrib-tibber-api<span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span></a> for details about the Tibber query.</p><div class="custom-container tip"><p class="custom-container-title">Tibber query</p><p>You can use an <code>inject</code> node (standard Node-RED) to send the Tibber query as a text string int to the <code>tibber-query</code> node. This can be set to repeat the query for example every hour.</p></div><p><a href="/node-red-contrib-power-saver/examples/example-tibber-mqtt.html" class="">See example of Tibber flow and mqtt</a></p><p>If you use Home Assistant (HA), you can install the <a href="https://github.com/custom-components/nordpool" target="_blank" rel="noopener noreferrer">Nord Pool custom component<span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span></a>, that provides a <em>sensor</em> that gives price per hour for today and tomorrow. Data can be sent from both the <code>current state</code> node or the <code>events: state</code> node.</p><p><a href="/node-red-contrib-power-saver/examples/example-nordpool-current-state.html" class="">See example with Nord Pool and <code>current state</code> node</a></p><p><a href="/node-red-contrib-power-saver/examples/example-nordpool-events-state.html" class="">See example with Nord Pool and <code>events: state</code> node</a></p><h3 id="add-grid-tariff" tabindex="-1"><a class="header-anchor" href="#add-grid-tariff" aria-hidden="true">#</a> Add grid tariff</h3><p>When also the grid tariff changes per hour, it must be added to the electricity price in order to get the calculations right.</p><p>After the the <code>ps-receive-price</code> node, add a <code>ps-xxx-add-tariff</code> node to add grid tariff. What node to choose depends on what grid you get electricity through. The following grids are supported:</p><table><thead><tr><th>Grid supplier</th><th>Node</th></tr></thead><tbody><tr><td>General (any)</td><td><code>ps-general-add-tariff</code></td></tr><tr><td>Elvia</td><td><code>ps-elvia-add-tariff</code></td></tr></tbody></table><p>If your grid is not supported, you may code this yourself.</p><div class="custom-container tip"><p class="custom-container-title">Skip this step</p><p>If the grid tariff is the same the whole day, you can skip this step i the flow.</p></div><h3 id="calculate-and-run-schedule" tabindex="-1"><a class="header-anchor" href="#calculate-and-run-schedule" aria-hidden="true">#</a> Calculate and run schedule</h3><p>This is the step where the value is produced. Based on the prices received, the optimal schedule for you is calculated automatically, based on your configuration. You can choose between the following strategies:</p><table><thead><tr><th>Strategy</th><th>Node</th><th>Description</th></tr></thead><tbody><tr><td>Best save</td><td><code>ps-strategy-best-save</code></td><td>Postpone power consumption when there is most to save.</td></tr><tr><td>Lowest price</td><td><code>ps--strategy-lowest-price</code></td><td>Turn on power when the prices are the lowest in a given period.</td></tr></tbody></table><p>These nodes must be configured for your purpose. See configuration description and other details in the documentation for each node.</p><p>Send the result from the <code>ps-xxx-add-tariff</code> node (or the <code>ps-receive-price</code> node) as input to the strategy node you choose.</p><div class="custom-container tip"><p class="custom-container-title">Choose strategy</p><p>Choose the best save strategy if you can postpone power consumption, and expect the consumption to occur during the first hour after power is turned on again.</p><p>Choose the lowest price strategy if you need the power to be on for x hours, but it is not important when that is. Note that you can select to have all hours on in one consecutive period, or spread around on the cheapest hours.</p></div><h3 id="use-schedule-signals" tabindex="-1"><a class="header-anchor" href="#use-schedule-signals" aria-hidden="true">#</a> Use schedule signals</h3><p>Use the outputs to control switches, thermostats or other entities to control your power consumers.</p><p><strong>Output 1</strong> is used to turn on. A payload with value <code>true</code> is sent every time turning on is scheduled.</p><p><strong>Output 2</strong> is used to turn off. A payload with value <code>false</code> is sent every time turning off is scheduled.</p><p>Example using Home Assistant:</p><p><img src="/node-red-contrib-power-saver/assets/img/example-flow-2.b653b58d.png" alt="Example flow"></p><div class="custom-container tip"><p class="custom-container-title">Use output</p><p>There are many ways you can use the output:</p><ul><li>Turn on/off a switch</li><li>Set a thermostat up, down or to specific values</li><li>Change setting of a dimmer</li><li>Send a notification</li></ul></div><h3 id="display-schedule" tabindex="-1"><a class="header-anchor" href="#display-schedule" aria-hidden="true">#</a> Display schedule</h3><p><strong>Output 3</strong> can be used to print or display the calculated schedule. If you just want to see it, send it to a debug node. You can also use it to display the result as graphs in HA.</p><p>For users of Magic Mirror and Tibber, the <code>ps-best-save</code> node can send its schedule to the MMM-Tibber module. See more details in the <code>ps-best-save</code> node documentation.</p><h3 id="more-information" tabindex="-1"><a class="header-anchor" href="#more-information" aria-hidden="true">#</a> More information</h3><p>There are more details and more information in the documentation for each <a href="/nodes/" target="_blank" rel="noopener noreferrer">node<span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span></a> and in the <a href="/examples/" target="_blank" rel="noopener noreferrer">examples<span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span></a>.</p><h2 id="migration-from-v2" tabindex="-1"><a class="header-anchor" href="#migration-from-v2" aria-hidden="true">#</a> Migration from v2</h2><p>The <code>Power Saver</code> node from v2 is still here, and it is working exactly as before. However, it will not be further maintained, so you should replace it. You may directly replace the <code>Power Saver</code> node by two of the new nodes:</p><p><img src="/node-red-contrib-power-saver/assets/img/migrate-best-save.f73420f6.png" alt="Migrate Power Saver"></p><p>See more details in the <a href="/node-red-contrib-power-saver/nodes/ps-strategy-best-save.html" class="">documentation for the <code>ps-strategy-best-save</code></a> node.</p><!--]--></div><footer class="page-meta"><!----><div class="meta-item last-updated"><span class="meta-item-label">Last Updated: </span><span class="meta-item-info">1/5/2022, 7:42:13 PM</span></div><!----></footer><!----><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
50
- <script src="/node-red-contrib-power-saver/assets/js/runtime~app.0da14230.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/812.79dad458.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/app.8016111b.js" defer></script>
50
+ <script src="/node-red-contrib-power-saver/assets/js/runtime~app.714a526c.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/812.79dad458.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/app.46f7644a.js" defer></script>
51
51
  </body>
52
52
  </html>
@@ -5,11 +5,11 @@
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1">
6
6
  <meta name="generator" content="VuePress 2.0.0-beta.27">
7
7
  <link rel="icon" href="/euro.png"><title>Power Saver</title><meta name="description" content="A Node-RED note to save money on hourly changing power prices">
8
- <link rel="preload" href="/node-red-contrib-power-saver/assets/js/runtime~app.0da14230.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css" as="style"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/812.79dad458.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/app.8016111b.js" as="script">
8
+ <link rel="preload" href="/node-red-contrib-power-saver/assets/js/runtime~app.714a526c.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css" as="style"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/812.79dad458.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/app.46f7644a.js" as="script">
9
9
  <link rel="stylesheet" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="app"><!--[--><div class="theme-container no-sidebar"><!--[--><header class="navbar"><div class="toggle-sidebar-button" title="toggle sidebar" aria-expanded="false" role="button" tabindex="0"><div class="icon" aria-hidden="true"><span></span><span></span><span></span></div></div><span><a aria-current="page" href="/node-red-contrib-power-saver/" class="router-link-active router-link-exact-active"><!----><span class="site-name">Power Saver</span></a></span><div class="navbar-links-wrapper" style=""><!--[--><!--]--><nav class="navbar-links can-hide"><!--[--><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/guide/" class="nav-link" aria-label="Guide"><!--[--><!--]--> Guide <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/nodes/" class="nav-link" aria-label="Nodes"><!--[--><!--]--> Nodes <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/examples/" class="nav-link" aria-label="Examples"><!--[--><!--]--> Examples <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/contribute/" class="nav-link" aria-label="Contribute"><!--[--><!--]--> Contribute <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/changelog/" class="nav-link" aria-label="Changes"><!--[--><!--]--> Changes <!--[--><!--]--></a></div><div class="navbar-links-item"><a class="nav-link external" href="https://github.com/ottopaulsen/node-red-contrib-power-saver" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><button class="toggle-dark-button" title="toggle dark mode"><svg style="" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6z" fill="currentColor"></path><path d="M5.394 6.813l1.414-1.415l3.506 3.506L8.9 10.318z" fill="currentColor"></path><path d="M2 15.005h5v2H2z" fill="currentColor"></path><path d="M5.394 25.197L8.9 21.691l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 25.005h2v5h-2z" fill="currentColor"></path><path d="M21.687 23.106l1.414-1.415l3.506 3.506l-1.414 1.414z" fill="currentColor"></path><path d="M25 15.005h5v2h-5z" fill="currentColor"></path><path d="M21.687 8.904l3.506-3.506l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 2.005h2v5h-2z" fill="currentColor"></path></svg><svg style="display:none;" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z" fill="currentColor"></path></svg></button><!----></div></header><!--]--><div class="sidebar-mask"></div><!--[--><aside class="sidebar"><nav class="navbar-links"><!--[--><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/guide/" class="nav-link" aria-label="Guide"><!--[--><!--]--> Guide <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/nodes/" class="nav-link" aria-label="Nodes"><!--[--><!--]--> Nodes <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/examples/" class="nav-link" aria-label="Examples"><!--[--><!--]--> Examples <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/contribute/" class="nav-link" aria-label="Contribute"><!--[--><!--]--> Contribute <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/changelog/" class="nav-link" aria-label="Changes"><!--[--><!--]--> Changes <!--[--><!--]--></a></div><div class="navbar-links-item"><a class="nav-link external" href="https://github.com/ottopaulsen/node-red-contrib-power-saver" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><ul class="sidebar-links"><!--[--><!--]--></ul><!--[--><!--]--></aside><!--]--><!--[--><main class="home" aria-labelledby="main-title"><header class="hero"><img src="/node-red-contrib-power-saver/logo.png" alt="Power Saver"><h1 id="main-title">node-red-contrib-power-saver</h1><p class="description">A collection of nodes to Node-RED that automates saving money on variable electricity prices</p><p class="actions"><!--[--><a href="/node-red-contrib-power-saver/guide" class="nav-link action-button primary" aria-label="Guide"><!--[--><!--]--> Guide <!--[--><!--]--></a><a href="/node-red-contrib-power-saver/nodes/" class="nav-link action-button primary" aria-label="Nodes"><!--[--><!--]--> Nodes <!--[--><!--]--></a><a href="/node-red-contrib-power-saver/examples/" class="nav-link action-button primary" aria-label="Examples"><!--[--><!--]--> Examples <!--[--><!--]--></a><!--]--></p></header><div class="features"><!--[--><div class="feature"><h2>Automatic scheduling</h2><p>Automatically calculate best plan and send signal to turn on and off.</p></div><div class="feature"><h2>Best Save Strategy</h2><p>Postpone power consumption when there is most to save, perfect for the water heater.</p></div><div class="feature"><h2>Lowest Price Strategy</h2><p>Turn on power when the prices are the lowest, perfect for smart charging or heating.</p></div><div class="feature"><h2>Add variable grid tariff</h2><p>Automatically add values that varies on fixed hours, or use API to get grid tariff from Elvia.</p></div><div class="feature"><h2>Perfect with Home Assistant</h2><p>Use Home Assistant with Node-RED and control switches via service calls.</p></div><div class="feature"><h2>Tibber and Nord Pool</h2><p>Painlessly use prices received from Tibber or Nord Pool.</p></div><!--]--></div><div class="theme-default-content custom"><p>This is a collection of nodes for the popular <a href="https://nodered.org/" target="_blank" rel="noopener noreferrer">Node-RED<span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span></a> that you can use to save money on variable electricity prices. Node-RED is a widely used low-code programming tool that can be used together with many smart home solutions to create automations.</p></div><!--[--><div class="footer">Created by Otto Paulsen<br/><br/><a href="https://www.patreon.com/bePatron?u=65948417" data-patreon-widget-type="become-patron-button">Become a Patron!</a></div><!--]--></main><!--]--></div><!----><!--]--></div>
13
- <script src="/node-red-contrib-power-saver/assets/js/runtime~app.0da14230.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/812.79dad458.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/app.8016111b.js" defer></script>
13
+ <script src="/node-red-contrib-power-saver/assets/js/runtime~app.714a526c.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/812.79dad458.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/app.46f7644a.js" defer></script>
14
14
  </body>
15
15
  </html>
@@ -5,11 +5,11 @@
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1">
6
6
  <meta name="generator" content="VuePress 2.0.0-beta.27">
7
7
  <link rel="icon" href="/euro.png"><title>Nodes | Power Saver</title><meta name="description" content="A Node-RED note to save money on hourly changing power prices">
8
- <link rel="preload" href="/node-red-contrib-power-saver/assets/js/runtime~app.0da14230.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css" as="style"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/812.79dad458.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/app.8016111b.js" as="script">
8
+ <link rel="preload" href="/node-red-contrib-power-saver/assets/js/runtime~app.714a526c.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css" as="style"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/812.79dad458.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/app.46f7644a.js" as="script">
9
9
  <link rel="stylesheet" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="app"><!--[--><div class="theme-container"><!--[--><header class="navbar"><div class="toggle-sidebar-button" title="toggle sidebar" aria-expanded="false" role="button" tabindex="0"><div class="icon" aria-hidden="true"><span></span><span></span><span></span></div></div><span><a href="/node-red-contrib-power-saver/" class=""><!----><span class="site-name">Power Saver</span></a></span><div class="navbar-links-wrapper" style=""><!--[--><!--]--><nav class="navbar-links can-hide"><!--[--><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/guide/" class="nav-link" aria-label="Guide"><!--[--><!--]--> Guide <!--[--><!--]--></a></div><div class="navbar-links-item"><a aria-current="page" href="/node-red-contrib-power-saver/nodes/" class="router-link-active router-link-exact-active nav-link router-link-active" aria-label="Nodes"><!--[--><!--]--> Nodes <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/examples/" class="nav-link" aria-label="Examples"><!--[--><!--]--> Examples <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/contribute/" class="nav-link" aria-label="Contribute"><!--[--><!--]--> Contribute <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/changelog/" class="nav-link" aria-label="Changes"><!--[--><!--]--> Changes <!--[--><!--]--></a></div><div class="navbar-links-item"><a class="nav-link external" href="https://github.com/ottopaulsen/node-red-contrib-power-saver" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><button class="toggle-dark-button" title="toggle dark mode"><svg style="" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6z" fill="currentColor"></path><path d="M5.394 6.813l1.414-1.415l3.506 3.506L8.9 10.318z" fill="currentColor"></path><path d="M2 15.005h5v2H2z" fill="currentColor"></path><path d="M5.394 25.197L8.9 21.691l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 25.005h2v5h-2z" fill="currentColor"></path><path d="M21.687 23.106l1.414-1.415l3.506 3.506l-1.414 1.414z" fill="currentColor"></path><path d="M25 15.005h5v2h-5z" fill="currentColor"></path><path d="M21.687 8.904l3.506-3.506l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 2.005h2v5h-2z" fill="currentColor"></path></svg><svg style="display:none;" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z" fill="currentColor"></path></svg></button><!----></div></header><!--]--><div class="sidebar-mask"></div><!--[--><aside class="sidebar"><nav class="navbar-links"><!--[--><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/guide/" class="nav-link" aria-label="Guide"><!--[--><!--]--> Guide <!--[--><!--]--></a></div><div class="navbar-links-item"><a aria-current="page" href="/node-red-contrib-power-saver/nodes/" class="router-link-active router-link-exact-active nav-link router-link-active" aria-label="Nodes"><!--[--><!--]--> Nodes <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/examples/" class="nav-link" aria-label="Examples"><!--[--><!--]--> Examples <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/contribute/" class="nav-link" aria-label="Contribute"><!--[--><!--]--> Contribute <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/changelog/" class="nav-link" aria-label="Changes"><!--[--><!--]--> Changes <!--[--><!--]--></a></div><div class="navbar-links-item"><a class="nav-link external" href="https://github.com/ottopaulsen/node-red-contrib-power-saver" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><ul class="sidebar-links"><!--[--><!--[--><p class="sidebar-heading sidebar-item">Nodes</p><ul class=""><li><!--[--><a href="/node-red-contrib-power-saver/nodes/power-saver.md" class="nav-link sidebar-item" aria-label="Power Saver"><!--[--><!--]--> Power Saver <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><p class="sidebar-item">Strategy nodes</p><ul class="sidebar-sub-items"><li><!--[--><a href="/node-red-contrib-power-saver/nodes/ps-strategy-best-save.html" class="nav-link sidebar-item" aria-label="ps-strategy-best-save"><!--[--><!--]--> ps-strategy-best-save <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a href="/node-red-contrib-power-saver/nodes/ps-strategy-lowest-price.html" class="nav-link sidebar-item" aria-label="ps-strategy-lowest-price"><!--[--><!--]--> ps-strategy-lowest-price <!--[--><!--]--></a><!----><!--]--></li></ul><!--]--></li><li><!--[--><p class="sidebar-item">Utility nodes</p><ul class="sidebar-sub-items"><li><!--[--><a href="/node-red-contrib-power-saver/nodes/ps-receive-price.html" class="nav-link sidebar-item" aria-label="ps-receive-price"><!--[--><!--]--> ps-receive-price <!--[--><!--]--></a><!----><!--]--></li></ul><!--]--></li><li><!--[--><p class="sidebar-item">Grid tariff nodes</p><ul class="sidebar-sub-items"><li><!--[--><a href="/node-red-contrib-power-saver/nodes/ps-general-add-tariff.html" class="nav-link sidebar-item" aria-label="ps-general-add-tariff"><!--[--><!--]--> ps-general-add-tariff <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a href="/node-red-contrib-power-saver/nodes/ps-elvia-add-tariff.html" class="nav-link sidebar-item" aria-label="ps-elvia-add-tariff"><!--[--><!--]--> ps-elvia-add-tariff <!--[--><!--]--></a><!----><!--]--></li></ul><!--]--></li></ul><!--]--><!--[--><p class="sidebar-heading sidebar-item">Data format</p><ul class=""><li><!--[--><a href="/node-red-contrib-power-saver/nodes/strategy-input.html" class="nav-link sidebar-item" aria-label="Strategy input format"><!--[--><!--]--> Strategy input format <!--[--><!--]--></a><!----><!--]--></li></ul><!--]--><!--]--></ul><!--[--><!--]--></aside><!--]--><!--[--><main class="page"><!--[--><!--]--><div class="theme-default-content"><!--[--><h1 id="nodes" tabindex="-1"><a class="header-anchor" href="#nodes" aria-hidden="true">#</a> Nodes</h1><p>Here is an overview of the nodes, and links to detailed descriptions for eah of them.</p><h2 id="power-saver" tabindex="-1"><a class="header-anchor" href="#power-saver" aria-hidden="true">#</a> <a href="./power-saver">Power Saver</a> <span class="badge warning" style="vertical-align:middle;"><!--[-->deprecated<!--]--></span></h2><p><img src="/node-red-contrib-power-saver/assets/img/node-power-saver.51ff2e5d.png" alt="Power Saver node"></p><p>The old node from version 2 is still working, but should be replaced.</p><h2 id="strategy-nodes" tabindex="-1"><a class="header-anchor" href="#strategy-nodes" aria-hidden="true">#</a> Strategy nodes</h2><p>These are the nodes used to calculate and control saving.</p><h3 id="ps-strategy-best-save" tabindex="-1"><a class="header-anchor" href="#ps-strategy-best-save" aria-hidden="true">#</a> <a href="./ps-strategy-best-save">ps-strategy-best-save</a></h3><p><img src="/node-red-contrib-power-saver/assets/img/node-ps-strategy-best-save.392292d5.png" alt="ps-strategy-best-save"></p><p>Strategy to find the best hours to turn off for most saving.</p><h3 id="ps-strategy-lowest-price" tabindex="-1"><a class="header-anchor" href="#ps-strategy-lowest-price" aria-hidden="true">#</a> <a href="./ps-strategy-lowest-price">ps-strategy-lowest-price</a></h3><p><img src="/node-red-contrib-power-saver/assets/img/node-ps-strategy-lowest-price.3a4ad347.png" alt="ps-strategy-lowest-price"></p><p>Strategy to find the x hours with lowest price in a given period each day.</p><h2 id="utility-nodes" tabindex="-1"><a class="header-anchor" href="#utility-nodes" aria-hidden="true">#</a> Utility nodes</h2><h3 id="ps-receive-price" tabindex="-1"><a class="header-anchor" href="#ps-receive-price" aria-hidden="true">#</a> <a href="./ps-receive-price">ps-receive-price</a></h3><p><img src="/node-red-contrib-power-saver/assets/img/node-ps-receive-price.76eaa418.png" alt="ps-receive-price"></p><p>Node to convert different types of input data to the format used by the strategy nodes.</p><h2 id="grid-tariff-nodes" tabindex="-1"><a class="header-anchor" href="#grid-tariff-nodes" aria-hidden="true">#</a> Grid tariff nodes</h2><h3 id="ps-general-add-tariff" tabindex="-1"><a class="header-anchor" href="#ps-general-add-tariff" aria-hidden="true">#</a> <a href="./ps-general-add-tariff">ps-general-add-tariff</a></h3><p><img src="/node-red-contrib-power-saver/assets/img/node-ps-general-add-tariff.a3cf6f06.png" alt="ps-general-add-tariff"></p><p>Node to add a variable grid tariff (or any value) to the prices before sending them to the strategy nodes.</p><h3 id="ps-elvia-add-tariff" tabindex="-1"><a class="header-anchor" href="#ps-elvia-add-tariff" aria-hidden="true">#</a> <a href="./ps-elvia-add-tariff">ps-elvia-add-tariff</a></h3><p><img src="/node-red-contrib-power-saver/assets/img/node-ps-elvia-add-tariff.94ea2b09.png" alt="ps-elvia-add-tariff"></p><p>Node to add Elvia grid tariff to the prices before sending them to the strategy nodes.</p><h2 id="other-nodes" tabindex="-1"><a class="header-anchor" href="#other-nodes" aria-hidden="true">#</a> Other nodes</h2><p>These are a couple of other nodes for using the Elvia API, but these are not important to the Power Saver, so they are not given any further documentation here.</p><h3 id="ps-elvia-tariff-types" tabindex="-1"><a class="header-anchor" href="#ps-elvia-tariff-types" aria-hidden="true">#</a> ps-elvia-tariff-types</h3><p>Use this to get a list of the tariff types available in the Elvia API.</p><h3 id="ps-elvia-tariff" tabindex="-1"><a class="header-anchor" href="#ps-elvia-tariff" aria-hidden="true">#</a> ps-elvia-tariff</h3><p>Use this to get the Elvia grid tariff for a selected tariff type.</p><!--]--></div><footer class="page-meta"><!----><div class="meta-item last-updated"><span class="meta-item-label">Last Updated: </span><span class="meta-item-info">1/5/2022, 7:42:13 PM</span></div><!----></footer><!----><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
13
- <script src="/node-red-contrib-power-saver/assets/js/runtime~app.0da14230.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/812.79dad458.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/app.8016111b.js" defer></script>
13
+ <script src="/node-red-contrib-power-saver/assets/js/runtime~app.714a526c.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/812.79dad458.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/app.46f7644a.js" defer></script>
14
14
  </body>
15
15
  </html>
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1">
6
6
  <meta name="generator" content="VuePress 2.0.0-beta.27">
7
7
  <link rel="icon" href="/euro.png"><title>node-red-contrib-power-saver v2 (deprecated) | Power Saver</title><meta name="description" content="A Node-RED note to save money on hourly changing power prices">
8
- <link rel="preload" href="/node-red-contrib-power-saver/assets/js/runtime~app.0da14230.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css" as="style"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/812.79dad458.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/app.8016111b.js" as="script">
8
+ <link rel="preload" href="/node-red-contrib-power-saver/assets/js/runtime~app.714a526c.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css" as="style"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/812.79dad458.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/app.46f7644a.js" as="script">
9
9
  <link rel="stylesheet" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css">
10
10
  </head>
11
11
  <body>
@@ -92,6 +92,6 @@
92
92
  <span class="token punctuation">}</span>
93
93
  <span class="token punctuation">}</span>
94
94
  </code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br></div></div><p>All the variables in the config object are optional. You can send only those you want to change.</p><p>The config sent like this will be valid until a new config is sent the same way, or until the flow is restarted. On a restart, the original config set up in the node will be used.</p><p>When a config is sent like this, the schedule will be replanned based on the last previously received price data. If no price data has been received, no scheduling is done.</p><h2 id="algorithm" tabindex="-1"><a class="header-anchor" href="#algorithm" aria-hidden="true">#</a> Algorithm</h2><p>The calculation that decides what hours to turn off works as follows:</p><ol><li>A matrix (x * y) is created where x is the number of hours we have price information for, and y is the configured maximum number of hours to turn off in a sequence.</li><li>The matrix is filled with how much you save by turning off hour x for y hours.</li><li>The matrix is processed calculating all possibilities for turning off a number of hours in a sequence and by that saving money. In this process all non-saving sequences are discarded. Also, if the average saving per hour is less than what you have configured as minimum amount to save per kWh, the sequence is discarded.</li><li>The remaining sequences are sorted by how much that is saved, in descending order.</li><li>Next, a table with one value per hour is created, with all hours in state &quot;on&quot;.</li><li>Then the saving sequences is applied one by one, turning off the hours in each sequence, discarding sequences that lead to any violation of the rules set by the config.</li><li>When all sequences are processed, the resulting table shows a pretty good savings plan, that in most cases would be the optimal plan.</li></ol><p>I say &quot;in most cases&quot;, because there is a chance that a group of two or more sequences combined can give a better plan than a single sequence preceeding those two, but where the selection of the one sequence causes the group to be discarded. If anyone encounters this situation, I would be happy to receive the price data set, and try to improve the algorithm even further.</p><h2 id="integration-with-magicmirror" tabindex="-1"><a class="header-anchor" href="#integration-with-magicmirror" aria-hidden="true">#</a> Integration with MagicMirror</h2><p>Are you using <a href="https://magicmirror.builders/" target="_blank" rel="noopener noreferrer">MagicMirror<span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span></a>? Are you also using <a href="https://tibber.com/" target="_blank" rel="noopener noreferrer">Tibber<span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span></a>? If so, there is a module for MM called <a href="https://github.com/ottopaulsen/MMM-Tibber" target="_blank" rel="noopener noreferrer">MMM-Tibber<span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span></a>, that easily can be used to show savings from this node.</p><p><img src="https://github.com/ottopaulsen/MMM-Tibber/blob/master/doc/MMM-Tibber-screenshot-savings-graph.png?raw=true" alt="Show savings in MMM-Tibber"></p><p>The purple lines show savings per kWh.</p><p>Read more about this in the <a href="https://github.com/ottopaulsen/MMM-Tibber#show-savings" target="_blank" rel="noopener noreferrer">MMM-Tibber documentation<span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span></a>.</p><h2 id="change-log" tabindex="-1"><a class="header-anchor" href="#change-log" aria-hidden="true">#</a> Change Log</h2><p>See <a href="/node-red-contrib-power-saver/nodes/CHANGELOG.html" class="">CHANGELOG.md</a></p><h2 id="contribute" tabindex="-1"><a class="header-anchor" href="#contribute" aria-hidden="true">#</a> Contribute</h2><p>Contributions are welcome. Please start by creating a Github Issue with suggested changes, and state what you would like to do.</p><!--]--></div><footer class="page-meta"><!----><div class="meta-item last-updated"><span class="meta-item-label">Last Updated: </span><span class="meta-item-info">12/20/2021, 10:10:18 PM</span></div><!----></footer><!----><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
95
- <script src="/node-red-contrib-power-saver/assets/js/runtime~app.0da14230.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/812.79dad458.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/app.8016111b.js" defer></script>
95
+ <script src="/node-red-contrib-power-saver/assets/js/runtime~app.714a526c.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/812.79dad458.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/app.46f7644a.js" defer></script>
96
96
  </body>
97
97
  </html>
@@ -5,11 +5,11 @@
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1">
6
6
  <meta name="generator" content="VuePress 2.0.0-beta.27">
7
7
  <link rel="icon" href="/euro.png"><title>power-saver | Power Saver</title><meta name="description" content="A Node-RED note to save money on hourly changing power prices">
8
- <link rel="preload" href="/node-red-contrib-power-saver/assets/js/runtime~app.0da14230.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css" as="style"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/812.79dad458.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/app.8016111b.js" as="script">
8
+ <link rel="preload" href="/node-red-contrib-power-saver/assets/js/runtime~app.714a526c.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css" as="style"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/812.79dad458.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/app.46f7644a.js" as="script">
9
9
  <link rel="stylesheet" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="app"><!--[--><div class="theme-container"><!--[--><header class="navbar"><div class="toggle-sidebar-button" title="toggle sidebar" aria-expanded="false" role="button" tabindex="0"><div class="icon" aria-hidden="true"><span></span><span></span><span></span></div></div><span><a href="/node-red-contrib-power-saver/" class=""><!----><span class="site-name">Power Saver</span></a></span><div class="navbar-links-wrapper" style=""><!--[--><!--]--><nav class="navbar-links can-hide"><!--[--><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/guide/" class="nav-link" aria-label="Guide"><!--[--><!--]--> Guide <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/nodes/" class="nav-link router-link-active" aria-label="Nodes"><!--[--><!--]--> Nodes <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/examples/" class="nav-link" aria-label="Examples"><!--[--><!--]--> Examples <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/contribute/" class="nav-link" aria-label="Contribute"><!--[--><!--]--> Contribute <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/changelog/" class="nav-link" aria-label="Changes"><!--[--><!--]--> Changes <!--[--><!--]--></a></div><div class="navbar-links-item"><a class="nav-link external" href="https://github.com/ottopaulsen/node-red-contrib-power-saver" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><button class="toggle-dark-button" title="toggle dark mode"><svg style="" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6z" fill="currentColor"></path><path d="M5.394 6.813l1.414-1.415l3.506 3.506L8.9 10.318z" fill="currentColor"></path><path d="M2 15.005h5v2H2z" fill="currentColor"></path><path d="M5.394 25.197L8.9 21.691l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 25.005h2v5h-2z" fill="currentColor"></path><path d="M21.687 23.106l1.414-1.415l3.506 3.506l-1.414 1.414z" fill="currentColor"></path><path d="M25 15.005h5v2h-5z" fill="currentColor"></path><path d="M21.687 8.904l3.506-3.506l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 2.005h2v5h-2z" fill="currentColor"></path></svg><svg style="display:none;" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z" fill="currentColor"></path></svg></button><!----></div></header><!--]--><div class="sidebar-mask"></div><!--[--><aside class="sidebar"><nav class="navbar-links"><!--[--><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/guide/" class="nav-link" aria-label="Guide"><!--[--><!--]--> Guide <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/nodes/" class="nav-link router-link-active" aria-label="Nodes"><!--[--><!--]--> Nodes <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/examples/" class="nav-link" aria-label="Examples"><!--[--><!--]--> Examples <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/contribute/" class="nav-link" aria-label="Contribute"><!--[--><!--]--> Contribute <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/changelog/" class="nav-link" aria-label="Changes"><!--[--><!--]--> Changes <!--[--><!--]--></a></div><div class="navbar-links-item"><a class="nav-link external" href="https://github.com/ottopaulsen/node-red-contrib-power-saver" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><ul class="sidebar-links"><!--[--><!--[--><p class="sidebar-heading sidebar-item active">Nodes</p><ul class=""><li><!--[--><a href="/node-red-contrib-power-saver/nodes/power-saver.md" class="nav-link sidebar-item active" aria-label="Power Saver"><!--[--><!--]--> Power Saver <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><p class="sidebar-item">Strategy nodes</p><ul class="sidebar-sub-items"><li><!--[--><a href="/node-red-contrib-power-saver/nodes/ps-strategy-best-save.html" class="nav-link sidebar-item" aria-label="ps-strategy-best-save"><!--[--><!--]--> ps-strategy-best-save <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a href="/node-red-contrib-power-saver/nodes/ps-strategy-lowest-price.html" class="nav-link sidebar-item" aria-label="ps-strategy-lowest-price"><!--[--><!--]--> ps-strategy-lowest-price <!--[--><!--]--></a><!----><!--]--></li></ul><!--]--></li><li><!--[--><p class="sidebar-item">Utility nodes</p><ul class="sidebar-sub-items"><li><!--[--><a href="/node-red-contrib-power-saver/nodes/ps-receive-price.html" class="nav-link sidebar-item" aria-label="ps-receive-price"><!--[--><!--]--> ps-receive-price <!--[--><!--]--></a><!----><!--]--></li></ul><!--]--></li><li><!--[--><p class="sidebar-item">Grid tariff nodes</p><ul class="sidebar-sub-items"><li><!--[--><a href="/node-red-contrib-power-saver/nodes/ps-general-add-tariff.html" class="nav-link sidebar-item" aria-label="ps-general-add-tariff"><!--[--><!--]--> ps-general-add-tariff <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a href="/node-red-contrib-power-saver/nodes/ps-elvia-add-tariff.html" class="nav-link sidebar-item" aria-label="ps-elvia-add-tariff"><!--[--><!--]--> ps-elvia-add-tariff <!--[--><!--]--></a><!----><!--]--></li></ul><!--]--></li></ul><!--]--><!--[--><p class="sidebar-heading sidebar-item">Data format</p><ul class=""><li><!--[--><a href="/node-red-contrib-power-saver/nodes/strategy-input.html" class="nav-link sidebar-item" aria-label="Strategy input format"><!--[--><!--]--> Strategy input format <!--[--><!--]--></a><!----><!--]--></li></ul><!--]--><!--]--></ul><!--[--><!--]--></aside><!--]--><!--[--><main class="page"><!--[--><!--]--><div class="theme-default-content"><!--[--><h1 id="power-saver" tabindex="-1"><a class="header-anchor" href="#power-saver" aria-hidden="true">#</a> power-saver <span class="badge warning" style="vertical-align:middle;"><!--[-->deprecated<!--]--></span></h1><p><img src="/node-red-contrib-power-saver/assets/img/node-power-saver.51ff2e5d.png" alt="Power Saver node"></p><p>This is the node from version 2. It is still working, but should be replaced.</p><p>To migrate, just replace the Power Saver node by a combination of the ps-receive-price and the ps-best-save nodes:</p><p>Replace the <code>Power Saver</code> node from version 2:</p><p><img src="/node-red-contrib-power-saver/assets/img/migrate-power-saver.aae13f9d.png" alt="Power Saver node"></p><p>with this combination of <code>ps-receive-price</code> and <code>ps-strategy-best-save</code> from version 3:</p><p><img src="/node-red-contrib-power-saver/assets/img/migrate-best-save.f73420f6.png" alt="Migrate Power Saver"></p><p>The configuration is done in the <code>ps-strategy-best-save</code> node, and is the same as in the old <code>Power Saver</code> node.</p><p>Should you need it, here is the <a href="./old-power-saver-doc">old documentation</a> for the PowerSaver node from version 2.</p><!--]--></div><footer class="page-meta"><!----><div class="meta-item last-updated"><span class="meta-item-label">Last Updated: </span><span class="meta-item-info">12/12/2021, 2:17:07 PM</span></div><!----></footer><nav class="page-nav"><p class="inner"><!----><span class="next"><a href="/node-red-contrib-power-saver/nodes/ps-strategy-best-save.html" class="nav-link" aria-label="ps-strategy-best-save"><!--[--><!--]--> ps-strategy-best-save <!--[--><!--]--></a> → </span></p></nav><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
13
- <script src="/node-red-contrib-power-saver/assets/js/runtime~app.0da14230.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/812.79dad458.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/app.8016111b.js" defer></script>
13
+ <script src="/node-red-contrib-power-saver/assets/js/runtime~app.714a526c.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/812.79dad458.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/app.46f7644a.js" defer></script>
14
14
  </body>
15
15
  </html>
@@ -5,11 +5,11 @@
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1">
6
6
  <meta name="generator" content="VuePress 2.0.0-beta.27">
7
7
  <link rel="icon" href="/euro.png"><title>ps-elvia-add-tariff | Power Saver</title><meta name="description" content="A Node-RED note to save money on hourly changing power prices">
8
- <link rel="preload" href="/node-red-contrib-power-saver/assets/js/runtime~app.0da14230.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css" as="style"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/812.79dad458.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/app.8016111b.js" as="script">
8
+ <link rel="preload" href="/node-red-contrib-power-saver/assets/js/runtime~app.714a526c.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css" as="style"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/812.79dad458.js" as="script"><link rel="preload" href="/node-red-contrib-power-saver/assets/js/app.46f7644a.js" as="script">
9
9
  <link rel="stylesheet" href="/node-red-contrib-power-saver/assets/css/styles.e835bef6.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="app"><!--[--><div class="theme-container"><!--[--><header class="navbar"><div class="toggle-sidebar-button" title="toggle sidebar" aria-expanded="false" role="button" tabindex="0"><div class="icon" aria-hidden="true"><span></span><span></span><span></span></div></div><span><a href="/node-red-contrib-power-saver/" class=""><!----><span class="site-name">Power Saver</span></a></span><div class="navbar-links-wrapper" style=""><!--[--><!--]--><nav class="navbar-links can-hide"><!--[--><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/guide/" class="nav-link" aria-label="Guide"><!--[--><!--]--> Guide <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/nodes/" class="nav-link router-link-active" aria-label="Nodes"><!--[--><!--]--> Nodes <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/examples/" class="nav-link" aria-label="Examples"><!--[--><!--]--> Examples <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/contribute/" class="nav-link" aria-label="Contribute"><!--[--><!--]--> Contribute <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/changelog/" class="nav-link" aria-label="Changes"><!--[--><!--]--> Changes <!--[--><!--]--></a></div><div class="navbar-links-item"><a class="nav-link external" href="https://github.com/ottopaulsen/node-red-contrib-power-saver" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><button class="toggle-dark-button" title="toggle dark mode"><svg style="" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6z" fill="currentColor"></path><path d="M5.394 6.813l1.414-1.415l3.506 3.506L8.9 10.318z" fill="currentColor"></path><path d="M2 15.005h5v2H2z" fill="currentColor"></path><path d="M5.394 25.197L8.9 21.691l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 25.005h2v5h-2z" fill="currentColor"></path><path d="M21.687 23.106l1.414-1.415l3.506 3.506l-1.414 1.414z" fill="currentColor"></path><path d="M25 15.005h5v2h-5z" fill="currentColor"></path><path d="M21.687 8.904l3.506-3.506l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 2.005h2v5h-2z" fill="currentColor"></path></svg><svg style="display:none;" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z" fill="currentColor"></path></svg></button><!----></div></header><!--]--><div class="sidebar-mask"></div><!--[--><aside class="sidebar"><nav class="navbar-links"><!--[--><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/guide/" class="nav-link" aria-label="Guide"><!--[--><!--]--> Guide <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/nodes/" class="nav-link router-link-active" aria-label="Nodes"><!--[--><!--]--> Nodes <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/examples/" class="nav-link" aria-label="Examples"><!--[--><!--]--> Examples <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/contribute/" class="nav-link" aria-label="Contribute"><!--[--><!--]--> Contribute <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/node-red-contrib-power-saver/changelog/" class="nav-link" aria-label="Changes"><!--[--><!--]--> Changes <!--[--><!--]--></a></div><div class="navbar-links-item"><a class="nav-link external" href="https://github.com/ottopaulsen/node-red-contrib-power-saver" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><ul class="sidebar-links"><!--[--><!--[--><p class="sidebar-heading sidebar-item active">Nodes</p><ul class=""><li><!--[--><a href="/node-red-contrib-power-saver/nodes/power-saver.md" class="nav-link sidebar-item" aria-label="Power Saver"><!--[--><!--]--> Power Saver <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><p class="sidebar-item">Strategy nodes</p><ul class="sidebar-sub-items"><li><!--[--><a href="/node-red-contrib-power-saver/nodes/ps-strategy-best-save.html" class="nav-link sidebar-item" aria-label="ps-strategy-best-save"><!--[--><!--]--> ps-strategy-best-save <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a href="/node-red-contrib-power-saver/nodes/ps-strategy-lowest-price.html" class="nav-link sidebar-item" aria-label="ps-strategy-lowest-price"><!--[--><!--]--> ps-strategy-lowest-price <!--[--><!--]--></a><!----><!--]--></li></ul><!--]--></li><li><!--[--><p class="sidebar-item">Utility nodes</p><ul class="sidebar-sub-items"><li><!--[--><a href="/node-red-contrib-power-saver/nodes/ps-receive-price.html" class="nav-link sidebar-item" aria-label="ps-receive-price"><!--[--><!--]--> ps-receive-price <!--[--><!--]--></a><!----><!--]--></li></ul><!--]--></li><li><!--[--><p class="sidebar-item active">Grid tariff nodes</p><ul class="sidebar-sub-items"><li><!--[--><a href="/node-red-contrib-power-saver/nodes/ps-general-add-tariff.html" class="nav-link sidebar-item" aria-label="ps-general-add-tariff"><!--[--><!--]--> ps-general-add-tariff <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/nodes/ps-elvia-add-tariff.html" class="router-link-active router-link-exact-active nav-link router-link-active sidebar-item active" aria-label="ps-elvia-add-tariff"><!--[--><!--]--> ps-elvia-add-tariff <!--[--><!--]--></a><ul class="sidebar-sub-items"><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/nodes/ps-elvia-add-tariff.html#description" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="Description"><!--[--><!--]--> Description <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/nodes/ps-elvia-add-tariff.html#configuration" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="Configuration"><!--[--><!--]--> Configuration <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/nodes/ps-elvia-add-tariff.html#input" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="Input"><!--[--><!--]--> Input <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/nodes/ps-elvia-add-tariff.html#output" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="Output"><!--[--><!--]--> Output <!--[--><!--]--></a><!----><!--]--></li></ul><!--]--></li></ul><!--]--></li></ul><!--]--><!--[--><p class="sidebar-heading sidebar-item">Data format</p><ul class=""><li><!--[--><a href="/node-red-contrib-power-saver/nodes/strategy-input.html" class="nav-link sidebar-item" aria-label="Strategy input format"><!--[--><!--]--> Strategy input format <!--[--><!--]--></a><!----><!--]--></li></ul><!--]--><!--]--></ul><!--[--><!--]--></aside><!--]--><!--[--><main class="page"><!--[--><!--]--><div class="theme-default-content"><!--[--><h1 id="ps-elvia-add-tariff" tabindex="-1"><a class="header-anchor" href="#ps-elvia-add-tariff" aria-hidden="true">#</a> ps-elvia-add-tariff</h1><p><img src="/node-red-contrib-power-saver/assets/img/node-ps-elvia-add-tariff.94ea2b09.png" alt="ps-elvia-add-tariff"></p><p>Node to add grid tariff from Elvia.</p><div class="custom-container warning"><p class="custom-container-title">Elvia API</p><p>You need an Elvia API subscription key to use this node. See <a href="#elvia-configuration">configuration</a>.</p></div><h2 id="description" tabindex="-1"><a class="header-anchor" href="#description" aria-hidden="true">#</a> Description</h2><p>When grid tariff changes from hour to hour, this should normally also be considered when finding the most favorable hours to use power. This node retrieves prices from Elvia, so if you are an elvia customer, you can put this node between the <code>ps-receive-price</code> node and the strategy nodes. When configured, it will add Elvia tariff to the power prices before doing the calculation:</p><p><img src="/node-red-contrib-power-saver/assets/img/elvia-flow.bae2a4d5.png" alt="Elvia flow"></p><h2 id="configuration" tabindex="-1"><a class="header-anchor" href="#configuration" aria-hidden="true">#</a> Configuration</h2><div class="custom-container warning"><p class="custom-container-title">Elvia API subscription key</p><p>This node uses the Elvia API, and you must get your own Elvia API subscription key in order to use it. Go to the <a href="https://elvia.portal.azure-api.net/" target="_blank" rel="noopener noreferrer">Elvia Developer Portal<span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span></a> to sign up, and then request for a subscription to the GridTariffAPI. When your subscription is approved, you will find your subscription key in the <a href="https://elvia.portal.azure-api.net/developer" target="_blank" rel="noopener noreferrer">developer portal<span><svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><!--[--><span class="sr-only">open in new window</span><!--]--></span></a> under Your subscriptions.</p></div><p>The first time you use this node, you must create a <code>ps-elvia-config</code> entry. Click on the edit button to the right of Elvia Config:</p><p><img src="/node-red-contrib-power-saver/assets/img/elvia-config-no-config.b4bb972c.png" alt="Elvia configuration"></p><p>Then enter the Elvia API subscription key:</p><p><img src="/node-red-contrib-power-saver/assets/img/elvia-config-subscription-key.8be8ab8a.png" alt="Elvia configuration"></p><p>After entering the Elvia API subscription key the first time, it is not possible to select tariff.</p><p><img src="/node-red-contrib-power-saver/assets/img/elvia-config-no-tariff.3f89aba8.png" alt="Elvia configuration"></p><p>To fix that, save the config, deploy, and then open the node again. Now you should be able to select the right tariff:</p><p><img src="/node-red-contrib-power-saver/assets/img/elvia-config-select-tariff.0f73fd56.png" alt="Elvia configuration"></p><p>The next time you use this node, you can select the same config as you created the first time, and then you can also select tariff immediately.</p><h2 id="input" tabindex="-1"><a class="header-anchor" href="#input" aria-hidden="true">#</a> Input</h2><p>The input is the <a href="/node-red-contrib-power-saver/nodes/strategy-input.html" class="">common strategy input format</a></p><h2 id="output" tabindex="-1"><a class="header-anchor" href="#output" aria-hidden="true">#</a> Output</h2><p>The output is the <a href="/node-red-contrib-power-saver/nodes/strategy-input.html" class="">common strategy input format</a></p><!--]--></div><footer class="page-meta"><!----><div class="meta-item last-updated"><span class="meta-item-label">Last Updated: </span><span class="meta-item-info">1/5/2022, 7:42:13 PM</span></div><!----></footer><nav class="page-nav"><p class="inner"><span class="prev"> ← <a href="/node-red-contrib-power-saver/nodes/ps-general-add-tariff.html" class="nav-link" aria-label="ps-general-add-tariff"><!--[--><!--]--> ps-general-add-tariff <!--[--><!--]--></a></span><!----></p></nav><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
13
- <script src="/node-red-contrib-power-saver/assets/js/runtime~app.0da14230.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/812.79dad458.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/app.8016111b.js" defer></script>
13
+ <script src="/node-red-contrib-power-saver/assets/js/runtime~app.714a526c.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/812.79dad458.js" defer></script><script src="/node-red-contrib-power-saver/assets/js/app.46f7644a.js" defer></script>
14
14
  </body>
15
15
  </html>