node-red-contrib-power-saver 3.4.4 → 3.5.0
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/.github/workflows/{firebase-hosting-merge.yml → publish-doc-on-merge.yml} +6 -6
- package/.github/workflows/publish-to-npm.yml +23 -0
- package/.github/workflows/test-on-pull-request.yaml +13 -0
- package/docs/.vuepress/components/BestSaveVerificator.vue +1 -0
- package/docs/.vuepress/config.js +6 -43
- package/docs/.vuepress/navbar.js +43 -0
- package/docs/changelog/README.md +7 -1
- package/docs/examples/example-cascade-temperature-control.md +0 -13
- package/docs/examples/example-heat-capacitor.md +9 -20
- package/docs/examples/example-nordpool-current-state.md +0 -13
- package/docs/examples/example-nordpool-events-state.md +0 -13
- package/docs/examples/example-tibber-mqtt.md +0 -13
- package/docs/guide/README.md +20 -12
- package/docs/images/best-save-config.png +0 -0
- package/docs/images/lowest-price-config.png +0 -0
- package/docs/nodes/ps-strategy-best-save.md +67 -11
- package/docs/nodes/ps-strategy-lowest-price.md +69 -0
- package/package.json +1 -1
- package/src/elvia/elvia-add-tariff.html +1 -1
- package/src/handle-input.js +30 -10
- package/src/receive-price-functions.js +2 -0
- package/src/strategy-best-save.html +14 -0
- package/src/strategy-best-save.js +6 -2
- package/src/strategy-lowest-price.html +15 -2
- package/src/strategy-lowest-price.js +3 -1
- package/src/utils.js +3 -3
- package/test/data/lowest-price-result-cont.json +1 -0
- package/test/data/lowest-price-result-missing-end.json +1 -0
- package/test/data/lowest-price-result-split-allday.json +1 -0
- package/test/data/lowest-price-result-split-allday10.json +1 -0
- package/test/data/lowest-price-result-split.json +1 -0
- package/test/data/tibber-result-end-0-24h.json +1 -0
- package/test/data/tibber-result-end-0.json +1 -0
- package/.github/workflows/firebase-hosting-pull-request.yml +0 -17
- package/docs/.vuepress/dist/404.html +0 -33
- package/docs/.vuepress/dist/Ukraine-heart-shape-flag.png +0 -0
- package/docs/.vuepress/dist/assets/404.32f46df8.js +0 -1
- package/docs/.vuepress/dist/assets/404.html.bee13de6.js +0 -1
- package/docs/.vuepress/dist/assets/404.html.f166316b.js +0 -1
- package/docs/.vuepress/dist/assets/BestSaveVerificator.574001b7.js +0 -1
- package/docs/.vuepress/dist/assets/DonateButtons.ab660315.js +0 -1
- package/docs/.vuepress/dist/assets/Layout.1b8eeaf1.js +0 -1
- package/docs/.vuepress/dist/assets/add-tariff-flow.9e258f5b.png +0 -0
- package/docs/.vuepress/dist/assets/app.b3d8926b.js +0 -8
- package/docs/.vuepress/dist/assets/back-to-top.8efcbe56.svg +0 -1
- package/docs/.vuepress/dist/assets/best-save-config.70d29386.png +0 -0
- package/docs/.vuepress/dist/assets/best-save-viewer.html.bb64949a.js +0 -1
- package/docs/.vuepress/dist/assets/best-save-viewer.html.e897b3ac.js +0 -1
- package/docs/.vuepress/dist/assets/copy-payload-best-save.8b51cdf4.png +0 -0
- package/docs/.vuepress/dist/assets/elvia-config-no-config.7ea35c3b.png +0 -0
- package/docs/.vuepress/dist/assets/elvia-config-no-tariff.a208a0f3.png +0 -0
- package/docs/.vuepress/dist/assets/elvia-config-select-tariff.48562d43.png +0 -0
- package/docs/.vuepress/dist/assets/elvia-config-subscription-key.3368b931.png +0 -0
- package/docs/.vuepress/dist/assets/elvia-flow.a8b126d6.png +0 -0
- package/docs/.vuepress/dist/assets/example-cascade-temperature-control.html.3632cc6c.js +0 -272
- package/docs/.vuepress/dist/assets/example-cascade-temperature-control.html.5a363ecf.js +0 -1
- package/docs/.vuepress/dist/assets/example-flow-1.971bbb87.png +0 -0
- package/docs/.vuepress/dist/assets/example-flow-2.a0c62ed7.png +0 -0
- package/docs/.vuepress/dist/assets/example-heat-capacitor.html.89cdea26.js +0 -1
- package/docs/.vuepress/dist/assets/example-heat-capacitor.html.b87ab267.js +0 -215
- package/docs/.vuepress/dist/assets/example-next-schedule-entity.html.dd06a4d6.js +0 -11
- package/docs/.vuepress/dist/assets/example-next-schedule-entity.html.fc8e9124.js +0 -1
- package/docs/.vuepress/dist/assets/example-nordpool-current-state.html.278abccb.js +0 -1
- package/docs/.vuepress/dist/assets/example-nordpool-current-state.html.8eca9b26.js +0 -174
- package/docs/.vuepress/dist/assets/example-nordpool-events-state.html.05c3331c.js +0 -159
- package/docs/.vuepress/dist/assets/example-nordpool-events-state.html.47dbda83.js +0 -1
- package/docs/.vuepress/dist/assets/example-tibber-mqtt.html.bed6459b.js +0 -1
- package/docs/.vuepress/dist/assets/example-tibber-mqtt.html.ce7f09e2.js +0 -167
- package/docs/.vuepress/dist/assets/heat-capacitor-temperatureVsPrice.19bc8932.png +0 -0
- package/docs/.vuepress/dist/assets/index.html.21bfa52e.js +0 -1
- package/docs/.vuepress/dist/assets/index.html.350682d1.js +0 -38
- package/docs/.vuepress/dist/assets/index.html.3bbc4fe4.js +0 -1
- package/docs/.vuepress/dist/assets/index.html.485a4abc.js +0 -1
- package/docs/.vuepress/dist/assets/index.html.49024575.js +0 -1
- package/docs/.vuepress/dist/assets/index.html.4c0ec52b.js +0 -1
- package/docs/.vuepress/dist/assets/index.html.54f6072c.js +0 -1
- package/docs/.vuepress/dist/assets/index.html.75c4e015.js +0 -1
- package/docs/.vuepress/dist/assets/index.html.7857db23.js +0 -1
- package/docs/.vuepress/dist/assets/index.html.797b027e.js +0 -1
- package/docs/.vuepress/dist/assets/index.html.88f59477.js +0 -1
- package/docs/.vuepress/dist/assets/index.html.c4e8bf36.js +0 -1
- package/docs/.vuepress/dist/assets/index.html.c98d742c.js +0 -1
- package/docs/.vuepress/dist/assets/index.html.edb1389f.js +0 -1
- package/docs/.vuepress/dist/assets/lowest-price-config.d7043621.png +0 -0
- package/docs/.vuepress/dist/assets/migrate-best-save.dcc20d06.js +0 -1
- package/docs/.vuepress/dist/assets/migrate-best-save.ec036b00.png +0 -0
- package/docs/.vuepress/dist/assets/migrate-power-saver.98ee9f2e.png +0 -0
- package/docs/.vuepress/dist/assets/mysterious-plan.687d8b75.png +0 -0
- package/docs/.vuepress/dist/assets/next-schedule-entity.418ab6ec.png +0 -0
- package/docs/.vuepress/dist/assets/next-schedule-flow.862dea60.png +0 -0
- package/docs/.vuepress/dist/assets/next-schedule-sensor.87198baf.png +0 -0
- package/docs/.vuepress/dist/assets/node-power-saver.3a115c24.js +0 -1
- package/docs/.vuepress/dist/assets/node-power-saver.feb2d4fb.png +0 -0
- package/docs/.vuepress/dist/assets/node-ps-elvia-add-tariff.0bff05a9.png +0 -0
- package/docs/.vuepress/dist/assets/node-ps-elvia-add-tariff.57baddc7.js +0 -1
- package/docs/.vuepress/dist/assets/node-ps-general-add-tariff.17755af1.js +0 -1
- package/docs/.vuepress/dist/assets/node-ps-general-add-tariff.5a5c98c6.png +0 -0
- package/docs/.vuepress/dist/assets/node-ps-receive-price.3587e62e.png +0 -0
- package/docs/.vuepress/dist/assets/node-ps-receive-price.dbc5e137.js +0 -1
- package/docs/.vuepress/dist/assets/node-ps-strategy-best-save.13861759.png +0 -0
- package/docs/.vuepress/dist/assets/node-ps-strategy-best-save.516d9e66.js +0 -1
- package/docs/.vuepress/dist/assets/node-ps-strategy-heat-capacitor-cascade-control.f35cce75.png +0 -0
- package/docs/.vuepress/dist/assets/node-ps-strategy-heat-capacitor-simple-flow-example.099aa155.js +0 -1
- package/docs/.vuepress/dist/assets/node-ps-strategy-heat-capacitor-simple-flow-example.5b712b3b.png +0 -0
- package/docs/.vuepress/dist/assets/node-ps-strategy-heat-capacitor.e7736c9e.js +0 -1
- package/docs/.vuepress/dist/assets/node-ps-strategy-lowest-price.4e5c38ee.png +0 -0
- package/docs/.vuepress/dist/assets/node-ps-strategy-lowest-price.83209fac.js +0 -1
- package/docs/.vuepress/dist/assets/old-power-saver-doc.html.c7324541.js +0 -1
- package/docs/.vuepress/dist/assets/old-power-saver-doc.html.f428e475.js +0 -83
- package/docs/.vuepress/dist/assets/oven-setpoint-calculation.47b65429.png +0 -0
- package/docs/.vuepress/dist/assets/overshoot-time.2c4e3929.png +0 -0
- package/docs/.vuepress/dist/assets/plugin-vue_export-helper.21dcd24c.js +0 -1
- package/docs/.vuepress/dist/assets/power-saver-nordpool-current-state.cbe8e48a.png +0 -0
- package/docs/.vuepress/dist/assets/power-saver-nordpool-events-state.a764b813.png +0 -0
- package/docs/.vuepress/dist/assets/power-saver-tibber-mqtt.c04fb150.png +0 -0
- package/docs/.vuepress/dist/assets/power-saver.html.4baca6ba.js +0 -1
- package/docs/.vuepress/dist/assets/power-saver.html.875a1f0e.js +0 -1
- package/docs/.vuepress/dist/assets/ps-elvia-add-tariff.html.05d3ab1b.js +0 -1
- package/docs/.vuepress/dist/assets/ps-elvia-add-tariff.html.dce36de0.js +0 -1
- package/docs/.vuepress/dist/assets/ps-general-add-tariff.html.3056f433.js +0 -1
- package/docs/.vuepress/dist/assets/ps-general-add-tariff.html.3cce3e4d.js +0 -1
- package/docs/.vuepress/dist/assets/ps-receive-price.html.0d762910.js +0 -66
- package/docs/.vuepress/dist/assets/ps-receive-price.html.53dde398.js +0 -1
- package/docs/.vuepress/dist/assets/ps-strategy-best-save.html.503ecfbe.js +0 -1
- package/docs/.vuepress/dist/assets/ps-strategy-best-save.html.9b0747bf.js +0 -72
- package/docs/.vuepress/dist/assets/ps-strategy-heat-capacitor.html.53b3383d.js +0 -228
- package/docs/.vuepress/dist/assets/ps-strategy-heat-capacitor.html.b7849bf7.js +0 -1
- package/docs/.vuepress/dist/assets/ps-strategy-lowest-price.html.1e419f56.js +0 -92
- package/docs/.vuepress/dist/assets/ps-strategy-lowest-price.html.f006d811.js +0 -1
- package/docs/.vuepress/dist/assets/strategy-input.html.6d452f16.js +0 -26
- package/docs/.vuepress/dist/assets/strategy-input.html.8a16d321.js +0 -1
- package/docs/.vuepress/dist/assets/style.a8aae67b.css +0 -1
- package/docs/.vuepress/dist/assets/temperature-manipulation-config.a0e0439b.png +0 -0
- package/docs/.vuepress/dist/changelog/index.html +0 -33
- package/docs/.vuepress/dist/contribute/index.html +0 -33
- package/docs/.vuepress/dist/euro.png +0 -0
- package/docs/.vuepress/dist/examples/example-cascade-temperature-control.html +0 -304
- package/docs/.vuepress/dist/examples/example-heat-capacitor.html +0 -247
- package/docs/.vuepress/dist/examples/example-next-schedule-entity.html +0 -43
- package/docs/.vuepress/dist/examples/example-nordpool-current-state.html +0 -206
- package/docs/.vuepress/dist/examples/example-nordpool-events-state.html +0 -191
- package/docs/.vuepress/dist/examples/example-tibber-mqtt.html +0 -199
- package/docs/.vuepress/dist/examples/index.html +0 -33
- package/docs/.vuepress/dist/faq/best-save-viewer.html +0 -33
- package/docs/.vuepress/dist/faq/index.html +0 -33
- package/docs/.vuepress/dist/guide/index.html +0 -70
- package/docs/.vuepress/dist/index.html +0 -33
- package/docs/.vuepress/dist/logo.png +0 -0
- package/docs/.vuepress/dist/nodes/index.html +0 -33
- package/docs/.vuepress/dist/nodes/old-power-saver-doc.html +0 -115
- package/docs/.vuepress/dist/nodes/power-saver.html +0 -33
- package/docs/.vuepress/dist/nodes/ps-elvia-add-tariff.html +0 -33
- package/docs/.vuepress/dist/nodes/ps-general-add-tariff.html +0 -33
- package/docs/.vuepress/dist/nodes/ps-receive-price.html +0 -98
- package/docs/.vuepress/dist/nodes/ps-strategy-best-save.html +0 -104
- package/docs/.vuepress/dist/nodes/ps-strategy-heat-capacitor.html +0 -260
- package/docs/.vuepress/dist/nodes/ps-strategy-lowest-price.html +0 -124
- package/docs/.vuepress/dist/nodes/strategy-input.html +0 -58
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import{x as s}from"./app.b3d8926b.js";import{_ as n}from"./plugin-vue_export-helper.21dcd24c.js";var a="/assets/power-saver-nordpool-events-state.a764b813.png";const t={},p=s('<h1 id="nord-pool-and-events-state-node" tabindex="-1"><a class="header-anchor" href="#nord-pool-and-events-state-node" aria-hidden="true">#</a> Nord Pool and events: state node</h1><h2 id="description" tabindex="-1"><a class="header-anchor" href="#description" aria-hidden="true">#</a> Description</h2><p>In this example, data is read from the Nord Pool sensor in HA via the <code>events: state</code> node. The <code>ps-lowest-price</code> node is used to control a switch, controlled by <code>call service</code> nodes in Home Assistant, to turn on the cheapest 4 hours between 18:00 and 08:00. The schedule is printed to a debug node. The flow is triggered every time the Nord Pool sensor receives new prices.</p><p><img src="'+a+`" alt="Example with Tibber and MQTT"></p><h2 id="flow" tabindex="-1"><a class="header-anchor" href="#flow" aria-hidden="true">#</a> Flow</h2><div class="language-json ext-json"><pre class="language-json"><code><span class="token punctuation">[</span>
|
|
2
|
-
<span class="token punctuation">{</span>
|
|
3
|
-
<span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"3662aca5.dfe974"</span><span class="token punctuation">,</span>
|
|
4
|
-
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"server-state-changed"</span><span class="token punctuation">,</span>
|
|
5
|
-
<span class="token property">"z"</span><span class="token operator">:</span> <span class="token string">"d938c47f.3398f8"</span><span class="token punctuation">,</span>
|
|
6
|
-
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Nord Pool sensor"</span><span class="token punctuation">,</span>
|
|
7
|
-
<span class="token property">"server"</span><span class="token operator">:</span> <span class="token string">"ec4a12a1.b2be9"</span><span class="token punctuation">,</span>
|
|
8
|
-
<span class="token property">"version"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
|
|
9
|
-
<span class="token property">"exposeToHomeAssistant"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
10
|
-
<span class="token property">"haConfig"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
11
|
-
<span class="token punctuation">{</span>
|
|
12
|
-
<span class="token property">"property"</span><span class="token operator">:</span> <span class="token string">"name"</span><span class="token punctuation">,</span>
|
|
13
|
-
<span class="token property">"value"</span><span class="token operator">:</span> <span class="token string">""</span>
|
|
14
|
-
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
15
|
-
<span class="token punctuation">{</span>
|
|
16
|
-
<span class="token property">"property"</span><span class="token operator">:</span> <span class="token string">"icon"</span><span class="token punctuation">,</span>
|
|
17
|
-
<span class="token property">"value"</span><span class="token operator">:</span> <span class="token string">""</span>
|
|
18
|
-
<span class="token punctuation">}</span>
|
|
19
|
-
<span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
20
|
-
<span class="token property">"entityidfilter"</span><span class="token operator">:</span> <span class="token string">"sensor.nordpool_kwh_trheim_nok_3_095_025"</span><span class="token punctuation">,</span>
|
|
21
|
-
<span class="token property">"entityidfiltertype"</span><span class="token operator">:</span> <span class="token string">"exact"</span><span class="token punctuation">,</span>
|
|
22
|
-
<span class="token property">"outputinitially"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
23
|
-
<span class="token property">"state_type"</span><span class="token operator">:</span> <span class="token string">"str"</span><span class="token punctuation">,</span>
|
|
24
|
-
<span class="token property">"haltifstate"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>
|
|
25
|
-
<span class="token property">"halt_if_type"</span><span class="token operator">:</span> <span class="token string">"str"</span><span class="token punctuation">,</span>
|
|
26
|
-
<span class="token property">"halt_if_compare"</span><span class="token operator">:</span> <span class="token string">"is"</span><span class="token punctuation">,</span>
|
|
27
|
-
<span class="token property">"outputs"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>
|
|
28
|
-
<span class="token property">"output_only_on_state_change"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
29
|
-
<span class="token property">"for"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
30
|
-
<span class="token property">"forType"</span><span class="token operator">:</span> <span class="token string">"num"</span><span class="token punctuation">,</span>
|
|
31
|
-
<span class="token property">"forUnits"</span><span class="token operator">:</span> <span class="token string">"minutes"</span><span class="token punctuation">,</span>
|
|
32
|
-
<span class="token property">"ignorePrevStateNull"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
33
|
-
<span class="token property">"ignorePrevStateUnknown"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
34
|
-
<span class="token property">"ignorePrevStateUnavailable"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
35
|
-
<span class="token property">"ignoreCurrentStateUnknown"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
36
|
-
<span class="token property">"ignoreCurrentStateUnavailable"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
37
|
-
<span class="token property">"outputProperties"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
38
|
-
<span class="token punctuation">{</span>
|
|
39
|
-
<span class="token property">"property"</span><span class="token operator">:</span> <span class="token string">"payload"</span><span class="token punctuation">,</span>
|
|
40
|
-
<span class="token property">"propertyType"</span><span class="token operator">:</span> <span class="token string">"msg"</span><span class="token punctuation">,</span>
|
|
41
|
-
<span class="token property">"value"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>
|
|
42
|
-
<span class="token property">"valueType"</span><span class="token operator">:</span> <span class="token string">"entityState"</span>
|
|
43
|
-
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
44
|
-
<span class="token punctuation">{</span>
|
|
45
|
-
<span class="token property">"property"</span><span class="token operator">:</span> <span class="token string">"data"</span><span class="token punctuation">,</span>
|
|
46
|
-
<span class="token property">"propertyType"</span><span class="token operator">:</span> <span class="token string">"msg"</span><span class="token punctuation">,</span>
|
|
47
|
-
<span class="token property">"value"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>
|
|
48
|
-
<span class="token property">"valueType"</span><span class="token operator">:</span> <span class="token string">"eventData"</span>
|
|
49
|
-
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
50
|
-
<span class="token punctuation">{</span>
|
|
51
|
-
<span class="token property">"property"</span><span class="token operator">:</span> <span class="token string">"topic"</span><span class="token punctuation">,</span>
|
|
52
|
-
<span class="token property">"propertyType"</span><span class="token operator">:</span> <span class="token string">"msg"</span><span class="token punctuation">,</span>
|
|
53
|
-
<span class="token property">"value"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>
|
|
54
|
-
<span class="token property">"valueType"</span><span class="token operator">:</span> <span class="token string">"triggerId"</span>
|
|
55
|
-
<span class="token punctuation">}</span>
|
|
56
|
-
<span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
57
|
-
<span class="token property">"x"</span><span class="token operator">:</span> <span class="token number">120</span><span class="token punctuation">,</span>
|
|
58
|
-
<span class="token property">"y"</span><span class="token operator">:</span> <span class="token number">620</span><span class="token punctuation">,</span>
|
|
59
|
-
<span class="token property">"wires"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">[</span><span class="token string">"e21a4b49adea2350"</span><span class="token punctuation">]</span><span class="token punctuation">]</span>
|
|
60
|
-
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
61
|
-
<span class="token punctuation">{</span>
|
|
62
|
-
<span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"ed7202ff.b5725"</span><span class="token punctuation">,</span>
|
|
63
|
-
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"debug"</span><span class="token punctuation">,</span>
|
|
64
|
-
<span class="token property">"z"</span><span class="token operator">:</span> <span class="token string">"d938c47f.3398f8"</span><span class="token punctuation">,</span>
|
|
65
|
-
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Nord Pool result"</span><span class="token punctuation">,</span>
|
|
66
|
-
<span class="token property">"active"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
67
|
-
<span class="token property">"tosidebar"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
68
|
-
<span class="token property">"console"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
69
|
-
<span class="token property">"tostatus"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
70
|
-
<span class="token property">"complete"</span><span class="token operator">:</span> <span class="token string">"true"</span><span class="token punctuation">,</span>
|
|
71
|
-
<span class="token property">"targetType"</span><span class="token operator">:</span> <span class="token string">"full"</span><span class="token punctuation">,</span>
|
|
72
|
-
<span class="token property">"statusVal"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>
|
|
73
|
-
<span class="token property">"statusType"</span><span class="token operator">:</span> <span class="token string">"auto"</span><span class="token punctuation">,</span>
|
|
74
|
-
<span class="token property">"x"</span><span class="token operator">:</span> <span class="token number">720</span><span class="token punctuation">,</span>
|
|
75
|
-
<span class="token property">"y"</span><span class="token operator">:</span> <span class="token number">680</span><span class="token punctuation">,</span>
|
|
76
|
-
<span class="token property">"wires"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">]</span>
|
|
77
|
-
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
78
|
-
<span class="token punctuation">{</span>
|
|
79
|
-
<span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"32f17ab2.927cf6"</span><span class="token punctuation">,</span>
|
|
80
|
-
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"api-call-service"</span><span class="token punctuation">,</span>
|
|
81
|
-
<span class="token property">"z"</span><span class="token operator">:</span> <span class="token string">"d938c47f.3398f8"</span><span class="token punctuation">,</span>
|
|
82
|
-
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Turn on"</span><span class="token punctuation">,</span>
|
|
83
|
-
<span class="token property">"server"</span><span class="token operator">:</span> <span class="token string">"ec4a12a1.b2be9"</span><span class="token punctuation">,</span>
|
|
84
|
-
<span class="token property">"version"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
|
|
85
|
-
<span class="token property">"debugenabled"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
86
|
-
<span class="token property">"service_domain"</span><span class="token operator">:</span> <span class="token string">"switch"</span><span class="token punctuation">,</span>
|
|
87
|
-
<span class="token property">"service"</span><span class="token operator">:</span> <span class="token string">"turn_on"</span><span class="token punctuation">,</span>
|
|
88
|
-
<span class="token property">"entityId"</span><span class="token operator">:</span> <span class="token string">"switch.varmtvannsbereder_switch"</span><span class="token punctuation">,</span>
|
|
89
|
-
<span class="token property">"data"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>
|
|
90
|
-
<span class="token property">"dataType"</span><span class="token operator">:</span> <span class="token string">"jsonata"</span><span class="token punctuation">,</span>
|
|
91
|
-
<span class="token property">"mergecontext"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>
|
|
92
|
-
<span class="token property">"mustacheAltTags"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
93
|
-
<span class="token property">"outputProperties"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
94
|
-
<span class="token property">"queue"</span><span class="token operator">:</span> <span class="token string">"none"</span><span class="token punctuation">,</span>
|
|
95
|
-
<span class="token property">"x"</span><span class="token operator">:</span> <span class="token number">700</span><span class="token punctuation">,</span>
|
|
96
|
-
<span class="token property">"y"</span><span class="token operator">:</span> <span class="token number">580</span><span class="token punctuation">,</span>
|
|
97
|
-
<span class="token property">"wires"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">]</span>
|
|
98
|
-
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
99
|
-
<span class="token punctuation">{</span>
|
|
100
|
-
<span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"2a3cd7db.0891f8"</span><span class="token punctuation">,</span>
|
|
101
|
-
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"api-call-service"</span><span class="token punctuation">,</span>
|
|
102
|
-
<span class="token property">"z"</span><span class="token operator">:</span> <span class="token string">"d938c47f.3398f8"</span><span class="token punctuation">,</span>
|
|
103
|
-
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Turn off"</span><span class="token punctuation">,</span>
|
|
104
|
-
<span class="token property">"server"</span><span class="token operator">:</span> <span class="token string">"ec4a12a1.b2be9"</span><span class="token punctuation">,</span>
|
|
105
|
-
<span class="token property">"version"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
|
|
106
|
-
<span class="token property">"debugenabled"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
107
|
-
<span class="token property">"service_domain"</span><span class="token operator">:</span> <span class="token string">"switch"</span><span class="token punctuation">,</span>
|
|
108
|
-
<span class="token property">"service"</span><span class="token operator">:</span> <span class="token string">"turn_off"</span><span class="token punctuation">,</span>
|
|
109
|
-
<span class="token property">"entityId"</span><span class="token operator">:</span> <span class="token string">"switch.varmtvannsbereder_switch"</span><span class="token punctuation">,</span>
|
|
110
|
-
<span class="token property">"data"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>
|
|
111
|
-
<span class="token property">"dataType"</span><span class="token operator">:</span> <span class="token string">"json"</span><span class="token punctuation">,</span>
|
|
112
|
-
<span class="token property">"mergecontext"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>
|
|
113
|
-
<span class="token property">"mustacheAltTags"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
114
|
-
<span class="token property">"outputProperties"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
115
|
-
<span class="token property">"queue"</span><span class="token operator">:</span> <span class="token string">"none"</span><span class="token punctuation">,</span>
|
|
116
|
-
<span class="token property">"x"</span><span class="token operator">:</span> <span class="token number">700</span><span class="token punctuation">,</span>
|
|
117
|
-
<span class="token property">"y"</span><span class="token operator">:</span> <span class="token number">620</span><span class="token punctuation">,</span>
|
|
118
|
-
<span class="token property">"wires"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">]</span>
|
|
119
|
-
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
120
|
-
<span class="token punctuation">{</span>
|
|
121
|
-
<span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"e21a4b49adea2350"</span><span class="token punctuation">,</span>
|
|
122
|
-
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"ps-receive-price"</span><span class="token punctuation">,</span>
|
|
123
|
-
<span class="token property">"z"</span><span class="token operator">:</span> <span class="token string">"d938c47f.3398f8"</span><span class="token punctuation">,</span>
|
|
124
|
-
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Price Receiver"</span><span class="token punctuation">,</span>
|
|
125
|
-
<span class="token property">"x"</span><span class="token operator">:</span> <span class="token number">310</span><span class="token punctuation">,</span>
|
|
126
|
-
<span class="token property">"y"</span><span class="token operator">:</span> <span class="token number">620</span><span class="token punctuation">,</span>
|
|
127
|
-
<span class="token property">"wires"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">[</span><span class="token string">"391ac08890e0dd40"</span><span class="token punctuation">]</span><span class="token punctuation">]</span>
|
|
128
|
-
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
129
|
-
<span class="token punctuation">{</span>
|
|
130
|
-
<span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"391ac08890e0dd40"</span><span class="token punctuation">,</span>
|
|
131
|
-
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"ps-strategy-lowest-price"</span><span class="token punctuation">,</span>
|
|
132
|
-
<span class="token property">"z"</span><span class="token operator">:</span> <span class="token string">"d938c47f.3398f8"</span><span class="token punctuation">,</span>
|
|
133
|
-
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Lowest Price"</span><span class="token punctuation">,</span>
|
|
134
|
-
<span class="token property">"fromTime"</span><span class="token operator">:</span> <span class="token string">"18"</span><span class="token punctuation">,</span>
|
|
135
|
-
<span class="token property">"toTime"</span><span class="token operator">:</span> <span class="token string">"08"</span><span class="token punctuation">,</span>
|
|
136
|
-
<span class="token property">"hoursOn"</span><span class="token operator">:</span> <span class="token string">"04"</span><span class="token punctuation">,</span>
|
|
137
|
-
<span class="token property">"doNotSplit"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
138
|
-
<span class="token property">"sendCurrentValueWhenRescheduling"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
139
|
-
<span class="token property">"outputIfNoSchedule"</span><span class="token operator">:</span> <span class="token string">"false"</span><span class="token punctuation">,</span>
|
|
140
|
-
<span class="token property">"outputOutsidePeriod"</span><span class="token operator">:</span> <span class="token string">"false"</span><span class="token punctuation">,</span>
|
|
141
|
-
<span class="token property">"x"</span><span class="token operator">:</span> <span class="token number">490</span><span class="token punctuation">,</span>
|
|
142
|
-
<span class="token property">"y"</span><span class="token operator">:</span> <span class="token number">620</span><span class="token punctuation">,</span>
|
|
143
|
-
<span class="token property">"wires"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">[</span><span class="token string">"32f17ab2.927cf6"</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token punctuation">[</span><span class="token string">"2a3cd7db.0891f8"</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token punctuation">[</span><span class="token string">"ed7202ff.b5725"</span><span class="token punctuation">]</span><span class="token punctuation">]</span>
|
|
144
|
-
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
145
|
-
<span class="token punctuation">{</span>
|
|
146
|
-
<span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"ec4a12a1.b2be9"</span><span class="token punctuation">,</span>
|
|
147
|
-
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"server"</span><span class="token punctuation">,</span>
|
|
148
|
-
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Home Assistant"</span><span class="token punctuation">,</span>
|
|
149
|
-
<span class="token property">"version"</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span>
|
|
150
|
-
<span class="token property">"addon"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
151
|
-
<span class="token property">"rejectUnauthorizedCerts"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
152
|
-
<span class="token property">"ha_boolean"</span><span class="token operator">:</span> <span class="token string">"y|yes|true|on|home|open"</span><span class="token punctuation">,</span>
|
|
153
|
-
<span class="token property">"connectionDelay"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
154
|
-
<span class="token property">"cacheJson"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
155
|
-
<span class="token property">"heartbeat"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
156
|
-
<span class="token property">"heartbeatInterval"</span><span class="token operator">:</span> <span class="token number">30</span>
|
|
157
|
-
<span class="token punctuation">}</span>
|
|
158
|
-
<span class="token punctuation">]</span>
|
|
159
|
-
</code></pre></div>`,6);function o(e,u){return p}var l=n(t,[["render",o]]);export{l as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e={key:"v-30acb564",path:"/examples/example-nordpool-events-state.html",title:"Nord Pool and events: state node",lang:"en-US",frontmatter:{},excerpt:"",headers:[{level:2,title:"Description",slug:"description",children:[]},{level:2,title:"Flow",slug:"flow",children:[]}],git:{updatedTime:1639315027e3},filePathRelative:"examples/example-nordpool-events-state.md"};export{e as data};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e={key:"v-5db8da3a",path:"/examples/example-tibber-mqtt.html",title:"Tibber, a switch and MQTT",lang:"en-US",frontmatter:{},excerpt:"",headers:[{level:2,title:"Description",slug:"description",children:[]},{level:2,title:"Flow",slug:"flow",children:[]}],git:{updatedTime:1642369461e3},filePathRelative:"examples/example-tibber-mqtt.md"};export{e as data};
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import{m as t,o as p,d as o,f as s,q as e,F as u,l as n,x as c}from"./app.b3d8926b.js";import{_ as r}from"./plugin-vue_export-helper.21dcd24c.js";var l="/assets/power-saver-tibber-mqtt.c04fb150.png";const k={},q=s("h1",{id:"tibber-a-switch-and-mqtt",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#tibber-a-switch-and-mqtt","aria-hidden":"true"},"#"),n(" Tibber, a switch and MQTT")],-1),i=s("h2",{id:"description",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#description","aria-hidden":"true"},"#"),n(" Description")],-1),y=n("In this example, data is read from Tibber and used to turn on/off a switch, scheduled by the "),b=s("code",null,"ps-best-save",-1),d=n(" node to be off up to 5 hours in a row, but only if at least 5 cents/\xF8re is saved per kWh. Data is also sent to MQTT, for example to be displayed on "),g={href:"https://magicmirror.builders/",target:"_blank",rel:"noopener noreferrer"},f=n("Magic Mirror"),m=n("."),h=c('<p><img src="'+l+`" alt="Example with Tibber and MQTT"></p><h2 id="flow" tabindex="-1"><a class="header-anchor" href="#flow" aria-hidden="true">#</a> Flow</h2><div class="language-json ext-json"><pre class="language-json"><code><span class="token punctuation">[</span>
|
|
2
|
-
<span class="token punctuation">{</span>
|
|
3
|
-
<span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"467a5fe.d0bbba"</span><span class="token punctuation">,</span>
|
|
4
|
-
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"mqtt out"</span><span class="token punctuation">,</span>
|
|
5
|
-
<span class="token property">"z"</span><span class="token operator">:</span> <span class="token string">"d938c47f.3398f8"</span><span class="token punctuation">,</span>
|
|
6
|
-
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Send switch to MM"</span><span class="token punctuation">,</span>
|
|
7
|
-
<span class="token property">"topic"</span><span class="token operator">:</span> <span class="token string">"powersaver/switch"</span><span class="token punctuation">,</span>
|
|
8
|
-
<span class="token property">"qos"</span><span class="token operator">:</span> <span class="token string">"0"</span><span class="token punctuation">,</span>
|
|
9
|
-
<span class="token property">"retain"</span><span class="token operator">:</span> <span class="token string">"false"</span><span class="token punctuation">,</span>
|
|
10
|
-
<span class="token property">"broker"</span><span class="token operator">:</span> <span class="token string">"24fbcfb5.569ea"</span><span class="token punctuation">,</span>
|
|
11
|
-
<span class="token property">"x"</span><span class="token operator">:</span> <span class="token number">730</span><span class="token punctuation">,</span>
|
|
12
|
-
<span class="token property">"y"</span><span class="token operator">:</span> <span class="token number">120</span><span class="token punctuation">,</span>
|
|
13
|
-
<span class="token property">"wires"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">]</span>
|
|
14
|
-
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
15
|
-
<span class="token punctuation">{</span>
|
|
16
|
-
<span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"ab2d599a.077738"</span><span class="token punctuation">,</span>
|
|
17
|
-
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"tibber-query"</span><span class="token punctuation">,</span>
|
|
18
|
-
<span class="token property">"z"</span><span class="token operator">:</span> <span class="token string">"d938c47f.3398f8"</span><span class="token punctuation">,</span>
|
|
19
|
-
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Get Tibber prices"</span><span class="token punctuation">,</span>
|
|
20
|
-
<span class="token property">"active"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
21
|
-
<span class="token property">"apiEndpointRef"</span><span class="token operator">:</span> <span class="token string">"b70ec5d0.6f8f08"</span><span class="token punctuation">,</span>
|
|
22
|
-
<span class="token property">"x"</span><span class="token operator">:</span> <span class="token number">470</span><span class="token punctuation">,</span>
|
|
23
|
-
<span class="token property">"y"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>
|
|
24
|
-
<span class="token property">"wires"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">[</span><span class="token string">"0ef929fde193cf4d"</span><span class="token punctuation">]</span><span class="token punctuation">]</span>
|
|
25
|
-
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
26
|
-
<span class="token punctuation">{</span>
|
|
27
|
-
<span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"4f11b5ae.4cc22c"</span><span class="token punctuation">,</span>
|
|
28
|
-
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"inject"</span><span class="token punctuation">,</span>
|
|
29
|
-
<span class="token property">"z"</span><span class="token operator">:</span> <span class="token string">"d938c47f.3398f8"</span><span class="token punctuation">,</span>
|
|
30
|
-
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Refresh"</span><span class="token punctuation">,</span>
|
|
31
|
-
<span class="token property">"props"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
32
|
-
<span class="token punctuation">{</span>
|
|
33
|
-
<span class="token property">"p"</span><span class="token operator">:</span> <span class="token string">"payload"</span>
|
|
34
|
-
<span class="token punctuation">}</span>
|
|
35
|
-
<span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
36
|
-
<span class="token property">"repeat"</span><span class="token operator">:</span> <span class="token string">"3600"</span><span class="token punctuation">,</span>
|
|
37
|
-
<span class="token property">"crontab"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>
|
|
38
|
-
<span class="token property">"once"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
39
|
-
<span class="token property">"onceDelay"</span><span class="token operator">:</span> <span class="token string">"1"</span><span class="token punctuation">,</span>
|
|
40
|
-
<span class="token property">"topic"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>
|
|
41
|
-
<span class="token property">"payload"</span><span class="token operator">:</span> <span class="token string">"{ viewer { homes { currentSubscription{ priceInfo{ today { total startsAt } tomorrow { total startsAt } } } } } }"</span><span class="token punctuation">,</span>
|
|
42
|
-
<span class="token property">"payloadType"</span><span class="token operator">:</span> <span class="token string">"str"</span><span class="token punctuation">,</span>
|
|
43
|
-
<span class="token property">"x"</span><span class="token operator">:</span> <span class="token number">280</span><span class="token punctuation">,</span>
|
|
44
|
-
<span class="token property">"y"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>
|
|
45
|
-
<span class="token property">"wires"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">[</span><span class="token string">"ab2d599a.077738"</span><span class="token punctuation">]</span><span class="token punctuation">]</span>
|
|
46
|
-
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
47
|
-
<span class="token punctuation">{</span>
|
|
48
|
-
<span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"42d8b632.402e38"</span><span class="token punctuation">,</span>
|
|
49
|
-
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"mqtt out"</span><span class="token punctuation">,</span>
|
|
50
|
-
<span class="token property">"z"</span><span class="token operator">:</span> <span class="token string">"d938c47f.3398f8"</span><span class="token punctuation">,</span>
|
|
51
|
-
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Send schedule to MM"</span><span class="token punctuation">,</span>
|
|
52
|
-
<span class="token property">"topic"</span><span class="token operator">:</span> <span class="token string">"powersaver/plan"</span><span class="token punctuation">,</span>
|
|
53
|
-
<span class="token property">"qos"</span><span class="token operator">:</span> <span class="token string">"0"</span><span class="token punctuation">,</span>
|
|
54
|
-
<span class="token property">"retain"</span><span class="token operator">:</span> <span class="token string">"true"</span><span class="token punctuation">,</span>
|
|
55
|
-
<span class="token property">"broker"</span><span class="token operator">:</span> <span class="token string">"24fbcfb5.569ea"</span><span class="token punctuation">,</span>
|
|
56
|
-
<span class="token property">"x"</span><span class="token operator">:</span> <span class="token number">740</span><span class="token punctuation">,</span>
|
|
57
|
-
<span class="token property">"y"</span><span class="token operator">:</span> <span class="token number">240</span><span class="token punctuation">,</span>
|
|
58
|
-
<span class="token property">"wires"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">]</span>
|
|
59
|
-
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
60
|
-
<span class="token punctuation">{</span>
|
|
61
|
-
<span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"5e485ff7.db156"</span><span class="token punctuation">,</span>
|
|
62
|
-
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"api-call-service"</span><span class="token punctuation">,</span>
|
|
63
|
-
<span class="token property">"z"</span><span class="token operator">:</span> <span class="token string">"d938c47f.3398f8"</span><span class="token punctuation">,</span>
|
|
64
|
-
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Turn on VVB"</span><span class="token punctuation">,</span>
|
|
65
|
-
<span class="token property">"server"</span><span class="token operator">:</span> <span class="token string">"ec4a12a1.b2be9"</span><span class="token punctuation">,</span>
|
|
66
|
-
<span class="token property">"version"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
|
|
67
|
-
<span class="token property">"debugenabled"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
68
|
-
<span class="token property">"service_domain"</span><span class="token operator">:</span> <span class="token string">"switch"</span><span class="token punctuation">,</span>
|
|
69
|
-
<span class="token property">"service"</span><span class="token operator">:</span> <span class="token string">"turn_on"</span><span class="token punctuation">,</span>
|
|
70
|
-
<span class="token property">"entityId"</span><span class="token operator">:</span> <span class="token string">"switch.varmtvannsbereder_switch"</span><span class="token punctuation">,</span>
|
|
71
|
-
<span class="token property">"data"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>
|
|
72
|
-
<span class="token property">"dataType"</span><span class="token operator">:</span> <span class="token string">"jsonata"</span><span class="token punctuation">,</span>
|
|
73
|
-
<span class="token property">"mergecontext"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>
|
|
74
|
-
<span class="token property">"mustacheAltTags"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
75
|
-
<span class="token property">"outputProperties"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
76
|
-
<span class="token property">"queue"</span><span class="token operator">:</span> <span class="token string">"none"</span><span class="token punctuation">,</span>
|
|
77
|
-
<span class="token property">"x"</span><span class="token operator">:</span> <span class="token number">710</span><span class="token punctuation">,</span>
|
|
78
|
-
<span class="token property">"y"</span><span class="token operator">:</span> <span class="token number">60</span><span class="token punctuation">,</span>
|
|
79
|
-
<span class="token property">"wires"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">]</span>
|
|
80
|
-
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
81
|
-
<span class="token punctuation">{</span>
|
|
82
|
-
<span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"9c978d1c.ee76"</span><span class="token punctuation">,</span>
|
|
83
|
-
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"api-call-service"</span><span class="token punctuation">,</span>
|
|
84
|
-
<span class="token property">"z"</span><span class="token operator">:</span> <span class="token string">"d938c47f.3398f8"</span><span class="token punctuation">,</span>
|
|
85
|
-
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Turn off VVB"</span><span class="token punctuation">,</span>
|
|
86
|
-
<span class="token property">"server"</span><span class="token operator">:</span> <span class="token string">"ec4a12a1.b2be9"</span><span class="token punctuation">,</span>
|
|
87
|
-
<span class="token property">"version"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
|
|
88
|
-
<span class="token property">"debugenabled"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
89
|
-
<span class="token property">"service_domain"</span><span class="token operator">:</span> <span class="token string">"switch"</span><span class="token punctuation">,</span>
|
|
90
|
-
<span class="token property">"service"</span><span class="token operator">:</span> <span class="token string">"turn_off"</span><span class="token punctuation">,</span>
|
|
91
|
-
<span class="token property">"entityId"</span><span class="token operator">:</span> <span class="token string">"switch.varmtvannsbereder_switch"</span><span class="token punctuation">,</span>
|
|
92
|
-
<span class="token property">"data"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>
|
|
93
|
-
<span class="token property">"dataType"</span><span class="token operator">:</span> <span class="token string">"json"</span><span class="token punctuation">,</span>
|
|
94
|
-
<span class="token property">"mergecontext"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>
|
|
95
|
-
<span class="token property">"mustacheAltTags"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
96
|
-
<span class="token property">"outputProperties"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
97
|
-
<span class="token property">"queue"</span><span class="token operator">:</span> <span class="token string">"none"</span><span class="token punctuation">,</span>
|
|
98
|
-
<span class="token property">"x"</span><span class="token operator">:</span> <span class="token number">710</span><span class="token punctuation">,</span>
|
|
99
|
-
<span class="token property">"y"</span><span class="token operator">:</span> <span class="token number">180</span><span class="token punctuation">,</span>
|
|
100
|
-
<span class="token property">"wires"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">]</span>
|
|
101
|
-
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
102
|
-
<span class="token punctuation">{</span>
|
|
103
|
-
<span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"5b6be1568744c6cf"</span><span class="token punctuation">,</span>
|
|
104
|
-
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"ps-strategy-best-save"</span><span class="token punctuation">,</span>
|
|
105
|
-
<span class="token property">"z"</span><span class="token operator">:</span> <span class="token string">"d938c47f.3398f8"</span><span class="token punctuation">,</span>
|
|
106
|
-
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Best Save"</span><span class="token punctuation">,</span>
|
|
107
|
-
<span class="token property">"maxHoursToSaveInSequence"</span><span class="token operator">:</span> <span class="token string">"5"</span><span class="token punctuation">,</span>
|
|
108
|
-
<span class="token property">"minHoursOnAfterMaxSequenceSaved"</span><span class="token operator">:</span> <span class="token string">"1"</span><span class="token punctuation">,</span>
|
|
109
|
-
<span class="token property">"minSaving"</span><span class="token operator">:</span> <span class="token string">"0.05"</span><span class="token punctuation">,</span>
|
|
110
|
-
<span class="token property">"sendCurrentValueWhenRescheduling"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
111
|
-
<span class="token property">"outputIfNoSchedule"</span><span class="token operator">:</span> <span class="token string">"true"</span><span class="token punctuation">,</span>
|
|
112
|
-
<span class="token property">"x"</span><span class="token operator">:</span> <span class="token number">490</span><span class="token punctuation">,</span>
|
|
113
|
-
<span class="token property">"y"</span><span class="token operator">:</span> <span class="token number">160</span><span class="token punctuation">,</span>
|
|
114
|
-
<span class="token property">"wires"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">[</span><span class="token string">"467a5fe.d0bbba"</span><span class="token punctuation">,</span> <span class="token string">"5e485ff7.db156"</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token punctuation">[</span><span class="token string">"9c978d1c.ee76"</span><span class="token punctuation">,</span> <span class="token string">"467a5fe.d0bbba"</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token punctuation">[</span><span class="token string">"42d8b632.402e38"</span><span class="token punctuation">]</span><span class="token punctuation">]</span>
|
|
115
|
-
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
116
|
-
<span class="token punctuation">{</span>
|
|
117
|
-
<span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"0ef929fde193cf4d"</span><span class="token punctuation">,</span>
|
|
118
|
-
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"ps-receive-price"</span><span class="token punctuation">,</span>
|
|
119
|
-
<span class="token property">"z"</span><span class="token operator">:</span> <span class="token string">"d938c47f.3398f8"</span><span class="token punctuation">,</span>
|
|
120
|
-
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Price Receiver"</span><span class="token punctuation">,</span>
|
|
121
|
-
<span class="token property">"x"</span><span class="token operator">:</span> <span class="token number">280</span><span class="token punctuation">,</span>
|
|
122
|
-
<span class="token property">"y"</span><span class="token operator">:</span> <span class="token number">160</span><span class="token punctuation">,</span>
|
|
123
|
-
<span class="token property">"wires"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">[</span><span class="token string">"5b6be1568744c6cf"</span><span class="token punctuation">]</span><span class="token punctuation">]</span>
|
|
124
|
-
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
125
|
-
<span class="token punctuation">{</span>
|
|
126
|
-
<span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"24fbcfb5.569ea"</span><span class="token punctuation">,</span>
|
|
127
|
-
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"mqtt-broker"</span><span class="token punctuation">,</span>
|
|
128
|
-
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"MQTT"</span><span class="token punctuation">,</span>
|
|
129
|
-
<span class="token property">"broker"</span><span class="token operator">:</span> <span class="token string">"10.0.0.15"</span><span class="token punctuation">,</span>
|
|
130
|
-
<span class="token property">"port"</span><span class="token operator">:</span> <span class="token string">"1883"</span><span class="token punctuation">,</span>
|
|
131
|
-
<span class="token property">"clientid"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>
|
|
132
|
-
<span class="token property">"usetls"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
133
|
-
<span class="token property">"compatmode"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
134
|
-
<span class="token property">"keepalive"</span><span class="token operator">:</span> <span class="token string">"60"</span><span class="token punctuation">,</span>
|
|
135
|
-
<span class="token property">"cleansession"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
136
|
-
<span class="token property">"birthTopic"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>
|
|
137
|
-
<span class="token property">"birthQos"</span><span class="token operator">:</span> <span class="token string">"0"</span><span class="token punctuation">,</span>
|
|
138
|
-
<span class="token property">"birthPayload"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>
|
|
139
|
-
<span class="token property">"closeTopic"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>
|
|
140
|
-
<span class="token property">"closeQos"</span><span class="token operator">:</span> <span class="token string">"0"</span><span class="token punctuation">,</span>
|
|
141
|
-
<span class="token property">"closePayload"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>
|
|
142
|
-
<span class="token property">"willTopic"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>
|
|
143
|
-
<span class="token property">"willQos"</span><span class="token operator">:</span> <span class="token string">"0"</span><span class="token punctuation">,</span>
|
|
144
|
-
<span class="token property">"willPayload"</span><span class="token operator">:</span> <span class="token string">""</span>
|
|
145
|
-
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
146
|
-
<span class="token punctuation">{</span>
|
|
147
|
-
<span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"b70ec5d0.6f8f08"</span><span class="token punctuation">,</span>
|
|
148
|
-
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"tibber-api-endpoint"</span><span class="token punctuation">,</span>
|
|
149
|
-
<span class="token property">"feedUrl"</span><span class="token operator">:</span> <span class="token string">"wss://api.tibber.com/v1-beta/gql/subscriptions"</span><span class="token punctuation">,</span>
|
|
150
|
-
<span class="token property">"queryUrl"</span><span class="token operator">:</span> <span class="token string">"https://api.tibber.com/v1-beta/gql"</span><span class="token punctuation">,</span>
|
|
151
|
-
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Tibber API"</span>
|
|
152
|
-
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
153
|
-
<span class="token punctuation">{</span>
|
|
154
|
-
<span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"ec4a12a1.b2be9"</span><span class="token punctuation">,</span>
|
|
155
|
-
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"server"</span><span class="token punctuation">,</span>
|
|
156
|
-
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Home Assistant"</span><span class="token punctuation">,</span>
|
|
157
|
-
<span class="token property">"version"</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span>
|
|
158
|
-
<span class="token property">"addon"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
159
|
-
<span class="token property">"rejectUnauthorizedCerts"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
160
|
-
<span class="token property">"ha_boolean"</span><span class="token operator">:</span> <span class="token string">"y|yes|true|on|home|open"</span><span class="token punctuation">,</span>
|
|
161
|
-
<span class="token property">"connectionDelay"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
162
|
-
<span class="token property">"cacheJson"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
163
|
-
<span class="token property">"heartbeat"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
164
|
-
<span class="token property">"heartbeatInterval"</span><span class="token operator">:</span> <span class="token number">30</span>
|
|
165
|
-
<span class="token punctuation">}</span>
|
|
166
|
-
<span class="token punctuation">]</span>
|
|
167
|
-
</code></pre></div>`,3);function _(v,w){const a=t("ExternalLinkIcon");return p(),o(u,null,[q,i,s("p",null,[y,b,d,s("a",g,[f,e(a)]),m]),h],64)}var M=r(k,[["render",_]]);export{M as default};
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{m as o,o as s,d as c,f as t,q as n,F as i,l as e}from"./app.b3d8926b.js";import{_ as l}from"./plugin-vue_export-helper.21dcd24c.js";const _={},d=e("This is a collection of nodes for the popular "),m={href:"https://nodered.org/",target:"_blank",rel:"noopener noreferrer"},h=e("Node-RED"),p=e(" 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.");function u(f,x){const a=o("ExternalLinkIcon"),r=o("DonateButtons");return s(),c(i,null,[t("p",null,[d,t("a",m,[h,n(a)]),p]),n(r)],64)}var y=l(_,[["render",u]]);export{y as default};
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import{m as a,o as c,d as h,f as e,q as o,s,F as u,l as t,x as d}from"./app.b3d8926b.js";import{_ as p}from"./migrate-best-save.dcc20d06.js";import{_ as b}from"./plugin-vue_export-helper.21dcd24c.js";var m="/assets/example-flow-1.971bbb87.png",f="/assets/example-flow-2.a0c62ed7.png";const _={},g=e("h1",{id:"guide",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#guide","aria-hidden":"true"},"#"),t(" Guide")],-1),y=e("h2",{id:"introduction",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#introduction","aria-hidden":"true"},"#"),t(" Introduction")],-1),v=t("This is a collection of nodes for the popular "),w={href:"https://nodered.org/",target:"_blank",rel:"noopener noreferrer"},x=t("Node-RED"),T=t(" 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."),q=d('<p>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 <strong>strategies nodes</strong>. Each strategy node can be configured to fit different purposes.</p><p>The strategies need price data to work. These can be received from different sources, for example Tibber, Nord Pool or custom sources.</p><div class="custom-container warning"><p class="custom-container-title">Price sources</p><p>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.</p></div><p>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 <code>ps-xxx-add-tariff</code> node between the price receiver and the strategy.</p><p>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.</p><p>Example:</p><p><img src="'+m+'" alt="Example flow"></p><p>Here prices are received from Tibber, converted in the <code>ps-receive-price</code> node, then grid tariff for Elvia is added before sent to the <code>ps-strategy-best-save</code> node. Output is sent to Home Assistant via two <code>call-service</code> nodes, and the schedule is sent to a debug node.</p><div class="custom-container tip"><p class="custom-container-title">Home Assistant</p><p>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.</p></div><h2 id="getting-started" tabindex="-1"><a class="header-anchor" href="#getting-started" aria-hidden="true">#</a> Getting started</h2><h3 id="installation" tabindex="-1"><a class="header-anchor" href="#installation" aria-hidden="true">#</a> Installation</h3><p>Install in Node-RED via the Manage Palette menu.</p><p>May also be installed via npm:</p><p><code>npm install node-red-contrib-power-saver</code></p><p>Make sure that you upgrade now and then to get the latest version. See <a href="CHANGELOG">changelog</a> for changes.</p><h3 id="get-price-data" tabindex="-1"><a class="header-anchor" href="#get-price-data" aria-hidden="true">#</a> Get price data</h3><p>This solution is useless without price data. In the nordics, there are at least two very common places to get price data from:</p><ul><li>Tibber</li><li>Nord Pool</li></ul><p>The <code>ps-receive-price</code> node is designed to handle price input from both these, and convert it to the format required by the strategy nodes.</p>',19),N=t("If you are a Tibber customer, use the "),S=e("code",null,"tibber-query",-1),A=t(" node from the "),k={href:"https://flows.nodered.org/node/node-red-contrib-tibber-api",target:"_blank",rel:"noopener noreferrer"},E=t("Tibber API"),I=t(" to receive price, with one of the following queries:"),P=e("div",{class:"language-gql ext-gql line-numbers-mode"},[e("pre",{class:"language-gql"},[e("code",null,`{
|
|
2
|
-
viewer {
|
|
3
|
-
homes {
|
|
4
|
-
id
|
|
5
|
-
address {
|
|
6
|
-
address1
|
|
7
|
-
address2
|
|
8
|
-
address3
|
|
9
|
-
postalCode
|
|
10
|
-
city
|
|
11
|
-
country
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
`)]),e("div",{class:"line-numbers","aria-hidden":"true"},[e("span",{class:"line-number"},"1"),e("br"),e("span",{class:"line-number"},"2"),e("br"),e("span",{class:"line-number"},"3"),e("br"),e("span",{class:"line-number"},"4"),e("br"),e("span",{class:"line-number"},"5"),e("br"),e("span",{class:"line-number"},"6"),e("br"),e("span",{class:"line-number"},"7"),e("br"),e("span",{class:"line-number"},"8"),e("br"),e("span",{class:"line-number"},"9"),e("br"),e("span",{class:"line-number"},"10"),e("br"),e("span",{class:"line-number"},"11"),e("br"),e("span",{class:"line-number"},"12"),e("br"),e("span",{class:"line-number"},"13"),e("br"),e("span",{class:"line-number"},"14"),e("br"),e("span",{class:"line-number"},"15"),e("br")])],-1),C=e("div",{class:"language-gql ext-gql line-numbers-mode"},[e("pre",{class:"language-gql"},[e("code",null,`{
|
|
17
|
-
viewer {
|
|
18
|
-
home(id: "142c1670-ab43-2ab3-ba6d-723703a551e2") {
|
|
19
|
-
currentSubscription{
|
|
20
|
-
priceInfo{
|
|
21
|
-
today {
|
|
22
|
-
total
|
|
23
|
-
energy
|
|
24
|
-
tax
|
|
25
|
-
startsAt
|
|
26
|
-
}
|
|
27
|
-
tomorrow {
|
|
28
|
-
total
|
|
29
|
-
energy
|
|
30
|
-
tax
|
|
31
|
-
startsAt
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
`)]),e("div",{class:"highlight-lines"},[e("br"),e("br"),e("div",{class:"highlight-line"},"\xA0"),e("br"),e("br"),e("br"),e("br"),e("br"),e("br"),e("br"),e("br"),e("br"),e("br"),e("br"),e("br"),e("br"),e("br"),e("br"),e("br"),e("br"),e("br"),e("br")]),e("div",{class:"line-numbers","aria-hidden":"true"},[e("span",{class:"line-number"},"1"),e("br"),e("span",{class:"line-number"},"2"),e("br"),e("span",{class:"line-number"},"3"),e("br"),e("span",{class:"line-number"},"4"),e("br"),e("span",{class:"line-number"},"5"),e("br"),e("span",{class:"line-number"},"6"),e("br"),e("span",{class:"line-number"},"7"),e("br"),e("span",{class:"line-number"},"8"),e("br"),e("span",{class:"line-number"},"9"),e("br"),e("span",{class:"line-number"},"10"),e("br"),e("span",{class:"line-number"},"11"),e("br"),e("span",{class:"line-number"},"12"),e("br"),e("span",{class:"line-number"},"13"),e("br"),e("span",{class:"line-number"},"14"),e("br"),e("span",{class:"line-number"},"15"),e("br"),e("span",{class:"line-number"},"16"),e("br"),e("span",{class:"line-number"},"17"),e("br"),e("span",{class:"line-number"},"18"),e("br"),e("span",{class:"line-number"},"19"),e("br"),e("span",{class:"line-number"},"20"),e("br"),e("span",{class:"line-number"},"21"),e("br"),e("span",{class:"line-number"},"22"),e("br")])],-1),H=e("p",null,[t("See more details in the "),e("a",{href:"../nodes/ps-receive-price#tibber-input"},"documentation"),t(" for the "),e("code",null,"ps-receive-price"),t(" node.")],-1),G=t("Se documentation for "),M={href:"https://flows.nodered.org/node/node-red-contrib-tibber-api",target:"_blank",rel:"noopener noreferrer"},D=t("node-red-contrib-tibber-api"),R=t(" for details about the Tibber query."),L=e("div",{class:"custom-container tip"},[e("p",{class:"custom-container-title"},"Tibber query"),e("p",null,[t("You can use an "),e("code",null,"inject"),t(" node (standard Node-RED) to send the Tibber query as a text string int to the "),e("code",null,"tibber-query"),t(" node. This can be set to repeat the query for example every hour.")])],-1),O=t("See example of Tibber flow and mqtt"),B=t("If you use Home Assistant (HA), you can install the "),Y={href:"https://github.com/custom-components/nordpool",target:"_blank",rel:"noopener noreferrer"},V=t("Nord Pool custom component"),j=t(", that provides a "),F=e("em",null,"sensor",-1),U=t(" that gives price per hour for today and tomorrow. Data can be sent from both the "),W=e("code",null,"current state",-1),z=t(" node or the "),J=e("code",null,"events: state",-1),K=t(" node."),Q=t("See example with Nord Pool and "),X=e("code",null,"current state",-1),Z=t(" node"),$=t("See example with Nord Pool and "),ee=e("code",null,"events: state",-1),te=t(" node"),oe=d('<h3 id="add-grid-tariff" tabindex="-1"><a class="header-anchor" href="#add-grid-tariff" aria-hidden="true">#</a> Add grid tariff</h3><p>When also the grid tariff changes per hour, it must be added to the electricity price in order to get the calculations right.</p><p>After the the <code>ps-receive-price</code> node, add a <code>ps-xxx-add-tariff</code> node to add grid tariff. What node to choose depends on what grid you get electricity through. The following grids are supported:</p><table><thead><tr><th>Grid supplier</th><th>Node</th></tr></thead><tbody><tr><td>General (any)</td><td><code>ps-general-add-tariff</code></td></tr><tr><td>Elvia</td><td><code>ps-elvia-add-tariff</code></td></tr></tbody></table><p>If your grid is not supported, you may code this yourself.</p><div class="custom-container tip"><p class="custom-container-title">Skip this step</p><p>If the grid tariff is the same the whole day, you can skip this step i the flow.</p></div><h3 id="calculate-and-run-schedule" tabindex="-1"><a class="header-anchor" href="#calculate-and-run-schedule" aria-hidden="true">#</a> Calculate and run schedule</h3><p>This is the step where the value is produced. Based on the prices received, the optimal schedule for you is calculated automatically, based on your configuration. You can choose between the following strategies:</p><table><thead><tr><th>Strategy</th><th>Node</th><th>Description</th></tr></thead><tbody><tr><td>Best save</td><td><code>ps-strategy-best-save</code></td><td>Postpone power consumption when there is most to save.</td></tr><tr><td>Lowest price</td><td><code>ps--strategy-lowest-price</code></td><td>Turn on power when the prices are the lowest in a given period.</td></tr></tbody></table><p>These nodes must be configured for your purpose. See configuration description and other details in the documentation for each node.</p><p>Send the result from the <code>ps-xxx-add-tariff</code> node (or the <code>ps-receive-price</code> node) as input to the strategy node you choose.</p><div class="custom-container tip"><p class="custom-container-title">Choose strategy</p><p>Choose the best save strategy if you can postpone power consumption, and expect the consumption to occur during the first hour after power is turned on again.</p><p>Choose the lowest price strategy if you need the power to be on for x hours, but it is not important when that is. Note that you can select to have all hours on in one consecutive period, or spread around on the cheapest hours.</p></div><h3 id="use-schedule-signals" tabindex="-1"><a class="header-anchor" href="#use-schedule-signals" aria-hidden="true">#</a> Use schedule signals</h3><p>Use the outputs to control switches, thermostats or other entities to control your power consumers.</p><p><strong>Output 1</strong> is used to turn on. A payload with value <code>true</code> is sent every time turning on is scheduled.</p><p><strong>Output 2</strong> is used to turn off. A payload with value <code>false</code> is sent every time turning off is scheduled.</p><p>Example using Home Assistant:</p><p><img src="'+f+'" alt="Example flow"></p><div class="custom-container tip"><p class="custom-container-title">Use output</p><p>There are many ways you can use the output:</p><ul><li>Turn on/off a switch</li><li>Set a thermostat up, down or to specific values</li><li>Change setting of a dimmer</li><li>Send a notification</li></ul></div><h3 id="display-schedule" tabindex="-1"><a class="header-anchor" href="#display-schedule" aria-hidden="true">#</a> Display schedule</h3><p><strong>Output 3</strong> can be used to print or display the calculated schedule. If you just want to see it, send it to a debug node. You can also use it to display the result as graphs in HA.</p><p>For users of Magic Mirror and Tibber, the <code>ps-best-save</code> node can send its schedule to the MMM-Tibber module. See more details in the <code>ps-best-save</code> node documentation.</p><h3 id="more-information" tabindex="-1"><a class="header-anchor" href="#more-information" aria-hidden="true">#</a> More information</h3>',23),se=t("There are more details and more information in the documentation for each "),ne=t("node"),re=t(" and in the "),ae=t("examples"),ie=t("."),de=e("h2",{id:"migration-from-v2",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#migration-from-v2","aria-hidden":"true"},"#"),t(" Migration from v2")],-1),le=e("p",null,[t("The "),e("code",null,"Power Saver"),t(" 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 "),e("code",null,"Power Saver"),t(" node by two of the new nodes:")],-1),ce=e("p",null,[e("img",{src:p,alt:"Migrate Power Saver"})],-1),he=t("See more details in the "),ue=t("documentation for the "),pe=e("code",null,"ps-strategy-best-save",-1),be=t(" node.");function me(fe,_e){const r=a("ExternalLinkIcon"),i=a("CodeGroupItem"),l=a("CodeGroup"),n=a("RouterLink");return c(),h(u,null,[g,y,e("p",null,[v,e("a",w,[x,o(r)]),T]),q,e("p",null,[N,S,A,e("a",k,[E,o(r)]),I]),o(l,null,{default:s(()=>[o(i,{title:"All homes"},{default:s(()=>[P]),_:1}),o(i,{title:"Single home",active:""},{default:s(()=>[C]),_:1})]),_:1}),H,e("p",null,[G,e("a",M,[D,o(r)]),R]),L,e("p",null,[o(n,{to:"/examples/example-tibber-mqtt.html"},{default:s(()=>[O]),_:1})]),e("p",null,[B,e("a",Y,[V,o(r)]),j,F,U,W,z,J,K]),e("p",null,[o(n,{to:"/examples/example-nordpool-current-state.html"},{default:s(()=>[Q,X,Z]),_:1})]),e("p",null,[o(n,{to:"/examples/example-nordpool-events-state.html"},{default:s(()=>[$,ee,te]),_:1})]),oe,e("p",null,[se,o(n,{to:"/nodes/"},{default:s(()=>[ne]),_:1}),re,o(n,{to:"/examples/"},{default:s(()=>[ae]),_:1}),ie]),de,le,ce,e("p",null,[he,o(n,{to:"/nodes/ps-strategy-best-save.html"},{default:s(()=>[ue,pe]),_:1}),be])],64)}var we=b(_,[["render",me]]);export{we as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e={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:[]},{level:2,title:"Contributors",slug:"contributors",children:[]}],git:{updatedTime:164452306e4},filePathRelative:"contribute/README.md"};export{e as data};
|