node-red-contrib-power-saver 3.2.2 → 3.3.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.
- package/CHANGELOG.md +1 -1
- package/README.md +1 -1
- package/docs/.vuepress/clientAppEnhance.js +5 -0
- package/docs/.vuepress/components/BestSaveVerificator.vue +306 -0
- package/docs/.vuepress/components/DonateButtons.vue +87 -0
- package/docs/.vuepress/config.js +29 -5
- package/docs/.vuepress/dist/.nojekyll +0 -0
- package/docs/.vuepress/dist/404.html +5 -5
- package/docs/.vuepress/dist/assets/css/563.styles.99f4a8aa.css +1 -0
- package/docs/.vuepress/dist/assets/css/835.styles.c5afb22b.css +1 -0
- package/docs/.vuepress/dist/assets/css/{styles.e835bef6.css → styles.031dcf27.css} +2 -1
- package/docs/.vuepress/dist/assets/img/best-save-config.79a2f39a.png +0 -0
- package/docs/.vuepress/dist/assets/img/copy-payload-best-save.b9192985.png +0 -0
- package/docs/.vuepress/dist/assets/js/262.cf2c57d2.js +1 -0
- package/docs/.vuepress/dist/assets/js/{293.5e967839.js → 293.08ea5200.js} +0 -0
- package/docs/.vuepress/dist/assets/js/331.15ee3c51.js +1 -0
- package/docs/.vuepress/dist/assets/js/{491.c183eba3.js → 491.17a98f38.js} +0 -0
- package/docs/.vuepress/dist/assets/js/619.8ba1b1f6.js +2 -0
- package/docs/.vuepress/dist/assets/js/{812.79dad458.js.LICENSE.txt → 619.8ba1b1f6.js.LICENSE.txt} +0 -0
- package/docs/.vuepress/dist/assets/js/811.6a3392d5.js +1 -0
- package/docs/.vuepress/dist/assets/js/app.b705176c.js +1 -0
- package/docs/.vuepress/dist/assets/js/runtime~app.47f4f812.js +1 -0
- package/docs/.vuepress/dist/assets/js/{v-0607240a.661e1808.js → v-0607240a.a57c2199.js} +0 -0
- package/docs/.vuepress/dist/assets/js/{v-08683c60.a6b9cf5b.js → v-08683c60.ccafdcab.js} +0 -0
- package/docs/.vuepress/dist/assets/js/{v-0aca7ba6.b42fad7f.js → v-0aca7ba6.25903946.js} +0 -0
- package/docs/.vuepress/dist/assets/js/v-0b5e3c8c.a6a015b4.js +1 -0
- package/docs/.vuepress/dist/assets/js/{v-1ad821fa.6e2194d0.js → v-1ad821fa.5978386f.js} +0 -0
- package/docs/.vuepress/dist/assets/js/{v-1e2b191e.98cc227b.js → v-1e2b191e.88dc5555.js} +0 -0
- package/docs/.vuepress/dist/assets/js/v-29504124.4aca27d5.js +1 -0
- package/docs/.vuepress/dist/assets/js/{v-30acb564.f2fcd69f.js → v-30acb564.529a3c16.js} +0 -0
- package/docs/.vuepress/dist/assets/js/v-4637f9e4.703b1d96.js +1 -0
- package/docs/.vuepress/dist/assets/js/v-510ed0d4.7b142a81.js +1 -0
- package/docs/.vuepress/dist/assets/js/{v-5954bcb2.182daf70.js → v-5954bcb2.937005d0.js} +0 -0
- package/docs/.vuepress/dist/assets/js/{v-5db8da3a.f2de6cb9.js → v-5db8da3a.3de3588d.js} +1 -1
- package/docs/.vuepress/dist/assets/js/{v-61f728ca.6fdbbb92.js → v-61f728ca.21d432fe.js} +1 -1
- package/docs/.vuepress/dist/assets/js/{v-677dfaed.0013f083.js → v-677dfaed.44a653b9.js} +0 -0
- package/docs/.vuepress/dist/assets/js/v-7446a652.74b21d0b.js +1 -0
- package/docs/.vuepress/dist/assets/js/v-7c87f26e.ee5be992.js +1 -0
- package/docs/.vuepress/dist/assets/js/{v-8daa1a0e.dde202c9.js → v-8daa1a0e.c63afc2b.js} +1 -1
- package/docs/.vuepress/dist/assets/js/{v-b4a42144.9e5f9728.js → v-b4a42144.733e4e7c.js} +0 -0
- package/docs/.vuepress/dist/assets/js/{v-e8c55052.8384b053.js → v-e8c55052.ab0a79ec.js} +0 -0
- package/docs/.vuepress/dist/assets/js/v-fffb8e28.525be02a.js +1 -0
- package/docs/.vuepress/dist/changelog/index.html +5 -5
- package/docs/.vuepress/dist/contribute/index.html +5 -5
- package/docs/.vuepress/dist/examples/example-next-schedule-entity.html +6 -6
- package/docs/.vuepress/dist/examples/example-nordpool-current-state.html +6 -7
- package/docs/.vuepress/dist/examples/example-nordpool-events-state.html +6 -6
- package/docs/.vuepress/dist/examples/example-tibber-mqtt.html +6 -7
- package/docs/.vuepress/dist/examples/index.html +5 -5
- package/docs/.vuepress/dist/faq/best-save-viewer.html +15 -0
- package/docs/.vuepress/dist/faq/index.html +5 -5
- package/docs/.vuepress/dist/guide/index.html +6 -6
- package/docs/.vuepress/dist/index.html +5 -5
- package/docs/.vuepress/dist/nodes/index.html +5 -5
- package/docs/.vuepress/dist/nodes/old-power-saver-doc.html +7 -7
- package/docs/.vuepress/dist/nodes/power-saver.html +5 -5
- package/docs/.vuepress/dist/nodes/ps-elvia-add-tariff.html +5 -5
- package/docs/.vuepress/dist/nodes/ps-general-add-tariff.html +5 -5
- package/docs/.vuepress/dist/nodes/ps-receive-price.html +8 -8
- package/docs/.vuepress/dist/nodes/ps-strategy-best-save.html +22 -8
- package/docs/.vuepress/dist/nodes/ps-strategy-lowest-price.html +17 -7
- package/docs/.vuepress/dist/nodes/strategy-input.html +5 -5
- package/docs/README.md +4 -1
- package/docs/changelog/README.md +23 -0
- package/docs/contribute/README.md +3 -3
- package/docs/examples/example-nordpool-current-state.md +0 -1
- package/docs/examples/example-tibber-mqtt.md +0 -1
- package/docs/faq/README.md +28 -1
- package/docs/faq/best-save-viewer.md +61 -0
- package/docs/images/best-save-config.png +0 -0
- package/docs/images/copy-payload-best-save.png +0 -0
- package/docs/nodes/ps-strategy-best-save.md +95 -8
- package/docs/nodes/ps-strategy-lowest-price.md +57 -0
- package/package.json +7 -3
- package/src/general-add-tariff-functions.js +0 -1
- package/src/general-add-tariff.js +2 -4
- package/src/handle-input.js +31 -9
- package/src/strategy-best-save.html +0 -21
- package/src/strategy-best-save.js +8 -11
- package/test/commands-input.test.js +47 -0
- package/test/data/best-save-result.json +1 -2
- package/test/data/current-undefined-prices.json +197 -0
- package/test/data/current-undefined-result.json +208 -0
- package/test/data/lowest-price-result-missing-end.json +2 -1
- package/test/data/reconfigResult.js +56 -294
- package/test/data/reconfigResult_old2.js +75 -0
- package/test/data/tibber-result-end-0-24h.json +1 -0
- package/test/data/tibber-result-end-0.json +1 -0
- package/test/send-config-input.test.js +3 -37
- package/test/strategy-best-save-test-utils.js +2 -1
- package/test/strategy-best-save.test.js +14 -8
- package/test/test-utils.js +1 -7
- package/test/utils.test.js +0 -33
- package/docs/.vuepress/dist/assets/img/best-save-config.93fa3c21.png +0 -0
- package/docs/.vuepress/dist/assets/js/812.79dad458.js +0 -2
- package/docs/.vuepress/dist/assets/js/app.46f7644a.js +0 -1
- package/docs/.vuepress/dist/assets/js/runtime~app.714a526c.js +0 -1
- package/docs/.vuepress/dist/assets/js/v-0b5e3c8c.3b37457f.js +0 -1
- package/docs/.vuepress/dist/assets/js/v-4637f9e4.b320f5e8.js +0 -1
- package/docs/.vuepress/dist/assets/js/v-510ed0d4.9d35e3e3.js +0 -1
- package/docs/.vuepress/dist/assets/js/v-7446a652.d05e2648.js +0 -1
- package/docs/.vuepress/dist/assets/js/v-7c87f26e.1127dcf5.js +0 -1
- package/docs/.vuepress/dist/assets/js/v-fffb8e28.3406fd88.js +0 -1
- package/test/data/adjustedResult.js +0 -302
- package/test/data/adjustedResult_old.js +0 -154
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunknode_red_contrib_power_saver=self.webpackChunknode_red_contrib_power_saver||[]).push([[283],{4773:(n,s,a)=>{a.r(s),a.d(s,{data:()=>t});const t={key:"v-61f728ca",path:"/examples/example-nordpool-current-state.html",title:"Nord Pool and current state node",lang:"en-US",frontmatter:{},excerpt:"",headers:[{level:2,title:"Description",slug:"description",children:[]},{level:2,title:"Flow",slug:"flow",children:[]}],filePathRelative:"examples/example-nordpool-current-state.md",git:{updatedTime:1639944519e3}}},6314:(n,s,a)=>{a.r(s),a.d(s,{default:()=>u});var t=a(6252),o=a(3590);const p=(0,t._)("h1",{id:"nord-pool-and-current-state-node",tabindex:"-1"},[(0,t._)("a",{class:"header-anchor",href:"#nord-pool-and-current-state-node","aria-hidden":"true"},"#"),(0,t.Uk)(" Nord Pool and current state node")],-1),e=(0,t._)("h2",{id:"description",tabindex:"-1"},[(0,t._)("a",{class:"header-anchor",href:"#description","aria-hidden":"true"},"#"),(0,t.Uk)(" Description")],-1),k=(0,t._)("p",null,[(0,t.Uk)("In this example, data is read from the Nord Pool sensor in HA via the "),(0,t._)("code",null,"current state"),(0,t.Uk)(" node. The "),(0,t._)("code",null,"ps-best-save"),(0,t.Uk)(" node is used to control a water heater via a switch, controlled by "),(0,t._)("code",null,"call service"),(0,t.Uk)(" nodes in Home Assistant. The schedule is printed to a debug node. An "),(0,t._)("code",null,"inject"),(0,t.Uk)(" node is used to trigger the reading of the Nord Pool sensor every hour.")],-1),c=(0,t._)("p",null,[(0,t._)("img",{src:o,alt:"Example with Tibber and MQTT"})],-1),r=(0,t._)("h2",{id:"flow",tabindex:"-1"},[(0,t._)("a",{class:"header-anchor",href:"#flow","aria-hidden":"true"},"#"),(0,t.Uk)(" Flow")],-1),l=(0,t._)("div",{class:"language-json ext-json"},[(0,t._)("pre",{class:"language-json"},[(0,t._)("code",null,[(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"{"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"id"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"e2578f6a.210a8"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"type"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"debug"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"z"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"d938c47f.3398f8"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"name"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"Nord Pool result"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"active"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"false"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"tosidebar"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"true"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"console"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"false"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"tostatus"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"false"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"complete"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"true"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"targetType"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"full"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"statusVal"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'""'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"statusType"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"auto"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"x"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"820"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"y"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"440"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"wires"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token punctuation"},"["),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"}"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"{"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"id"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"48bcdcca.fe42a4"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"type"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"api-current-state"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"z"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"d938c47f.3398f8"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"name"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"Read Nord Pool"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"server"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"ec4a12a1.b2be9"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"version"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"2"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"outputs"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"1"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"halt_if"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'""'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"halt_if_type"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"str"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"halt_if_compare"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"is"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"entity_id"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"sensor.nordpool_kwh_trheim_nok_3_095_025"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"state_type"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"str"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"blockInputOverrides"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"false"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"outputProperties"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"{"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"property"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"payload"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"propertyType"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"msg"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"value"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'""'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"valueType"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"entity"'),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"}"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"x"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"280"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"y"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"380"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"wires"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token string"},'"428d7c7ca88db95f"'),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"}"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"{"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"id"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"97cc8e58.4247a"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"type"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"inject"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"z"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"d938c47f.3398f8"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"name"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'""'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"props"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"{"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"p"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"payload"'),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"}"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"{"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"p"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"topic"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"vt"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"str"'),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"}"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"repeat"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"3600"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"crontab"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'""'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"once"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"true"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"onceDelay"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"0.1"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"topic"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'""'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"payloadType"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"date"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"x"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"110"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"y"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"380"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"wires"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token string"},'"48bcdcca.fe42a4"'),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"}"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"{"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"id"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"a6f2769b.1a62a8"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"type"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"api-call-service"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"z"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"d938c47f.3398f8"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"name"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"Turn on VVB"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"server"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"ec4a12a1.b2be9"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"version"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"3"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"debugenabled"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"false"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"service_domain"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"switch"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"service"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"turn_on"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"entityId"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"switch.varmtvannsbereder_switch"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"data"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'""'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"dataType"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"jsonata"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"mergecontext"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'""'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"mustacheAltTags"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"false"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"outputProperties"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token punctuation"},"["),(0,t._)("span",{class:"token punctuation"},"]"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"queue"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"none"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"x"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"810"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"y"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"340"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"wires"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"["),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"}"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"{"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"id"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"9fc75126.65dd3"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"type"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"api-call-service"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"z"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"d938c47f.3398f8"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"name"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"Turn off VVB"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"server"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"ec4a12a1.b2be9"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"version"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"3"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"debugenabled"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"true"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"service_domain"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"switch"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"service"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"turn_off"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"entityId"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"switch.varmtvannsbereder_switch"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"data"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'""'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"dataType"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"json"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"mergecontext"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'""'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"mustacheAltTags"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"false"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"outputProperties"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token punctuation"},"["),(0,t._)("span",{class:"token punctuation"},"]"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"queue"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"none"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"x"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"810"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"y"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"380"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"wires"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"["),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"}"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"{"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"id"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"428d7c7ca88db95f"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"type"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"ps-receive-price"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"z"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"d938c47f.3398f8"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"name"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"Price Receiver"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"x"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"460"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"y"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"380"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"wires"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token string"},'"4147bf0b99fe626f"'),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"}"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"{"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"id"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"4147bf0b99fe626f"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"type"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"ps-strategy-best-save"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"z"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"d938c47f.3398f8"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"name"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"Best Save"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"maxHoursToSaveInSequence"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"4"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"minHoursOnAfterMaxSequenceSaved"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"1"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"minSaving"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"0.03"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"sendCurrentValueWhenRescheduling"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"true"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"outputIfNoSchedule"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"true"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"scheduleOnlyFromCurrentTime"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"false"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"x"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"630"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"y"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"380"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"wires"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token string"},'"a6f2769b.1a62a8"'),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token string"},'"9fc75126.65dd3"'),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token string"},'"e2578f6a.210a8"'),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"}"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"{"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"id"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"ec4a12a1.b2be9"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"type"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"server"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"name"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"Home Assistant"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"version"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"2"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"addon"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"true"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"rejectUnauthorizedCerts"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"true"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"ha_boolean"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"y|yes|true|on|home|open"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"connectionDelay"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"true"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"cacheJson"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"true"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"heartbeat"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"false"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"heartbeatInterval"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"30"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"}"),(0,t.Uk)("\n"),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n")])])],-1),_={},u=(0,a(3744).Z)(_,[["render",function(n,s){return(0,t.wg)(),(0,t.iD)(t.HY,null,[p,e,k,c,r,l],64)}]])},3744:(n,s)=>{s.Z=(n,s)=>{const a=n.__vccOpts||n;for(const[n,t]of s)a[n]=t;return a}},3590:(n,s,a)=>{n.exports=a.p+"assets/img/power-saver-nordpool-current-state.bf14afde.png"}}]);
|
|
1
|
+
"use strict";(self.webpackChunknode_red_contrib_power_saver=self.webpackChunknode_red_contrib_power_saver||[]).push([[283],{4773:(n,s,a)=>{a.r(s),a.d(s,{data:()=>t});const t={key:"v-61f728ca",path:"/examples/example-nordpool-current-state.html",title:"Nord Pool and current state node",lang:"en-US",frontmatter:{},excerpt:"",headers:[{level:2,title:"Description",slug:"description",children:[]},{level:2,title:"Flow",slug:"flow",children:[]}],filePathRelative:"examples/example-nordpool-current-state.md",git:{updatedTime:1642369461e3}}},6546:(n,s,a)=>{a.r(s),a.d(s,{default:()=>u});var t=a(6252),o=a(3590);const p=(0,t._)("h1",{id:"nord-pool-and-current-state-node",tabindex:"-1"},[(0,t._)("a",{class:"header-anchor",href:"#nord-pool-and-current-state-node","aria-hidden":"true"},"#"),(0,t.Uk)(" Nord Pool and current state node")],-1),e=(0,t._)("h2",{id:"description",tabindex:"-1"},[(0,t._)("a",{class:"header-anchor",href:"#description","aria-hidden":"true"},"#"),(0,t.Uk)(" Description")],-1),k=(0,t._)("p",null,[(0,t.Uk)("In this example, data is read from the Nord Pool sensor in HA via the "),(0,t._)("code",null,"current state"),(0,t.Uk)(" node. The "),(0,t._)("code",null,"ps-best-save"),(0,t.Uk)(" node is used to control a water heater via a switch, controlled by "),(0,t._)("code",null,"call service"),(0,t.Uk)(" nodes in Home Assistant. The schedule is printed to a debug node. An "),(0,t._)("code",null,"inject"),(0,t.Uk)(" node is used to trigger the reading of the Nord Pool sensor every hour.")],-1),c=(0,t._)("p",null,[(0,t._)("img",{src:o,alt:"Example with Tibber and MQTT"})],-1),r=(0,t._)("h2",{id:"flow",tabindex:"-1"},[(0,t._)("a",{class:"header-anchor",href:"#flow","aria-hidden":"true"},"#"),(0,t.Uk)(" Flow")],-1),l=(0,t._)("div",{class:"language-json ext-json"},[(0,t._)("pre",{class:"language-json"},[(0,t._)("code",null,[(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"{"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"id"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"e2578f6a.210a8"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"type"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"debug"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"z"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"d938c47f.3398f8"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"name"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"Nord Pool result"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"active"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"false"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"tosidebar"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"true"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"console"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"false"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"tostatus"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"false"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"complete"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"true"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"targetType"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"full"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"statusVal"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'""'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"statusType"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"auto"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"x"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"820"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"y"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"440"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"wires"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token punctuation"},"["),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"}"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"{"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"id"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"48bcdcca.fe42a4"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"type"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"api-current-state"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"z"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"d938c47f.3398f8"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"name"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"Read Nord Pool"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"server"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"ec4a12a1.b2be9"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"version"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"2"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"outputs"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"1"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"halt_if"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'""'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"halt_if_type"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"str"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"halt_if_compare"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"is"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"entity_id"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"sensor.nordpool_kwh_trheim_nok_3_095_025"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"state_type"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"str"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"blockInputOverrides"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"false"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"outputProperties"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"{"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"property"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"payload"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"propertyType"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"msg"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"value"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'""'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"valueType"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"entity"'),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"}"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"x"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"280"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"y"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"380"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"wires"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token string"},'"428d7c7ca88db95f"'),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"}"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"{"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"id"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"97cc8e58.4247a"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"type"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"inject"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"z"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"d938c47f.3398f8"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"name"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'""'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"props"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"{"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"p"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"payload"'),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"}"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"{"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"p"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"topic"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"vt"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"str"'),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"}"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"repeat"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"3600"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"crontab"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'""'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"once"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"true"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"onceDelay"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"0.1"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"topic"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'""'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"payloadType"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"date"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"x"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"110"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"y"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"380"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"wires"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token string"},'"48bcdcca.fe42a4"'),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"}"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"{"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"id"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"a6f2769b.1a62a8"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"type"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"api-call-service"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"z"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"d938c47f.3398f8"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"name"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"Turn on VVB"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"server"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"ec4a12a1.b2be9"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"version"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"3"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"debugenabled"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"false"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"service_domain"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"switch"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"service"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"turn_on"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"entityId"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"switch.varmtvannsbereder_switch"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"data"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'""'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"dataType"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"jsonata"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"mergecontext"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'""'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"mustacheAltTags"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"false"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"outputProperties"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token punctuation"},"["),(0,t._)("span",{class:"token punctuation"},"]"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"queue"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"none"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"x"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"810"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"y"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"340"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"wires"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"["),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"}"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"{"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"id"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"9fc75126.65dd3"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"type"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"api-call-service"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"z"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"d938c47f.3398f8"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"name"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"Turn off VVB"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"server"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"ec4a12a1.b2be9"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"version"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"3"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"debugenabled"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"true"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"service_domain"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"switch"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"service"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"turn_off"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"entityId"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"switch.varmtvannsbereder_switch"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"data"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'""'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"dataType"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"json"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"mergecontext"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'""'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"mustacheAltTags"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"false"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"outputProperties"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token punctuation"},"["),(0,t._)("span",{class:"token punctuation"},"]"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"queue"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"none"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"x"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"810"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"y"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"380"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"wires"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"["),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"}"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"{"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"id"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"428d7c7ca88db95f"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"type"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"ps-receive-price"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"z"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"d938c47f.3398f8"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"name"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"Price Receiver"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"x"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"460"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"y"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"380"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"wires"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token string"},'"4147bf0b99fe626f"'),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"}"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"{"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"id"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"4147bf0b99fe626f"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"type"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"ps-strategy-best-save"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"z"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"d938c47f.3398f8"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"name"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"Best Save"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"maxHoursToSaveInSequence"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"4"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"minHoursOnAfterMaxSequenceSaved"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"1"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"minSaving"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"0.03"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"sendCurrentValueWhenRescheduling"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"true"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"outputIfNoSchedule"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"true"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"x"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"630"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"y"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"380"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"wires"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token string"},'"a6f2769b.1a62a8"'),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token string"},'"9fc75126.65dd3"'),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"["),(0,t.Uk)("\n "),(0,t._)("span",{class:"token string"},'"e2578f6a.210a8"'),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"}"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"{"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"id"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"ec4a12a1.b2be9"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"type"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"server"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"name"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"Home Assistant"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"version"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"2"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"addon"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"true"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"rejectUnauthorizedCerts"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"true"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"ha_boolean"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token string"},'"y|yes|true|on|home|open"'),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"connectionDelay"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"true"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"cacheJson"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"true"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"heartbeat"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token boolean"},"false"),(0,t._)("span",{class:"token punctuation"},","),(0,t.Uk)("\n "),(0,t._)("span",{class:"token property"},'"heartbeatInterval"'),(0,t._)("span",{class:"token operator"},":"),(0,t.Uk)(),(0,t._)("span",{class:"token number"},"30"),(0,t.Uk)("\n "),(0,t._)("span",{class:"token punctuation"},"}"),(0,t.Uk)("\n"),(0,t._)("span",{class:"token punctuation"},"]"),(0,t.Uk)("\n")])])],-1),_={},u=(0,a(3744).Z)(_,[["render",function(n,s){return(0,t.wg)(),(0,t.iD)(t.HY,null,[p,e,k,c,r,l],64)}]])},3744:(n,s)=>{s.Z=(n,s)=>{const a=n.__vccOpts||n;for(const[n,t]of s)a[n]=t;return a}},3590:(n,s,a)=>{n.exports=a.p+"assets/img/power-saver-nordpool-current-state.bf14afde.png"}}]);
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunknode_red_contrib_power_saver=self.webpackChunknode_red_contrib_power_saver||[]).push([[969],{4129:(e,t,A)=>{A.r(t),A.d(t,{data:()=>n});const n={key:"v-7446a652",path:"/faq/",title:"FAQ",lang:"en-US",frontmatter:{sidebar:["/faq/README.md","/faq/best-save-viewer.md"]},excerpt:"",headers:[{level:2,title:"How can I contribute?",slug:"how-can-i-contribute",children:[]},{level:2,title:"Why is the best save schedule like this?",slug:"why-is-the-best-save-schedule-like-this",children:[]},{level:2,title:"Why does the Best Save node not turn off the most expensive hours?",slug:"why-does-the-best-save-node-not-turn-off-the-most-expensive-hours",children:[]},{level:2,title:"Can we get Legionella bacteria when turning off the water heater?",slug:"can-we-get-legionella-bacteria-when-turning-off-the-water-heater",children:[]}],filePathRelative:"faq/README.md",git:{updatedTime:1642535555e3}}},3578:(e,t,A)=>{A.r(t),A.d(t,{default:()=>W});var n=A(6252),a=A(2041);const s=(0,n._)("h1",{id:"faq",tabindex:"-1"},[(0,n._)("a",{class:"header-anchor",href:"#faq","aria-hidden":"true"},"#"),(0,n.Uk)(" FAQ")],-1),h=(0,n._)("h2",{id:"how-can-i-contribute",tabindex:"-1"},[(0,n._)("a",{class:"header-anchor",href:"#how-can-i-contribute","aria-hidden":"true"},"#"),(0,n.Uk)(" How can I contribute?")],-1),o=(0,n._)("p",null,"You can donate:",-1),r=(0,n.Uk)("or take a look at the "),i=(0,n.Uk)("contribute page"),l=(0,n._)("h2",{id:"why-is-the-best-save-schedule-like-this",tabindex:"-1"},[(0,n._)("a",{class:"header-anchor",href:"#why-is-the-best-save-schedule-like-this","aria-hidden":"true"},"#"),(0,n.Uk)(" Why is the best save schedule like this?")],-1),u=(0,n._)("p",null,"There may be many reasons for the best save node planning like it does. Here are some considerations:",-1),d=(0,n._)("ul",null,[(0,n._)("li",null,[(0,n.Uk)("It is turning off only if it can save the "),(0,n._)("code",null,"Min saving"),(0,n.Uk)(" amount in average per kWh per hour for the hours turned off, compared to the next hour that is on.")]),(0,n._)("li",null,[(0,n.Uk)("It will not turn off more than "),(0,n._)("code",null,"Max per sequence"),(0,n.Uk)(" hours, so it may have to stay on through the most expensive hours, if there are more than the configured number of hours until the price is low enough.")])],-1),I=(0,n.Uk)("In order to understand how the node works, try out the "),g=(0,n.Uk)("Best Save Viewer"),f=(0,n._)("h2",{id:"why-does-the-best-save-node-not-turn-off-the-most-expensive-hours",tabindex:"-1"},[(0,n._)("a",{class:"header-anchor",href:"#why-does-the-best-save-node-not-turn-off-the-most-expensive-hours","aria-hidden":"true"},"#"),(0,n.Uk)(" Why does the Best Save node not turn off the most expensive hours?")],-1),k=(0,n._)("p",null,"Here is an example:",-1),C=(0,n._)("p",null,[(0,n._)("img",{src:a,alt:"Mysterious saving"})],-1),b=(0,n._)("p",null,"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.",-1),v=(0,n._)("p",null,"Why does it not save the most expensive period?",-1),Q=(0,n._)("p",null,"If you move the saving-period 4-5 hours earlier, the most expensive hours would have been saved. Why is this not better?",-1),c=(0,n._)("p",null,"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 behavior 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.",-1),m=(0,n._)("p",null,"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.",-1),w=(0,n._)("p",null,"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.",-1),y=(0,n._)("p",null,"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.",-1),p=(0,n._)("p",null,"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.",-1),Z=(0,n._)("h2",{id:"can-we-get-legionella-bacteria-when-turning-off-the-water-heater",tabindex:"-1"},[(0,n._)("a",{class:"header-anchor",href:"#can-we-get-legionella-bacteria-when-turning-off-the-water-heater","aria-hidden":"true"},"#"),(0,n.Uk)(" Can we get Legionella bacteria when turning off the water heater?")],-1),E=(0,n.Uk)("Many people ask if there is a danger that legionella bacteria will grow and become dangerous when the temperature of the water heater is lowered. As long as the water is heated to at least 65 °C every day, or at least every week, the risk of infection is not considered significant, according to the norwegian "),G={href:"https://www.fhi.no/nettpub/legionellaveilederen/",target:"_blank",rel:"noopener noreferrer"},B=(0,n.Uk)("FHI"),x=(0,n.Uk)("."),D={},W=(0,A(3744).Z)(D,[["render",function(e,t){const A=(0,n.up)("DonateButtons"),a=(0,n.up)("RouterLink"),D=(0,n.up)("OutboundLink");return(0,n.wg)(),(0,n.iD)(n.HY,null,[s,h,o,(0,n.Wm)(A),(0,n._)("p",null,[r,(0,n.Wm)(a,{to:"/contribute/"},{default:(0,n.w5)((()=>[i])),_:1})]),l,u,d,(0,n._)("p",null,[I,(0,n.Wm)(a,{to:"/faq/best-save-viewer.html"},{default:(0,n.w5)((()=>[g])),_:1})]),f,k,C,b,v,Q,c,m,w,y,p,Z,(0,n._)("p",null,[E,(0,n._)("a",G,[B,(0,n.Wm)(D)]),x])],64)}]])},3744:(e,t)=>{t.Z=(e,t)=>{const A=e.__vccOpts||e;for(const[e,n]of t)A[e]=n;return A}},2041:e=>{e.exports="data:image/png;base64,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"}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunknode_red_contrib_power_saver=self.webpackChunknode_red_contrib_power_saver||[]).push([[889],{9459:(e,t,o)=>{o.r(t),o.d(t,{data:()=>r});const r={key:"v-7c87f26e",path:"/contribute/",title:"Contribute",lang:"en-US",frontmatter:{sidebar:"auto"},excerpt:"",headers:[{level:2,title:"Donate",slug:"donate",children:[]},{level:2,title:"Code",slug:"code",children:[]},{level:2,title:"Examples",slug:"examples",children:[]},{level:2,title:"Bug reports",slug:"bug-reports",children:[]},{level:2,title:"Ideas",slug:"ideas",children:[]}],filePathRelative:"contribute/README.md",git:{updatedTime:1642535555e3}}},3994:(e,t,o)=>{o.r(t),o.d(t,{default:()=>D});var r=o(6252);const a=(0,r._)("h1",{id:"contribute",tabindex:"-1"},[(0,r._)("a",{class:"header-anchor",href:"#contribute","aria-hidden":"true"},"#"),(0,r.Uk)(" Contribute")],-1),i=(0,r._)("h2",{id:"donate",tabindex:"-1"},[(0,r._)("a",{class:"header-anchor",href:"#donate","aria-hidden":"true"},"#"),(0,r.Uk)(" Donate")],-1),n=(0,r._)("p",null,"Developing software is time consuming. This solution has taken the better part of all my free time for about 3 quarters of a year. Getting something back would make it easier to also spend future time on this.",-1),s=(0,r._)("p",null,'I am trying out Patreon and PayPals "Donate" to see if it is possible to get something back for the work I do. The software is open source, and you can use it for free, but if you feel it has value, you can support the development by donating or becoming a patron, paying a fee of your choice.',-1),l=(0,r.uE)('<h2 id="code" tabindex="-1"><a class="header-anchor" href="#code" aria-hidden="true">#</a> Code</h2><p>It would be very nice to get more developers on board, and become a team. If you satisfy the following criteria, I would be happy to get help on developing this further:</p><ul><li>Professional or experienced developer</li><li>Know JavaScript</li><li>Write automated tests for your code</li><li>Use <code>node-red-contrib-power-saver</code></li><li>Want to collaborate on further development</li></ul><p>Please contact me, for example by making a [GitHub issue(https://github.com/ottopaulsen/node-red-contrib-power-saver/issues)] explaining what you would like to do.</p><p>The first and most important task now, is to make support for getting grid tariff from all suppliers.</p><h2 id="examples" tabindex="-1"><a class="header-anchor" href="#examples" aria-hidden="true">#</a> Examples</h2>',6),d=(0,r.Uk)("It would be very nice to get more examples into the documentation. If you have made something smart, please describe in a markdown-file and either send me, or preferably make a pull request on "),u={href:"https://github.com/ottopaulsen/node-red-contrib-power-saver/pulls",target:"_blank",rel:"noopener noreferrer"},p=(0,r.Uk)("GitHub"),h=(0,r.Uk)("."),c=(0,r._)("h2",{id:"bug-reports",tabindex:"-1"},[(0,r._)("a",{class:"header-anchor",href:"#bug-reports","aria-hidden":"true"},"#"),(0,r.Uk)(" Bug reports")],-1),f=(0,r.Uk)("If you find a bug, please describe it thoroughly and make a "),b={href:"https://github.com/ottopaulsen/node-red-contrib-power-saver/issues",target:"_blank",rel:"noopener noreferrer"},m=(0,r.Uk)("GitHub issue"),g=(0,r.Uk)(". If the bug is related to the scheduling, "),k=(0,r._)("strong",null,"please provide the full output from output 3",-1),_=(0,r.Uk)(" on the strategy node."),v=(0,r._)("h2",{id:"ideas",tabindex:"-1"},[(0,r._)("a",{class:"header-anchor",href:"#ideas","aria-hidden":"true"},"#"),(0,r.Uk)(" Ideas")],-1),y=(0,r.Uk)("If you have ideas for new features, please make a "),w={href:"https://github.com/ottopaulsen/node-red-contrib-power-saver/issues",target:"_blank",rel:"noopener noreferrer"},x=(0,r.Uk)("GitHub issue"),U=(0,r.Uk)(" and describe it as detailed as possible."),I={},D=(0,o(3744).Z)(I,[["render",function(e,t){const o=(0,r.up)("DonateButtons"),I=(0,r.up)("OutboundLink");return(0,r.wg)(),(0,r.iD)(r.HY,null,[a,i,n,s,(0,r.Wm)(o),l,(0,r._)("p",null,[d,(0,r._)("a",u,[p,(0,r.Wm)(I)]),h]),c,(0,r._)("p",null,[f,(0,r._)("a",b,[m,(0,r.Wm)(I)]),g,k,_]),v,(0,r._)("p",null,[y,(0,r._)("a",w,[x,(0,r.Wm)(I)]),U])],64)}]])},3744:(e,t)=>{t.Z=(e,t)=>{const o=e.__vccOpts||e;for(const[e,r]of t)o[e]=r;return o}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunknode_red_contrib_power_saver=self.webpackChunknode_red_contrib_power_saver||[]).push([[509],{6464:(e,t,o)=>{o.r(t),o.d(t,{data:()=>r});const r={key:"v-8daa1a0e",path:"/",title:"",lang:"en-US",frontmatter:{home:!0,heroImage:"/logo.png",heroAlt:"Power Saver",heroText:"node-red-contrib-power-saver",tagline:"A collection of nodes to Node-RED that automates saving money on variable electricity prices",actions:[{text:"Guide",link:"/guide",type:"primary"},{text:"Nodes",link:"/nodes/",type:"primary"},{text:"Examples",link:"/examples/",type:"primary"}],features:[{title:"Automatic scheduling",details:"Automatically calculate best plan and send signal to turn on and off."},{title:"Best Save Strategy",details:"Postpone power consumption when there is most to save, perfect for the water heater."},{title:"Lowest Price Strategy",details:"Turn on power when the prices are the lowest, perfect for smart charging or heating."},{title:"Add variable grid tariff",details:"Automatically add values that varies on fixed hours, or use API to get grid tariff from Elvia."},{title:"Perfect with Home Assistant",details:"Use Home Assistant with Node-RED and control switches via service calls."},{title:"Tibber and Nord Pool",details:"Painlessly use prices received from Tibber or Nord Pool."}],footer:
|
|
1
|
+
"use strict";(self.webpackChunknode_red_contrib_power_saver=self.webpackChunknode_red_contrib_power_saver||[]).push([[509],{6464:(e,t,o)=>{o.r(t),o.d(t,{data:()=>r});const r={key:"v-8daa1a0e",path:"/",title:"",lang:"en-US",frontmatter:{home:!0,heroImage:"/logo.png",heroAlt:"Power Saver",heroText:"node-red-contrib-power-saver",tagline:"A collection of nodes to Node-RED that automates saving money on variable electricity prices",actions:[{text:"Guide",link:"/guide",type:"primary"},{text:"Nodes",link:"/nodes/",type:"primary"},{text:"Examples",link:"/examples/",type:"primary"}],features:[{title:"Automatic scheduling",details:"Automatically calculate best plan and send signal to turn on and off."},{title:"Best Save Strategy",details:"Postpone power consumption when there is most to save, perfect for the water heater."},{title:"Lowest Price Strategy",details:"Turn on power when the prices are the lowest, perfect for smart charging or heating."},{title:"Add variable grid tariff",details:"Automatically add values that varies on fixed hours, or use API to get grid tariff from Elvia."},{title:"Perfect with Home Assistant",details:"Use Home Assistant with Node-RED and control switches via service calls."},{title:"Tibber and Nord Pool",details:"Painlessly use prices received from Tibber or Nord Pool."}],footer:"Created by Otto Paulsen",footerHtml:!0},excerpt:"",headers:[],filePathRelative:"README.md",git:{updatedTime:1642535555e3}}},5760:(e,t,o)=>{o.r(t),o.d(t,{default:()=>d});var r=o(6252);const a=(0,r.Uk)("This is a collection of nodes for the popular "),i={href:"https://nodered.org/",target:"_blank",rel:"noopener noreferrer"},s=(0,r.Uk)("Node-RED"),n=(0,r.Uk)(" 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."),l={},d=(0,o(3744).Z)(l,[["render",function(e,t){const o=(0,r.up)("OutboundLink"),l=(0,r.up)("DonateButtons");return(0,r.wg)(),(0,r.iD)(r.HY,null,[(0,r._)("p",null,[a,(0,r._)("a",i,[s,(0,r.Wm)(o)]),n]),(0,r.Wm)(l)],64)}]])},3744:(e,t)=>{t.Z=(e,t)=>{const o=e.__vccOpts||e;for(const[e,r]of t)o[e]=r;return o}}}]);
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunknode_red_contrib_power_saver=self.webpackChunknode_red_contrib_power_saver||[]).push([[807],{9570:(e,t,n)=>{n.r(t),n.d(t,{data:()=>r});const r={key:"v-fffb8e28",path:"/guide/",title:"Guide",lang:"en-US",frontmatter:{sidebar:"auto"},excerpt:"",headers:[{level:2,title:"Introduction",slug:"introduction",children:[]},{level:2,title:"Getting started",slug:"getting-started",children:[{level:3,title:"Installation",slug:"installation",children:[]},{level:3,title:"Get price data",slug:"get-price-data",children:[]},{level:3,title:"Add grid tariff",slug:"add-grid-tariff",children:[]},{level:3,title:"Calculate and run schedule",slug:"calculate-and-run-schedule",children:[]},{level:3,title:"Use schedule signals",slug:"use-schedule-signals",children:[]},{level:3,title:"Display schedule",slug:"display-schedule",children:[]},{level:3,title:"More information",slug:"more-information",children:[]}]},{level:2,title:"Migration from v2",slug:"migration-from-v2",children:[]}],filePathRelative:"guide/README.md",git:{updatedTime:1641408133e3}}},808:(e,t,n)=>{n.r(t),n.d(t,{default:()=>Ze});var r=n(6252),l=n(1321),a=n(3405),s=n(1758);const o=(0,r._)("h1",{id:"guide",tabindex:"-1"},[(0,r._)("a",{class:"header-anchor",href:"#guide","aria-hidden":"true"},"#"),(0,r.Uk)(" Guide")],-1),i=(0,r._)("h2",{id:"introduction",tabindex:"-1"},[(0,r._)("a",{class:"header-anchor",href:"#introduction","aria-hidden":"true"},"#"),(0,r.Uk)(" Introduction")],-1),d=(0,r.Uk)("This is a collection of nodes for the popular "),u={href:"https://nodered.org/",target:"_blank",rel:"noopener noreferrer"},c=(0,r.Uk)("Node-RED"),h=(0,r.Uk)(" 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=(0,r._)("p",null,[(0,r.Uk)("The solution can be used to control switches or other entities in a smart home system, and for example turn on when the price is low, and turn off when the price is high. There are different ways to calculate what hours to turn on and off, and these are implemented as "),(0,r._)("strong",null,"strategies nodes"),(0,r.Uk)(". Each strategy node can be configured to fit different purposes.")],-1),_=(0,r._)("p",null,"The strategies need price data to work. These can be received from different sources, for example Tibber, Nord Pool or custom sources.",-1),b=(0,r._)("div",{class:"custom-container warning"},[(0,r._)("p",{class:"custom-container-title"},"Price sources"),(0,r._)("p",null,"Tibber and Nord Pool are only available in the nordics, so if you live outside the nordics, you must find another source of price data, and make your own input.")],-1),m=(0,r._)("p",null,[(0,r.Uk)("Grid tariff is normally not part of the electricity price, so if this varies by the hour, it must be added before sent to the strategy nodes for calculation. This can be done by putting a "),(0,r._)("code",null,"ps-xxx-add-tariff"),(0,r.Uk)(" node between the price receiver and the strategy.")],-1),f=(0,r._)("p",null,'The strategy nodes have 3 outputs. Output 1 is used to "turn on", output 2 is used to "turn off", and on output 3, the calculated schedule and some other information is sent. You can use this to make graphs, or just send it to a debug node to view it.',-1),g=(0,r._)("p",null,"Example:",-1),v=(0,r._)("p",null,[(0,r._)("img",{src:l,alt:"Example flow"})],-1),y=(0,r._)("p",null,[(0,r.Uk)("Here prices are received from Tibber, converted in the "),(0,r._)("code",null,"ps-receive-price"),(0,r.Uk)(" node, then grid tariff for Elvia is added before sent to the "),(0,r._)("code",null,"ps-strategy-best-save"),(0,r.Uk)(" node. Output is sent to Home Assistant via two "),(0,r._)("code",null,"call-service"),(0,r.Uk)(" nodes, and the schedule is sent to a debug node.")],-1),k=(0,r._)("div",{class:"custom-container tip"},[(0,r._)("p",{class:"custom-container-title"},"Home Assistant"),(0,r._)("p",null,"The node collection fits very well with Home Assistant (HA), as Node-RED is frequently used for automations, and there also is an integration with Nord Pool, but there is no direct dependency to HA, so all nodes can be used also without HA.")],-1),w=(0,r._)("h2",{id:"getting-started",tabindex:"-1"},[(0,r._)("a",{class:"header-anchor",href:"#getting-started","aria-hidden":"true"},"#"),(0,r.Uk)(" Getting started")],-1),U=(0,r._)("h3",{id:"installation",tabindex:"-1"},[(0,r._)("a",{class:"header-anchor",href:"#installation","aria-hidden":"true"},"#"),(0,r.Uk)(" Installation")],-1),x=(0,r._)("p",null,"Install in Node-RED via the Manage Palette menu.",-1),T=(0,r._)("p",null,"May also be installed via npm:",-1),A=(0,r._)("p",null,[(0,r._)("code",null,"npm install node-red-contrib-power-saver")],-1),S=(0,r._)("p",null,[(0,r.Uk)("Make sure that you upgrade now and then to get the latest version. See "),(0,r._)("a",{href:"CHANGELOG"},"changelog"),(0,r.Uk)(" for changes.")],-1),q=(0,r._)("h3",{id:"get-price-data",tabindex:"-1"},[(0,r._)("a",{class:"header-anchor",href:"#get-price-data","aria-hidden":"true"},"#"),(0,r.Uk)(" Get price data")],-1),N=(0,r._)("p",null,"This solution is useless without price data. In the nordics, there are at least two very common places to get price data from:",-1),E=(0,r._)("ul",null,[(0,r._)("li",null,"Tibber"),(0,r._)("li",null,"Nord Pool")],-1),P=(0,r._)("p",null,[(0,r.Uk)("The "),(0,r._)("code",null,"ps-receive-price"),(0,r.Uk)(" node is designed to handle price input from both these, and convert it to the format required by the strategy nodes.")],-1),W=(0,r.Uk)("If you are a Tibber customer, use the "),H=(0,r._)("code",null,"tibber-query",-1),I=(0,r.Uk)(" node from the "),M={href:"https://flows.nodered.org/node/node-red-contrib-tibber-api",target:"_blank",rel:"noopener noreferrer"},G=(0,r.Uk)("Tibber API"),C=(0,r.Uk)(" to receive price, with one of the following queries:"),D=(0,r._)("div",{class:"language-gql ext-gql line-numbers-mode"},[(0,r._)("pre",{class:"language-gql"},[(0,r._)("code",null,"{\n viewer {\n homes {\n id\n address {\n address1\n address2\n address3\n postalCode\n city\n country\n }\n }\n }\n}\n")]),(0,r._)("div",{class:"line-numbers"},[(0,r._)("span",{class:"line-number"},"1"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"2"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"3"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"4"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"5"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"6"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"7"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"8"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"9"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"10"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"11"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"12"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"13"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"14"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"15"),(0,r._)("br")])],-1),O=(0,r._)("div",{class:"language-gql ext-gql line-numbers-mode"},[(0,r._)("pre",{class:"language-gql"},[(0,r._)("code",null,'{\n viewer {\n home(id: "142c1670-ab43-2ab3-ba6d-723703a551e2") {\n currentSubscription{\n priceInfo{\n today {\n total\n energy\n tax\n startsAt\n }\n tomorrow {\n total\n energy\n tax\n startsAt\n }\n }\n }\n }\n }\n}\n')]),(0,r._)("div",{class:"highlight-lines"},[(0,r._)("br"),(0,r._)("br"),(0,r._)("div",{class:"highlight-line"}," "),(0,r._)("br"),(0,r._)("br"),(0,r._)("br"),(0,r._)("br"),(0,r._)("br"),(0,r._)("br"),(0,r._)("br"),(0,r._)("br"),(0,r._)("br"),(0,r._)("br"),(0,r._)("br"),(0,r._)("br"),(0,r._)("br"),(0,r._)("br"),(0,r._)("br"),(0,r._)("br"),(0,r._)("br"),(0,r._)("br"),(0,r._)("br")]),(0,r._)("div",{class:"line-numbers"},[(0,r._)("span",{class:"line-number"},"1"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"2"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"3"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"4"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"5"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"6"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"7"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"8"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"9"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"10"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"11"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"12"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"13"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"14"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"15"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"16"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"17"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"18"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"19"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"20"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"21"),(0,r._)("br"),(0,r._)("span",{class:"line-number"},"22"),(0,r._)("br")])],-1),R=(0,r._)("p",null,[(0,r.Uk)("See more details in the "),(0,r._)("a",{href:"../nodes/ps-receive-price#tibber-input"},"documentation"),(0,r.Uk)(" for the "),(0,r._)("code",null,"ps-receive-price"),(0,r.Uk)(" node.")],-1),Y=(0,r.Uk)("Se documentation for "),L={href:"https://flows.nodered.org/node/node-red-contrib-tibber-api",target:"_blank",rel:"noopener noreferrer"},j=(0,r.Uk)("node-red-contrib-tibber-api"),B=(0,r.Uk)(" for details about the Tibber query."),Z=(0,r._)("div",{class:"custom-container tip"},[(0,r._)("p",{class:"custom-container-title"},"Tibber query"),(0,r._)("p",null,[(0,r.Uk)("You can use an "),(0,r._)("code",null,"inject"),(0,r.Uk)(" node (standard Node-RED) to send the Tibber query as a text string int to the "),(0,r._)("code",null,"tibber-query"),(0,r.Uk)(" node. This can be set to repeat the query for example every hour.")])],-1),F=(0,r.Uk)("See example of Tibber flow and mqtt"),z=(0,r.Uk)("If you use Home Assistant (HA), you can install the "),J={href:"https://github.com/custom-components/nordpool",target:"_blank",rel:"noopener noreferrer"},K=(0,r.Uk)("Nord Pool custom component"),Q=(0,r.Uk)(", that provides a "),V=(0,r._)("em",null,"sensor",-1),X=(0,r.Uk)(" that gives price per hour for today and tomorrow. Data can be sent from both the "),$=(0,r._)("code",null,"current state",-1),ee=(0,r.Uk)(" node or the "),te=(0,r._)("code",null,"events: state",-1),ne=(0,r.Uk)(" node."),re=(0,r.Uk)("See example with Nord Pool and "),le=(0,r._)("code",null,"current state",-1),ae=(0,r.Uk)(" node"),se=(0,r.Uk)("See example with Nord Pool and "),oe=(0,r._)("code",null,"events: state",-1),ie=(0,r.Uk)(" node"),de=(0,r._)("h3",{id:"add-grid-tariff",tabindex:"-1"},[(0,r._)("a",{class:"header-anchor",href:"#add-grid-tariff","aria-hidden":"true"},"#"),(0,r.Uk)(" Add grid tariff")],-1),ue=(0,r._)("p",null,"When also the grid tariff changes per hour, it must be added to the electricity price in order to get the calculations right.",-1),ce=(0,r._)("p",null,[(0,r.Uk)("After the the "),(0,r._)("code",null,"ps-receive-price"),(0,r.Uk)(" node, add a "),(0,r._)("code",null,"ps-xxx-add-tariff"),(0,r.Uk)(" node to add grid tariff. What node to choose depends on what grid you get electricity through. The following grids are supported:")],-1),he=(0,r._)("table",null,[(0,r._)("thead",null,[(0,r._)("tr",null,[(0,r._)("th",null,"Grid supplier"),(0,r._)("th",null,"Node")])]),(0,r._)("tbody",null,[(0,r._)("tr",null,[(0,r._)("td",null,"General (any)"),(0,r._)("td",null,[(0,r._)("code",null,"ps-general-add-tariff")])]),(0,r._)("tr",null,[(0,r._)("td",null,"Elvia"),(0,r._)("td",null,[(0,r._)("code",null,"ps-elvia-add-tariff")])])])],-1),pe=(0,r._)("p",null,"If your grid is not supported, you may code this yourself.",-1),_e=(0,r._)("div",{class:"custom-container tip"},[(0,r._)("p",{class:"custom-container-title"},"Skip this step"),(0,r._)("p",null,"If the grid tariff is the same the whole day, you can skip this step i the flow.")],-1),be=(0,r._)("h3",{id:"calculate-and-run-schedule",tabindex:"-1"},[(0,r._)("a",{class:"header-anchor",href:"#calculate-and-run-schedule","aria-hidden":"true"},"#"),(0,r.Uk)(" Calculate and run schedule")],-1),me=(0,r._)("p",null,"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:",-1),fe=(0,r._)("table",null,[(0,r._)("thead",null,[(0,r._)("tr",null,[(0,r._)("th",null,"Strategy"),(0,r._)("th",null,"Node"),(0,r._)("th",null,"Description")])]),(0,r._)("tbody",null,[(0,r._)("tr",null,[(0,r._)("td",null,"Best save"),(0,r._)("td",null,[(0,r._)("code",null,"ps-strategy-best-save")]),(0,r._)("td",null,"Postpone power consumption when there is most to save.")]),(0,r._)("tr",null,[(0,r._)("td",null,"Lowest price"),(0,r._)("td",null,[(0,r._)("code",null,"ps--strategy-lowest-price")]),(0,r._)("td",null,"Turn on power when the prices are the lowest in a given period.")])])],-1),ge=(0,r._)("p",null,"These nodes must be configured for your purpose. See configuration description and other details in the documentation for each node.",-1),ve=(0,r._)("p",null,[(0,r.Uk)("Send the result from the "),(0,r._)("code",null,"ps-xxx-add-tariff"),(0,r.Uk)(" node (or the "),(0,r._)("code",null,"ps-receive-price"),(0,r.Uk)(" node) as input to the strategy node you choose.")],-1),ye=(0,r._)("div",{class:"custom-container tip"},[(0,r._)("p",{class:"custom-container-title"},"Choose strategy"),(0,r._)("p",null,"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."),(0,r._)("p",null,"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.")],-1),ke=(0,r._)("h3",{id:"use-schedule-signals",tabindex:"-1"},[(0,r._)("a",{class:"header-anchor",href:"#use-schedule-signals","aria-hidden":"true"},"#"),(0,r.Uk)(" Use schedule signals")],-1),we=(0,r._)("p",null,"Use the outputs to control switches, thermostats or other entities to control your power consumers.",-1),Ue=(0,r._)("p",null,[(0,r._)("strong",null,"Output 1"),(0,r.Uk)(" is used to turn on. A payload with value "),(0,r._)("code",null,"true"),(0,r.Uk)(" is sent every time turning on is scheduled.")],-1),xe=(0,r._)("p",null,[(0,r._)("strong",null,"Output 2"),(0,r.Uk)(" is used to turn off. A payload with value "),(0,r._)("code",null,"false"),(0,r.Uk)(" is sent every time turning off is scheduled.")],-1),Te=(0,r._)("p",null,"Example using Home Assistant:",-1),Ae=(0,r._)("p",null,[(0,r._)("img",{src:a,alt:"Example flow"})],-1),Se=(0,r._)("div",{class:"custom-container tip"},[(0,r._)("p",{class:"custom-container-title"},"Use output"),(0,r._)("p",null,"There are many ways you can use the output:"),(0,r._)("ul",null,[(0,r._)("li",null,"Turn on/off a switch"),(0,r._)("li",null,"Set a thermostat up, down or to specific values"),(0,r._)("li",null,"Change setting of a dimmer"),(0,r._)("li",null,"Send a notification")])],-1),qe=(0,r._)("h3",{id:"display-schedule",tabindex:"-1"},[(0,r._)("a",{class:"header-anchor",href:"#display-schedule","aria-hidden":"true"},"#"),(0,r.Uk)(" Display schedule")],-1),Ne=(0,r._)("p",null,[(0,r._)("strong",null,"Output 3"),(0,r.Uk)(" 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.")],-1),Ee=(0,r._)("p",null,[(0,r.Uk)("For users of Magic Mirror and Tibber, the "),(0,r._)("code",null,"ps-best-save"),(0,r.Uk)(" node can send its schedule to the MMM-Tibber module. See more details in the "),(0,r._)("code",null,"ps-best-save"),(0,r.Uk)(" node documentation.")],-1),Pe=(0,r._)("h3",{id:"more-information",tabindex:"-1"},[(0,r._)("a",{class:"header-anchor",href:"#more-information","aria-hidden":"true"},"#"),(0,r.Uk)(" More information")],-1),We=(0,r.Uk)("There are more details and more information in the documentation for each "),He=(0,r.Uk)("node"),Ie=(0,r.Uk)(" and in the "),Me=(0,r.Uk)("examples"),Ge=(0,r.Uk)("."),Ce=(0,r._)("h2",{id:"migration-from-v2",tabindex:"-1"},[(0,r._)("a",{class:"header-anchor",href:"#migration-from-v2","aria-hidden":"true"},"#"),(0,r.Uk)(" Migration from v2")],-1),De=(0,r._)("p",null,[(0,r.Uk)("The "),(0,r._)("code",null,"Power Saver"),(0,r.Uk)(" 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 "),(0,r._)("code",null,"Power Saver"),(0,r.Uk)(" node by two of the new nodes:")],-1),Oe=(0,r._)("p",null,[(0,r._)("img",{src:s,alt:"Migrate Power Saver"})],-1),Re=(0,r.Uk)("See more details in the "),Ye=(0,r.Uk)("documentation for the "),Le=(0,r._)("code",null,"ps-strategy-best-save",-1),je=(0,r.Uk)(" node."),Be={},Ze=(0,n(3744).Z)(Be,[["render",function(e,t){const n=(0,r.up)("OutboundLink"),l=(0,r.up)("CodeGroupItem"),a=(0,r.up)("CodeGroup"),s=(0,r.up)("RouterLink");return(0,r.wg)(),(0,r.iD)(r.HY,null,[o,i,(0,r._)("p",null,[d,(0,r._)("a",u,[c,(0,r.Wm)(n)]),h]),p,_,b,m,f,g,v,y,k,w,U,x,T,A,S,q,N,E,P,(0,r._)("p",null,[W,H,I,(0,r._)("a",M,[G,(0,r.Wm)(n)]),C]),(0,r.Wm)(a,null,{default:(0,r.w5)((()=>[(0,r.Wm)(l,{title:"All homes"},{default:(0,r.w5)((()=>[D])),_:1}),(0,r.Wm)(l,{title:"Single home",active:""},{default:(0,r.w5)((()=>[O])),_:1})])),_:1}),R,(0,r._)("p",null,[Y,(0,r._)("a",L,[j,(0,r.Wm)(n)]),B]),Z,(0,r._)("p",null,[(0,r.Wm)(s,{to:"/examples/example-tibber-mqtt.html"},{default:(0,r.w5)((()=>[F])),_:1})]),(0,r._)("p",null,[z,(0,r._)("a",J,[K,(0,r.Wm)(n)]),Q,V,X,$,ee,te,ne]),(0,r._)("p",null,[(0,r.Wm)(s,{to:"/examples/example-nordpool-current-state.html"},{default:(0,r.w5)((()=>[re,le,ae])),_:1})]),(0,r._)("p",null,[(0,r.Wm)(s,{to:"/examples/example-nordpool-events-state.html"},{default:(0,r.w5)((()=>[se,oe,ie])),_:1})]),de,ue,ce,he,pe,_e,be,me,fe,ge,ve,ye,ke,we,Ue,xe,Te,Ae,Se,qe,Ne,Ee,Pe,(0,r._)("p",null,[We,(0,r.Wm)(s,{to:"/nodes/"},{default:(0,r.w5)((()=>[He])),_:1}),Ie,(0,r.Wm)(s,{to:"/examples/"},{default:(0,r.w5)((()=>[Me])),_:1}),Ge]),Ce,De,Oe,(0,r._)("p",null,[Re,(0,r.Wm)(s,{to:"/nodes/ps-strategy-best-save.html"},{default:(0,r.w5)((()=>[Ye,Le])),_:1}),je])],64)}]])},3744:(e,t)=>{t.Z=(e,t)=>{const n=e.__vccOpts||e;for(const[e,r]of t)n[e]=r;return n}},1321:(e,t,n)=>{e.exports=n.p+"assets/img/example-flow-1.3ff3e23f.png"},3405:(e,t,n)=>{e.exports=n.p+"assets/img/example-flow-2.b653b58d.png"},1758:(e,t,n)=>{e.exports=n.p+"assets/img/migrate-best-save.f73420f6.png"}}]);
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
<meta charset="utf-8">
|
|
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
|
-
<link rel="icon" href="
|
|
8
|
-
<link rel="preload" href="/
|
|
9
|
-
<link rel="stylesheet" href="/
|
|
7
|
+
<link rel="shortcut icon" type="image/x-icon" href="euro.png"><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9857859182772006" crossorigin="anonymous"></script><title>Change Log | Power Saver</title><meta name="description" content="A Node-RED note to save money on hourly changing power prices">
|
|
8
|
+
<link rel="preload" href="/assets/js/runtime~app.47f4f812.js" as="script"><link rel="preload" href="/assets/css/styles.031dcf27.css" as="style"><link rel="preload" href="/assets/js/619.8ba1b1f6.js" as="script"><link rel="preload" href="/assets/js/app.b705176c.js" as="script">
|
|
9
|
+
<link rel="stylesheet" href="/assets/css/styles.031dcf27.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
|
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 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 aria-current="page" href="/node-red-contrib-power-saver/changelog/" class="router-link-active router-link-exact-active nav-link router-link-active" 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 aria-current="page" href="/node-red-contrib-power-saver/changelog/" class="router-link-active router-link-exact-active nav-link router-link-active" 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">Change Log</p><ul class=""><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_3-2-1" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.2.1"><!--[--><!--]--> 3.2.1 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_3-2-0" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.2.0"><!--[--><!--]--> 3.2.0 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_3-1-2" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.1.2"><!--[--><!--]--> 3.1.2 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_3-1-1" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.1.1"><!--[--><!--]--> 3.1.1 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_3-1-0" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.1.0"><!--[--><!--]--> 3.1.0 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_3-0-10" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.0.10"><!--[--><!--]--> 3.0.10 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_3-0-9" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.0.9"><!--[--><!--]--> 3.0.9 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_3-0-8" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.0.8"><!--[--><!--]--> 3.0.8 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_3-0-7" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.0.7"><!--[--><!--]--> 3.0.7 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_3-0-6" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.0.6"><!--[--><!--]--> 3.0.6 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_3-0-5" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.0.5"><!--[--><!--]--> 3.0.5 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_3-0-4" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.0.4"><!--[--><!--]--> 3.0.4 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_3-0-3" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.0.3"><!--[--><!--]--> 3.0.3 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_3-0-2" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.0.2"><!--[--><!--]--> 3.0.2 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_3-0-1" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.0.1"><!--[--><!--]--> 3.0.1 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_3-0-0" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.0.0"><!--[--><!--]--> 3.0.0 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_2-1-0" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="2.1.0"><!--[--><!--]--> 2.1.0 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_2-0-5" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="2.0.5"><!--[--><!--]--> 2.0.5 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_2-0-4" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="2.0.4"><!--[--><!--]--> 2.0.4 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_2-0-3" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="2.0.3"><!--[--><!--]--> 2.0.3 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_2-0-2" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="2.0.2"><!--[--><!--]--> 2.0.2 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_2-0-1" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="2.0.1"><!--[--><!--]--> 2.0.1 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_2-0-0" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="2.0.0"><!--[--><!--]--> 2.0.0 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/node-red-contrib-power-saver/changelog/#_1-0-9" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="1.0.9"><!--[--><!--]--> 1.0.9 <!--[--><!--]--></a><!----><!--]--></li></ul><!--]--><!--]--></ul><!--[--><!--]--></aside><!--]--><!--[--><main class="page"><!--[--><!--]--><div class="theme-default-content"><!--[--><h1 id="change-log" tabindex="-1"><a class="header-anchor" href="#change-log" aria-hidden="true">#</a> Change Log</h1><p>List the most significant changes, starting in version 1.0.9.</p><h2 id="_3-2-1" tabindex="-1"><a class="header-anchor" href="#_3-2-1" aria-hidden="true">#</a> 3.2.1</h2><ul><li>Fix that may solve the problem with multiple outputs at the same time.</li></ul><h2 id="_3-2-0" tabindex="-1"><a class="header-anchor" href="#_3-2-0" aria-hidden="true">#</a> 3.2.0</h2><ul><li>Config can be sent on input to strategy nodes together with price data, in the same message.</li><li>The ps-receive-price and ps-xxx-add-tariff nodes pass config through from input to output.</li><li>Status on strategy nodes shows the time for the next change.</li></ul><h2 id="_3-1-2" tabindex="-1"><a class="header-anchor" href="#_3-1-2" aria-hidden="true">#</a> 3.1.2</h2><ul><li>Add time, version and current value to output from strategy nodes.</li></ul><h2 id="_3-1-1" tabindex="-1"><a class="header-anchor" href="#_3-1-1" aria-hidden="true">#</a> 3.1.1</h2><ul><li>Fix schedule for Lowest Price node so it uses data from previous day correctly. It sometimes failed when the selected period went over midnight.</li><li>Fix so old data in the Lowest Price node context is deleted.</li></ul><h2 id="_3-1-0" tabindex="-1"><a class="header-anchor" href="#_3-1-0" aria-hidden="true">#</a> 3.1.0</h2><ul><li>New node <code>ps-general-add-tariff</code> to add values that varies af fixed times during the day.</li></ul><h2 id="_3-0-10" tabindex="-1"><a class="header-anchor" href="#_3-0-10" aria-hidden="true">#</a> 3.0.10</h2><ul><li>Fix bug in ps-elvia-add-tariff so it connects to API.</li></ul><h2 id="_3-0-9" tabindex="-1"><a class="header-anchor" href="#_3-0-9" aria-hidden="true">#</a> 3.0.9</h2><ul><li>Fix Nord Pool input for current state node, to read data when payload is set to entity.</li></ul><h2 id="_3-0-8" tabindex="-1"><a class="header-anchor" href="#_3-0-8" aria-hidden="true">#</a> 3.0.8</h2><ul><li>Fix bug in Lowest Price node when period goes over midnight.</li><li>Fix documentation - lots of pages were failing.</li></ul><h2 id="_3-0-7" tabindex="-1"><a class="header-anchor" href="#_3-0-7" aria-hidden="true">#</a> 3.0.7</h2><ul><li>Fix Nord Pool current state node input.</li></ul><h2 id="_3-0-6" tabindex="-1"><a class="header-anchor" href="#_3-0-6" aria-hidden="true">#</a> 3.0.6</h2><ul><li>Remove non-existent node from package.json.</li></ul><h2 id="_3-0-5" tabindex="-1"><a class="header-anchor" href="#_3-0-5" aria-hidden="true">#</a> 3.0.5</h2><ul><li>Move dependencies to correct section (node_fetch and lodash.cloneDeep).</li></ul><h2 id="_3-0-4" tabindex="-1"><a class="header-anchor" href="#_3-0-4" aria-hidden="true">#</a> 3.0.4</h2><ul><li>Remove <code>null</code>-values from Nord Pool data for <code>tomorrow</code>.</li></ul><h2 id="_3-0-3" tabindex="-1"><a class="header-anchor" href="#_3-0-3" aria-hidden="true">#</a> 3.0.3</h2><ul><li>Fix bug in lowest price strategy, when period ends at midnight.</li><li>Fix labels for hours on, so they do not have leading zero.</li><li>Fix so source should be visible in output 3.</li></ul><h2 id="_3-0-2" tabindex="-1"><a class="header-anchor" href="#_3-0-2" aria-hidden="true">#</a> 3.0.2</h2><ul><li>Bugfix in Lowest Price node (not successful)</li></ul><h2 id="_3-0-1" tabindex="-1"><a class="header-anchor" href="#_3-0-1" aria-hidden="true">#</a> 3.0.1</h2><ul><li>Fix so elvia subscription key is stored as credential</li><li>Fix bug on config for strategy nodes. Config was not saved properly.</li><li>Remove double output bug, and better handling when hoursOn > period</li></ul><h2 id="_3-0-0" tabindex="-1"><a class="header-anchor" href="#_3-0-0" aria-hidden="true">#</a> 3.0.0</h2><ul><li>Deprecating old Power Saver node, adding multiple new nodes.</li><li>New node <code>ps-strategy-best-save</code> is replacing old node <code>Power Saver</code> together with the new <code>ps-receive-price</code> node.</li><li>Add new strategy node: <code>ps-strategy-lowest-price</code>.</li><li>Add new node: <code>ps-receive-price</code>.</li><li>Add grid tariff for Elvia customers, using the <code>ps-elvia-add-tariff</code> node.</li><li>New documentation.</li><li>Change node category to Power Saver.</li></ul><h2 id="_2-1-0" tabindex="-1"><a class="header-anchor" href="#_2-1-0" aria-hidden="true">#</a> 2.1.0</h2><ul><li>Accept config as input, making it possible to dynamically change config</li><li>Fix dropdown for config value for selecting output when there is no schedule</li><li>Improve config screen and documentation</li></ul><h2 id="_2-0-5" tabindex="-1"><a class="header-anchor" href="#_2-0-5" aria-hidden="true">#</a> 2.0.5</h2><ul><li>Update links to examples</li></ul><h2 id="_2-0-4" tabindex="-1"><a class="header-anchor" href="#_2-0-4" aria-hidden="true">#</a> 2.0.4</h2><ul><li>Update doc and add examples</li></ul><h2 id="_2-0-3" tabindex="-1"><a class="header-anchor" href="#_2-0-3" aria-hidden="true">#</a> 2.0.3</h2><ul><li>Bugfix</li></ul><h2 id="_2-0-2" tabindex="-1"><a class="header-anchor" href="#_2-0-2" aria-hidden="true">#</a> 2.0.2</h2><ul><li>Fix so Nord Pool data can be read directly from the current state node</li></ul><h2 id="_2-0-1" tabindex="-1"><a class="header-anchor" href="#_2-0-1" aria-hidden="true">#</a> 2.0.1</h2><ul><li>Fix bug that caused no schedule</li><li>Add config to output</li></ul><h2 id="_2-0-0" tabindex="-1"><a class="header-anchor" href="#_2-0-0" aria-hidden="true">#</a> 2.0.0</h2><ul><li>New and better algorithm to calculate savings, resulting in a better schedule.</li><li>Removed possibility to configure maximum hours to save per day, as this does not really make much sense.</li><li>Round savings to 4 decimals.</li><li>Set last savings hour to null when 0.</li></ul><h2 id="_1-0-9" tabindex="-1"><a class="header-anchor" href="#_1-0-9" aria-hidden="true">#</a> 1.0.9</h2><ul><li>Fix bug in saving last hour of the day.</li></ul><!--]--></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/7/2022, 11:36:08 PM</span></div><!----></footer><!----><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
|
|
13
|
-
<script src="/
|
|
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="/" 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="/guide/" class="nav-link" aria-label="Guide"><!--[--><!--]--> Guide <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/nodes/" class="nav-link" aria-label="Nodes"><!--[--><!--]--> Nodes <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/examples/" class="nav-link" aria-label="Examples"><!--[--><!--]--> Examples <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/faq/" class="nav-link" aria-label="FAQ"><!--[--><!--]--> FAQ <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/contribute/" class="nav-link" aria-label="Contribute"><!--[--><!--]--> Contribute <!--[--><!--]--></a></div><div class="navbar-links-item"><a aria-current="page" href="/changelog/" class="router-link-active router-link-exact-active nav-link router-link-active" 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="/guide/" class="nav-link" aria-label="Guide"><!--[--><!--]--> Guide <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/nodes/" class="nav-link" aria-label="Nodes"><!--[--><!--]--> Nodes <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/examples/" class="nav-link" aria-label="Examples"><!--[--><!--]--> Examples <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/faq/" class="nav-link" aria-label="FAQ"><!--[--><!--]--> FAQ <!--[--><!--]--></a></div><div class="navbar-links-item"><a href="/contribute/" class="nav-link" aria-label="Contribute"><!--[--><!--]--> Contribute <!--[--><!--]--></a></div><div class="navbar-links-item"><a aria-current="page" href="/changelog/" class="router-link-active router-link-exact-active nav-link router-link-active" 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">Change Log</p><ul class=""><li><!--[--><a aria-current="page" href="/changelog/#_3-3-1" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.3.1"><!--[--><!--]--> 3.3.1 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_3-3-0" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.3.0"><!--[--><!--]--> 3.3.0 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_3-2-3" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.2.3"><!--[--><!--]--> 3.2.3 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_3-2-2" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.2.2"><!--[--><!--]--> 3.2.2 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_3-2-1" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.2.1"><!--[--><!--]--> 3.2.1 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_3-2-0" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.2.0"><!--[--><!--]--> 3.2.0 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_3-1-2" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.1.2"><!--[--><!--]--> 3.1.2 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_3-1-1" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.1.1"><!--[--><!--]--> 3.1.1 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_3-1-0" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.1.0"><!--[--><!--]--> 3.1.0 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_3-0-10" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.0.10"><!--[--><!--]--> 3.0.10 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_3-0-9" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.0.9"><!--[--><!--]--> 3.0.9 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_3-0-8" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.0.8"><!--[--><!--]--> 3.0.8 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_3-0-7" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.0.7"><!--[--><!--]--> 3.0.7 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_3-0-6" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.0.6"><!--[--><!--]--> 3.0.6 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_3-0-5" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.0.5"><!--[--><!--]--> 3.0.5 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_3-0-4" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.0.4"><!--[--><!--]--> 3.0.4 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_3-0-3" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.0.3"><!--[--><!--]--> 3.0.3 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_3-0-2" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.0.2"><!--[--><!--]--> 3.0.2 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_3-0-1" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.0.1"><!--[--><!--]--> 3.0.1 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_3-0-0" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="3.0.0"><!--[--><!--]--> 3.0.0 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_2-1-0" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="2.1.0"><!--[--><!--]--> 2.1.0 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_2-0-5" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="2.0.5"><!--[--><!--]--> 2.0.5 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_2-0-4" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="2.0.4"><!--[--><!--]--> 2.0.4 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_2-0-3" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="2.0.3"><!--[--><!--]--> 2.0.3 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_2-0-2" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="2.0.2"><!--[--><!--]--> 2.0.2 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_2-0-1" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="2.0.1"><!--[--><!--]--> 2.0.1 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_2-0-0" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="2.0.0"><!--[--><!--]--> 2.0.0 <!--[--><!--]--></a><!----><!--]--></li><li><!--[--><a aria-current="page" href="/changelog/#_1-0-9" class="router-link-active router-link-exact-active nav-link sidebar-item" aria-label="1.0.9"><!--[--><!--]--> 1.0.9 <!--[--><!--]--></a><!----><!--]--></li></ul><!--]--><!--]--></ul><!--[--><!--]--></aside><!--]--><!--[--><main class="page"><!--[--><!--]--><div class="theme-default-content"><!--[--><h1 id="change-log" tabindex="-1"><a class="header-anchor" href="#change-log" aria-hidden="true">#</a> Change Log</h1><p>List the most significant changes, starting in version 1.0.9.</p><h2 id="_3-3-1" tabindex="-1"><a class="header-anchor" href="#_3-3-1" aria-hidden="true">#</a> 3.3.1</h2><ul><li>Move doc to <a href="power-saver.smoky.no">power-saver.smoky.no</a></li><li>Make tool to test the result of the best save node: <a href="/changelog/power-saver.smoky.no/faq/best-save-viewer.html" class="">Best Save Viewer</a></li></ul><h2 id="_3-3-0" tabindex="-1"><a class="header-anchor" href="#_3-3-0" aria-hidden="true">#</a> 3.3.0</h2><ul><li>Remove the config option to schedule from the current hour. The feature did not work, and it was not clear how it should work.</li><li>Added a dynamic command feature to make it possible to dynamically <ol><li>Tell the node to send the schedule to output 3.</li><li>Reset saved data making the next schedule to start without historical data.</li></ol></li><li>Fix node status so it says "No price data" when there is no price data available.</li><li>Added an FAQ section to the doc.</li></ul><h2 id="_3-2-3" tabindex="-1"><a class="header-anchor" href="#_3-2-3" aria-hidden="true">#</a> 3.2.3</h2><ul><li>Remove unused imports</li><li>Fix doc deployment issue</li></ul><h2 id="_3-2-2" tabindex="-1"><a class="header-anchor" href="#_3-2-2" aria-hidden="true">#</a> 3.2.2</h2><ul><li>New attempt to solve the problem with multiple outputs at the same time.</li></ul><h2 id="_3-2-1" tabindex="-1"><a class="header-anchor" href="#_3-2-1" aria-hidden="true">#</a> 3.2.1</h2><ul><li>Fix that may solve the problem with multiple outputs at the same time.</li></ul><h2 id="_3-2-0" tabindex="-1"><a class="header-anchor" href="#_3-2-0" aria-hidden="true">#</a> 3.2.0</h2><ul><li>Config can be sent on input to strategy nodes together with price data, in the same message.</li><li>The ps-receive-price and ps-xxx-add-tariff nodes pass config through from input to output.</li><li>Status on strategy nodes shows the time for the next change.</li></ul><h2 id="_3-1-2" tabindex="-1"><a class="header-anchor" href="#_3-1-2" aria-hidden="true">#</a> 3.1.2</h2><ul><li>Add time, version and current value to output from strategy nodes.</li></ul><h2 id="_3-1-1" tabindex="-1"><a class="header-anchor" href="#_3-1-1" aria-hidden="true">#</a> 3.1.1</h2><ul><li>Fix schedule for Lowest Price node so it uses data from previous day correctly. It sometimes failed when the selected period went over midnight.</li><li>Fix so old data in the Lowest Price node context is deleted.</li></ul><h2 id="_3-1-0" tabindex="-1"><a class="header-anchor" href="#_3-1-0" aria-hidden="true">#</a> 3.1.0</h2><ul><li>New node <code>ps-general-add-tariff</code> to add values that varies af fixed times during the day.</li></ul><h2 id="_3-0-10" tabindex="-1"><a class="header-anchor" href="#_3-0-10" aria-hidden="true">#</a> 3.0.10</h2><ul><li>Fix bug in ps-elvia-add-tariff so it connects to API.</li></ul><h2 id="_3-0-9" tabindex="-1"><a class="header-anchor" href="#_3-0-9" aria-hidden="true">#</a> 3.0.9</h2><ul><li>Fix Nord Pool input for current state node, to read data when payload is set to entity.</li></ul><h2 id="_3-0-8" tabindex="-1"><a class="header-anchor" href="#_3-0-8" aria-hidden="true">#</a> 3.0.8</h2><ul><li>Fix bug in Lowest Price node when period goes over midnight.</li><li>Fix documentation - lots of pages were failing.</li></ul><h2 id="_3-0-7" tabindex="-1"><a class="header-anchor" href="#_3-0-7" aria-hidden="true">#</a> 3.0.7</h2><ul><li>Fix Nord Pool current state node input.</li></ul><h2 id="_3-0-6" tabindex="-1"><a class="header-anchor" href="#_3-0-6" aria-hidden="true">#</a> 3.0.6</h2><ul><li>Remove non-existent node from package.json.</li></ul><h2 id="_3-0-5" tabindex="-1"><a class="header-anchor" href="#_3-0-5" aria-hidden="true">#</a> 3.0.5</h2><ul><li>Move dependencies to correct section (node_fetch and lodash.cloneDeep).</li></ul><h2 id="_3-0-4" tabindex="-1"><a class="header-anchor" href="#_3-0-4" aria-hidden="true">#</a> 3.0.4</h2><ul><li>Remove <code>null</code>-values from Nord Pool data for <code>tomorrow</code>.</li></ul><h2 id="_3-0-3" tabindex="-1"><a class="header-anchor" href="#_3-0-3" aria-hidden="true">#</a> 3.0.3</h2><ul><li>Fix bug in lowest price strategy, when period ends at midnight.</li><li>Fix labels for hours on, so they do not have leading zero.</li><li>Fix so source should be visible in output 3.</li></ul><h2 id="_3-0-2" tabindex="-1"><a class="header-anchor" href="#_3-0-2" aria-hidden="true">#</a> 3.0.2</h2><ul><li>Bugfix in Lowest Price node (not successful)</li></ul><h2 id="_3-0-1" tabindex="-1"><a class="header-anchor" href="#_3-0-1" aria-hidden="true">#</a> 3.0.1</h2><ul><li>Fix so elvia subscription key is stored as credential</li><li>Fix bug on config for strategy nodes. Config was not saved properly.</li><li>Remove double output bug, and better handling when hoursOn > period</li></ul><h2 id="_3-0-0" tabindex="-1"><a class="header-anchor" href="#_3-0-0" aria-hidden="true">#</a> 3.0.0</h2><ul><li>Deprecating old Power Saver node, adding multiple new nodes.</li><li>New node <code>ps-strategy-best-save</code> is replacing old node <code>Power Saver</code> together with the new <code>ps-receive-price</code> node.</li><li>Add new strategy node: <code>ps-strategy-lowest-price</code>.</li><li>Add new node: <code>ps-receive-price</code>.</li><li>Add grid tariff for Elvia customers, using the <code>ps-elvia-add-tariff</code> node.</li><li>New documentation.</li><li>Change node category to Power Saver.</li></ul><h2 id="_2-1-0" tabindex="-1"><a class="header-anchor" href="#_2-1-0" aria-hidden="true">#</a> 2.1.0</h2><ul><li>Accept config as input, making it possible to dynamically change config</li><li>Fix dropdown for config value for selecting output when there is no schedule</li><li>Improve config screen and documentation</li></ul><h2 id="_2-0-5" tabindex="-1"><a class="header-anchor" href="#_2-0-5" aria-hidden="true">#</a> 2.0.5</h2><ul><li>Update links to examples</li></ul><h2 id="_2-0-4" tabindex="-1"><a class="header-anchor" href="#_2-0-4" aria-hidden="true">#</a> 2.0.4</h2><ul><li>Update doc and add examples</li></ul><h2 id="_2-0-3" tabindex="-1"><a class="header-anchor" href="#_2-0-3" aria-hidden="true">#</a> 2.0.3</h2><ul><li>Bugfix</li></ul><h2 id="_2-0-2" tabindex="-1"><a class="header-anchor" href="#_2-0-2" aria-hidden="true">#</a> 2.0.2</h2><ul><li>Fix so Nord Pool data can be read directly from the current state node</li></ul><h2 id="_2-0-1" tabindex="-1"><a class="header-anchor" href="#_2-0-1" aria-hidden="true">#</a> 2.0.1</h2><ul><li>Fix bug that caused no schedule</li><li>Add config to output</li></ul><h2 id="_2-0-0" tabindex="-1"><a class="header-anchor" href="#_2-0-0" aria-hidden="true">#</a> 2.0.0</h2><ul><li>New and better algorithm to calculate savings, resulting in a better schedule.</li><li>Removed possibility to configure maximum hours to save per day, as this does not really make much sense.</li><li>Round savings to 4 decimals.</li><li>Set last savings hour to null when 0.</li></ul><h2 id="_1-0-9" tabindex="-1"><a class="header-anchor" href="#_1-0-9" aria-hidden="true">#</a> 1.0.9</h2><ul><li>Fix bug in saving last hour of the day.</li></ul><!--]--></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/24/2022, 7:07:31 PM</span></div><!----></footer><!----><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
|
|
13
|
+
<script src="/assets/js/runtime~app.47f4f812.js" defer></script><script src="/assets/js/619.8ba1b1f6.js" defer></script><script src="/assets/js/app.b705176c.js" defer></script>
|
|
14
14
|
</body>
|
|
15
15
|
</html>
|