34 Commits

Author SHA1 Message Date
826d73990b grid fix 16 2025-11-20 21:32:42 +01:00
86587402b6 grid fix 15 2025-11-20 21:30:10 +01:00
110b903dc8 grid fix 14 2025-11-20 21:27:30 +01:00
a8f6ad800d grid fix 13 2025-11-20 21:25:42 +01:00
52a50e1cd4 grid fix 12 2025-11-20 21:25:05 +01:00
9d7e26677f grid fix 11 2025-11-20 18:33:50 +01:00
ebd459bfc1 grid fix 10 2025-11-20 18:29:51 +01:00
e49c5affe9 grid fix 9 2025-11-20 18:14:35 +01:00
5595cf4f37 grid fix 8 2025-11-20 18:13:55 +01:00
f61417a631 grid fix 7 2025-11-19 21:33:52 +01:00
6d62732d1d grid fix 6 2025-11-19 21:32:23 +01:00
73814df01e grid fix 5 2025-11-19 21:16:48 +01:00
4b7ac9b82b grid fix 4 2025-11-19 21:14:50 +01:00
850d810cb3 grid fix 3 2025-11-19 21:12:39 +01:00
5bdfbacc3c grid fix 2025-11-19 20:36:14 +01:00
3d9043b8fa device state setting fix 20 2025-11-19 15:17:55 +01:00
1890a83939 device state setting fix 19 2025-11-19 12:55:03 +01:00
23edd42fca device state setting fix 18 2025-11-19 12:34:39 +01:00
5fbaab3c11 device state setting fix 17 2025-11-19 12:19:51 +01:00
2eefbcd44b device state setting fix 16 2025-11-19 12:12:15 +01:00
d09caa9d92 device state setting fix 15 2025-11-19 12:09:45 +01:00
127b5857c3 device state setting fix 14 2025-11-19 12:02:27 +01:00
c2dcb733d8 device state setting fix 12 2025-11-19 11:24:32 +01:00
168b2c4b12 device state setting fix 11 2025-11-19 10:58:51 +01:00
66872703c1 device state setting fix 10 2025-11-19 10:55:05 +01:00
d4b44fa73e device state setting fix 9 2025-11-19 10:49:23 +01:00
87a86524d4 device state setting fix 8 2025-11-19 10:44:18 +01:00
91fdfde280 device state setting fix 7 2025-11-19 10:41:39 +01:00
d138d7bf0a device state setting fix 6 2025-11-19 10:36:45 +01:00
8b08ded0c6 device state setting fix 5 2025-11-19 10:31:07 +01:00
6a0601742a device state setting fix 4 2025-11-19 10:28:33 +01:00
99580f8ff9 device state setting fix 3 2025-11-19 10:20:46 +01:00
381f8521d4 device state setting fix 2 2025-11-19 10:16:39 +01:00
a382d58601 device state setting fix 2025-11-19 10:11:16 +01:00
7 changed files with 140 additions and 103 deletions

View File

@@ -37,9 +37,12 @@ from apps.api.resolvers import (
clear_room_cache, clear_room_cache,
) )
logging.basicConfig(
level=logging.DEBUG,
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s"
)
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
# ============================================================================ # ============================================================================
# STATE CACHES # STATE CACHES
# ============================================================================ # ============================================================================
@@ -362,6 +365,32 @@ async def publish_mqtt(topic: str, payload: dict[str, Any]) -> None:
await client.publish(topic, message, qos=1) await client.publish(topic, message, qos=1)
@app.get("/devices/states")
async def get_device_states() -> dict[str, dict[str, Any]]:
"""Get current states of all devices from in-memory cache.
Returns:
dict: Dictionary mapping device_id to state payload
"""
logger.debug("Fetching all device states")
return device_states
@app.get("/devices/{device_id}")
async def get_device(device_id: str) -> DeviceInfo:
logger.debug(f"Fetching info for device {device_id}")
devices = load_devices()
device = next((d for d in devices if d["device_id"] == device_id), None)
if not device:
raise HTTPException(status_code=404, detail="Device not found")
return DeviceInfo(
device_id=device["device_id"],
type=device["type"],
name=device.get("name", device["device_id"]),
features=device.get("features", {})
)
@app.get("/devices") @app.get("/devices")
async def get_devices() -> list[DeviceInfo]: async def get_devices() -> list[DeviceInfo]:
"""Get list of available devices. """Get list of available devices.
@@ -369,6 +398,7 @@ async def get_devices() -> list[DeviceInfo]:
Returns: Returns:
list: List of device information including features list: List of device information including features
""" """
logger.debug("Fetching list of devices")
devices = load_devices() devices = load_devices()
return [ return [
DeviceInfo( DeviceInfo(
@@ -381,15 +411,6 @@ async def get_devices() -> list[DeviceInfo]:
] ]
@app.get("/devices/states")
async def get_device_states() -> dict[str, dict[str, Any]]:
"""Get current states of all devices from in-memory cache.
Returns:
dict: Dictionary mapping device_id to state payload
"""
return device_states
@app.get("/layout") @app.get("/layout")
async def get_layout() -> dict[str, Any]: async def get_layout() -> dict[str, Any]:

View File

@@ -73,6 +73,10 @@ class HomeAutomationClient {
return await this.fetch(this.api('/devices')); return await this.fetch(this.api('/devices'));
} }
async getDevice(deviceId) {
return await this.fetch(this.api(`/devices/${deviceId}`));
}
/** /**
* Get current state of a specific device * Get current state of a specific device
* @param {string} deviceId - Device ID * @param {string} deviceId - Device ID

View File

@@ -324,11 +324,13 @@
try { try {
// Load device info using API client // Load device info using API client
// NEW: Use new endpoints for device info and layout // NEW: Use new endpoints for device info and layout
deviceData = await window.apiClient.getDeviceState(deviceId); deviceData = await window.apiClient.getDevice(deviceId);
console.log("Loaded device data:", deviceData);
deviceState = await window.apiClient.getDeviceState(deviceId);
console.log("Loaded device state:", deviceState);
const layoutInfo = await window.apiClient.getDeviceLayout(deviceId); const layoutInfo = await window.apiClient.getDeviceLayout(deviceId);
console.log("Loaded layout info:", layoutInfo);
roomName = layoutInfo.room; roomName = layoutInfo.room;
// deviceState is now the result of getDeviceState
deviceState = deviceData;
// Update header // Update header
document.getElementById('device-icon').textContent = deviceIcons[deviceData.type] || '📱'; document.getElementById('device-icon').textContent = deviceIcons[deviceData.type] || '📱';
@@ -469,11 +471,11 @@
stateGrid.className = 'state-grid'; stateGrid.className = 'state-grid';
stateGrid.innerHTML = ` stateGrid.innerHTML = `
<div class="state-item"> <div class="state-item">
<div class="state-value" id="current-temp">${deviceState.current_temp?.toFixed(1) || '--'}°C</div> <div class="state-value" id="current-temp">${deviceState.current?.toFixed(1) || '--'}°C</div>
<div class="state-label">Aktuell</div> <div class="state-label">Aktuell</div>
</div> </div>
<div class="state-item"> <div class="state-item">
<div class="state-value" id="target-temp">${deviceState.target_temp?.toFixed(1) || '--'}°C</div> <div class="state-value" id="target-temp">${deviceState.target?.toFixed(1) || '--'}°C</div>
<div class="state-label">Ziel</div> <div class="state-label">Ziel</div>
</div> </div>
`; `;
@@ -486,8 +488,8 @@
sliderGroup.innerHTML = ` sliderGroup.innerHTML = `
<label class="control-label">Zieltemperatur</label> <label class="control-label">Zieltemperatur</label>
<div class="slider-container"> <div class="slider-container">
<input type="range" class="slider" id="temp-slider" min="5" max="30" step="0.5" value="${deviceState.target_temp || 21}"> <input type="range" class="slider" id="temp-slider" min="5" max="30" step="0.5" value="${deviceState.target || 21}">
<div class="slider-value" id="temp-value">${deviceState.target_temp?.toFixed(1) || '21.0'}°C</div> <div class="slider-value" id="temp-value">${deviceState.target?.toFixed(1) || '21.0'}°C</div>
</div> </div>
`; `;
card.appendChild(sliderGroup); card.appendChild(sliderGroup);
@@ -763,15 +765,15 @@
const tempSlider = document.getElementById('temp-slider'); const tempSlider = document.getElementById('temp-slider');
const tempValue = document.getElementById('temp-value'); const tempValue = document.getElementById('temp-value');
if (currentTemp && deviceState.current_temp != null) { if (currentTemp && deviceState.current != null) {
currentTemp.textContent = deviceState.current_temp.toFixed(1) + '°C'; currentTemp.textContent = deviceState.current.toFixed(1) + '°C';
} }
if (targetTemp && deviceState.target_temp != null) { if (targetTemp && deviceState.target != null) {
targetTemp.textContent = deviceState.target_temp.toFixed(1) + '°C'; targetTemp.textContent = deviceState.target.toFixed(1) + '°C';
} }
if (tempSlider && deviceState.target_temp != null) { if (tempSlider && deviceState.target != null) {
tempSlider.value = deviceState.target_temp; tempSlider.value = deviceState.target;
tempValue.textContent = deviceState.target_temp.toFixed(1) + '°C'; tempValue.textContent = deviceState.target.toFixed(1) + '°C';
} }
} }

View File

@@ -23,6 +23,12 @@
margin: 0 auto; margin: 0 auto;
} }
h1 {
color: #333;
font-size: 28px;
margin-bottom: 8px;
}
.header { .header {
background: rgba(255, 255, 255, 0.95); background: rgba(255, 255, 255, 0.95);
border-radius: 12px; border-radius: 12px;
@@ -47,21 +53,19 @@
text-decoration: underline; text-decoration: underline;
} }
h1 {
color: #333;
font-size: 28px;
margin-bottom: 8px;
}
.room-info { .room-info {
color: #666; color: #666;
font-size: 14px; font-size: 14px;
} }
.devices-grid { .devices-grid {
display: grid; display: grid;
grid-template-columns: repeat(2, 1fr); grid-template-columns: repeat(2, 1fr);
gap: 16px; gap: 16px;
margin-bottom: 20px;
} }
@media (min-width: 600px) { @media (min-width: 600px) {
@@ -80,14 +84,18 @@
background: rgba(255, 255, 255, 0.95); background: rgba(255, 255, 255, 0.95);
border-radius: 12px; border-radius: 12px;
padding: 16px; padding: 16px;
text-align: center;
cursor: pointer; cursor: pointer;
transition: all 0.2s ease; transition: all 0.2s ease;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
min-height: 120px; min-height: 110px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center;
justify-content: center;
text-decoration: none; text-decoration: none;
color: inherit; color: inherit;
width: 100%;
} }
.device-card:hover { .device-card:hover {
@@ -111,7 +119,7 @@
} }
.device-title { .device-title {
font-size: 16px; font-size: 14px;
font-weight: 600; font-weight: 600;
color: #333; color: #333;
flex: 1; flex: 1;
@@ -223,8 +231,8 @@
'thermostat': '🌡️', 'thermostat': '🌡️',
'contact': '🚪', 'contact': '🚪',
'temp_humidity_sensor': '🌡️', 'temp_humidity_sensor': '🌡️',
'relay': '🔌', 'relay': '💡',
'outlet': '🔌', 'outlet': '💡',
'cover': '🪟' 'cover': '🪟'
}; };
@@ -371,12 +379,9 @@
case 'thermostat': case 'thermostat':
if (state.current != null) { if (state.current != null) {
html = `<div class="state-primary">${state.current.toFixed(1)}°C</div>`; html = `<div class="state-primary">${state.target.toFixed(1)}°C</div>`;
if (state.target != null) { if (state.target != null) {
html += `<div class="state-secondary">Ziel: ${state.target}°C</div>`; html += `<div class="state-secondary">Ist: ${state.current}°C</div>`;
}
if (state.mode) {
html += `<div class="state-secondary">Modus: ${state.mode}</div>`;
} }
} }
break; break;

View File

@@ -11,6 +11,7 @@ redis:
channel: "ui:updates" channel: "ui:updates"
devices: devices:
- device_id: lampe_semeniere_wohnzimmer - device_id: lampe_semeniere_wohnzimmer
name: Semeniere
type: relay type: relay
cap_version: "relay@1.0.0" cap_version: "relay@1.0.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -25,6 +26,7 @@ devices:
model: "AC10691" model: "AC10691"
vendor: "OSRAM" vendor: "OSRAM"
- device_id: stehlampe_esszimmer_spiegel - device_id: stehlampe_esszimmer_spiegel
name: Stehlampe Spiegel
type: light type: light
cap_version: "light@1.2.0" cap_version: "light@1.2.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -35,6 +37,7 @@ devices:
state: "zigbee2mqtt/0x001788010d06ea09" state: "zigbee2mqtt/0x001788010d06ea09"
set: "zigbee2mqtt/0x001788010d06ea09/set" set: "zigbee2mqtt/0x001788010d06ea09/set"
- device_id: stehlampe_esszimmer_schrank - device_id: stehlampe_esszimmer_schrank
name: Stehlampe Schrank
type: light type: light
cap_version: "light@1.2.0" cap_version: "light@1.2.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -45,6 +48,7 @@ devices:
state: "zigbee2mqtt/0x001788010d09176c" state: "zigbee2mqtt/0x001788010d09176c"
set: "zigbee2mqtt/0x001788010d09176c/set" set: "zigbee2mqtt/0x001788010d09176c/set"
- device_id: grosse_lampe_wohnzimmer - device_id: grosse_lampe_wohnzimmer
name: grosse Lampe
type: relay type: relay
cap_version: "relay@1.0.0" cap_version: "relay@1.0.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -59,6 +63,7 @@ devices:
model: "AC10691" model: "AC10691"
vendor: "OSRAM" vendor: "OSRAM"
- device_id: lampe_naehtischchen_wohnzimmer - device_id: lampe_naehtischchen_wohnzimmer
name: Nähtischchen
type: relay type: relay
cap_version: "relay@1.0.0" cap_version: "relay@1.0.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -72,21 +77,8 @@ devices:
ieee_address: "0x842e14fffee560ee" ieee_address: "0x842e14fffee560ee"
model: "HG06337" model: "HG06337"
vendor: "Lidl" vendor: "Lidl"
- device_id: kleine_lampe_rechts_esszimmer
type: relay
cap_version: "relay@1.0.0"
technology: zigbee2mqtt
features:
power: true
topics:
state: "zigbee2mqtt/0xf0d1b80000156645"
set: "zigbee2mqtt/0xf0d1b80000156645/set"
metadata:
friendly_name: "kleine Lampe rechts Esszimmer"
ieee_address: "0xf0d1b80000156645"
model: "AC10691"
vendor: "OSRAM"
- device_id: kleine_lampe_links_esszimmer - device_id: kleine_lampe_links_esszimmer
name: kleine Lampe
type: relay type: relay
cap_version: "relay@1.0.0" cap_version: "relay@1.0.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -101,6 +93,7 @@ devices:
model: "AC10691" model: "AC10691"
vendor: "OSRAM" vendor: "OSRAM"
- device_id: leselampe_esszimmer - device_id: leselampe_esszimmer
name: Leselampe
type: light type: light
cap_version: "light@1.2.0" cap_version: "light@1.2.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -116,6 +109,7 @@ devices:
model: "LED1842G3" model: "LED1842G3"
vendor: "IKEA" vendor: "IKEA"
- device_id: medusalampe_schlafzimmer - device_id: medusalampe_schlafzimmer
name: Medusa-Lampe
type: relay type: relay
cap_version: "relay@1.0.0" cap_version: "relay@1.0.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -131,6 +125,7 @@ devices:
vendor: "OSRAM" vendor: "OSRAM"
- device_id: sportlicht_am_fernseher_studierzimmer - device_id: sportlicht_am_fernseher_studierzimmer
type: light type: light
name: am Fernseher
cap_version: "light@1.2.0" cap_version: "light@1.2.0"
technology: zigbee2mqtt technology: zigbee2mqtt
features: features:
@@ -146,6 +141,7 @@ devices:
model: "LED1733G7" model: "LED1733G7"
vendor: "IKEA" vendor: "IKEA"
- device_id: deckenlampe_schlafzimmer - device_id: deckenlampe_schlafzimmer
name: Deckenlampe
type: light type: light
cap_version: "light@1.2.0" cap_version: "light@1.2.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -161,6 +157,7 @@ devices:
model: "8718699688882" model: "8718699688882"
vendor: "Philips" vendor: "Philips"
- device_id: bettlicht_wolfgang - device_id: bettlicht_wolfgang
name: Bettlicht Wolfgang
type: light type: light
cap_version: "light@1.2.0" cap_version: "light@1.2.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -176,6 +173,7 @@ devices:
model: "9290020399" model: "9290020399"
vendor: "Philips" vendor: "Philips"
- device_id: bettlicht_patty - device_id: bettlicht_patty
name: Bettlicht Patty
type: light type: light
cap_version: "light@1.2.0" cap_version: "light@1.2.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -191,6 +189,7 @@ devices:
model: "9290020399" model: "9290020399"
vendor: "Philips" vendor: "Philips"
- device_id: schranklicht_hinten_patty - device_id: schranklicht_hinten_patty
name: Schranklicht hinten
type: light type: light
cap_version: "light@1.2.0" cap_version: "light@1.2.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -206,6 +205,7 @@ devices:
model: "8718699673147" model: "8718699673147"
vendor: "Philips" vendor: "Philips"
- device_id: schranklicht_vorne_patty - device_id: schranklicht_vorne_patty
name: Schranklicht vorne
type: relay type: relay
cap_version: "relay@1.0.0" cap_version: "relay@1.0.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -220,6 +220,7 @@ devices:
model: "AC10691" model: "AC10691"
vendor: "OSRAM" vendor: "OSRAM"
- device_id: leselampe_patty - device_id: leselampe_patty
name: Leselampe
type: light type: light
cap_version: "light@1.2.0" cap_version: "light@1.2.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -235,6 +236,7 @@ devices:
model: "8718699673147" model: "8718699673147"
vendor: "Philips" vendor: "Philips"
- device_id: deckenlampe_esszimmer - device_id: deckenlampe_esszimmer
name: Deckenlampe
type: light type: light
cap_version: "light@1.2.0" cap_version: "light@1.2.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -249,23 +251,8 @@ devices:
ieee_address: "0x0017880108a03e45" ieee_address: "0x0017880108a03e45"
model: "929002241201" model: "929002241201"
vendor: "Philips" vendor: "Philips"
- device_id: standlampe_esszimmer
type: light
cap_version: "light@1.2.0"
technology: zigbee2mqtt
features:
power: true
brightness: true
color_temperature: true
topics:
state: "zigbee2mqtt/0xbc33acfffe21f547"
set: "zigbee2mqtt/0xbc33acfffe21f547/set"
metadata:
friendly_name: "Standlampe Esszimmer"
ieee_address: "0xbc33acfffe21f547"
model: "LED1732G11"
vendor: "IKEA"
- device_id: haustuer - device_id: haustuer
name: Haustür-Lampe
type: light type: light
cap_version: "light@1.2.0" cap_version: "light@1.2.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -281,6 +268,7 @@ devices:
model: "LED1842G3" model: "LED1842G3"
vendor: "IKEA" vendor: "IKEA"
- device_id: deckenlampe_flur_oben - device_id: deckenlampe_flur_oben
name: Deckenlampe oben
type: light type: light
cap_version: "light@1.2.0" cap_version: "light@1.2.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -297,6 +285,7 @@ devices:
model: "929003099001" model: "929003099001"
vendor: "Philips" vendor: "Philips"
- device_id: kueche_deckenlampe - device_id: kueche_deckenlampe
name: Deckenlampe
type: light type: light
cap_version: "light@1.2.0" cap_version: "light@1.2.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -312,6 +301,7 @@ devices:
model: "929002469202" model: "929002469202"
vendor: "Philips" vendor: "Philips"
- device_id: sportlicht_tisch - device_id: sportlicht_tisch
name: am Tisch
type: light type: light
cap_version: "light@1.2.0" cap_version: "light@1.2.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -327,6 +317,7 @@ devices:
model: "4058075729063" model: "4058075729063"
vendor: "LEDVANCE" vendor: "LEDVANCE"
- device_id: sportlicht_regal - device_id: sportlicht_regal
name: am Regal
type: light type: light
cap_version: "light@1.2.0" cap_version: "light@1.2.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -342,6 +333,7 @@ devices:
model: "4058075729063" model: "4058075729063"
vendor: "LEDVANCE" vendor: "LEDVANCE"
- device_id: licht_flur_oben_am_spiegel - device_id: licht_flur_oben_am_spiegel
name: Spiegel
type: light type: light
cap_version: "light@1.2.0" cap_version: "light@1.2.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -358,6 +350,7 @@ devices:
model: "LED1732G11" model: "LED1732G11"
vendor: "IKEA" vendor: "IKEA"
- device_id: experimentlabtest - device_id: experimentlabtest
name: Test Lampe
type: light type: light
cap_version: "light@1.2.0" cap_version: "light@1.2.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -373,6 +366,7 @@ devices:
model: "4058075208421" model: "4058075208421"
vendor: "LEDVANCE" vendor: "LEDVANCE"
- device_id: thermostat_wolfgang - device_id: thermostat_wolfgang
name: Heizung
type: thermostat type: thermostat
cap_version: "thermostat@1.0.0" cap_version: "thermostat@1.0.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -391,6 +385,7 @@ devices:
model: "GS361A-H04" model: "GS361A-H04"
vendor: "Siterwell" vendor: "Siterwell"
- device_id: thermostat_kueche - device_id: thermostat_kueche
name: Heizung
type: thermostat type: thermostat
cap_version: "thermostat@1.0.0" cap_version: "thermostat@1.0.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -409,6 +404,7 @@ devices:
model: "GS361A-H04" model: "GS361A-H04"
vendor: "Siterwell" vendor: "Siterwell"
- device_id: thermostat_schlafzimmer - device_id: thermostat_schlafzimmer
name: Heizung
type: thermostat type: thermostat
cap_version: "thermostat@1.0.0" cap_version: "thermostat@1.0.0"
technology: max technology: max
@@ -427,6 +423,7 @@ devices:
peer_id: "42" peer_id: "42"
channel: "1" channel: "1"
- device_id: thermostat_esszimmer - device_id: thermostat_esszimmer
name: Heizung
type: thermostat type: thermostat
cap_version: "thermostat@1.0.0" cap_version: "thermostat@1.0.0"
technology: max technology: max
@@ -445,6 +442,7 @@ devices:
peer_id: "45" peer_id: "45"
channel: "1" channel: "1"
- device_id: thermostat_wohnzimmer - device_id: thermostat_wohnzimmer
name: Heizung
type: thermostat type: thermostat
cap_version: "thermostat@1.0.0" cap_version: "thermostat@1.0.0"
technology: max technology: max
@@ -463,6 +461,7 @@ devices:
peer_id: "46" peer_id: "46"
channel: "1" channel: "1"
- device_id: thermostat_patty - device_id: thermostat_patty
name: Heizung
type: thermostat type: thermostat
cap_version: "thermostat@1.0.0" cap_version: "thermostat@1.0.0"
technology: max technology: max
@@ -481,6 +480,7 @@ devices:
peer_id: "39" peer_id: "39"
channel: "1" channel: "1"
- device_id: thermostat_bad_oben - device_id: thermostat_bad_oben
name: Heizung
type: thermostat type: thermostat
cap_version: "thermostat@1.0.0" cap_version: "thermostat@1.0.0"
technology: max technology: max
@@ -499,6 +499,7 @@ devices:
peer_id: "41" peer_id: "41"
channel: "1" channel: "1"
- device_id: thermostat_bad_unten - device_id: thermostat_bad_unten
name: Heizung
type: thermostat type: thermostat
cap_version: "thermostat@1.0.0" cap_version: "thermostat@1.0.0"
technology: max technology: max
@@ -517,6 +518,7 @@ devices:
peer_id: "48" peer_id: "48"
channel: "1" channel: "1"
- device_id: sterne_wohnzimmer - device_id: sterne_wohnzimmer
name: Sterne
type: relay type: relay
cap_version: "relay@1.0.0" cap_version: "relay@1.0.0"
technology: zigbee2mqtt technology: zigbee2mqtt
@@ -531,8 +533,8 @@ devices:
model: "AC10691" model: "AC10691"
vendor: "OSRAM" vendor: "OSRAM"
- device_id: kontakt_schlafzimmer_strasse - device_id: kontakt_schlafzimmer_strasse
name: Fenster
type: contact type: contact
name: Kontakt Schlafzimmer Straße
cap_version: contact_sensor@1.0.0 cap_version: contact_sensor@1.0.0
technology: max technology: max
topics: topics:
@@ -540,39 +542,39 @@ devices:
features: {} features: {}
- device_id: kontakt_esszimmer_strasse_rechts - device_id: kontakt_esszimmer_strasse_rechts
type: contact type: contact
name: Kontakt Esszimmer Straße rechts name: Fenster rechts
cap_version: contact_sensor@1.0.0 cap_version: contact_sensor@1.0.0
technology: max technology: max
topics: topics:
state: homegear/instance1/plain/26/1/STATE state: homegear/instance1/plain/26/1/STATE
features: {} features: {}
- device_id: kontakt_esszimmer_strasse_links - device_id: kontakt_esszimmer_strasse_links
name: Fenster links
type: contact type: contact
name: Kontakt Esszimmer Straße links
cap_version: contact_sensor@1.0.0 cap_version: contact_sensor@1.0.0
technology: max technology: max
topics: topics:
state: homegear/instance1/plain/27/1/STATE state: homegear/instance1/plain/27/1/STATE
features: {} features: {}
- device_id: kontakt_wohnzimmer_garten_rechts - device_id: kontakt_wohnzimmer_garten_rechts
name: Fenster rechts
type: contact type: contact
name: Kontakt Wohnzimmer Garten rechts
cap_version: contact_sensor@1.0.0 cap_version: contact_sensor@1.0.0
technology: max technology: max
topics: topics:
state: homegear/instance1/plain/28/1/STATE state: homegear/instance1/plain/28/1/STATE
features: {} features: {}
- device_id: kontakt_wohnzimmer_garten_links - device_id: kontakt_wohnzimmer_garten_links
name: Fenster links
type: contact type: contact
name: Kontakt Wohnzimmer Garten links
cap_version: contact_sensor@1.0.0 cap_version: contact_sensor@1.0.0
technology: max technology: max
topics: topics:
state: homegear/instance1/plain/29/1/STATE state: homegear/instance1/plain/29/1/STATE
features: {} features: {}
- device_id: kontakt_kueche_garten_fenster - device_id: kontakt_kueche_garten_fenster
name: Fenster Garten
type: contact type: contact
name: Kontakt Küche Garten Fenster
cap_version: contact_sensor@1.0.0 cap_version: contact_sensor@1.0.0
technology: zigbee2mqtt technology: zigbee2mqtt
topics: topics:
@@ -580,23 +582,23 @@ devices:
features: {} features: {}
- device_id: kontakt_kueche_garten_tuer - device_id: kontakt_kueche_garten_tuer
type: contact type: contact
name: Kontakt Küche Garten Tür name: Terrassentür
cap_version: contact_sensor@1.0.0 cap_version: contact_sensor@1.0.0
technology: zigbee2mqtt technology: zigbee2mqtt
topics: topics:
state: zigbee2mqtt/0x00158d008b332788 state: zigbee2mqtt/0x00158d008b332788
features: {} features: {}
- device_id: kontakt_kueche_strasse_rechts - device_id: kontakt_kueche_strasse_rechts
name: Fenster Straße rechts
type: contact type: contact
name: Kontakt Küche Straße rechts
cap_version: contact_sensor@1.0.0 cap_version: contact_sensor@1.0.0
technology: zigbee2mqtt technology: zigbee2mqtt
topics: topics:
state: zigbee2mqtt/0x00158d008b151803 state: zigbee2mqtt/0x00158d008b151803
features: {} features: {}
- device_id: kontakt_kueche_strasse_links - device_id: kontakt_kueche_strasse_links
name: Fenster Straße links
type: contact type: contact
name: Kontakt Küche Straße links
cap_version: contact_sensor@1.0.0 cap_version: contact_sensor@1.0.0
technology: zigbee2mqtt technology: zigbee2mqtt
topics: topics:
@@ -604,7 +606,7 @@ devices:
features: {} features: {}
- device_id: kontakt_patty_garten_rechts - device_id: kontakt_patty_garten_rechts
type: contact type: contact
name: Kontakt Patty Garten rechts name: Fenster Garten rechts
cap_version: contact_sensor@1.0.0 cap_version: contact_sensor@1.0.0
technology: max technology: max
topics: topics:
@@ -612,7 +614,7 @@ devices:
features: {} features: {}
- device_id: kontakt_patty_garten_links - device_id: kontakt_patty_garten_links
type: contact type: contact
name: Kontakt Patty Garten links name: Fenster Garten links
cap_version: contact_sensor@1.0.0 cap_version: contact_sensor@1.0.0
technology: max technology: max
topics: topics:
@@ -620,7 +622,7 @@ devices:
features: {} features: {}
- device_id: kontakt_patty_strasse - device_id: kontakt_patty_strasse
type: contact type: contact
name: Kontakt Patty Straße name: Fenster Straße
cap_version: contact_sensor@1.0.0 cap_version: contact_sensor@1.0.0
technology: zigbee2mqtt technology: zigbee2mqtt
topics: topics:
@@ -628,7 +630,7 @@ devices:
features: {} features: {}
- device_id: kontakt_wolfgang_garten - device_id: kontakt_wolfgang_garten
type: contact type: contact
name: Kontakt Wolfgang Garten name: Fenster
cap_version: contact_sensor@1.0.0 cap_version: contact_sensor@1.0.0
technology: zigbee2mqtt technology: zigbee2mqtt
topics: topics:
@@ -636,7 +638,7 @@ devices:
features: {} features: {}
- device_id: kontakt_bad_oben_strasse - device_id: kontakt_bad_oben_strasse
type: contact type: contact
name: Kontakt Bad Oben Straße name: Fenster
cap_version: contact_sensor@1.0.0 cap_version: contact_sensor@1.0.0
technology: zigbee2mqtt technology: zigbee2mqtt
topics: topics:
@@ -644,7 +646,7 @@ devices:
features: {} features: {}
- device_id: kontakt_bad_unten_strasse - device_id: kontakt_bad_unten_strasse
type: contact type: contact
name: Kontakt Bad Unten Straße name: Fenster
cap_version: contact_sensor@1.0.0 cap_version: contact_sensor@1.0.0
technology: max technology: max
topics: topics:
@@ -652,7 +654,7 @@ devices:
features: {} features: {}
- device_id: sensor_schlafzimmer - device_id: sensor_schlafzimmer
type: temp_humidity_sensor type: temp_humidity_sensor
name: Temperatur & Luftfeuchte name: Thermometer
cap_version: temp_humidity_sensor@1.0.0 cap_version: temp_humidity_sensor@1.0.0
technology: zigbee2mqtt technology: zigbee2mqtt
topics: topics:
@@ -660,7 +662,7 @@ devices:
features: {} features: {}
- device_id: sensor_wohnzimmer - device_id: sensor_wohnzimmer
type: temp_humidity_sensor type: temp_humidity_sensor
name: Temperatur & Luftfeuchte name: Thermometer
cap_version: temp_humidity_sensor@1.0.0 cap_version: temp_humidity_sensor@1.0.0
technology: zigbee2mqtt technology: zigbee2mqtt
topics: topics:
@@ -668,7 +670,7 @@ devices:
features: {} features: {}
- device_id: sensor_kueche - device_id: sensor_kueche
type: temp_humidity_sensor type: temp_humidity_sensor
name: Temperatur & Luftfeuchte name: Thermometer
cap_version: temp_humidity_sensor@1.0.0 cap_version: temp_humidity_sensor@1.0.0
technology: zigbee2mqtt technology: zigbee2mqtt
topics: topics:
@@ -676,7 +678,7 @@ devices:
features: {} features: {}
- device_id: sensor_arbeitszimmer_patty - device_id: sensor_arbeitszimmer_patty
type: temp_humidity_sensor type: temp_humidity_sensor
name: Temperatur & Luftfeuchte name: Thermometer
cap_version: temp_humidity_sensor@1.0.0 cap_version: temp_humidity_sensor@1.0.0
technology: zigbee2mqtt technology: zigbee2mqtt
topics: topics:
@@ -684,7 +686,7 @@ devices:
features: {} features: {}
- device_id: sensor_arbeitszimmer_wolfgang - device_id: sensor_arbeitszimmer_wolfgang
type: temp_humidity_sensor type: temp_humidity_sensor
name: Temperatur & Luftfeuchte name: Thermometer
cap_version: temp_humidity_sensor@1.0.0 cap_version: temp_humidity_sensor@1.0.0
technology: zigbee2mqtt technology: zigbee2mqtt
topics: topics:
@@ -692,7 +694,7 @@ devices:
features: {} features: {}
- device_id: sensor_bad_oben - device_id: sensor_bad_oben
type: temp_humidity_sensor type: temp_humidity_sensor
name: Temperatur & Luftfeuchte name: Thermometer
cap_version: temp_humidity_sensor@1.0.0 cap_version: temp_humidity_sensor@1.0.0
technology: zigbee2mqtt technology: zigbee2mqtt
topics: topics:
@@ -700,7 +702,7 @@ devices:
features: {} features: {}
- device_id: sensor_bad_unten - device_id: sensor_bad_unten
type: temp_humidity_sensor type: temp_humidity_sensor
name: Temperatur & Luftfeuchte name: Thermometer
cap_version: temp_humidity_sensor@1.0.0 cap_version: temp_humidity_sensor@1.0.0
technology: zigbee2mqtt technology: zigbee2mqtt
topics: topics:
@@ -708,7 +710,7 @@ devices:
features: {} features: {}
- device_id: sensor_flur - device_id: sensor_flur
type: temp_humidity_sensor type: temp_humidity_sensor
name: Temperatur & Luftfeuchte name: Thermometer
cap_version: temp_humidity_sensor@1.0.0 cap_version: temp_humidity_sensor@1.0.0
technology: zigbee2mqtt technology: zigbee2mqtt
topics: topics:
@@ -716,7 +718,7 @@ devices:
features: {} features: {}
- device_id: sensor_waschkueche - device_id: sensor_waschkueche
type: temp_humidity_sensor type: temp_humidity_sensor
name: Temperatur & Luftfeuchte name: Thermometer
cap_version: temp_humidity_sensor@1.0.0 cap_version: temp_humidity_sensor@1.0.0
technology: zigbee2mqtt technology: zigbee2mqtt
topics: topics:
@@ -724,13 +726,14 @@ devices:
features: {} features: {}
- device_id: sensor_sportzimmer - device_id: sensor_sportzimmer
type: temp_humidity_sensor type: temp_humidity_sensor
name: Temperatur & Luftfeuchte name: Thermometer
cap_version: temp_humidity_sensor@1.0.0 cap_version: temp_humidity_sensor@1.0.0
technology: zigbee2mqtt technology: zigbee2mqtt
topics: topics:
state: zigbee2mqtt/0x00158d0009421422 state: zigbee2mqtt/0x00158d0009421422
features: {} features: {}
- device_id: licht_spuele_kueche - device_id: licht_spuele_kueche
name: Spüle
type: relay type: relay
cap_version: "relay@1.0.0" cap_version: "relay@1.0.0"
technology: shelly technology: shelly
@@ -740,6 +743,7 @@ devices:
set: "shellies/LightKitchenSink/relay/0/command" set: "shellies/LightKitchenSink/relay/0/command"
state: "shellies/LightKitchenSink/relay/0" state: "shellies/LightKitchenSink/relay/0"
- device_id: licht_schrank_esszimmer - device_id: licht_schrank_esszimmer
name: Schrank
type: relay type: relay
cap_version: "relay@1.0.0" cap_version: "relay@1.0.0"
technology: shelly technology: shelly
@@ -750,6 +754,7 @@ devices:
state: "shellies/schrankesszimmer/relay/0" state: "shellies/schrankesszimmer/relay/0"
- device_id: licht_regal_wohnzimmer - device_id: licht_regal_wohnzimmer
type: relay type: relay
name: Regal
cap_version: "relay@1.0.0" cap_version: "relay@1.0.0"
technology: shelly technology: shelly
features: features:
@@ -759,6 +764,7 @@ devices:
state: "shellies/wohnzimmer-regal/relay/0" state: "shellies/wohnzimmer-regal/relay/0"
- device_id: licht_flur_schrank - device_id: licht_flur_schrank
type: relay type: relay
name: Schrank
cap_version: "relay@1.0.0" cap_version: "relay@1.0.0"
technology: shelly technology: shelly
features: features:
@@ -767,6 +773,7 @@ devices:
set: "shellies/schrankflur/relay/0/command" set: "shellies/schrankflur/relay/0/command"
state: "shellies/schrankflur/relay/0" state: "shellies/schrankflur/relay/0"
- device_id: licht_terasse - device_id: licht_terasse
name: Terrasse
type: relay type: relay
cap_version: "relay@1.0.0" cap_version: "relay@1.0.0"
technology: shelly technology: shelly

View File

@@ -39,10 +39,10 @@ rooms:
title: Leselampe Esszimmer title: Leselampe Esszimmer
icon: 💡 icon: 💡
rank: 60 rank: 60
- device_id: standlampe_esszimmer # - device_id: standlampe_esszimmer
title: Standlampe Esszimmer # title: Standlampe Esszimmer
icon: 💡 # icon: 💡
rank: 70 # rank: 70
- device_id: kleine_lampe_links_esszimmer - device_id: kleine_lampe_links_esszimmer
title: kleine Lampe links Esszimmer title: kleine Lampe links Esszimmer
icon: 💡 icon: 💡
@@ -55,10 +55,10 @@ rooms:
title: Stehlampe Esszimmer Schrank title: Stehlampe Esszimmer Schrank
icon: 💡 icon: 💡
rank: 82 rank: 82
- device_id: kleine_lampe_rechts_esszimmer # - device_id: kleine_lampe_rechts_esszimmer
title: kleine Lampe rechts Esszimmer # title: kleine Lampe rechts Esszimmer
icon: 💡 # icon: 💡
rank: 90 # rank: 90
- device_id: licht_schrank_esszimmer - device_id: licht_schrank_esszimmer
title: Schranklicht Esszimmer title: Schranklicht Esszimmer
icon: 💡 icon: 💡

View File

@@ -1,5 +1,3 @@
version: "3.9"
x-environment: &default-env x-environment: &default-env
MQTT_BROKER: "172.23.1.102" MQTT_BROKER: "172.23.1.102"
MQTT_PORT: 1883 MQTT_PORT: 1883