node-red-contrib-knx-ultimate 4.2.7 → 4.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- .page-shell{width:min(100% - 32px,1440px);margin:16px auto 28px}.topbar,.card,.metric-card{background:#ffffffeb;border:1px solid rgba(255,255,255,.6);box-shadow:var(--shadow)}.topbar,.card{border-radius:28px;padding:22px}.topbar{margin-bottom:16px}.eyebrow{margin:0;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{margin-top:8px;font-size:clamp(28px,4vw,42px);line-height:1.05}.subhead{max-width:860px;margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.5}.toolbar,.statusbar,.pill-row,.tile-stats,.section-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.toolbar{margin-top:18px}.statusbar{justify-content:space-between;margin-top:14px}.node-select,.checkbox,.search-input,.secondary-button,.tile-card,.other-row{border:1px solid var(--line);border-radius:16px;background:#ffffffe0}.node-select,.search-input{padding:10px 12px;color:var(--text)}.node-select{min-width:min(420px,100%)}.checkbox{display:inline-flex;gap:8px;align-items:center;padding:10px 12px;color:var(--muted);font-weight:700}.secondary-button{padding:10px 14px;color:var(--text);font-size:13px;font-weight:700;cursor:pointer}.secondary-button:hover{background:var(--accent-soft);border-color:#7a68d866}.secondary-button:disabled{opacity:.6;cursor:not-allowed}.status-pill,.meta-chip,.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700}.status-ok,.pill.success{background:var(--ok-bg);color:#23753c}.status-error{background:var(--err-bg);color:#ae2f3b}.pill.neutral,.meta-chip{background:var(--accent-soft);color:var(--muted)}.pill.warn{background:var(--warn-bg);color:#9c6110}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.metric-card{border-radius:22px;padding:18px}.metric-label{display:block;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.metric-card strong{display:block;margin-top:12px;font-size:28px;line-height:1}.metric-card p{margin-top:10px;color:var(--muted);line-height:1.45;font-size:13px}.card{margin-bottom:16px}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.section-tools{justify-content:space-between;margin-bottom:16px}.search-input{min-width:min(360px,100%)}.section-note,.tile-meta,.empty-state,.other-row p{color:var(--muted);line-height:1.5}.lights-grid,.dimmer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.tile-card{padding:16px}.tile-card h3{margin-top:12px;font-size:18px;line-height:1.2}.tile-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.tile-meta{margin-top:8px;font-size:13px}.tile-stats{margin-top:14px}.light-card.is-on{background:radial-gradient(circle at top center,rgba(255,229,96,.48),transparent 42%),linear-gradient(180deg,#fff8bdfc,#ffea84f7);border-color:#d99a34b3;box-shadow:inset 0 1px #ffffffb3,0 18px 42px #f0c33c2e}.light-card.is-off{background:linear-gradient(180deg,#f8f5fffa,#f0ecfbf0)}.light-badge{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#ffffffa6;border:1px solid rgba(98,87,142,.16)}.light-card.is-on .light-badge{background:linear-gradient(180deg,#fffbdcf2,#fff1aafa);border-color:#d99a3480}.light-badge-core{width:22px;height:22px;border-radius:50%;background:#9da0b6;box-shadow:0 0 0 6px #9da0b62e}.light-card.is-on .light-badge-core{width:24px;height:24px;background:#ffcf2e;box-shadow:0 0 0 10px #ffcf2e47,0 0 18px #ffcf2e8c,0 0 38px #ffcf2e66}.dimmer-card.is-active{background:linear-gradient(180deg,#fffbe3fa,#fff5c8f0);border-color:#d99a3459}.dimmer-track{height:14px;margin-top:16px;overflow:hidden;border-radius:999px;background:#7a68d81f}.dimmer-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f0c33c,#ffde73 45%,#7a68d8)}.other-list{display:grid;gap:10px}.other-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 16px}.other-side{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}@media(max-width:1080px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.page-shell{width:min(100% - 16px,1440px);margin-top:8px}.topbar,.card{padding:16px;border-radius:22px}.metric-grid{grid-template-columns:1fr}.statusbar,.section-tools,.other-row{align-items:flex-start}.other-row{flex-direction:column}.other-side{justify-content:flex-start}}:root{color-scheme:light;--bg: #f4f1ff;--panel: #ffffff;--panel-soft: #f8f5ff;--text: #2b2446;--muted: #655f80;--line: rgba(98, 87, 142, .24);--accent: #7a68d8;--accent-soft: #ece8ff;--ok-bg: #edf9ef;--ok-border: #5bbf73;--err-bg: #ffe9ea;--err-border: #d95b63;--warn-bg: #fff3df;--warn-border: #d99a34;--card-radius: 18px;--shadow: 0 12px 40px rgba(43, 36, 70, .08);font-family:Manrope,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:radial-gradient(circle at top left,rgba(122,104,216,.16),transparent 30%),radial-gradient(circle at top right,rgba(91,191,115,.14),transparent 24%),linear-gradient(180deg,#f6f2ff,#f5f8ff 52%,#f7fcf8);color:var(--text)}button,input,select,textarea{font:inherit}a{color:inherit}
1
+ .page-shell{width:min(100% - 32px,1440px);margin:16px auto 28px}.topbar,.card,.metric-card{background:#ffffffeb;border:1px solid rgba(255,255,255,.6);box-shadow:var(--shadow)}.topbar,.card{border-radius:28px;padding:22px}.topbar{margin-bottom:16px}.eyebrow{margin:0;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{margin-top:8px;font-size:clamp(28px,4vw,42px);line-height:1.05}.subhead{max-width:860px;margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.5}.toolbar,.statusbar,.pill-row,.tile-stats,.section-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.toolbar{margin-top:18px}.statusbar{justify-content:space-between;margin-top:14px}.node-select,.checkbox,.search-input,.secondary-button,.tile-card,.other-row{border:1px solid var(--line);border-radius:16px;background:#ffffffe0}.node-select,.search-input{padding:10px 12px;color:var(--text)}.node-select{min-width:min(420px,100%)}.checkbox{display:inline-flex;gap:8px;align-items:center;padding:10px 12px;color:var(--muted);font-weight:700}.secondary-button{padding:10px 14px;color:var(--text);font-size:13px;font-weight:700;cursor:pointer}.secondary-button:hover{background:var(--accent-soft);border-color:#7a68d866}.secondary-button:disabled{opacity:.6;cursor:not-allowed}.status-pill,.meta-chip,.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700}.status-ok,.pill.success{background:var(--ok-bg);color:#23753c}.status-error{background:var(--err-bg);color:#ae2f3b}.pill.neutral,.meta-chip{background:var(--accent-soft);color:var(--muted)}.pill.warn{background:var(--warn-bg);color:#9c6110}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.metric-card{border-radius:22px;padding:18px}.metric-label{display:block;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.metric-card strong{display:block;margin-top:12px;font-size:28px;line-height:1}.metric-card p{margin-top:10px;color:var(--muted);line-height:1.45;font-size:13px}.card{margin-bottom:16px}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.section-tools{justify-content:space-between;margin-bottom:16px}.search-input{min-width:min(360px,100%)}.section-note,.tile-meta,.empty-state,.other-row p{color:var(--muted);line-height:1.5}.lights-grid,.dimmer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.tile-card{padding:16px}.tile-card h3{margin-top:12px;font-size:18px;line-height:1.2}.tile-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.tile-meta{margin-top:8px;font-size:13px}.tile-stats{margin-top:14px}.light-card.is-on{background:radial-gradient(circle at top center,rgba(255,229,96,.48),transparent 42%),linear-gradient(180deg,#fff8bdfc,#ffea84f7);border-color:#d99a34b3;box-shadow:inset 0 1px #ffffffb3,0 18px 42px #f0c33c2e}.light-card.is-off{background:linear-gradient(180deg,#f8f5fffa,#f0ecfbf0)}.light-badge{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#ffffffa6;border:1px solid rgba(98,87,142,.16)}.light-card.is-on .light-badge{background:linear-gradient(180deg,#fffbdcf2,#fff1aafa);border-color:#d99a3480}.light-badge-core{width:22px;height:22px;border-radius:50%;background:#9da0b6;box-shadow:0 0 0 6px #9da0b62e}.light-card.is-on .light-badge-core{width:24px;height:24px;background:#ffcf2e;box-shadow:0 0 0 10px #ffcf2e47,0 0 18px #ffcf2e8c,0 0 38px #ffcf2e66}.dimmer-card.is-active{background:linear-gradient(180deg,#fffbe3fa,#fff5c8f0);border-color:#d99a3459}.dimmer-track{height:14px;margin-top:16px;overflow:hidden;border-radius:999px;background:#7a68d81f}.dimmer-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f0c33c,#ffde73 45%,#7a68d8)}.other-list{display:grid;gap:10px}.other-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 16px}.other-side{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}@media(max-width:1080px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.page-shell{width:min(100% - 16px,1440px);margin-top:8px}.topbar,.card{padding:16px;border-radius:22px}.metric-grid{grid-template-columns:1fr}.statusbar,.section-tools,.other-row{align-items:flex-start}.other-row{flex-direction:column}.other-side{justify-content:flex-start}}:root{color-scheme:light;--bg: #f4f1ff;--panel: #ffffff;--panel-soft: #f8f5ff;--text: #2b2446;--muted: #655f80;--line: rgba(98, 87, 142, .24);--accent: #7a68d8;--accent-soft: #ece8ff;--ok-bg: #edf9ef;--ok-border: #5bbf73;--err-bg: #ffe9ea;--err-border: #d95b63;--warn-bg: #fff3df;--warn-border: #d99a34;--card-radius: 18px;--shadow: 0 12px 40px rgba(43, 36, 70, .08);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:radial-gradient(circle at top left,rgba(122,104,216,.16),transparent 30%),radial-gradient(circle at top right,rgba(91,191,115,.14),transparent 24%),linear-gradient(180deg,#f6f2ff,#f5f8ff 52%,#f7fcf8);color:var(--text)}button,input,select,textarea{font:inherit}a{color:inherit}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "engines": {
4
4
  "node": ">=20.18.1"
5
5
  },
6
- "version": "4.2.7",
6
+ "version": "4.2.9",
7
7
  "description": "Control your KNX and KNX Secure intallation via Node-Red! A bunch of KNX nodes, with integrated Philips HUE control, ETS group address importer, and KNX routing between interfaces. Easy to use and highly configurable.",
8
8
  "files": [
9
9
  "nodes/",
@@ -87,6 +87,7 @@
87
87
  "scripts": {
88
88
  "build": "npm run knx-ai:build && npm run knx-viewer:build",
89
89
  "prepack": "npm run knx-ai:build && npm run knx-viewer:build",
90
+ "prepublishOnly": "npm run build",
90
91
  "test": "DEBUG_KNX_HUE_TEST=0 npm run test:unit && node scripts/check-node-load.js",
91
92
  "test:unit": "mocha \"test/**/*.test.js\"",
92
93
  "lint-fix": "standard --fix",