From 16beddf9ae288b595935d9f839e0facefcdae446 Mon Sep 17 00:00:00 2001 From: Maska Date: Wed, 6 Aug 2025 22:43:18 +0200 Subject: [PATCH] zmena syntaxe --- ....yaml => GreeClimateComponent-climate.yaml | 0 ...=> GreeClimateComponent-input_boolean.yaml | 3 + automations.yaml | 39 +- configuration.yaml | 5 +- input_select.yaml | 2 +- node-red/.config.nodes.json | 1274 ----------------- node-red/.config.users.json | 29 - node-red/flows.json | 1 - node-red/flows_cred.json | 1 - ...-red-contrib-home-assistant-websocket.json | 16 - node-red/package-lock.json | 923 ------------ node-red/package.json | 10 - node-red/settings.js | 192 --- scenes.yaml | 49 - template.yaml | 160 ++- zigbee2mqtt/configuration.yaml | 63 - zigbee2mqtt/devices.yaml | 27 - zigbee2mqtt/groups.yaml | 1 - 18 files changed, 141 insertions(+), 2654 deletions(-) rename climate.yaml => GreeClimateComponent-climate.yaml (100%) rename input_boolean.yaml => GreeClimateComponent-input_boolean.yaml (99%) delete mode 100644 node-red/.config.nodes.json delete mode 100644 node-red/.config.users.json delete mode 100644 node-red/flows.json delete mode 100644 node-red/flows_cred.json delete mode 100644 node-red/node-red-contrib-home-assistant-websocket.json delete mode 100644 node-red/package-lock.json delete mode 100644 node-red/package.json delete mode 100644 node-red/settings.js delete mode 100644 zigbee2mqtt/configuration.yaml delete mode 100644 zigbee2mqtt/devices.yaml delete mode 100644 zigbee2mqtt/groups.yaml diff --git a/climate.yaml b/GreeClimateComponent-climate.yaml similarity index 100% rename from climate.yaml rename to GreeClimateComponent-climate.yaml diff --git a/input_boolean.yaml b/GreeClimateComponent-input_boolean.yaml similarity index 99% rename from input_boolean.yaml rename to GreeClimateComponent-input_boolean.yaml index d6db8a4..c131aa9 100644 --- a/input_boolean.yaml +++ b/GreeClimateComponent-input_boolean.yaml @@ -1,3 +1,6 @@ +# +# GreeClimateComponent + ## AC Bedroom ac_bedroom_panel_light: name: AC Bedroom Panel Light diff --git a/automations.yaml b/automations.yaml index 46477c7..f7ce9db 100644 --- a/automations.yaml +++ b/automations.yaml @@ -1,17 +1,17 @@ -- id: '1673752036683' +- id: "1673752036683" alias: blue_led_off description: Po startu vypne modrou LED (Odroid C2) - trigger: - - platform: homeassistant - event: start + triggers: + - trigger: homeassistant + event: start condition: [] - action: - - service: shell_command.blue_led_off - data: {} + actions: + - action: shell_command.blue_led_off + data: {} mode: single -- id: '1686867321964' +- id: "1686867321964" alias: Update Map Extractor camera - description: '' + description: "" use_blueprint: path: PiotrMachowski/update_map_extractor.yaml input: @@ -19,3 +19,24 @@ camera: camera.xiaomi_cloud_map_extractor mode_to_handle: two_intervals interval_docked: 10000 +- id: "1734055041519" + alias: "AutoBackup: Daily Backup" + triggers: + - trigger: time + at: 02:00:00 + conditions: [] + actions: + - action: auto_backup.backup_full + metadata: {} + data: + name: "DailyBackup: {{ now().strftime('%A, %B %-d, %Y') }}" + keep_days: 7 + exclude: + addons: + - MariaDB + folders: + - Local add-ons + - share + - media + compressed: true + mode: single diff --git a/configuration.yaml b/configuration.yaml index a86d720..d5182f2 100644 --- a/configuration.yaml +++ b/configuration.yaml @@ -19,6 +19,7 @@ homeassistant: customize: !include customize.yaml customize_domain: !include customize_domain.yaml customize_glob: !include customize_glob.yaml + packages: !include_dir_named packages group: !include groups.yaml automation: !include automations.yaml @@ -34,7 +35,7 @@ input_select: !include input_select.yaml http: use_x_forwarded_for: true trusted_proxies: - - 192.168.88.243 + - 192.168.88.110 logger: default: info @@ -53,7 +54,7 @@ history: influxdb: api_version: 2 ssl: false - host: 192.168.88.10 + host: 192.168.88.102 port: 8086 token: !secret influxdb_token organization: habad diff --git a/input_select.yaml b/input_select.yaml index f5388d5..6c325b2 100644 --- a/input_select.yaml +++ b/input_select.yaml @@ -7,4 +7,4 @@ air_conditioner: - childrensroom - guestroom initial: livingroom - icon: mdi:air-conditioner \ No newline at end of file + icon: mdi:air-conditioner diff --git a/node-red/.config.nodes.json b/node-red/.config.nodes.json deleted file mode 100644 index 5db96e6..0000000 --- a/node-red/.config.nodes.json +++ /dev/null @@ -1,1274 +0,0 @@ -{ - "node-red": { - "name": "node-red", - "version": "3.1.0", - "local": false, - "user": false, - "nodes": { - "junction": { - "name": "junction", - "types": [ - "junction" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/common/05-junction.js" - }, - "inject": { - "name": "inject", - "types": [ - "inject" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/common/20-inject.js" - }, - "debug": { - "name": "debug", - "types": [ - "debug" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/common/21-debug.js" - }, - "complete": { - "name": "complete", - "types": [ - "complete" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/common/24-complete.js" - }, - "catch": { - "name": "catch", - "types": [ - "catch" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/common/25-catch.js" - }, - "status": { - "name": "status", - "types": [ - "status" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/common/25-status.js" - }, - "link": { - "name": "link", - "types": [ - "link in", - "link out", - "link call" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/common/60-link.js" - }, - "comment": { - "name": "comment", - "types": [ - "comment" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/common/90-comment.js" - }, - "global-config": { - "name": "global-config", - "types": [ - "global-config" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/common/91-global-config.js" - }, - "unknown": { - "name": "unknown", - "types": [ - "unknown" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/common/98-unknown.js" - }, - "function": { - "name": "function", - "types": [ - "function" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/function/10-function.js" - }, - "switch": { - "name": "switch", - "types": [ - "switch" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/function/10-switch.js" - }, - "change": { - "name": "change", - "types": [ - "change" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/function/15-change.js" - }, - "range": { - "name": "range", - "types": [ - "range" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/function/16-range.js" - }, - "template": { - "name": "template", - "types": [ - "template" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/function/80-template.js" - }, - "delay": { - "name": "delay", - "types": [ - "delay" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/function/89-delay.js" - }, - "trigger": { - "name": "trigger", - "types": [ - "trigger" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/function/89-trigger.js" - }, - "exec": { - "name": "exec", - "types": [ - "exec" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/function/90-exec.js" - }, - "rbe": { - "name": "rbe", - "types": [ - "rbe" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/function/rbe.js" - }, - "tls": { - "name": "tls", - "types": [ - "tls-config" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/network/05-tls.js" - }, - "httpproxy": { - "name": "httpproxy", - "types": [ - "http proxy" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/network/06-httpproxy.js" - }, - "mqtt": { - "name": "mqtt", - "types": [ - "mqtt in", - "mqtt out", - "mqtt-broker" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/network/10-mqtt.js" - }, - "httpin": { - "name": "httpin", - "types": [ - "http in", - "http response" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/network/21-httpin.js" - }, - "httprequest": { - "name": "httprequest", - "types": [ - "http request" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/network/21-httprequest.js" - }, - "websocket": { - "name": "websocket", - "types": [ - "websocket in", - "websocket out", - "websocket-listener", - "websocket-client" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/network/22-websocket.js" - }, - "tcpin": { - "name": "tcpin", - "types": [ - "tcp in", - "tcp out", - "tcp request" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/network/31-tcpin.js" - }, - "udp": { - "name": "udp", - "types": [ - "udp in", - "udp out" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/network/32-udp.js" - }, - "CSV": { - "name": "CSV", - "types": [ - "csv" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/parsers/70-CSV.js" - }, - "HTML": { - "name": "HTML", - "types": [ - "html" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/parsers/70-HTML.js" - }, - "JSON": { - "name": "JSON", - "types": [ - "json" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/parsers/70-JSON.js" - }, - "XML": { - "name": "XML", - "types": [ - "xml" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/parsers/70-XML.js" - }, - "YAML": { - "name": "YAML", - "types": [ - "yaml" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/parsers/70-YAML.js" - }, - "split": { - "name": "split", - "types": [ - "split", - "join" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/sequence/17-split.js" - }, - "sort": { - "name": "sort", - "types": [ - "sort" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/sequence/18-sort.js" - }, - "batch": { - "name": "batch", - "types": [ - "batch" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/sequence/19-batch.js" - }, - "file": { - "name": "file", - "types": [ - "file", - "file in" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/storage/10-file.js" - }, - "watch": { - "name": "watch", - "types": [ - "watch" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red", - "file": "/opt/node_modules/@node-red/nodes/core/storage/23-watch.js" - } - } - }, - "node-red-contrib-bigtimer": { - "name": "node-red-contrib-bigtimer", - "version": "2.8.5", - "local": false, - "user": false, - "nodes": { - "bigtimer": { - "name": "bigtimer", - "types": [ - "bigtimer" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-bigtimer", - "file": "/opt/node_modules/node-red-contrib-bigtimer/bigtimer.js" - } - } - }, - "node-red-contrib-cast": { - "name": "node-red-contrib-cast", - "version": "0.2.17", - "local": false, - "user": false, - "nodes": { - "cast-to-client": { - "name": "cast-to-client", - "types": [ - "cast-to-client" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-cast", - "file": "/opt/node_modules/node-red-contrib-cast/cast-to-client.js" - } - } - }, - "node-red-contrib-counter": { - "name": "node-red-contrib-counter", - "version": "0.1.6", - "local": false, - "user": false, - "nodes": { - "counter": { - "name": "counter", - "types": [ - "counter" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-counter", - "file": "/opt/node_modules/node-red-contrib-counter/counter.js" - } - } - }, - "node-red-contrib-home-assistant-websocket": { - "name": "node-red-contrib-home-assistant-websocket", - "version": "0.57.4", - "local": false, - "user": false, - "nodes": { - "all": { - "name": "all", - "types": [ - "ha_entity_filter", - "ha-api", - "ha-binary-sensor", - "ha-button", - "api-call-service", - "server", - "api-current-state", - "ha-device", - "ha-device-config", - "ha-entity", - "ha-entity-config", - "server-events", - "server-state-changed", - "ha-fire-event", - "ha-get-entities", - "api-get-history", - "ha-number", - "poll-state", - "api-render-template", - "ha-select", - "ha-sensor", - "ha-sentence", - "ha-switch", - "ha-tag", - "ha-text", - "ha-time", - "ha-time-entity", - "trigger-state", - "ha-update-config", - "ha-wait-until", - "ha-webhook", - "ha-zone" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-home-assistant-websocket", - "file": "/opt/node_modules/node-red-contrib-home-assistant-websocket/dist/index.js" - } - } - }, - "node-red-contrib-influxdb": { - "name": "node-red-contrib-influxdb", - "version": "0.6.1", - "local": false, - "user": false, - "nodes": { - "influxdb": { - "name": "influxdb", - "types": [ - "influxdb", - "influxdb out", - "influxdb batch", - "influxdb in" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-influxdb", - "file": "/opt/node_modules/node-red-contrib-influxdb/influxdb.js" - } - } - }, - "node-red-contrib-interval-length": { - "name": "node-red-contrib-interval-length", - "version": "0.0.6", - "local": false, - "user": false, - "nodes": { - "interval-length": { - "name": "interval-length", - "types": [ - "interval-length" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-interval-length", - "file": "/opt/node_modules/node-red-contrib-interval-length/interval_length.js" - } - } - }, - "node-red-contrib-modbus": { - "name": "node-red-contrib-modbus", - "version": "5.27.2", - "local": false, - "user": false, - "nodes": { - "Modbus-Client": { - "name": "Modbus-Client", - "types": [ - "modbus-client" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-modbus", - "file": "/opt/node_modules/node-red-contrib-modbus/modbus/modbus-client.js" - }, - "Modbus-Response": { - "name": "Modbus-Response", - "types": [ - "modbus-response" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-modbus", - "file": "/opt/node_modules/node-red-contrib-modbus/modbus/modbus-response.js" - }, - "Modbus-Read": { - "name": "Modbus-Read", - "types": [ - "modbus-read" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-modbus", - "file": "/opt/node_modules/node-red-contrib-modbus/modbus/modbus-read.js" - }, - "Modbus-Getter": { - "name": "Modbus-Getter", - "types": [ - "modbus-getter" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-modbus", - "file": "/opt/node_modules/node-red-contrib-modbus/modbus/modbus-getter.js" - }, - "Modbus-Flex-Getter": { - "name": "Modbus-Flex-Getter", - "types": [ - "modbus-flex-getter" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-modbus", - "file": "/opt/node_modules/node-red-contrib-modbus/modbus/modbus-flex-getter.js" - }, - "Modbus-Write": { - "name": "Modbus-Write", - "types": [ - "modbus-write" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-modbus", - "file": "/opt/node_modules/node-red-contrib-modbus/modbus/modbus-write.js" - }, - "Modbus-Flex-Write": { - "name": "Modbus-Flex-Write", - "types": [ - "modbus-flex-write" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-modbus", - "file": "/opt/node_modules/node-red-contrib-modbus/modbus/modbus-flex-write.js" - }, - "Modbus-Server": { - "name": "Modbus-Server", - "types": [ - "modbus-server" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-modbus", - "file": "/opt/node_modules/node-red-contrib-modbus/modbus/modbus-server.js" - }, - "Modbus-Flex-Server": { - "name": "Modbus-Flex-Server", - "types": [ - "modbus-flex-server" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-modbus", - "file": "/opt/node_modules/node-red-contrib-modbus/modbus/modbus-flex-server.js" - }, - "Modbus-Queue-Info": { - "name": "Modbus-Queue-Info", - "types": [ - "modbus-queue-info" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-modbus", - "file": "/opt/node_modules/node-red-contrib-modbus/modbus/modbus-queue-info.js" - }, - "Modbus-Flex-Connector": { - "name": "Modbus-Flex-Connector", - "types": [ - "modbus-flex-connector" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-modbus", - "file": "/opt/node_modules/node-red-contrib-modbus/modbus/modbus-flex-connector.js" - }, - "Modbus-IO-Config": { - "name": "Modbus-IO-Config", - "types": [ - "modbus-io-config" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-modbus", - "file": "/opt/node_modules/node-red-contrib-modbus/modbus/modbus-io-config.js" - }, - "Modbus-Response-Filter": { - "name": "Modbus-Response-Filter", - "types": [ - "modbus-response-filter" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-modbus", - "file": "/opt/node_modules/node-red-contrib-modbus/modbus/modbus-response-filter.js" - }, - "Modbus-Flex-Sequencer": { - "name": "Modbus-Flex-Sequencer", - "types": [ - "modbus-flex-sequencer" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-modbus", - "file": "/opt/node_modules/node-red-contrib-modbus/modbus/modbus-flex-sequencer.js" - }, - "Modbus-Flex-Fc": { - "name": "Modbus-Flex-Fc", - "types": [ - "modbus-flex-fc" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-modbus", - "file": "/opt/node_modules/node-red-contrib-modbus/modbus/modbus-flex-fc.js" - } - } - }, - "node-red-contrib-moment": { - "name": "node-red-contrib-moment", - "version": "5.0.0", - "local": false, - "user": false, - "nodes": { - "moment": { - "name": "moment", - "types": [ - "moment" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-moment", - "file": "/opt/node_modules/node-red-contrib-moment/moment/nrmoment.js" - }, - "humanizer": { - "name": "humanizer", - "types": [ - "humanizer" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-moment", - "file": "/opt/node_modules/node-red-contrib-moment/moment/nrhumanizer.js" - } - } - }, - "node-red-contrib-persistent-fsm": { - "name": "node-red-contrib-persistent-fsm", - "version": "1.2.1", - "local": false, - "user": false, - "nodes": { - "state-machine": { - "name": "state-machine", - "types": [ - "state-machine" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-persistent-fsm", - "file": "/opt/node_modules/node-red-contrib-persistent-fsm/state-machine.js" - } - } - }, - "node-red-contrib-sunevents": { - "name": "node-red-contrib-sunevents", - "version": "3.1.1", - "local": false, - "user": false, - "nodes": { - "node-red-contrib-sunevents": { - "name": "node-red-contrib-sunevents", - "types": [ - "sun events" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-sunevents", - "file": "/opt/node_modules/node-red-contrib-sunevents/lib/sun-events-node.js" - } - } - }, - "node-red-contrib-time-range-switch": { - "name": "node-red-contrib-time-range-switch", - "version": "1.2.0", - "local": false, - "user": false, - "nodes": { - "time-range-switch": { - "name": "time-range-switch", - "types": [ - "time-range-switch" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-contrib-time-range-switch", - "file": "/opt/node_modules/node-red-contrib-time-range-switch/index.js" - } - } - }, - "node-red-dashboard": { - "name": "node-red-dashboard", - "version": "3.3.1", - "local": true, - "user": true, - "nodes": { - "ui_base": { - "name": "ui_base", - "types": [ - "ui_base" - ], - "enabled": true, - "local": true, - "user": false, - "module": "node-red-dashboard", - "file": "/config/node-red/node_modules/node-red-dashboard/nodes/ui_base.js" - }, - "ui_button": { - "name": "ui_button", - "types": [ - "ui_button" - ], - "enabled": true, - "local": true, - "user": false, - "module": "node-red-dashboard", - "file": "/config/node-red/node_modules/node-red-dashboard/nodes/ui_button.js" - }, - "ui_dropdown": { - "name": "ui_dropdown", - "types": [ - "ui_dropdown" - ], - "enabled": true, - "local": true, - "user": false, - "module": "node-red-dashboard", - "file": "/config/node-red/node_modules/node-red-dashboard/nodes/ui_dropdown.js" - }, - "ui_switch": { - "name": "ui_switch", - "types": [ - "ui_switch" - ], - "enabled": true, - "local": true, - "user": false, - "module": "node-red-dashboard", - "file": "/config/node-red/node_modules/node-red-dashboard/nodes/ui_switch.js" - }, - "ui_slider": { - "name": "ui_slider", - "types": [ - "ui_slider" - ], - "enabled": true, - "local": true, - "user": false, - "module": "node-red-dashboard", - "file": "/config/node-red/node_modules/node-red-dashboard/nodes/ui_slider.js" - }, - "ui_numeric": { - "name": "ui_numeric", - "types": [ - "ui_numeric" - ], - "enabled": true, - "local": true, - "user": false, - "module": "node-red-dashboard", - "file": "/config/node-red/node_modules/node-red-dashboard/nodes/ui_numeric.js" - }, - "ui_text_input": { - "name": "ui_text_input", - "types": [ - "ui_text_input" - ], - "enabled": true, - "local": true, - "user": false, - "module": "node-red-dashboard", - "file": "/config/node-red/node_modules/node-red-dashboard/nodes/ui_text_input.js" - }, - "ui_date_picker": { - "name": "ui_date_picker", - "types": [ - "ui_date_picker" - ], - "enabled": true, - "local": true, - "user": false, - "module": "node-red-dashboard", - "file": "/config/node-red/node_modules/node-red-dashboard/nodes/ui_date_picker.js" - }, - "ui_colour_picker": { - "name": "ui_colour_picker", - "types": [ - "ui_colour_picker" - ], - "enabled": true, - "local": true, - "user": false, - "module": "node-red-dashboard", - "file": "/config/node-red/node_modules/node-red-dashboard/nodes/ui_colour_picker.js" - }, - "ui_form": { - "name": "ui_form", - "types": [ - "ui_form" - ], - "enabled": true, - "local": true, - "user": false, - "module": "node-red-dashboard", - "file": "/config/node-red/node_modules/node-red-dashboard/nodes/ui_form.js" - }, - "ui_text": { - "name": "ui_text", - "types": [ - "ui_text" - ], - "enabled": true, - "local": true, - "user": false, - "module": "node-red-dashboard", - "file": "/config/node-red/node_modules/node-red-dashboard/nodes/ui_text.js" - }, - "ui_gauge": { - "name": "ui_gauge", - "types": [ - "ui_gauge" - ], - "enabled": true, - "local": true, - "user": false, - "module": "node-red-dashboard", - "file": "/config/node-red/node_modules/node-red-dashboard/nodes/ui_gauge.js" - }, - "ui_chart": { - "name": "ui_chart", - "types": [ - "ui_chart" - ], - "enabled": true, - "local": true, - "user": false, - "module": "node-red-dashboard", - "file": "/config/node-red/node_modules/node-red-dashboard/nodes/ui_chart.js" - }, - "ui_audio": { - "name": "ui_audio", - "types": [ - "ui_audio" - ], - "enabled": true, - "local": true, - "user": false, - "module": "node-red-dashboard", - "file": "/config/node-red/node_modules/node-red-dashboard/nodes/ui_audio.js" - }, - "ui_toast": { - "name": "ui_toast", - "types": [ - "ui_toast" - ], - "enabled": true, - "local": true, - "user": false, - "module": "node-red-dashboard", - "file": "/config/node-red/node_modules/node-red-dashboard/nodes/ui_toast.js" - }, - "ui_ui_control": { - "name": "ui_ui_control", - "types": [ - "ui_ui_control" - ], - "enabled": true, - "local": true, - "user": false, - "module": "node-red-dashboard", - "file": "/config/node-red/node_modules/node-red-dashboard/nodes/ui_ui_control.js" - }, - "ui_template": { - "name": "ui_template", - "types": [ - "ui_template" - ], - "enabled": true, - "local": true, - "user": false, - "module": "node-red-dashboard", - "file": "/config/node-red/node_modules/node-red-dashboard/nodes/ui_template.js" - }, - "ui_link": { - "name": "ui_link", - "types": [ - "ui_link" - ], - "enabled": true, - "local": true, - "user": false, - "module": "node-red-dashboard", - "file": "/config/node-red/node_modules/node-red-dashboard/nodes/ui_link.js" - }, - "ui_tab": { - "name": "ui_tab", - "types": [ - "ui_tab" - ], - "enabled": true, - "local": true, - "user": false, - "module": "node-red-dashboard", - "file": "/config/node-red/node_modules/node-red-dashboard/nodes/ui_tab.js" - }, - "ui_group": { - "name": "ui_group", - "types": [ - "ui_group" - ], - "enabled": true, - "local": true, - "user": false, - "module": "node-red-dashboard", - "file": "/config/node-red/node_modules/node-red-dashboard/nodes/ui_group.js" - }, - "ui_spacer": { - "name": "ui_spacer", - "types": [ - "ui_spacer" - ], - "enabled": true, - "local": true, - "user": false, - "module": "node-red-dashboard", - "file": "/config/node-red/node_modules/node-red-dashboard/nodes/ui_spacer.js" - } - } - }, - "node-red-node-base64": { - "name": "node-red-node-base64", - "version": "0.3.0", - "local": false, - "user": false, - "nodes": { - "base64": { - "name": "base64", - "types": [ - "base64" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-node-base64", - "file": "/opt/node_modules/node-red-node-base64/70-base64.js" - } - } - }, - "node-red-node-email": { - "name": "node-red-node-email", - "version": "2.0.1", - "local": false, - "user": false, - "nodes": { - "email": { - "name": "email", - "types": [ - "e-mail", - "e-mail in", - "e-mail mta" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-node-email", - "file": "/opt/node_modules/node-red-node-email/61-email.js" - } - } - }, - "node-red-node-feedparser": { - "name": "node-red-node-feedparser", - "version": "0.3.0", - "local": false, - "user": false, - "nodes": { - "feedparse": { - "name": "feedparse", - "types": [ - "feedparse" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-node-feedparser", - "file": "/opt/node_modules/node-red-node-feedparser/32-feedparse.js" - } - } - }, - "node-red-node-ping": { - "name": "node-red-node-ping", - "version": "0.3.3", - "local": false, - "user": false, - "nodes": { - "ping": { - "name": "ping", - "types": [ - "ping" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-node-ping", - "file": "/opt/node_modules/node-red-node-ping/88-ping.js" - } - } - }, - "node-red-node-random": { - "name": "node-red-node-random", - "version": "0.4.1", - "local": false, - "user": false, - "nodes": { - "random": { - "name": "random", - "types": [ - "random" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-node-random", - "file": "/opt/node_modules/node-red-node-random/random.js" - } - } - }, - "node-red-node-serialport": { - "name": "node-red-node-serialport", - "version": "1.0.4", - "local": false, - "user": false, - "nodes": { - "serialport": { - "name": "serialport", - "types": [ - "serial in", - "serial out", - "serial request", - "serial-port" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-node-serialport", - "file": "/opt/node_modules/node-red-node-serialport/25-serial.js" - } - } - }, - "node-red-node-smooth": { - "name": "node-red-node-smooth", - "version": "0.1.2", - "local": false, - "user": false, - "nodes": { - "smooth": { - "name": "smooth", - "types": [ - "smooth" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-node-smooth", - "file": "/opt/node_modules/node-red-node-smooth/17-smooth.js" - } - } - }, - "node-red-node-suncalc": { - "name": "node-red-node-suncalc", - "version": "1.1.0", - "local": false, - "user": false, - "nodes": { - "suncalc": { - "name": "suncalc", - "types": [ - "sunrise" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-node-suncalc", - "file": "/opt/node_modules/node-red-node-suncalc/79-suncalc.js" - } - } - }, - "node-red-node-twitter": { - "name": "node-red-node-twitter", - "version": "1.2.0", - "local": false, - "user": false, - "nodes": { - "twitter": { - "name": "twitter", - "types": [ - "twitter-credentials", - "twitter in", - "twitter out" - ], - "enabled": true, - "local": false, - "user": false, - "module": "node-red-node-twitter", - "file": "/opt/node_modules/node-red-node-twitter/27-twitter.js" - } - } - }, - "node-red-contrib-mytimeout": { - "name": "node-red-contrib-mytimeout", - "version": "3.2.2", - "local": true, - "user": true, - "nodes": { - "mytimeout": { - "name": "mytimeout", - "types": [ - "mytimeout" - ], - "enabled": true, - "local": true, - "user": false, - "module": "node-red-contrib-mytimeout", - "file": "/config/node-red/node_modules/node-red-contrib-mytimeout/mytimeout.js" - } - } - } -} \ No newline at end of file diff --git a/node-red/.config.users.json b/node-red/.config.users.json deleted file mode 100644 index fa4001c..0000000 --- a/node-red/.config.users.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "_": { - "editor": { - "view": { - "view-show-grid": true, - "view-snap-grid": true, - "view-grid-size": "20", - "view-node-status": true, - "view-node-show-label": true, - "view-show-tips": true, - "view-show-welcome-tours": true, - "view-store-position": false, - "view-store-zoom": false - }, - "tours": { - "welcome": "3.0.2" - } - }, - "menu-menu-item-palette": true, - "menu-menu-item-sidebar": true, - "debug": { - "clearType": "all", - "filter": "filterAll" - }, - "menu-deploymenu-item-flow": false, - "menu-deploymenu-item-full": true, - "menu-deploymenu-item-node": false - } -} \ No newline at end of file diff --git a/node-red/flows.json b/node-red/flows.json deleted file mode 100644 index e04ff5c..0000000 --- a/node-red/flows.json +++ /dev/null @@ -1 +0,0 @@ -[{"id":"af32a28ba9e46f29","type":"tab","label":"Living room - Main light","disabled":false,"info":"Obývák - hlavní světla\r\n\r\n4x RGB žárovka\r\n1x scene switch\r\n\r\n1-click: toggle\r\n2-click:\r\npush:","env":[]},{"id":"8850e193.e1712","type":"subflow","name":"SaveChart","info":"","category":"","in":[{"x":80,"y":140,"wires":[{"id":"40784bb1.204934"}]}],"out":[{"x":820,"y":120,"wires":[{"id":"a6525d2.cb354a","port":0}]}]},{"id":"e58cc30d.0bb9","type":"server","name":"Home Assistant","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"30","areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m","enableGlobalContextStore":true},{"id":"a07f98a5c7ec3274","type":"mqtt-broker","name":"mosquitto","broker":"core-mosquitto","port":"1883","clientid":"nodered","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""},{"id":"a0f72417.ea2838","type":"file","z":"8850e193.e1712","name":"backup","filename":"","appendNewline":false,"createDir":true,"overwriteFile":"true","x":700,"y":160,"wires":[[]]},{"id":"70a2db09.6ff354","type":"file in","z":"8850e193.e1712","name":"restore","filename":"","format":"utf8","sendError":true,"x":530,"y":120,"wires":[["a6525d2.cb354a"]]},{"id":"922d4285.5f7e1","type":"json","z":"8850e193.e1712","name":"","property":"payload","action":"str","pretty":false,"x":530,"y":160,"wires":[["a0f72417.ea2838"]]},{"id":"a6525d2.cb354a","type":"json","z":"8850e193.e1712","name":"","property":"payload","action":"str","pretty":false,"x":690,"y":120,"wires":[[]]},{"id":"40784bb1.204934","type":"function","z":"8850e193.e1712","name":"LoadSave","func":"var strSafe=msg.topic;\nif(strSafe)\n{\n msg.filename =\"/share/chart.save\";\n var loaded=context.get(strSafe)||0;\n \n if(0===loaded||strSafe==\"restore\")\n {\n //node.warn(\"Loading chart\");\n msg.payload=\"load\";\n context.set(strSafe,1);\n }\n else\n {\n //node.warn(\"Writing chart\");\n //node.warn(msg.payload);\n }\n return msg;\n \n}\nreturn null;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":230,"y":140,"wires":[["51fb3038.7afb6"]]},{"id":"51fb3038.7afb6","type":"switch","z":"8850e193.e1712","name":"Load data","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"load","vt":"str"},{"t":"else"}],"checkall":"false","repair":false,"outputs":2,"x":380,"y":140,"wires":[["70a2db09.6ff354"],["922d4285.5f7e1"]]},{"id":"dbe202dbcec1134a","type":"mqtt in","z":"af32a28ba9e46f29","name":"","topic":"zigbee2mqtt/livingroom_scene_switch","qos":"1","datatype":"json","broker":"a07f98a5c7ec3274","nl":false,"rap":true,"rh":0,"inputs":0,"x":190,"y":60,"wires":[["e73dbc5cf9e4c229","b97b7b166ff889f4"]]},{"id":"e73dbc5cf9e4c229","type":"switch","z":"af32a28ba9e46f29","name":"","property":"payload.action","propertyType":"msg","rules":[{"t":"eq","v":"1_single","vt":"str"},{"t":"eq","v":"2_single","vt":"str"},{"t":"eq","v":"3_single","vt":"str"},{"t":"eq","v":"4_single","vt":"str"},{"t":"eq","v":"1_double","vt":"str"},{"t":"eq","v":"2_double","vt":"str"},{"t":"eq","v":"3_double","vt":"str"},{"t":"eq","v":"4_double","vt":"str"},{"t":"eq","v":"1_hold","vt":"str"},{"t":"eq","v":"2_hold","vt":"str"},{"t":"eq","v":"3_hold","vt":"str"},{"t":"eq","v":"4_hold","vt":"str"}],"checkall":"true","repair":false,"outputs":12,"x":150,"y":400,"wires":[["4fac346c3d066f8f"],["23049ee5d70a7992"],["f66dd231bac152b9"],["c77a5b62ecc09046"],[],[],[],[],[],[],[],[]]},{"id":"5ac058fedde86732","type":"mqtt out","z":"af32a28ba9e46f29","name":"","topic":"","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"a07f98a5c7ec3274","x":1310,"y":140,"wires":[]},{"id":"4860bb0911a4b518","type":"change","z":"af32a28ba9e46f29","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"\"zigbee2mqtt/livingroom/main_light_2/set\"","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":390,"y":380,"wires":[["19f51c0d8c733dec"]]},{"id":"ebef887b98106c6c","type":"change","z":"af32a28ba9e46f29","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"\"zigbee2mqtt/livingroom/main_light_1/set\"","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":810,"y":460,"wires":[["77db2ac50a130285"]]},{"id":"77db2ac50a130285","type":"change","z":"af32a28ba9e46f29","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"brightness\":254,\"color_temp\":463,\"state\":\"ON\"}","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":960,"y":260,"wires":[[]]},{"id":"b5c290e4d668cca3","type":"change","z":"af32a28ba9e46f29","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"\"zigbee2mqtt/livingroom/main_light_3/set\"","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":390,"y":420,"wires":[[]]},{"id":"166f158e7450c9fc","type":"change","z":"af32a28ba9e46f29","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"\"zigbee2mqtt/livingroom/main_light_4/set\"","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":390,"y":460,"wires":[[]]},{"id":"b8926c4a994bfe9a","type":"debug","z":"af32a28ba9e46f29","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1290,"y":360,"wires":[]},{"id":"4fac346c3d066f8f","type":"ha-device","z":"af32a28ba9e46f29","name":"","server":"e58cc30d.0bb9","version":0,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"inputs":1,"deviceType":"action","device":"68bc07dee263ff26a97db77cf19fb386","event":{"type":"toggle","device_id":"68bc07dee263ff26a97db77cf19fb386","entity_id":"light.livingroom_mainlight_aquarium","domain":"light","metadata":{"secondary":false}},"capabilities":[],"outputProperties":[],"x":430,"y":140,"wires":[[]]},{"id":"35b67c9fd149c560","type":"change","z":"af32a28ba9e46f29","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\t \"brightness\": 254,\t \"color_mode\": \"color_temp\",\t \"color_temp\": 454,\t \"state\": state\t}\t\t\t","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":980,"y":200,"wires":[["5ac058fedde86732","b8926c4a994bfe9a"]]},{"id":"0884a251ca1add3e","type":"function","z":"af32a28ba9e46f29","name":"","func":"if(msg.payload.state==\"ON\"){\n msg.payload.state=\"OFF\"\n} else {\n msg.payload.state=\"ON\"\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":300,"y":560,"wires":[[]]},{"id":"739ce27373dcbdf0","type":"inject","z":"af32a28ba9e46f29","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":300,"y":520,"wires":[[]]},{"id":"e01925178734cf09","type":"change","z":"af32a28ba9e46f29","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\t \"state\": \"ON\"\t}","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":780,"y":220,"wires":[["35b67c9fd149c560"]]},{"id":"b97b7b166ff889f4","type":"debug","z":"af32a28ba9e46f29","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":530,"y":60,"wires":[]},{"id":"19f51c0d8c733dec","type":"api-current-state","z":"af32a28ba9e46f29","name":"","server":"e58cc30d.0bb9","version":3,"outputs":2,"halt_if":"ON","halt_if_type":"str","halt_if_compare":"is","entity_id":"light.0xb4e3f9fffe102c1f","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":0,"forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":650,"y":380,"wires":[["3c9ea731c2cd44a5"],["e01925178734cf09"]]},{"id":"3c9ea731c2cd44a5","type":"change","z":"af32a28ba9e46f29","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\t \"state\": \"OFF\"\t}","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":780,"y":180,"wires":[["35b67c9fd149c560"]]},{"id":"23049ee5d70a7992","type":"ha-device","z":"af32a28ba9e46f29","name":"","server":"e58cc30d.0bb9","version":0,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"inputs":1,"deviceType":"action","device":"b5da09933af5095776729bbb8ef116ea","event":{"type":"toggle","device_id":"b5da09933af5095776729bbb8ef116ea","entity_id":"light.livingroom_mainlight_gramophone","domain":"light","metadata":{"secondary":false}},"capabilities":[],"outputProperties":[],"x":430,"y":200,"wires":[[]]},{"id":"f66dd231bac152b9","type":"ha-device","z":"af32a28ba9e46f29","name":"","server":"e58cc30d.0bb9","version":0,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"inputs":1,"deviceType":"action","device":"1146c4d46415b1965df40b247e75e3bf","event":{"type":"toggle","device_id":"1146c4d46415b1965df40b247e75e3bf","entity_id":"light.livingroom_mainlight_library","domain":"light","metadata":{"secondary":false}},"capabilities":[],"outputProperties":[],"x":430,"y":260,"wires":[[]]},{"id":"c77a5b62ecc09046","type":"ha-device","z":"af32a28ba9e46f29","name":"","server":"e58cc30d.0bb9","version":0,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"inputs":1,"deviceType":"action","device":"c89bf0613661789cc7e714323b4844a7","event":{"type":"toggle","device_id":"c89bf0613661789cc7e714323b4844a7","entity_id":"light.livingroom_mainlight_fireplace","domain":"light","metadata":{"secondary":false}},"capabilities":[],"outputProperties":[],"x":430,"y":320,"wires":[[]]}] \ No newline at end of file diff --git a/node-red/flows_cred.json b/node-red/flows_cred.json deleted file mode 100644 index e45d7db..0000000 --- a/node-red/flows_cred.json +++ /dev/null @@ -1 +0,0 @@ -{"$":"cf921e2484a562e876ad6eba54dbce84MjFw1xmZg0fdt9vmkwDiyjoFE5M+2hVoxsd2lBFX0RblC9c42iWoe1lTragOZy1lX8FaR1xC9cAxUzh+wVOuRf3ugphkwgLWpqsG9CsgUAGn6MmU5K51qeo="} \ No newline at end of file diff --git a/node-red/node-red-contrib-home-assistant-websocket.json b/node-red/node-red-contrib-home-assistant-websocket.json deleted file mode 100644 index 6e7b266..0000000 --- a/node-red/node-red-contrib-home-assistant-websocket.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "nodes": { - "4fac346c3d066f8f": { - "isEnabled": true - }, - "23049ee5d70a7992": { - "isEnabled": true - }, - "f66dd231bac152b9": { - "isEnabled": true - }, - "c77a5b62ecc09046": { - "isEnabled": true - } - } -} \ No newline at end of file diff --git a/node-red/package-lock.json b/node-red/package-lock.json deleted file mode 100644 index 433117b..0000000 --- a/node-red/package-lock.json +++ /dev/null @@ -1,923 +0,0 @@ -{ - "name": "node-red-project", - "version": "0.0.1", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "node-red-project", - "version": "0.0.1", - "dependencies": { - "node-red-contrib-mytimeout": "~3.2.2", - "node-red-dashboard": "~3.3.1" - } - }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", - "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" - }, - "node_modules/@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" - }, - "node_modules/@types/cors": { - "version": "2.8.13", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", - "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/node": { - "version": "18.11.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", - "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==" - }, - "node_modules/accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dependencies": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "engines": { - "node": "^4.5.0 || >= 5.9" - } - }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/engine.io": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz", - "integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==", - "dependencies": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.0.3", - "ws": "~8.2.3" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/engine.io-parser": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz", - "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/engine.io/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/engine.io/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/gridstack": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/gridstack/-/gridstack-0.6.4.tgz", - "integrity": "sha512-4ToCnneNg5Uw+ms3xHtPVvsNXdvwQhngdlyNgGkARwvooQu+gLL6xkwPqLU59TsZP/LVvofb2QhEuXyh/ocL8w==", - "dependencies": { - "jquery": "^1.8 || 2 || 3" - } - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/jquery": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", - "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", - "dependencies": { - "mime-db": "1.51.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/node-red-contrib-mytimeout": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/node-red-contrib-mytimeout/-/node-red-contrib-mytimeout-3.2.2.tgz", - "integrity": "sha512-WNzDnG6HKudOl43fZHa8oSfKR1xw3yny5Opr2EdVfOEPcQrI1AZgafJZFCeYkM6GcIruQD3qZBI9WbzWNW5mrQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/node-red-dashboard": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/node-red-dashboard/-/node-red-dashboard-3.3.1.tgz", - "integrity": "sha512-d7d6nWrM9On4N+ah3R26Jregp1gpJmQgtt7s3EeLHzfCi7WmH1qAVgJe5ucj/U8azr+zF0NXFWD779lIOX+vrQ==", - "dependencies": { - "compression": "^1.7.4", - "gridstack": "^0.6.4", - "serve-static": "^1.15.0", - "socket.io": "^4.5.4" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/socket.io": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.4.tgz", - "integrity": "sha512-m3GC94iK9MfIEeIBfbhJs5BqFibMtkRk8ZpKwG2QwxV0m/eEhPIV4ara6XCF1LWNAus7z58RodiZlAH71U3EhQ==", - "dependencies": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "debug": "~4.3.2", - "engine.io": "~6.2.1", - "socket.io-adapter": "~2.4.0", - "socket.io-parser": "~4.2.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-adapter": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", - "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==" - }, - "node_modules/socket.io-parser": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.2.tgz", - "integrity": "sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-parser/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io-parser/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/socket.io/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/ws": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - } - }, - "dependencies": { - "@socket.io/component-emitter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", - "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" - }, - "@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" - }, - "@types/cors": { - "version": "2.8.13", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", - "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", - "requires": { - "@types/node": "*" - } - }, - "@types/node": { - "version": "18.11.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", - "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==" - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - } - }, - "cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - }, - "engine.io": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz", - "integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==", - "requires": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.0.3", - "ws": "~8.2.3" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "engine.io-parser": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz", - "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" - }, - "gridstack": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/gridstack/-/gridstack-0.6.4.tgz", - "integrity": "sha512-4ToCnneNg5Uw+ms3xHtPVvsNXdvwQhngdlyNgGkARwvooQu+gLL6xkwPqLU59TsZP/LVvofb2QhEuXyh/ocL8w==", - "requires": { - "jquery": "^1.8 || 2 || 3" - } - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "jquery": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", - "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==" - }, - "mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", - "requires": { - "mime-db": "1.51.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" - }, - "node-red-contrib-mytimeout": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/node-red-contrib-mytimeout/-/node-red-contrib-mytimeout-3.2.2.tgz", - "integrity": "sha512-WNzDnG6HKudOl43fZHa8oSfKR1xw3yny5Opr2EdVfOEPcQrI1AZgafJZFCeYkM6GcIruQD3qZBI9WbzWNW5mrQ==" - }, - "node-red-dashboard": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/node-red-dashboard/-/node-red-dashboard-3.3.1.tgz", - "integrity": "sha512-d7d6nWrM9On4N+ah3R26Jregp1gpJmQgtt7s3EeLHzfCi7WmH1qAVgJe5ucj/U8azr+zF0NXFWD779lIOX+vrQ==", - "requires": { - "compression": "^1.7.4", - "gridstack": "^0.6.4", - "serve-static": "^1.15.0", - "socket.io": "^4.5.4" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } - } - }, - "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - } - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "socket.io": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.4.tgz", - "integrity": "sha512-m3GC94iK9MfIEeIBfbhJs5BqFibMtkRk8ZpKwG2QwxV0m/eEhPIV4ara6XCF1LWNAus7z58RodiZlAH71U3EhQ==", - "requires": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "debug": "~4.3.2", - "engine.io": "~6.2.1", - "socket.io-adapter": "~2.4.0", - "socket.io-parser": "~4.2.1" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "socket.io-adapter": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", - "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==" - }, - "socket.io-parser": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.2.tgz", - "integrity": "sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==", - "requires": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "ws": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", - "requires": {} - } - } -} diff --git a/node-red/package.json b/node-red/package.json deleted file mode 100644 index f3e4080..0000000 --- a/node-red/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "node-red-project", - "description": "A Node-RED Project", - "version": "0.0.1", - "private": true, - "dependencies": { - "node-red-contrib-mytimeout": "~3.2.2", - "node-red-dashboard": "~3.3.1" - } -} diff --git a/node-red/settings.js b/node-red/settings.js deleted file mode 100644 index b83e560..0000000 --- a/node-red/settings.js +++ /dev/null @@ -1,192 +0,0 @@ -/** - * Copyright JS Foundation and other contributors, http://js.foundation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - **/ - -/** - * PLEASE NOTE! IMPORTANT! READ! - * - * This is a modified version of the settings file. Some parts of the - * settings are actually controlled by the Home Assistant add-on. - * - * Parts that are handled by it, are removed from this settings template. - * The following configuration keys are controlled by the add-on and removed. - * - * - uiPort (port setting in the add-on log) - * - uiHost (no need to manually configure this in the add-on) - * - debugUseColors (disabled, won't work in the add-on) - * - flowFile (fixed to flows.json) - * - credentialSecret (credentials_secret in the add-on configuration) - * - userDir (is set fixed to `/config/node-red`) - * - nodesDir (is set fixed to `/config/node-red/nodes`) - * - adminAuth (known as users in the add-on configuration) - * - https (ssl settings in the add-on configuration) - * - logging.console.level (log_level in the add-on configuration) - * - httpNodeAuth (http_node settings in the add-on configuration) - * - httpStaticAuth (http_static settings in the add-on configuration) - * - httpNodeRoot (set fixed to `/endpoint` ) - * - * If you like to change those settings, some are available via the add-on - * settings/option in the Supervisor panel in Home Assistant. - */ - -module.exports = { - // Retry time in milliseconds for MQTT connections - mqttReconnectTime: 15000, - - // Retry time in milliseconds for Serial port connections - serialReconnectTime: 15000, - - // Retry time in milliseconds for TCP socket connections - //socketReconnectTime: 10000, - - // Timeout in milliseconds for TCP server socket connections - // defaults to no timeout - //socketTimeout: 120000, - - // Timeout in milliseconds for HTTP request connections - // defaults to 120 seconds - //httpRequestTimeout: 120000, - - // The maximum length, in characters, of any message sent to the debug sidebar tab - debugMaxLength: 1000, - - // The maximum number of messages nodes will buffer internally as part of their - // operation. This applies across a range of nodes that operate on message sequences. - // defaults to no limit. A value of 0 also means no limit is applied. - //nodeMaxMessageBufferLength: 0, - - // To disable the option for using local files for storing keys and certificates in the TLS configuration - // node, set this to true - //tlsConfigDisableLocalFiles: true, - - // By default, the Node-RED UI is available at http://localhost:1880/ - // The following property can be used to specify a different root path. - // If set to false, this is disabled. - //httpAdminRoot: '/admin', - - // The following property can be used in place of 'httpAdminRoot' and 'httpNodeRoot', - // to apply the same root to both parts. - //httpRoot: '/red', - - // When httpAdminRoot is used to move the UI to a different root path, the - // following property can be used to identify a directory of static content - // that should be served at http://localhost:1880/. - //httpStatic: '/home/nol/node-red-static/', - - // The maximum size of HTTP request that will be accepted by the runtime api. - // Default: 5mb - //apiMaxLength: '5mb', - - // If you installed the optional node-red-dashboard you can set it's path - // relative to httpRoot - //ui: { path: "ui" }, - - // The following property can be used to disable the editor. The admin API - // is not affected by this option. To disable both the editor and the admin - // API, use either the httpRoot or httpAdminRoot properties - //disableEditor: false, - - // The following property can be used to configure cross-origin resource sharing - // in the HTTP nodes. - // See https://github.com/troygoode/node-cors#configuration-options for - // details on its contents. The following is a basic permissive set of options: - //httpNodeCors: { - // origin: "*", - // methods: "GET,PUT,POST,DELETE" - //}, - - // If you need to set an http proxy please set an environment variable - // called http_proxy (or HTTP_PROXY) outside of Node-RED in the operating system. - // For example - http_proxy=http://myproxy.com:8080 - // (Setting it here will have no effect) - // You may also specify no_proxy (or NO_PROXY) to supply a comma separated - // list of domains to not proxy, eg - no_proxy=.acme.co,.acme.co.uk - - // The following property can be used to add a custom middleware function - // in front of all http in nodes. This allows custom authentication to be - // applied to all http in nodes, or any other sort of common request processing. - //httpNodeMiddleware: function(req,res,next) { - // // Handle/reject the request, or pass it on to the http in node by calling next(); - // // Optionally skip our rawBodyParser by setting this to true; - // //req.skipRawBodyParser = true; - // next(); - //}, - - // The following property can be used to verify websocket connection attempts. - // This allows, for example, the HTTP request headers to be checked to ensure - // they include valid authentication information. - //webSocketNodeVerifyClient: function(info) { - // // 'info' has three properties: - // // - origin : the value in the Origin header - // // - req : the HTTP request - // // - secure : true if req.connection.authorized or req.connection.encrypted is set - // // - // // The function should return true if the connection should be accepted, false otherwise. - // // - // // Alternatively, if this function is defined to accept a second argument, callback, - // // it can be used to verify the client asynchronously. - // // The callback takes three arguments: - // // - result : boolean, whether to accept the connection or not - // // - code : if result is false, the HTTP error status to return - // // - reason: if result is false, the HTTP reason string to return - //}, - - // Anything in this hash is globally available to all functions. - // It is accessed as context.global. - // eg: - // functionGlobalContext: { os:require('os') } - // can be accessed in a function block as: - // context.global.os - - functionGlobalContext: { - // os:require('os'), - // jfive:require("johnny-five"), - // j5board:require("johnny-five").Board({repl:false}) - }, - - // The following property can be used to order the categories in the editor - // palette. If a node's category is not in the list, the category will get - // added to the end of the palette. - // If not set, the following default order is used: - paletteCategories: [ - "home_assistant", - "subflows", - "common", - "function", - "network", - "sequence", - "parser", - "storage", - ], - - // Configure the logging output - logging: { - // Only console logging is currently supported - console: { - // Whether or not to include metric events in the log output - metrics: false, - // Whether or not to include audit events in the log output - audit: false, - }, - }, - - // Customising the editor - editorTheme: { - projects: { - // To enable the Projects feature, set this value to true - enabled: false, - }, - }, -}; diff --git a/scenes.yaml b/scenes.yaml index febec5a..e69de29 100644 --- a/scenes.yaml +++ b/scenes.yaml @@ -1,49 +0,0 @@ -- id: '1643423451315' - name: Nová scéna - entities: - sensor.livingroom_scene_switch_action: - action: '' - battery: 100 - device: - applicationVersion: 65 - dateCode: '' - friendlyName: livingroom/scene_switch - hardwareVersion: 1 - ieeeAddr: '0x60a423fffefc9539' - manufacturerID: 4098 - manufacturerName: _TZ3000_xabckq1v - model: TS004F - networkAddress: 63306 - powerSource: Battery - stackVersion: 0 - type: EndDevice - zclVersion: 3 - linkquality: 65 - voltage: 3000 - icon: mdi:gesture-double-tap - friendly_name: livingroom/scene_switch_action - state: '' - sensor.livingroom_scene_switch_battery: - state_class: measurement - action: '' - battery: 100 - device: - applicationVersion: 65 - dateCode: '' - friendlyName: livingroom/scene_switch - hardwareVersion: 1 - ieeeAddr: '0x60a423fffefc9539' - manufacturerID: 4098 - manufacturerName: _TZ3000_xabckq1v - model: TS004F - networkAddress: 63306 - powerSource: Battery - stackVersion: 0 - type: EndDevice - zclVersion: 3 - linkquality: 65 - voltage: 3000 - unit_of_measurement: '%' - device_class: battery - friendly_name: livingroom/scene_switch_battery - state: '100' diff --git a/template.yaml b/template.yaml index a067797..9c7e84d 100644 --- a/template.yaml +++ b/template.yaml @@ -1,59 +1,107 @@ - sensor: - - name: "Energy Total" - unique_id: energy_total - state: >- - {{ states('sensor.shelly3em_channel_a_energy')|float + - states('sensor.shelly3em_channel_b_energy')|float + - states('sensor.shelly3em_channel_c_energy')|float }} - unit_of_measurement: kWh - device_class: energy - state_class: measurement - attributes: - last_reset: "1970-01-01T00:00:00+00:00" - - name: "Power Total" - unique_id: power_total - state: >- - {{ (states('sensor.shelly3em_channel_a_power')|float + - states('sensor.shelly3em_channel_b_power')|float + - states('sensor.shelly3em_channel_c_power')|float) }} - unit_of_measurement: W - device_class: power - state_class: measurement - - name: "Power Factor Total" - unique_id: power_factor_total - state: >- - {{ (((states('sensor.shelly3em_channel_a_power')|float) * (states('sensor.shelly3em_channel_a_power_factor')|float) + - (states('sensor.shelly3em_channel_b_power')|float) * (states('sensor.shelly3em_channel_b_power_factor')|float) + - (states('sensor.shelly3em_channel_c_power')|float) * (states('sensor.shelly3em_channel_c_power_factor')|float)) / - (states('sensor.shelly3em_channel_a_power')|float + states('sensor.shelly3em_channel_b_power')|float + states('sensor.shelly3em_channel_c_power')|float)) - |int }} - unit_of_measurement: "%" - device_class: power_factor - state_class: measurement + # # Shelly3EM + # - unique_id: shelly3em_energy_total + # name: "Shelly3EM Energy Total" + # icon: mdi:lightning-bolt + # availability: >- + # {{ states('sensor.shelly3em_phase_a_energy') not in ['0', 'unknown', 'unavailable', 'none'] and + # states('sensor.shelly3em_phase_b_energy') not in ['0', 'unknown', 'unavailable', 'none'] and + # states('sensor.shelly3em_phase_c_energy') not in ['0', 'unknown', 'unavailable', 'none'] }} + # state: >- + # {{ (states('sensor.shelly3em_phase_a_energy')|float(1) + + # states('sensor.shelly3em_phase_b_energy')|float(1) + + # states('sensor.shelly3em_phase_c_energy')|float(1)) | round(2) }} + # unit_of_measurement: kWh + # device_class: energy + # state_class: total_increasing + # - unique_id: shelly3em_power_total + # name: "Shelly3EM Power Total" + # icon: mdi:flash + # state: >- + # {{ (states('sensor.shelly3em_phase_a_power')|float(1) + + # states('sensor.shelly3em_phase_b_power')|float(1) + + # states('sensor.shelly3em_phase_c_power')|float(1)) | round(2) }} + # unit_of_measurement: W + # device_class: power + # state_class: measurement # Klimatizace - aktuální teplota -# - name: "AC Livingroom Current temperature" -# unique_id: ac_livingroom_current_temperature -# unit_of_measurement: "°C" -# state: > -# {{ state_attr('climate.ac_livingroom', 'current_temperature') }} -# - name: "AC Bathroom Current temperature" -# unique_id: ac_bathroom_current_temperature -# unit_of_measurement: "°C" -# state: > -# {{ state_attr('climate.ac_bathroom', 'current_temperature') }} -# - name: "AC Bedroom Current temperature" -# unique_id: ac_bedroom_current_temperature -# unit_of_measurement: "°C" -# state: > -# {{ state_attr('climate.ac_bedroom', 'current_temperature') }} -# - name: "AC Childrensroom Current temperature" -# unique_id: ac_childrensroom_current_temperature -# unit_of_measurement: "°C" -# state: > -# {{ state_attr('climate.ac_childrensroom', 'current_temperature') }} -# - name: "AC Guestroom Current temperature" -# unique_id: ac_guestroom_current_temperature -# unit_of_measurement: "°C" -# state: > -# {{ state_attr('climate.ac_guestroom', 'current_temperature') }} + - unique_id: ac_livingroom_current_temperature + name: "AC Livingroom Current temperature" + unit_of_measurement: "°C" + icon: mdi:thermometer + state: > + {{ state_attr('climate.ac_livingroom', 'current_temperature') }} + - unique_id: ac_bathroom_current_temperature + name: "AC Bathroom Current temperature" + unit_of_measurement: "°C" + icon: mdi:thermometer + state: > + {{ state_attr('climate.ac_bathroom', 'current_temperature') }} + - unique_id: ac_bedroom_current_temperature + name: "AC Bedroom Current temperature" + unit_of_measurement: "°C" + icon: mdi:thermometer + state: > + {{ state_attr('climate.ac_bedroom', 'current_temperature') }} + - unique_id: ac_childrensroom_current_temperature + name: "AC Childrensroom Current temperature" + unit_of_measurement: "°C" + icon: mdi:thermometer + state: > + {{ state_attr('climate.ac_childrensroom', 'current_temperature') }} + - unique_id: ac_guestroom_current_temperature + name: "AC Guestroom Current temperature" + unit_of_measurement: "°C" + icon: mdi:thermometer + state: > + {{ state_attr('climate.ac_guestroom', 'current_temperature') }} + + # Korekce teploty: Teplota, kterou měří jednotka - skutečná v místnosti + - unique_id: livingroom_temperature_correction + name: "Livingroom Temperateure Correction" + unit_of_measurement: "°C" + icon: mdi:thermometer-check + state: > + {{ (states('sensor.ac_livingroom_current_temperature')|float - states('sensor.livingroom_thermometer_hygrometer_temperature')|float) | round(0) }} + - unique_id: bathroom_temperature_correction + name: "Bathroom Temperateure Correction" + unit_of_measurement: "°C" + icon: mdi:thermometer-check + state: > + {{ (states('sensor.ac_bathroom_current_temperature')|float - states('sensor.bathroom_thermometer_hygrometer_temperature')|float) | round(0) }} + - unique_id: bedroom_temperature_correction + name: "Bedroom Temperateure Correction" + unit_of_measurement: "°C" + icon: mdi:thermometer-check + state: > + {{ (states('sensor.ac_bedroom_current_temperature')|float - states('sensor.bedroom_thermometer_hygrometer_temperature')|float) | round(0) }} + - unique_id: childrensroom_temperature_correction + name: "Childrensroom Temperateure Correction" + unit_of_measurement: "°C" + icon: mdi:thermometer-check + state: > + {{ (states('sensor.ac_childrensroom_current_temperature')|float - states('sensor.childrensroom_thermometer_hygrometer_temperature')|float) | round(0) }} + - unique_id: guestroom_temperature_correction + name: "Guestroom Temperateure Correction" + unit_of_measurement: "°C" + icon: mdi:thermometer-check + state: > + {{ (states('sensor.ac_guestroom_current_temperature')|float - states('sensor.guestroom_thermometer_hygrometer_temperature')|float) | round(0) }} + + # # Aktuální nákupní cena elektřiny - VT/NT + # - name: "Electricity Buy Price" + # unique_id: electricity_buy_price + # unit_of_measurement: "CZK/kWh" + # state_class: measurement + # icon: mdi:cash-minus + # state: > + # {% set price_vt = 3.37067 %} + # {% set price_nt = 2.85523 %} + # {% set vat = 21 %} + + # {% if is_state("binary_sensor.electricity_hdo_nt", "on") %} + # {{ (price_nt|float * (1 + vat / 100)) | round(2) }} {# Nízký tarif #} + # {% else %} + # {{ (price_vt|float * (1 + vat / 100)) | round(2) }} {# Vysoký tarif #} + # {% endif %} diff --git a/zigbee2mqtt/configuration.yaml b/zigbee2mqtt/configuration.yaml deleted file mode 100644 index 02e83d5..0000000 --- a/zigbee2mqtt/configuration.yaml +++ /dev/null @@ -1,63 +0,0 @@ -external_converters: [] -devices: - - devices.yaml -groups: - - groups.yaml -homeassistant: true -permit_join: false -mqtt: - base_topic: zigbee2mqtt - user: mqtt - password: aqCQhMrTqDzpTxlpqTEg - client_id: zigbee2mqtt - include_device_information: true - server: mqtt://core-mosquitto:1883 -serial: - port: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 - disable_led: false -advanced: - log_level: debug - pan_id: 6754 - channel: 25 - network_key: - - 1 - - 3 - - 5 - - 7 - - 9 - - 11 - - 13 - - 15 - - 0 - - 2 - - 4 - - 6 - - 8 - - 10 - - 12 - - 13 - availability_blocklist: [] - availability_passlist: [] - log_syslog: - app_name: Zigbee2MQTT - eol: /n - host: localhost - localhost: localhost - path: /dev/log - pid: process.pid - port: 514 - protocol: udp4 - type: '5424' - adapter_concurrent: 16 -device_options: {} -blocklist: [] -passlist: [] -queue: {} -frontend: - port: 8099 -experimental: {} -availability: - active: - timeout: 10 - passive: - timeout: 1500 diff --git a/zigbee2mqtt/devices.yaml b/zigbee2mqtt/devices.yaml deleted file mode 100644 index 9e5736a..0000000 --- a/zigbee2mqtt/devices.yaml +++ /dev/null @@ -1,27 +0,0 @@ -'0xb4e3f9fffe102c12': - friendly_name: livingroom_mainlight_gramophone -'0x84fd27fffed7b8a4': - friendly_name: livingroom_mainlight_fireplace -'0x84fd27fffe80415b': - friendly_name: livingroom_mainlight_library -'0xb4e3f9fffe102c1f': - friendly_name: livingroom_mainlight_aquarium -'0x60a423fffefc9539': - friendly_name: livingroom_scene_switch -'0x3c2ef5fffeb9b5f3': - friendly_name: livingroom_thermometer_hygrometer - description: id_1 -'0x3c2ef5fffea9d742': - friendly_name: childrensroom_thermometer_hygrometer - description: id_2 -'0x3c2ef5fffeb99158': - friendly_name: bedroom_thermometer_hygrometer - description: id_3 -'0x3c2ef5fffeb9d49a': - friendly_name: guestroom_thermometer_hygrometer - description: id_4 -'0x3c2ef5fffeb9d48b': - friendly_name: bathroom_thermometer_hygrometer - description: id_5 -'0xa4c138957258cb91': - friendly_name: bathroom_boiler_2kw diff --git a/zigbee2mqtt/groups.yaml b/zigbee2mqtt/groups.yaml deleted file mode 100644 index 0967ef4..0000000 --- a/zigbee2mqtt/groups.yaml +++ /dev/null @@ -1 +0,0 @@ -{}