@mp-consulting/homebridge-daikin-cloud 1.3.8 → 1.3.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.
@@ -18,14 +18,14 @@
18
18
  <div class="mp-header-subtitle">Onecta integration for HomeKit</div>
19
19
  </div>
20
20
  <div class="ms-auto d-flex align-items-center gap-2">
21
- <span class="badge" id="status-badge">
22
- <span class="status-dot" id="status-indicator"></span>
23
- <span id="status-text">Checking...</span>
24
- </span>
25
21
  <span class="text-muted small" id="header-info">
26
22
  <span id="token-expires-label" class="d-none">Expires in: </span>
27
23
  <span id="token-expires" class="fw-medium"></span>
28
24
  </span>
25
+ <span class="badge" id="status-badge">
26
+ <span class="status-dot" id="status-indicator"></span>
27
+ <span id="status-text">Checking...</span>
28
+ </span>
29
29
  </div>
30
30
  </div>
31
31
 
@@ -507,6 +507,16 @@
507
507
  </div>
508
508
  </div>
509
509
  </div>
510
+
511
+ <div class="mp-footer">
512
+ <a href="https://github.com/mp-consulting/homebridge-daikin-cloud" target="_blank" rel="noopener">
513
+ <i class="bi bi-github"></i>GitHub
514
+ </a>
515
+ <span class="mp-footer-sep">|</span>
516
+ <a href="https://www.npmjs.com/package/@mp-consulting/homebridge-daikin-cloud" target="_blank" rel="noopener">
517
+ <i class="bi bi-box-seam"></i>npm
518
+ </a>
519
+ </div>
510
520
  </div>
511
521
 
512
522
  <div class="loading-overlay d-none" id="loading">
@@ -840,25 +840,25 @@ const Devices = {
840
840
  const powerOn = device.powerState === 'on';
841
841
  const mode = device.operationMode ? Utils.capitalize(device.operationMode) : '-';
842
842
  const features = device.features?.length
843
- ? `<div class="mt-2">${device.features.map(f => `<span class="badge bg-secondary me-1">${f}</span>`).join('')}</div>`
843
+ ? device.features.map(f => `<span class="badge bg-secondary bg-opacity-50 me-1">${f}</span>`).join('')
844
844
  : '';
845
845
 
846
+ const meta = [
847
+ device.roomTemp ? `<span class="device-meta-item">Room: <span class="text-body-secondary">${Utils.escapeHtml(device.roomTemp)}</span></span>` : '',
848
+ device.outdoorTemp ? `<span class="device-meta-item">Outdoor: <span class="text-body-secondary">${Utils.escapeHtml(device.outdoorTemp)}</span></span>` : '',
849
+ `<span class="device-meta-item">Mode: <span class="text-body-secondary">${Utils.escapeHtml(mode)}</span></span>`,
850
+ `<span class="device-meta-item">Model: <span class="text-body-secondary">${Utils.escapeHtml(device.model)}</span></span>`,
851
+ ].filter(Boolean).join('<span class="device-meta-sep">·</span>');
852
+
846
853
  return `
847
854
  <div class="list-group-item">
848
- <div class="d-flex justify-content-between align-items-center mb-2">
849
- <div class="fw-semibold">${Utils.escapeHtml(device.name)}</div>
850
- <div class="d-flex gap-1">
851
- <span class="device-power ${powerOn ? 'power-on' : 'power-off'}">${powerOn ? 'ON' : 'OFF'}</span>
852
- <span class="device-status ${online ? 'online' : 'offline'}">${online ? 'Online' : 'Offline'}</span>
853
- </div>
854
- </div>
855
- <div class="d-flex flex-wrap gap-3 small text-muted">
856
- ${device.roomTemp ? `<span><strong>Room:</strong> ${Utils.escapeHtml(device.roomTemp)}</span>` : ''}
857
- ${device.outdoorTemp ? `<span><strong>Outdoor:</strong> ${Utils.escapeHtml(device.outdoorTemp)}</span>` : ''}
858
- <span><strong>Mode:</strong> ${Utils.escapeHtml(mode)}</span>
859
- <span><strong>Model:</strong> ${Utils.escapeHtml(device.model)}</span>
855
+ <div class="d-flex align-items-center">
856
+ <span class="device-power ${powerOn ? 'power-on' : 'power-off'} me-2">${powerOn ? 'ON' : 'OFF'}</span>
857
+ <span class="fw-semibold">${Utils.escapeHtml(device.name)}</span>
858
+ ${features ? `<div class="ms-2">${features}</div>` : ''}
859
+ <span class="device-status ${online ? 'online' : 'offline'} ms-auto">${online ? 'Online' : 'Offline'}</span>
860
860
  </div>
861
- ${features}
861
+ <div class="device-meta mt-1">${meta}</div>
862
862
  </div>`;
863
863
  },
864
864
 
@@ -105,6 +105,18 @@
105
105
  color: var(--bs-danger-text-emphasis);
106
106
  }
107
107
 
108
+ /* Device meta row */
109
+ .device-meta {
110
+ font-size: 0.75rem;
111
+ color: var(--bs-tertiary-color);
112
+ opacity: 0.55;
113
+ }
114
+
115
+ .device-meta-sep {
116
+ margin: 0 0.4rem;
117
+ opacity: 0.4;
118
+ }
119
+
108
120
  /* Device Toggle Labels */
109
121
  .device-toggle-label.visible {
110
122
  color: var(--bs-success);
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "displayName": "Daikin Cloud",
3
3
  "platformname": "daikincloud",
4
4
  "name": "@mp-consulting/homebridge-daikin-cloud",
5
- "version": "1.3.8",
5
+ "version": "1.3.9",
6
6
  "description": "Integrate with the Daikin Cloud to control your Daikin air conditioning via the cloud",
7
7
  "license": "(Apache-2.0 AND MIT)",
8
8
  "repository": {
@@ -48,7 +48,7 @@
48
48
  "eslint": "^9.39.2",
49
49
  "hap-nodejs": "^1.1.0",
50
50
  "homebridge": "^2.0.0-beta.55",
51
- "homebridge-config-ui-x": "^5.15.0",
51
+ "homebridge-config-ui-x": "^5.19.0",
52
52
  "nodemon": "^3.1.11",
53
53
  "rimraf": "^6.1.0",
54
54
  "typescript": "^5.9.3",