Compare commits

..

13 Commits

24 changed files with 502 additions and 2592 deletions

View File

@ -0,0 +1,84 @@
- platform: gree
name: ac_bedroom
host: 192.168.88.61
port: 7000
mac: "50:2C:C6:98:D2:6E"
target_temp_step: 1
encryption_key: "f9TaIpX5M0B4Pw6l" #<OPTIONAL: custom encryption key>
#uid: #<some kind of device identifier. NOTE: for some devices this is optional>
temp_sensor: sensor.bedroom_thermometer_hygrometer_temperature
lights: input_boolean.ac_bedroom_panel_light
xfan: input_boolean.ac_bedroom_xfan
health: input_boolean.ac_bedroom_health
sleep: input_boolean.ac_bedroom_sleep
powersave: input_boolean.ac_bedroom_eco
eightdegheat: input_boolean.ac_bedroom_eightdegheat
air: input_boolean.ac_bedroom_air
- platform: gree
name: ac_childrensroom
host: 192.168.88.62
port: 7000
mac: "50:2C:C6:C0:65:70"
target_temp_step: 1
encryption_key: "6Ehr3YVie7iTuJ0Y" #<OPTIONAL: custom encryption key>
#uid: #<some kind of device identifier. NOTE: for some devices this is optional>
temp_sensor: sensor.childrensroom_thermometer_hygrometer_temperature
lights: input_boolean.ac_childrensroom_panel_light
xfan: input_boolean.ac_childrensroom_xfan
health: input_boolean.ac_childrensroom_health
sleep: input_boolean.ac_childrensroom_sleep
powersave: input_boolean.ac_childrensroom_eco
eightdegheat: input_boolean.ac_childrensroom_eightdegheat
air: input_boolean.ac_childrensroom_air
- platform: gree
name: ac_guestroom
host: 192.168.88.63
port: 7000
mac: "50:2C:C6:C0:64:FC"
target_temp_step: 1
encryption_key: "6kvK9e5284zLQVQi" #<OPTIONAL: custom encryption key>
#uid: #<some kind of device identifier. NOTE: for some devices this is optional>
temp_sensor: sensor.guestroom_thermometer_hygrometer_temperature
lights: input_boolean.ac_guestroom_panel_light
xfan: input_boolean.ac_guestroom_xfan
health: input_boolean.ac_guestroom_health
sleep: input_boolean.ac_guestroom_sleep
powersave: input_boolean.ac_guestroom_eco
eightdegheat: input_boolean.ac_guestroom_eightdegheat
air: input_boolean.ac_guestroom_air
- platform: gree
name: ac_livingroom
host: 192.168.88.64
port: 7000
mac: "50:2C:C6:B2:74:AF"
target_temp_step: 1
encryption_key: "u0g1VcUuzZAJkR8a" #<OPTIONAL: custom encryption key>
#uid: #<some kind of device identifier. NOTE: for some devices this is optional>
temp_sensor: sensor.livingroom_thermometer_hygrometer_temperature
lights: input_boolean.ac_livingroom_panel_light
xfan: input_boolean.ac_livingroom_xfan
health: input_boolean.ac_livingroom_health
sleep: input_boolean.ac_livingroom_sleep
powersave: input_boolean.ac_livingroom_eco
eightdegheat: input_boolean.ac_livingroom_eightdegheat
air: input_boolean.ac_livingroom_air
- platform: gree
name: ac_bathroom
host: 192.168.88.65
port: 7000
mac: "50:2C:C6:C0:65:B6"
target_temp_step: 1
encryption_key: "4HrqjyoLGJArCu0z" #<OPTIONAL: custom encryption key>
#uid: #<some kind of device identifier. NOTE: for some devices this is optional>
temp_sensor: sensor.bathroom_thermometer_hygrometer_temperature
lights: input_boolean.ac_bathroom_panel_light
xfan: input_boolean.ac_bathroom_xfan
health: input_boolean.ac_bathroom_health
sleep: input_boolean.ac_bathroom_sleep
powersave: input_boolean.ac_bathroom_eco
eightdegheat: input_boolean.ac_bathroom_eightdegheat
air: input_boolean.ac_bathroom_air

View File

@ -0,0 +1,208 @@
#
# GreeClimateComponent
## AC Bedroom
ac_bedroom_panel_light:
name: AC Bedroom Panel Light
icon: mdi:lightbulb
initial: off
ac_bedroom_health:
name: AC Bedroom Health
icon: mdi:pine-tree
initial: on
ac_bedroom_quiet:
name: AC Bedroom Quiet
icon: mdi:headphones
initial: off
ac_bedroom_xfan:
name: AC Bedroom XFan
icon: mdi:fan-remove
initial: on
ac_bedroom_sleep:
name: AC Bedroom Sleep
icon: mdi:power-sleep
initial: off
ac_bedroom_eightdegheat:
name: AC Bedroom 8 degree
icon: mdi:snowflake-thermometer
initial: off
ac_bedroom_fresh_air:
name: AC Bedroom Fresh Air
icon: mdi:air-filter
initial: off
ac_bedroom_eco:
name: AC Bedroom Eco
icon: mdi:leaf-circle-outline
initial: off
## AC Childrensroom
ac_childrensroom_panel_light:
name: AC Childrensroom Panel Light
icon: mdi:lightbulb
initial: off
ac_childrensroom_health:
name: AC Childrensroom Health
icon: mdi:pine-tree
initial: on
ac_childrensroom_quiet:
name: AC Childrensroom Quiet
icon: mdi:headphones
initial: off
ac_childrensroom_xfan:
name: AC Childrensroom XFan
icon: mdi:fan-remove
initial: on
ac_childrensroom_sleep:
name: AC Childrensroom Sleep
icon: mdi:power-sleep
initial: off
ac_childrensroom_eightdegheat:
name: AC Childrensroom 8 degree
icon: mdi:snowflake-thermometer
initial: off
ac_childrensroom_fresh_air:
name: AC Childrensroom Fresh Air
icon: mdi:air-filter
initial: off
ac_childrensroom_eco:
name: AC Childrensroom Eco
icon: mdi:leaf-circle-outline
initial: off
## AC Guestroom
ac_guestroom_panel_light:
name: AC Guestroom Panel Light
icon: mdi:lightbulb
initial: off
ac_guestroom_health:
name: AC Guestroom Health
icon: mdi:pine-tree
initial: on
ac_guestroom_quiet:
name: AC Guestroom Quiet
icon: mdi:headphones
initial: off
ac_guestroom_xfan:
name: AC Guestroom XFan
icon: mdi:fan-remove
initial: on
ac_guestroom_sleep:
name: AC Guestroom Sleep
icon: mdi:power-sleep
initial: off
ac_guestroom_eightdegheat:
name: AC Guestroom 8 degree
icon: mdi:snowflake-thermometer
initial: off
ac_guestroom_fresh_air:
name: AC Guestroom Fresh Air
icon: mdi:air-filter
initial: off
ac_guestroom_eco:
name: AC Guestroom Eco
icon: mdi:leaf-circle-outline
initial: off
## AC Livingroom
ac_livingroom_panel_light:
name: AC Livingroom Panel Light
icon: mdi:lightbulb
initial: off
ac_livingroom_health:
name: AC Livingroom Health
icon: mdi:pine-tree
initial: on
ac_livingroom_quiet:
name: AC Livingroom Quiet
icon: mdi:headphones
initial: off
ac_livingroom_xfan:
name: AC Livingroom XFan
icon: mdi:fan-remove
initial: on
ac_livingroom_sleep:
name: AC Livingroom Sleep
icon: mdi:power-sleep
initial: off
ac_livingroom_eightdegheat:
name: AC Livingroom 8 degree
icon: mdi:snowflake-thermometer
initial: off
ac_livingroom_fresh_air:
name: AC Livingroom Fresh Air
icon: mdi:air-filter
initial: off
ac_livingroom_eco:
name: AC Livingroom Eco
icon: mdi:leaf-circle-outline
initial: off
## AC Bathroom
ac_bathroom_panel_light:
name: AC Bathroom Panel Light
icon: mdi:lightbulb
initial: off
ac_bathroom_health:
name: AC Bathroom Health
icon: mdi:pine-tree
initial: on
ac_bathroom_quiet:
name: AC Bathroom Quiet
icon: mdi:headphones
initial: off
ac_bathroom_xfan:
name: AC Bathroom XFan
icon: mdi:fan-remove
initial: on
ac_bathroom_sleep:
name: AC Bathroom Sleep
icon: mdi:power-sleep
initial: off
ac_bathroom_eightdegheat:
name: AC Bathroom 8 degree
icon: mdi:snowflake-thermometer
initial: off
ac_bathroom_fresh_air:
name: AC Bathroom Fresh Air
icon: mdi:air-filter
initial: off
ac_bathroom_eco:
name: AC Bathroom Eco
icon: mdi:leaf-circle-outline
initial: off

View File

@ -1,2 +1,16 @@
# Home Assistant configuration # Home Assistant
## Hardware
- [Odroid C2](https://www.hardkernel.com/shop/odroid-c2/)
- Zigbee Coordinator [SMARTLIGHT CC2652P (SLZB-02)](https://smartlight.me/diy-smart-home/flashing_slzb-02)
## Nastavení
Databáze
- **MariaDB** - Interní add-on pro recorder (7-30 dní)
- **InfluxDB** - Externí pro long-term data
## Links
[home.habad.eu](https://home.habad.eu)

View File

@ -1 +1,42 @@
[] - id: "1673752036683"
alias: blue_led_off
description: Po startu vypne modrou LED (Odroid C2)
triggers:
- trigger: homeassistant
event: start
condition: []
actions:
- action: shell_command.blue_led_off
data: {}
mode: single
- id: "1686867321964"
alias: Update Map Extractor camera
description: ""
use_blueprint:
path: PiotrMachowski/update_map_extractor.yaml
input:
vacuum: vacuum.roborock_vacuum_s5
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

View File

@ -1,33 +1,53 @@
# Configure a default setup of Home Assistant (frontend, api, etc) # Configure a default setup of Home Assistant (frontend, api, etc)
default_config: default_config:
shell_command:
blue_led_off: /bin/echo none > /sys/class/leds/c2:blue:alive/trigger
# Text to speech # Text to speech
tts: tts:
- platform: google_translate - platform: google_translate
language: "cs" language: "cs"
group: !include groups.yaml # Example configuration.yaml entry
google_assistant:
project_id: home-assistant-65612
service_account: !include home-assistant-65612-d69ecfd0f735.json
report_state: true
homeassistant:
packages: !include_dir_named packages
automation: !include automations.yaml automation: !include automations.yaml
script: !include scripts.yaml #template: !include template.yaml
scene: !include scenes.yaml sensor: !include sensors.yaml
template: !include template.yaml # climate: !include GreeClimateComponent-climate.yaml
# var: !include var.yaml
http: http:
use_x_forwarded_for: true use_x_forwarded_for: true
trusted_proxies: trusted_proxies:
- 192.168.88.10 - 192.168.88.102 # LXC
- 192.168.88.110 # Docker
logger:
default: info
logs:
custom_components.xiaomi_cloud_map_extractor: debug
# MariaDB - 30 day data # MariaDB - 30 day data
recorder: recorder:
db_url: !secret mariadb_url db_url: !secret mariadb_url
purge_keep_days: 30 purge_keep_days: 7
commit_interval: 20 commit_interval: 20
history:
# InfluxDB - Long-term data # InfluxDB - Long-term data
influxdb: influxdb:
api_version: 2 api_version: 2
ssl: false ssl: false
host: 192.168.88.10 host: 192.168.88.112
port: 8086 port: 8086
token: !secret influxdb_token token: !secret influxdb_token
organization: habad organization: habad
@ -43,17 +63,31 @@ light:
- platform: group - platform: group
name: Obývák name: Obývák
entities: entities:
- light.0xb4e3f9fffe102c1f - light.livingroom_mainlight_aquarium
- light.0xb4e3f9fffe102c12 - light.livingroom_mainlight_gramophone
- light.0x84fd27fffe80415b - light.livingroom_mainlight_library
- light.0x84fd27fffed7b8a4 - light.livingroom_mainlight_fireplace
camera: camera:
- platform: xiaomi_cloud_map_extractor - platform: xiaomi_cloud_map_extractor
host: 192.168.88.22 host: !secret xiaomi_vacuum_host
token: !secret xiaomi_vacuum_token token: !secret xiaomi_vacuum_token
username: !secret xiaomi_cloud_username username: !secret xiaomi_cloud_username
password: !secret xiaomi_cloud_password password: !secret xiaomi_cloud_password
draw: ["all"] draw: ["all"]
attributes: attributes:
- calibration_points - calibration_points
map_transformation:
scale: 2
rotate: 90
trim:
top: 20
bottom: 20
left: 20
right: 20
scan_interval:
seconds: 300
auto_update: false
store_map_raw: true
store_map_image: true
store_map_path: "/tmp"

View File

View File

@ -0,0 +1,12 @@
{
"type": "service_account",
"project_id": "home-assistant-65612",
"private_key_id": "d69ecfd0f7358fcf0269fabd324abc5929d2fc12",
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDMou6dO78/D2IC\nhdw4NpEP88hHqfXUtVOEDyZwYztVSYkGzx3E0DNn/UN0gAhQVvL2GORFgec0XhfR\nUJtwKIi38/x2aBli/GsmYzZE9DzasvTasGgjW+XN74lGKIO9oMihQQCWgIdRg+LE\n7KKgm+SC0y6YeXe9piISBdRRgeleNnXpShiPjClGkROSp/evTbu7NOOoacKgNEnm\nSdk0SZ2F9+jEgLv8Pj7vCTl/frX4hQNyJwxso+9r7j/HElJKXSwZ+PyRywyeZ6Hn\npAFV3cxc6VusKmNQ9tkdKr4ScV72g4A0y7l/DKFmn/mEga0ucBXIJAKzB8rcSNH3\n93UVGpu9AgMBAAECggEAMOc0EmfDl7CXqcYvH1DtAEywPW4QxU0zAPF07HFObd6V\nrEalVNIzosOL0gTB1987j1PaA4FcjS96TiePCfHp4FoiqHJOtNDhU2psvvRGMbaI\nHNYBAQg2Zi07F0TZ3OCWabDk0NK04+ZadFifsbWnmZsZvM70bmJMLJXvjC35ZO29\nd9o/W2WrjDAIosyaYADugSYVMTRPrEW9xQCK/4C54n4soISXjyzyC/+RNrB6z422\nD7gvZrzvVoqADMAoL2pzlO2YzutEqXlN1V9DfeOmZVzGgd+SH2lQ6+k2p0CK68AP\nXP5JAefBiiKnGG9M/gWJ7xE+rVFul9wlioRLpFUjQQKBgQD8rxK1/aQG1o9UK70A\ntON3QEk1dwKIb55PGN/G1caYahKhEYAuKBySXm55KTNOUm+wh0p6fpNXlfaY6pQp\n4zg7Mrw7X+v5X1K5LpKH03p3Pd3+YkBsKaeEbQ+i35YHfwAEyGCPpoPiPCL0uysJ\nB0+36IOVW9Srid3CQUD30NWhQQKBgQDPUm/bAoLH3XOFCv6kV2uetdx8WtKj2aUv\nOQMUEozi5v4FbVeNTie1yvfxKUFbQAeK7022RX3fyQY8EU5V+zZdjNCbzdj8Mfoo\nnFj33sdpY7nB3El/QlrHjoJs6ixPha99nOnXbKICe5qnS/DtmKh28A4cJraBWo3r\nfk6YKUQffQKBgQC5ALmTU5x3gTo5ZzifPtFX61Juea76E7b1tIGKw9P+nZL8KKMP\nqECbDdaWkQrGambp+XQXUXsxYlPFS+Kk9H6kIRZd5nIQB7G6cZXJKpX8neheKrN+\nPdUviOYs2sSuwlZSKh9ArarbxinVwv/UQW0lenB0t2JzIaKiakJV7qmqwQKBgQCD\nMnbokIk0c7aD7fZBB7VqJUoXQ95io/u9i4WgMTEI8ga0ZoJuQJQunfgTm/jpBvb+\n+/sgqo9Ci9MvNgBttuCriM4GmtiCmBnnkzFWApwM3HgT7xRvvQz3lf6BcBuEY2Qv\nyJnOosdPbOrsjck0glOxmK5FMFZ0O1ruOOsBrbOXfQKBgQC/LVdKbcghzL7Banmq\njGlo7wYttFvStH1tiVJw8/CTgcnypr8hJG0rd9dKd3coYq0xEl0EGN2zmpydKPW0\nmIm7y9YjAaXoFUczx6+hiLbeCoZTKdq0MQ2t97eq2UHwv4yFdyOO51l4FlMlGuHm\n8Hp6gQxXp9aKOgHg9CHakzKp+Q==\n-----END PRIVATE KEY-----\n",
"client_email": "maska-sa@home-assistant-65612.iam.gserviceaccount.com",
"client_id": "100808677423053553644",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/maska-sa%40home-assistant-65612.iam.gserviceaccount.com"
}

File diff suppressed because it is too large Load Diff

View File

@ -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": false,
"menu-deploymenu-item-node": true
}
}

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
{"$":"cf921e2484a562e876ad6eba54dbce84MjFw1xmZg0fdt9vmkwDiyjoFE5M+2hVoxsd2lBFX0RblC9c42iWoe1lTragOZy1lX8FaR1xC9cAxUzh+wVOuRf3ugphkwgLWpqsG9CsgUAGn6MmU5K51qeo="}

View File

@ -1,3 +0,0 @@
{
"nodes": {}
}

View File

@ -1,944 +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.1.5"
}
},
"node_modules/@socket.io/base64-arraybuffer": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
"integrity": "sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==",
"engines": {
"node": ">= 0.6.0"
}
},
"node_modules/@types/component-emitter": {
"version": "1.2.11",
"resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz",
"integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ=="
},
"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.12",
"resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
"integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw=="
},
"node_modules/@types/node": {
"version": "17.0.13",
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.13.tgz",
"integrity": "sha512-Y86MAxASe25hNzlDbsviXl8jQHb0RDvKt4c40ZJQ1Don0AAL0STLZSs4N+6gLEO55pedy7r2cLwS+ZDxPm/2Bw=="
},
"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/component-emitter": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
"integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
},
"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.1",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
"integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==",
"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": "1.1.2",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/destroy": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
},
"node_modules/ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"node_modules/encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/engine.io": {
"version": "6.1.2",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.2.tgz",
"integrity": "sha512-v/7eGHxPvO2AWsksyx2PUsQvBafuvqs0jJJQ0FdmJG1b9qIvgSbqDRGwNhfk2XHaTTbTXiC4quRE8Q9nRjsrQQ==",
"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.0",
"ws": "~8.2.3"
},
"engines": {
"node": ">=10.0.0"
}
},
"node_modules/engine.io-parser": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz",
"integrity": "sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==",
"dependencies": {
"@socket.io/base64-arraybuffer": "~1.0.2"
},
"engines": {
"node": ">=10.0.0"
}
},
"node_modules/engine.io/node_modules/debug": {
"version": "4.3.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
"integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
"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": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
},
"node_modules/etag": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/fresh": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
"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": "1.8.1",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
"integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
"dependencies": {
"depd": "~1.1.2",
"inherits": "2.0.4",
"setprototypeof": "1.2.0",
"statuses": ">= 1.5.0 < 2",
"toidentifier": "1.0.1"
},
"engines": {
"node": ">= 0.6"
}
},
"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.1.5",
"resolved": "https://registry.npmjs.org/node-red-dashboard/-/node-red-dashboard-3.1.5.tgz",
"integrity": "sha512-Npw6TCe97TzyeCe5CLAWsRklxop00ijmJYrYBagvZqVWHR8+ZXStS8l/7bOstzrkNY2Mvz6Xj9Ne4a+Z3h4V5g==",
"dependencies": {
"compression": "^1.7.4",
"gridstack": "^0.6.4",
"serve-static": "^1.14.2",
"socket.io": "~4.4.1"
},
"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": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/on-finished": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
"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.17.2",
"resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz",
"integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==",
"dependencies": {
"debug": "2.6.9",
"depd": "~1.1.2",
"destroy": "~1.0.4",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"fresh": "0.5.2",
"http-errors": "1.8.1",
"mime": "1.6.0",
"ms": "2.1.3",
"on-finished": "~2.3.0",
"range-parser": "~1.2.1",
"statuses": "~1.5.0"
},
"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.14.2",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz",
"integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==",
"dependencies": {
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"parseurl": "~1.3.3",
"send": "0.17.2"
},
"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.4.1",
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz",
"integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==",
"dependencies": {
"accepts": "~1.3.4",
"base64id": "~2.0.0",
"debug": "~4.3.2",
"engine.io": "~6.1.0",
"socket.io-adapter": "~2.3.3",
"socket.io-parser": "~4.0.4"
},
"engines": {
"node": ">=10.0.0"
}
},
"node_modules/socket.io-adapter": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz",
"integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ=="
},
"node_modules/socket.io-parser": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz",
"integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==",
"dependencies": {
"@types/component-emitter": "^1.2.10",
"component-emitter": "~1.3.0",
"debug": "~4.3.1"
},
"engines": {
"node": ">=10.0.0"
}
},
"node_modules/socket.io-parser/node_modules/debug": {
"version": "4.3.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
"integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
"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.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
"integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
"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": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
"engines": {
"node": ">= 0.6"
}
},
"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/base64-arraybuffer": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
"integrity": "sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ=="
},
"@types/component-emitter": {
"version": "1.2.11",
"resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz",
"integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ=="
},
"@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.12",
"resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
"integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw=="
},
"@types/node": {
"version": "17.0.13",
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.13.tgz",
"integrity": "sha512-Y86MAxASe25hNzlDbsviXl8jQHb0RDvKt4c40ZJQ1Don0AAL0STLZSs4N+6gLEO55pedy7r2cLwS+ZDxPm/2Bw=="
},
"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="
},
"component-emitter": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
"integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
},
"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.1",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
"integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA=="
},
"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": "1.1.2",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
},
"destroy": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
},
"ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
},
"engine.io": {
"version": "6.1.2",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.2.tgz",
"integrity": "sha512-v/7eGHxPvO2AWsksyx2PUsQvBafuvqs0jJJQ0FdmJG1b9qIvgSbqDRGwNhfk2XHaTTbTXiC4quRE8Q9nRjsrQQ==",
"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.0",
"ws": "~8.2.3"
},
"dependencies": {
"debug": {
"version": "4.3.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
"integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
"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.3",
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz",
"integrity": "sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==",
"requires": {
"@socket.io/base64-arraybuffer": "~1.0.2"
}
},
"escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
},
"etag": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
},
"fresh": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
},
"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": "1.8.1",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
"integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
"requires": {
"depd": "~1.1.2",
"inherits": "2.0.4",
"setprototypeof": "1.2.0",
"statuses": ">= 1.5.0 < 2",
"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.1.5",
"resolved": "https://registry.npmjs.org/node-red-dashboard/-/node-red-dashboard-3.1.5.tgz",
"integrity": "sha512-Npw6TCe97TzyeCe5CLAWsRklxop00ijmJYrYBagvZqVWHR8+ZXStS8l/7bOstzrkNY2Mvz6Xj9Ne4a+Z3h4V5g==",
"requires": {
"compression": "^1.7.4",
"gridstack": "^0.6.4",
"serve-static": "^1.14.2",
"socket.io": "~4.4.1"
}
},
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
},
"on-finished": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
"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.17.2",
"resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz",
"integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==",
"requires": {
"debug": "2.6.9",
"depd": "~1.1.2",
"destroy": "~1.0.4",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"fresh": "0.5.2",
"http-errors": "1.8.1",
"mime": "1.6.0",
"ms": "2.1.3",
"on-finished": "~2.3.0",
"range-parser": "~1.2.1",
"statuses": "~1.5.0"
},
"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.14.2",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz",
"integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==",
"requires": {
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"parseurl": "~1.3.3",
"send": "0.17.2"
}
},
"setprototypeof": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
},
"socket.io": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz",
"integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==",
"requires": {
"accepts": "~1.3.4",
"base64id": "~2.0.0",
"debug": "~4.3.2",
"engine.io": "~6.1.0",
"socket.io-adapter": "~2.3.3",
"socket.io-parser": "~4.0.4"
},
"dependencies": {
"debug": {
"version": "4.3.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
"integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
"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.3.3",
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz",
"integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ=="
},
"socket.io-parser": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz",
"integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==",
"requires": {
"@types/component-emitter": "^1.2.10",
"component-emitter": "~1.3.0",
"debug": "~4.3.1"
},
"dependencies": {
"debug": {
"version": "4.3.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
"integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
"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": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
},
"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": {}
}
}
}

View File

@ -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.1.5"
}
}

View File

@ -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,
},
},
};

View File

@ -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'

View File

View File

@ -1,12 +1,18 @@
# Use this file to store secrets like usernames and passwords. # Use this file to store secrets like usernames and passwords.
# Learn more at https://www.home-assistant.io/docs/configuration/secrets/ # Learn more at https://www.home-assistant.io/docs/configuration/secrets/
some_password: welcome some_password: welcome
xiaomi_vacuum_host: 192.168.88.22
xiaomi_vacuum_token: 54553270474f35576e55325450506261 xiaomi_vacuum_token: 54553270474f35576e55325450506261
xiaomi_cloud_username: habad@hotmail.cz xiaomi_cloud_username: habad@hotmail.cz
xiaomi_cloud_password: Maska.MiAccount xiaomi_cloud_password: Maska.MiAccount
# Databases # Databases
mariadb_url: mysql://dbadmin:txcqCuH6Ht9epRvQYOF3@core-mariadb/homeassistant?unix_socket=/var/run/mysqld/mysqld.sock&charset=utf8mb4 mariadb_url: mysql://dbadmin:txcqCuH6Ht9epRvQYOF3@core-mariadb/homeassistant?unix_socket=/var/run/mysqld/mysqld.sock&charset=utf8mb4
influxdb_token: cqMQvcDUlP6_Zo88s_MXsl672zJQaIcAZ6h5ZZANtgr1Hn-Z08pXp8SPxtRcEfHyXNXthnD6AYCllxJYgQzrvQ== influxdb_token: cqMQvcDUlP6_Zo88s_MXsl672zJQaIcAZ6h5ZZANtgr1Hn-Z08pXp8SPxtRcEfHyXNXthnD6AYCllxJYgQzrvQ==
# Kiosk mode
# Samsung Galaxy Tab3
kiosk_galaxy_url: http://192.168.88.55:2323/?cmd=deviceInfo&type=json&password=ha-kiosk
kiosk_galaxy_command: "http://192.168.88.55:2323/?cmd={{ cmd }}&key={{ key }}&value={{ value }}&type=json&password=ha-kiosk"
kiosk_galaxy_settings: "http://192.168.88.55:2323/?cmd=listSettings&type=json&password=ha-kiosk"

12
sensors.yaml Normal file
View File

@ -0,0 +1,12 @@
# MariaDB Database Size Sensor
- platform: sql
db_url: !secret mariadb_url
scan_interval: 3600
queries:
- name: MariaDB size
query: 'SELECT table_schema AS "database", ROUND(SUM(data_length + index_length) / 1024 / 1024, 1) "value" FROM information_schema.tables WHERE table_schema="homeassistant" GROUP BY table_schema;'
column: "value"
unit_of_measurement: MB
# InfluxDB 2.x Database Size Sensor

View File

@ -1,32 +1,65 @@
- sensor: # - sensor:
- name: "Energy Total" # # Klimatizace - aktuální teplota
unique_id: energy_total # - unique_id: ac_livingroom_current_temperature
state: >- # name: "AC Livingroom Current temperature"
{{ states('sensor.shelly3em_channel_a_energy')|float + # unit_of_measurement: "°C"
states('sensor.shelly3em_channel_b_energy')|float + # icon: mdi:thermometer
states('sensor.shelly3em_channel_c_energy')|float }} # state: >
unit_of_measurement: kWh # {{ state_attr('climate.ac_livingroom', 'current_temperature') }}
device_class: energy # - unique_id: ac_bathroom_current_temperature
state_class: measurement # name: "AC Bathroom Current temperature"
attributes: # unit_of_measurement: "°C"
last_reset: "1970-01-01T00:00:00+00:00" # icon: mdi:thermometer
- name: "Power Total" # state: >
unique_id: power_total # {{ state_attr('climate.ac_bathroom', 'current_temperature') }}
state: >- # - unique_id: ac_bedroom_current_temperature
{{ (states('sensor.shelly3em_channel_a_power')|float + # name: "AC Bedroom Current temperature"
states('sensor.shelly3em_channel_b_power')|float + # unit_of_measurement: "°C"
states('sensor.shelly3em_channel_c_power')|float) }} # icon: mdi:thermometer
unit_of_measurement: W # state: >
device_class: power # {{ state_attr('climate.ac_bedroom', 'current_temperature') }}
state_class: measurement # - unique_id: ac_childrensroom_current_temperature
- name: "Power Factor Total" # name: "AC Childrensroom Current temperature"
unique_id: power_factor_total # unit_of_measurement: "°C"
state: >- # icon: mdi:thermometer
{{ (((states('sensor.shelly3em_channel_a_power')|float) * (states('sensor.shelly3em_channel_a_power_factor')|float) + # state: >
(states('sensor.shelly3em_channel_b_power')|float) * (states('sensor.shelly3em_channel_b_power_factor')|float) + # {{ state_attr('climate.ac_childrensroom', 'current_temperature') }}
(states('sensor.shelly3em_channel_c_power')|float) * (states('sensor.shelly3em_channel_c_power_factor')|float)) / # - unique_id: ac_guestroom_current_temperature
(states('sensor.shelly3em_channel_a_power')|float + states('sensor.shelly3em_channel_b_power')|float + states('sensor.shelly3em_channel_c_power')|float)) # name: "AC Guestroom Current temperature"
|int }} # unit_of_measurement: "°C"
unit_of_measurement: "%" # icon: mdi:thermometer
device_class: power_factor # state: >
state_class: measurement # {{ 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) }}

10
var.yaml Normal file
View File

@ -0,0 +1,10 @@
color_ac_livingroom:
initial_value: #ff9800
color_ac_bathroom:
initial_value: #3498db
color_ac_bedroom:
initial_value: #e74c3c
color_ac_childrensroom:
initial_value: #9b59b6
color_ac_guestroom:
initial_value: #f1c40f

View File

@ -1,57 +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": []
},
"device_options": {},
"blocklist": [],
"passlist": [],
"queue": {},
"frontend": {
"port": 8099
},
"experimental": {},
"availability": false
}

View File

@ -1,10 +0,0 @@
'0xb4e3f9fffe102c12':
friendly_name: livingroom/main_light_2
'0x84fd27fffed7b8a4':
friendly_name: livingroom/main_light_4
'0x84fd27fffe80415b':
friendly_name: livingroom/main_light_3
'0xb4e3f9fffe102c1f':
friendly_name: livingroom/main_light_1
'0x60a423fffefc9539':
friendly_name: livingroom/scene_switch

View File

@ -1 +0,0 @@
{}