Complete setup with hello world test

This commit is contained in:
ange committed 2025-12-30 17:49:12 +01:00
1 parent 3ea73a6721
commit cd652f5680
14 files changed
+2332 -8

No files matched your search

+22
View File
@@ -0,0 +1,22 @@
{
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/Scripts/python.exe",
"editor.formatOnSave": true,
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[yaml]": {
"editor.defaultFormatter": "redhat.vscode-yaml"
},
"files.exclude": {
"**/__pycache__": true,
"**/.pytest_cache": true,
"**/node_modules": true,
"**/.venv": true,
"ha-dev-config/.storage": true,
".gitignore": true,
"ha-dev-config/deps": true
}
}
+49
View File
@@ -0,0 +1,49 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Frontend: Build",
"type": "shell",
"command": "npm run build",
"options": {
"cwd": "${workspaceFolder}/frontend"
},
"group": "build",
"problemMatcher": []
},
{
"label": "Frontend: Watch",
"type": "shell",
"command": "npm run watch",
"options": {
"cwd": "${workspaceFolder}/frontend"
},
"isBackground": true,
"problemMatcher": []
},
{
"label": "HA: Start",
"type": "shell",
"command": "docker-compose up -d",
"problemMatcher": []
},
{
"label": "HA: Stop",
"type": "shell",
"command": "docker-compose down",
"problemMatcher": []
},
{
"label": "HA: Restart",
"type": "shell",
"command": "docker-compose restart",
"problemMatcher": []
},
{
"label": "HA: Logs",
"type": "shell",
"command": "docker-compose logs -f",
"problemMatcher": []
}
]
}
@@ -0,0 +1,694 @@
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __decorateClass = (decorators, target, key, kind) => {
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
for (var i5 = decorators.length - 1, decorator; i5 >= 0; i5--)
if (decorator = decorators[i5])
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
if (kind && result) __defProp(target, key, result);
return result;
};
// node_modules/@lit/reactive-element/css-tag.js
var t = globalThis;
var e = t.ShadowRoot && (void 0 === t.ShadyCSS || t.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype;
var s = /* @__PURE__ */ Symbol();
var o = /* @__PURE__ */ new WeakMap();
var n = class {
constructor(t4, e5, o6) {
if (this._$cssResult$ = true, o6 !== s) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
this.cssText = t4, this.t = e5;
}
get styleSheet() {
let t4 = this.o;
const s4 = this.t;
if (e && void 0 === t4) {
const e5 = void 0 !== s4 && 1 === s4.length;
e5 && (t4 = o.get(s4)), void 0 === t4 && ((this.o = t4 = new CSSStyleSheet()).replaceSync(this.cssText), e5 && o.set(s4, t4));
}
return t4;
}
toString() {
return this.cssText;
}
};
var r = (t4) => new n("string" == typeof t4 ? t4 : t4 + "", void 0, s);
var i = (t4, ...e5) => {
const o6 = 1 === t4.length ? t4[0] : e5.reduce((e6, s4, o7) => e6 + ((t5) => {
if (true === t5._$cssResult$) return t5.cssText;
if ("number" == typeof t5) return t5;
throw Error("Value passed to 'css' function must be a 'css' function result: " + t5 + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.");
})(s4) + t4[o7 + 1], t4[0]);
return new n(o6, t4, s);
};
var S = (s4, o6) => {
if (e) s4.adoptedStyleSheets = o6.map((t4) => t4 instanceof CSSStyleSheet ? t4 : t4.styleSheet);
else for (const e5 of o6) {
const o7 = document.createElement("style"), n5 = t.litNonce;
void 0 !== n5 && o7.setAttribute("nonce", n5), o7.textContent = e5.cssText, s4.appendChild(o7);
}
};
var c = e ? (t4) => t4 : (t4) => t4 instanceof CSSStyleSheet ? ((t5) => {
let e5 = "";
for (const s4 of t5.cssRules) e5 += s4.cssText;
return r(e5);
})(t4) : t4;
// node_modules/@lit/reactive-element/reactive-element.js
var { is: i2, defineProperty: e2, getOwnPropertyDescriptor: h, getOwnPropertyNames: r2, getOwnPropertySymbols: o2, getPrototypeOf: n2 } = Object;
var a = globalThis;
var c2 = a.trustedTypes;
var l = c2 ? c2.emptyScript : "";
var p = a.reactiveElementPolyfillSupport;
var d = (t4, s4) => t4;
var u = { toAttribute(t4, s4) {
switch (s4) {
case Boolean:
t4 = t4 ? l : null;
break;
case Object:
case Array:
t4 = null == t4 ? t4 : JSON.stringify(t4);
}
return t4;
}, fromAttribute(t4, s4) {
let i5 = t4;
switch (s4) {
case Boolean:
i5 = null !== t4;
break;
case Number:
i5 = null === t4 ? null : Number(t4);
break;
case Object:
case Array:
try {
i5 = JSON.parse(t4);
} catch (t5) {
i5 = null;
}
}
return i5;
} };
var f = (t4, s4) => !i2(t4, s4);
var b = { attribute: true, type: String, converter: u, reflect: false, useDefault: false, hasChanged: f };
Symbol.metadata ??= /* @__PURE__ */ Symbol("metadata"), a.litPropertyMetadata ??= /* @__PURE__ */ new WeakMap();
var y = class extends HTMLElement {
static addInitializer(t4) {
this._$Ei(), (this.l ??= []).push(t4);
}
static get observedAttributes() {
return this.finalize(), this._$Eh && [...this._$Eh.keys()];
}
static createProperty(t4, s4 = b) {
if (s4.state && (s4.attribute = false), this._$Ei(), this.prototype.hasOwnProperty(t4) && ((s4 = Object.create(s4)).wrapped = true), this.elementProperties.set(t4, s4), !s4.noAccessor) {
const i5 = /* @__PURE__ */ Symbol(), h3 = this.getPropertyDescriptor(t4, i5, s4);
void 0 !== h3 && e2(this.prototype, t4, h3);
}
}
static getPropertyDescriptor(t4, s4, i5) {
const { get: e5, set: r5 } = h(this.prototype, t4) ?? { get() {
return this[s4];
}, set(t5) {
this[s4] = t5;
} };
return { get: e5, set(s5) {
const h3 = e5?.call(this);
r5?.call(this, s5), this.requestUpdate(t4, h3, i5);
}, configurable: true, enumerable: true };
}
static getPropertyOptions(t4) {
return this.elementProperties.get(t4) ?? b;
}
static _$Ei() {
if (this.hasOwnProperty(d("elementProperties"))) return;
const t4 = n2(this);
t4.finalize(), void 0 !== t4.l && (this.l = [...t4.l]), this.elementProperties = new Map(t4.elementProperties);
}
static finalize() {
if (this.hasOwnProperty(d("finalized"))) return;
if (this.finalized = true, this._$Ei(), this.hasOwnProperty(d("properties"))) {
const t5 = this.properties, s4 = [...r2(t5), ...o2(t5)];
for (const i5 of s4) this.createProperty(i5, t5[i5]);
}
const t4 = this[Symbol.metadata];
if (null !== t4) {
const s4 = litPropertyMetadata.get(t4);
if (void 0 !== s4) for (const [t5, i5] of s4) this.elementProperties.set(t5, i5);
}
this._$Eh = /* @__PURE__ */ new Map();
for (const [t5, s4] of this.elementProperties) {
const i5 = this._$Eu(t5, s4);
void 0 !== i5 && this._$Eh.set(i5, t5);
}
this.elementStyles = this.finalizeStyles(this.styles);
}
static finalizeStyles(s4) {
const i5 = [];
if (Array.isArray(s4)) {
const e5 = new Set(s4.flat(1 / 0).reverse());
for (const s5 of e5) i5.unshift(c(s5));
} else void 0 !== s4 && i5.push(c(s4));
return i5;
}
static _$Eu(t4, s4) {
const i5 = s4.attribute;
return false === i5 ? void 0 : "string" == typeof i5 ? i5 : "string" == typeof t4 ? t4.toLowerCase() : void 0;
}
constructor() {
super(), this._$Ep = void 0, this.isUpdatePending = false, this.hasUpdated = false, this._$Em = null, this._$Ev();
}
_$Ev() {
this._$ES = new Promise((t4) => this.enableUpdating = t4), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), this.constructor.l?.forEach((t4) => t4(this));
}
addController(t4) {
(this._$EO ??= /* @__PURE__ */ new Set()).add(t4), void 0 !== this.renderRoot && this.isConnected && t4.hostConnected?.();
}
removeController(t4) {
this._$EO?.delete(t4);
}
_$E_() {
const t4 = /* @__PURE__ */ new Map(), s4 = this.constructor.elementProperties;
for (const i5 of s4.keys()) this.hasOwnProperty(i5) && (t4.set(i5, this[i5]), delete this[i5]);
t4.size > 0 && (this._$Ep = t4);
}
createRenderRoot() {
const t4 = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
return S(t4, this.constructor.elementStyles), t4;
}
connectedCallback() {
this.renderRoot ??= this.createRenderRoot(), this.enableUpdating(true), this._$EO?.forEach((t4) => t4.hostConnected?.());
}
enableUpdating(t4) {
}
disconnectedCallback() {
this._$EO?.forEach((t4) => t4.hostDisconnected?.());
}
attributeChangedCallback(t4, s4, i5) {
this._$AK(t4, i5);
}
_$ET(t4, s4) {
const i5 = this.constructor.elementProperties.get(t4), e5 = this.constructor._$Eu(t4, i5);
if (void 0 !== e5 && true === i5.reflect) {
const h3 = (void 0 !== i5.converter?.toAttribute ? i5.converter : u).toAttribute(s4, i5.type);
this._$Em = t4, null == h3 ? this.removeAttribute(e5) : this.setAttribute(e5, h3), this._$Em = null;
}
}
_$AK(t4, s4) {
const i5 = this.constructor, e5 = i5._$Eh.get(t4);
if (void 0 !== e5 && this._$Em !== e5) {
const t5 = i5.getPropertyOptions(e5), h3 = "function" == typeof t5.converter ? { fromAttribute: t5.converter } : void 0 !== t5.converter?.fromAttribute ? t5.converter : u;
this._$Em = e5;
const r5 = h3.fromAttribute(s4, t5.type);
this[e5] = r5 ?? this._$Ej?.get(e5) ?? r5, this._$Em = null;
}
}
requestUpdate(t4, s4, i5, e5 = false, h3) {
if (void 0 !== t4) {
const r5 = this.constructor;
if (false === e5 && (h3 = this[t4]), i5 ??= r5.getPropertyOptions(t4), !((i5.hasChanged ?? f)(h3, s4) || i5.useDefault && i5.reflect && h3 === this._$Ej?.get(t4) && !this.hasAttribute(r5._$Eu(t4, i5)))) return;
this.C(t4, s4, i5);
}
false === this.isUpdatePending && (this._$ES = this._$EP());
}
C(t4, s4, { useDefault: i5, reflect: e5, wrapped: h3 }, r5) {
i5 && !(this._$Ej ??= /* @__PURE__ */ new Map()).has(t4) && (this._$Ej.set(t4, r5 ?? s4 ?? this[t4]), true !== h3 || void 0 !== r5) || (this._$AL.has(t4) || (this.hasUpdated || i5 || (s4 = void 0), this._$AL.set(t4, s4)), true === e5 && this._$Em !== t4 && (this._$Eq ??= /* @__PURE__ */ new Set()).add(t4));
}
async _$EP() {
this.isUpdatePending = true;
try {
await this._$ES;
} catch (t5) {
Promise.reject(t5);
}
const t4 = this.scheduleUpdate();
return null != t4 && await t4, !this.isUpdatePending;
}
scheduleUpdate() {
return this.performUpdate();
}
performUpdate() {
if (!this.isUpdatePending) return;
if (!this.hasUpdated) {
if (this.renderRoot ??= this.createRenderRoot(), this._$Ep) {
for (const [t6, s5] of this._$Ep) this[t6] = s5;
this._$Ep = void 0;
}
const t5 = this.constructor.elementProperties;
if (t5.size > 0) for (const [s5, i5] of t5) {
const { wrapped: t6 } = i5, e5 = this[s5];
true !== t6 || this._$AL.has(s5) || void 0 === e5 || this.C(s5, void 0, i5, e5);
}
}
let t4 = false;
const s4 = this._$AL;
try {
t4 = this.shouldUpdate(s4), t4 ? (this.willUpdate(s4), this._$EO?.forEach((t5) => t5.hostUpdate?.()), this.update(s4)) : this._$EM();
} catch (s5) {
throw t4 = false, this._$EM(), s5;
}
t4 && this._$AE(s4);
}
willUpdate(t4) {
}
_$AE(t4) {
this._$EO?.forEach((t5) => t5.hostUpdated?.()), this.hasUpdated || (this.hasUpdated = true, this.firstUpdated(t4)), this.updated(t4);
}
_$EM() {
this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = false;
}
get updateComplete() {
return this.getUpdateComplete();
}
getUpdateComplete() {
return this._$ES;
}
shouldUpdate(t4) {
return true;
}
update(t4) {
this._$Eq &&= this._$Eq.forEach((t5) => this._$ET(t5, this[t5])), this._$EM();
}
updated(t4) {
}
firstUpdated(t4) {
}
};
y.elementStyles = [], y.shadowRootOptions = { mode: "open" }, y[d("elementProperties")] = /* @__PURE__ */ new Map(), y[d("finalized")] = /* @__PURE__ */ new Map(), p?.({ ReactiveElement: y }), (a.reactiveElementVersions ??= []).push("2.1.2");
// node_modules/lit-html/lit-html.js
var t2 = globalThis;
var i3 = (t4) => t4;
var s2 = t2.trustedTypes;
var e3 = s2 ? s2.createPolicy("lit-html", { createHTML: (t4) => t4 }) : void 0;
var h2 = "$lit$";
var o3 = `lit$${Math.random().toFixed(9).slice(2)}$`;
var n3 = "?" + o3;
var r3 = `<${n3}>`;
var l2 = document;
var c3 = () => l2.createComment("");
var a2 = (t4) => null === t4 || "object" != typeof t4 && "function" != typeof t4;
var u2 = Array.isArray;
var d2 = (t4) => u2(t4) || "function" == typeof t4?.[Symbol.iterator];
var f2 = "[ \n\f\r]";
var v = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g;
var _ = /-->/g;
var m = />/g;
var p2 = RegExp(`>|${f2}(?:([^\\s"'>=/]+)(${f2}*=${f2}*(?:[^
\f\r"'\`<>=]|("|')|))|$)`, "g");
var g = /'/g;
var $ = /"/g;
var y2 = /^(?:script|style|textarea|title)$/i;
var x = (t4) => (i5, ...s4) => ({ _$litType$: t4, strings: i5, values: s4 });
var b2 = x(1);
var w = x(2);
var T = x(3);
var E = /* @__PURE__ */ Symbol.for("lit-noChange");
var A = /* @__PURE__ */ Symbol.for("lit-nothing");
var C = /* @__PURE__ */ new WeakMap();
var P = l2.createTreeWalker(l2, 129);
function V(t4, i5) {
if (!u2(t4) || !t4.hasOwnProperty("raw")) throw Error("invalid template strings array");
return void 0 !== e3 ? e3.createHTML(i5) : i5;
}
var N = (t4, i5) => {
const s4 = t4.length - 1, e5 = [];
let n5, l3 = 2 === i5 ? "<svg>" : 3 === i5 ? "<math>" : "", c4 = v;
for (let i6 = 0; i6 < s4; i6++) {
const s5 = t4[i6];
let a3, u3, d3 = -1, f3 = 0;
for (; f3 < s5.length && (c4.lastIndex = f3, u3 = c4.exec(s5), null !== u3); ) f3 = c4.lastIndex, c4 === v ? "!--" === u3[1] ? c4 = _ : void 0 !== u3[1] ? c4 = m : void 0 !== u3[2] ? (y2.test(u3[2]) && (n5 = RegExp("</" + u3[2], "g")), c4 = p2) : void 0 !== u3[3] && (c4 = p2) : c4 === p2 ? ">" === u3[0] ? (c4 = n5 ?? v, d3 = -1) : void 0 === u3[1] ? d3 = -2 : (d3 = c4.lastIndex - u3[2].length, a3 = u3[1], c4 = void 0 === u3[3] ? p2 : '"' === u3[3] ? $ : g) : c4 === $ || c4 === g ? c4 = p2 : c4 === _ || c4 === m ? c4 = v : (c4 = p2, n5 = void 0);
const x2 = c4 === p2 && t4[i6 + 1].startsWith("/>") ? " " : "";
l3 += c4 === v ? s5 + r3 : d3 >= 0 ? (e5.push(a3), s5.slice(0, d3) + h2 + s5.slice(d3) + o3 + x2) : s5 + o3 + (-2 === d3 ? i6 : x2);
}
return [V(t4, l3 + (t4[s4] || "<?>") + (2 === i5 ? "</svg>" : 3 === i5 ? "</math>" : "")), e5];
};
var S2 = class _S {
constructor({ strings: t4, _$litType$: i5 }, e5) {
let r5;
this.parts = [];
let l3 = 0, a3 = 0;
const u3 = t4.length - 1, d3 = this.parts, [f3, v2] = N(t4, i5);
if (this.el = _S.createElement(f3, e5), P.currentNode = this.el.content, 2 === i5 || 3 === i5) {
const t5 = this.el.content.firstChild;
t5.replaceWith(...t5.childNodes);
}
for (; null !== (r5 = P.nextNode()) && d3.length < u3; ) {
if (1 === r5.nodeType) {
if (r5.hasAttributes()) for (const t5 of r5.getAttributeNames()) if (t5.endsWith(h2)) {
const i6 = v2[a3++], s4 = r5.getAttribute(t5).split(o3), e6 = /([.?@])?(.*)/.exec(i6);
d3.push({ type: 1, index: l3, name: e6[2], strings: s4, ctor: "." === e6[1] ? I : "?" === e6[1] ? L : "@" === e6[1] ? z : H }), r5.removeAttribute(t5);
} else t5.startsWith(o3) && (d3.push({ type: 6, index: l3 }), r5.removeAttribute(t5));
if (y2.test(r5.tagName)) {
const t5 = r5.textContent.split(o3), i6 = t5.length - 1;
if (i6 > 0) {
r5.textContent = s2 ? s2.emptyScript : "";
for (let s4 = 0; s4 < i6; s4++) r5.append(t5[s4], c3()), P.nextNode(), d3.push({ type: 2, index: ++l3 });
r5.append(t5[i6], c3());
}
}
} else if (8 === r5.nodeType) if (r5.data === n3) d3.push({ type: 2, index: l3 });
else {
let t5 = -1;
for (; -1 !== (t5 = r5.data.indexOf(o3, t5 + 1)); ) d3.push({ type: 7, index: l3 }), t5 += o3.length - 1;
}
l3++;
}
}
static createElement(t4, i5) {
const s4 = l2.createElement("template");
return s4.innerHTML = t4, s4;
}
};
function M(t4, i5, s4 = t4, e5) {
if (i5 === E) return i5;
let h3 = void 0 !== e5 ? s4._$Co?.[e5] : s4._$Cl;
const o6 = a2(i5) ? void 0 : i5._$litDirective$;
return h3?.constructor !== o6 && (h3?._$AO?.(false), void 0 === o6 ? h3 = void 0 : (h3 = new o6(t4), h3._$AT(t4, s4, e5)), void 0 !== e5 ? (s4._$Co ??= [])[e5] = h3 : s4._$Cl = h3), void 0 !== h3 && (i5 = M(t4, h3._$AS(t4, i5.values), h3, e5)), i5;
}
var R = class {
constructor(t4, i5) {
this._$AV = [], this._$AN = void 0, this._$AD = t4, this._$AM = i5;
}
get parentNode() {
return this._$AM.parentNode;
}
get _$AU() {
return this._$AM._$AU;
}
u(t4) {
const { el: { content: i5 }, parts: s4 } = this._$AD, e5 = (t4?.creationScope ?? l2).importNode(i5, true);
P.currentNode = e5;
let h3 = P.nextNode(), o6 = 0, n5 = 0, r5 = s4[0];
for (; void 0 !== r5; ) {
if (o6 === r5.index) {
let i6;
2 === r5.type ? i6 = new k(h3, h3.nextSibling, this, t4) : 1 === r5.type ? i6 = new r5.ctor(h3, r5.name, r5.strings, this, t4) : 6 === r5.type && (i6 = new Z(h3, this, t4)), this._$AV.push(i6), r5 = s4[++n5];
}
o6 !== r5?.index && (h3 = P.nextNode(), o6++);
}
return P.currentNode = l2, e5;
}
p(t4) {
let i5 = 0;
for (const s4 of this._$AV) void 0 !== s4 && (void 0 !== s4.strings ? (s4._$AI(t4, s4, i5), i5 += s4.strings.length - 2) : s4._$AI(t4[i5])), i5++;
}
};
var k = class _k {
get _$AU() {
return this._$AM?._$AU ?? this._$Cv;
}
constructor(t4, i5, s4, e5) {
this.type = 2, this._$AH = A, this._$AN = void 0, this._$AA = t4, this._$AB = i5, this._$AM = s4, this.options = e5, this._$Cv = e5?.isConnected ?? true;
}
get parentNode() {
let t4 = this._$AA.parentNode;
const i5 = this._$AM;
return void 0 !== i5 && 11 === t4?.nodeType && (t4 = i5.parentNode), t4;
}
get startNode() {
return this._$AA;
}
get endNode() {
return this._$AB;
}
_$AI(t4, i5 = this) {
t4 = M(this, t4, i5), a2(t4) ? t4 === A || null == t4 || "" === t4 ? (this._$AH !== A && this._$AR(), this._$AH = A) : t4 !== this._$AH && t4 !== E && this._(t4) : void 0 !== t4._$litType$ ? this.$(t4) : void 0 !== t4.nodeType ? this.T(t4) : d2(t4) ? this.k(t4) : this._(t4);
}
O(t4) {
return this._$AA.parentNode.insertBefore(t4, this._$AB);
}
T(t4) {
this._$AH !== t4 && (this._$AR(), this._$AH = this.O(t4));
}
_(t4) {
this._$AH !== A && a2(this._$AH) ? this._$AA.nextSibling.data = t4 : this.T(l2.createTextNode(t4)), this._$AH = t4;
}
$(t4) {
const { values: i5, _$litType$: s4 } = t4, e5 = "number" == typeof s4 ? this._$AC(t4) : (void 0 === s4.el && (s4.el = S2.createElement(V(s4.h, s4.h[0]), this.options)), s4);
if (this._$AH?._$AD === e5) this._$AH.p(i5);
else {
const t5 = new R(e5, this), s5 = t5.u(this.options);
t5.p(i5), this.T(s5), this._$AH = t5;
}
}
_$AC(t4) {
let i5 = C.get(t4.strings);
return void 0 === i5 && C.set(t4.strings, i5 = new S2(t4)), i5;
}
k(t4) {
u2(this._$AH) || (this._$AH = [], this._$AR());
const i5 = this._$AH;
let s4, e5 = 0;
for (const h3 of t4) e5 === i5.length ? i5.push(s4 = new _k(this.O(c3()), this.O(c3()), this, this.options)) : s4 = i5[e5], s4._$AI(h3), e5++;
e5 < i5.length && (this._$AR(s4 && s4._$AB.nextSibling, e5), i5.length = e5);
}
_$AR(t4 = this._$AA.nextSibling, s4) {
for (this._$AP?.(false, true, s4); t4 !== this._$AB; ) {
const s5 = i3(t4).nextSibling;
i3(t4).remove(), t4 = s5;
}
}
setConnected(t4) {
void 0 === this._$AM && (this._$Cv = t4, this._$AP?.(t4));
}
};
var H = class {
get tagName() {
return this.element.tagName;
}
get _$AU() {
return this._$AM._$AU;
}
constructor(t4, i5, s4, e5, h3) {
this.type = 1, this._$AH = A, this._$AN = void 0, this.element = t4, this.name = i5, this._$AM = e5, this.options = h3, s4.length > 2 || "" !== s4[0] || "" !== s4[1] ? (this._$AH = Array(s4.length - 1).fill(new String()), this.strings = s4) : this._$AH = A;
}
_$AI(t4, i5 = this, s4, e5) {
const h3 = this.strings;
let o6 = false;
if (void 0 === h3) t4 = M(this, t4, i5, 0), o6 = !a2(t4) || t4 !== this._$AH && t4 !== E, o6 && (this._$AH = t4);
else {
const e6 = t4;
let n5, r5;
for (t4 = h3[0], n5 = 0; n5 < h3.length - 1; n5++) r5 = M(this, e6[s4 + n5], i5, n5), r5 === E && (r5 = this._$AH[n5]), o6 ||= !a2(r5) || r5 !== this._$AH[n5], r5 === A ? t4 = A : t4 !== A && (t4 += (r5 ?? "") + h3[n5 + 1]), this._$AH[n5] = r5;
}
o6 && !e5 && this.j(t4);
}
j(t4) {
t4 === A ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t4 ?? "");
}
};
var I = class extends H {
constructor() {
super(...arguments), this.type = 3;
}
j(t4) {
this.element[this.name] = t4 === A ? void 0 : t4;
}
};
var L = class extends H {
constructor() {
super(...arguments), this.type = 4;
}
j(t4) {
this.element.toggleAttribute(this.name, !!t4 && t4 !== A);
}
};
var z = class extends H {
constructor(t4, i5, s4, e5, h3) {
super(t4, i5, s4, e5, h3), this.type = 5;
}
_$AI(t4, i5 = this) {
if ((t4 = M(this, t4, i5, 0) ?? A) === E) return;
const s4 = this._$AH, e5 = t4 === A && s4 !== A || t4.capture !== s4.capture || t4.once !== s4.once || t4.passive !== s4.passive, h3 = t4 !== A && (s4 === A || e5);
e5 && this.element.removeEventListener(this.name, this, s4), h3 && this.element.addEventListener(this.name, this, t4), this._$AH = t4;
}
handleEvent(t4) {
"function" == typeof this._$AH ? this._$AH.call(this.options?.host ?? this.element, t4) : this._$AH.handleEvent(t4);
}
};
var Z = class {
constructor(t4, i5, s4) {
this.element = t4, this.type = 6, this._$AN = void 0, this._$AM = i5, this.options = s4;
}
get _$AU() {
return this._$AM._$AU;
}
_$AI(t4) {
M(this, t4);
}
};
var B = t2.litHtmlPolyfillSupport;
B?.(S2, k), (t2.litHtmlVersions ??= []).push("3.3.2");
var D = (t4, i5, s4) => {
const e5 = s4?.renderBefore ?? i5;
let h3 = e5._$litPart$;
if (void 0 === h3) {
const t5 = s4?.renderBefore ?? null;
e5._$litPart$ = h3 = new k(i5.insertBefore(c3(), t5), t5, void 0, s4 ?? {});
}
return h3._$AI(t4), h3;
};
// node_modules/lit-element/lit-element.js
var s3 = globalThis;
var i4 = class extends y {
constructor() {
super(...arguments), this.renderOptions = { host: this }, this._$Do = void 0;
}
createRenderRoot() {
const t4 = super.createRenderRoot();
return this.renderOptions.renderBefore ??= t4.firstChild, t4;
}
update(t4) {
const r5 = this.render();
this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t4), this._$Do = D(r5, this.renderRoot, this.renderOptions);
}
connectedCallback() {
super.connectedCallback(), this._$Do?.setConnected(true);
}
disconnectedCallback() {
super.disconnectedCallback(), this._$Do?.setConnected(false);
}
render() {
return E;
}
};
i4._$litElement$ = true, i4["finalized"] = true, s3.litElementHydrateSupport?.({ LitElement: i4 });
var o4 = s3.litElementPolyfillSupport;
o4?.({ LitElement: i4 });
(s3.litElementVersions ??= []).push("4.2.2");
// node_modules/@lit/reactive-element/decorators/custom-element.js
var t3 = (t4) => (e5, o6) => {
void 0 !== o6 ? o6.addInitializer(() => {
customElements.define(t4, e5);
}) : customElements.define(t4, e5);
};
// node_modules/@lit/reactive-element/decorators/property.js
var o5 = { attribute: true, type: String, converter: u, reflect: false, hasChanged: f };
var r4 = (t4 = o5, e5, r5) => {
const { kind: n5, metadata: i5 } = r5;
let s4 = globalThis.litPropertyMetadata.get(i5);
if (void 0 === s4 && globalThis.litPropertyMetadata.set(i5, s4 = /* @__PURE__ */ new Map()), "setter" === n5 && ((t4 = Object.create(t4)).wrapped = true), s4.set(r5.name, t4), "accessor" === n5) {
const { name: o6 } = r5;
return { set(r6) {
const n6 = e5.get.call(this);
e5.set.call(this, r6), this.requestUpdate(o6, n6, t4, true, r6);
}, init(e6) {
return void 0 !== e6 && this.C(o6, void 0, t4, e6), e6;
} };
}
if ("setter" === n5) {
const { name: o6 } = r5;
return function(r6) {
const n6 = this[o6];
e5.call(this, r6), this.requestUpdate(o6, n6, t4, true, r6);
};
}
throw Error("Unsupported decorator location: " + n5);
};
function n4(t4) {
return (e5, o6) => "object" == typeof o6 ? r4(t4, e5, o6) : ((t5, e6, o7) => {
const r5 = e6.hasOwnProperty(o7);
return e6.constructor.createProperty(o7, t5), r5 ? Object.getOwnPropertyDescriptor(e6, o7) : void 0;
})(t4, e5, o6);
}
// src/light-preset-manager.ts
var LightPresetManager = class extends i4 {
setConfig(config) {
this.config = config;
}
render() {
return b2`
<ha-card>
<div class="card">
<h1>🎉 Hello World!</h1>
<p>Light Preset Manager fonctionne.</p>
<p>Config: ${JSON.stringify(this.config)}</p>
</div>
</ha-card>
`;
}
getCardSize() {
return 3;
}
};
LightPresetManager.styles = i`
:host {
display: block;
padding: 16px;
}
.card {
background: var(--ha-card-background, #fff);
border-radius: 8px;
padding: 16px;
box-shadow: var(--ha-card-box-shadow, 0 2px 4px rgba(0, 0, 0, 0.1));
}
h1 {
margin: 0;
color: var(--primary-text-color);
}
`;
__decorateClass([
n4({ attribute: false })
], LightPresetManager.prototype, "hass", 2);
__decorateClass([
n4({ attribute: false })
], LightPresetManager.prototype, "config", 2);
LightPresetManager = __decorateClass([
t3("light-preset-manager")
], LightPresetManager);
window.customCards = window.customCards || [];
window.customCards.push({
type: "light-preset-manager",
name: "Light Preset Manager",
description: "Panel de contr\xF4le lumi\xE8re avec presets"
});
console.log("Light Preset Manager loaded!");
export {
LightPresetManager
};
/*! Bundled license information:
@lit/reactive-element/css-tag.js:
(**
* @license
* Copyright 2019 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*)
@lit/reactive-element/reactive-element.js:
lit-html/lit-html.js:
lit-element/lit-element.js:
@lit/reactive-element/decorators/custom-element.js:
@lit/reactive-element/decorators/property.js:
@lit/reactive-element/decorators/state.js:
@lit/reactive-element/decorators/event-options.js:
@lit/reactive-element/decorators/base.js:
@lit/reactive-element/decorators/query.js:
@lit/reactive-element/decorators/query-all.js:
@lit/reactive-element/decorators/query-async.js:
@lit/reactive-element/decorators/query-assigned-nodes.js:
(**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*)
lit-html/is-server.js:
(**
* @license
* Copyright 2022 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*)
@lit/reactive-element/decorators/query-assigned-elements.js:
(**
* @license
* Copyright 2021 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*)
*/
+3 -2
View File
@@ -11,5 +11,6 @@ services:
- "8123:8123"
environment:
- TZ=Europe/Paris
restart: unless-stopped
network_mode: host
extra_hosts:
- "z2m:192.168.10.249"
restart: unless-stopped
+53
View File
@@ -0,0 +1,53 @@
import { LitElement, html, css } from "lit";
import { customElement, property } from "lit/decorators.js";
@customElement("light-preset-manager")
export class LightPresetManager extends LitElement {
@property({ attribute: false }) public hass?: any;
@property({ attribute: false }) public config?: any;
static styles = css`
:host {
display: block;
padding: 16px;
}
.card {
background: var(--ha-card-background, #fff);
border-radius: 8px;
padding: 16px;
box-shadow: var(--ha-card-box-shadow, 0 2px 4px rgba(0, 0, 0, 0.1));
}
h1 {
margin: 0;
color: var(--primary-text-color);
}
`;
setConfig(config: any): void {
this.config = config;
}
render() {
return html`
<ha-card>
<div class="card">
<h1>🎉 Hello World!</h1>
<p>Light Preset Manager fonctionne.</p>
<p>Config: ${JSON.stringify(this.config)}</p>
</div>
</ha-card>
`;
}
getCardSize(): number {
return 3;
}
}
(window as any).customCards = (window as any).customCards || [];
(window as any).customCards.push({
type: "light-preset-manager",
name: "Light Preset Manager",
description: "Panel de contrôle lumière avec presets",
});
console.log("Light Preset Manager loaded!");
+1
View File
@@ -0,0 +1 @@
2025.12.5
+1
View File
@@ -0,0 +1 @@
{"pid": 67, "version": 1, "ha_version": "2025.12.5", "start_ts": 1767110951.3492944}
@@ -0,0 +1,58 @@
blueprint:
name: Motion-activated Light
description: Turn on a light when motion is detected.
domain: automation
source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/motion_light.yaml
author: Home Assistant
input:
motion_entity:
name: Motion Sensor
selector:
entity:
filter:
- device_class: occupancy
domain: binary_sensor
- device_class: motion
domain: binary_sensor
light_target:
name: Light
selector:
target:
entity:
domain: light
no_motion_wait:
name: Wait time
description: Time to leave the light on after last motion is detected.
default: 120
selector:
number:
min: 0
max: 3600
unit_of_measurement: seconds
# If motion is detected within the delay,
# we restart the script.
mode: restart
max_exceeded: silent
triggers:
trigger: state
entity_id: !input motion_entity
from: "off"
to: "on"
actions:
- alias: "Turn on the light"
action: light.turn_on
target: !input light_target
- alias: "Wait until there is no motion from device"
wait_for_trigger:
trigger: state
entity_id: !input motion_entity
from: "on"
to: "off"
- alias: "Wait the number of seconds that has been set"
delay: !input no_motion_wait
- alias: "Turn off the light"
action: light.turn_off
target: !input light_target
@@ -0,0 +1,50 @@
blueprint:
name: Zone Notification
description: Send a notification to a device when a person leaves a specific zone.
domain: automation
source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/notify_leaving_zone.yaml
author: Home Assistant
input:
person_entity:
name: Person
selector:
entity:
filter:
domain: person
zone_entity:
name: Zone
selector:
entity:
filter:
domain: zone
notify_device:
name: Device to notify
description: Device needs to run the official Home Assistant app to receive notifications.
selector:
device:
filter:
integration: mobile_app
triggers:
trigger: state
entity_id: !input person_entity
variables:
zone_entity: !input zone_entity
# This is the state of the person when it's in this zone.
zone_state: "{{ states[zone_entity].name }}"
person_entity: !input person_entity
person_name: "{{ states[person_entity].name }}"
conditions:
condition: template
# The first case handles leaving the Home zone which has a special state when zoning called 'home'.
# The second case handles leaving all other zones.
value_template: "{{ zone_entity == 'zone.home' and trigger.from_state.state == 'home' and trigger.to_state.state != 'home' or trigger.from_state.state == zone_state and trigger.to_state.state != zone_state }}"
actions:
- alias: "Notify that a person has left the zone"
domain: mobile_app
type: notify
device_id: !input notify_device
message: "{{ person_name }} has left {{ zone_state }}"
@@ -0,0 +1,86 @@
blueprint:
name: Confirmable Notification
description: >-
A script that sends an actionable notification with a confirmation before
running the specified action.
domain: script
source_url: https://github.com/home-assistant/core/blob/master/homeassistant/components/script/blueprints/confirmable_notification.yaml
author: Home Assistant
input:
notify_device:
name: Device to notify
description: Device needs to run the official Home Assistant app to receive notifications.
selector:
device:
filter:
integration: mobile_app
title:
name: "Title"
description: "The title of the button shown in the notification."
default: ""
selector:
text:
message:
name: "Message"
description: "The message body"
selector:
text:
confirm_text:
name: "Confirmation Text"
description: "Text to show on the confirmation button"
default: "Confirm"
selector:
text:
confirm_action:
name: "Confirmation Action"
description: "Action to run when notification is confirmed"
default: []
selector:
action:
dismiss_text:
name: "Dismiss Text"
description: "Text to show on the dismiss button"
default: "Dismiss"
selector:
text:
dismiss_action:
name: "Dismiss Action"
description: "Action to run when notification is dismissed"
default: []
selector:
action:
mode: restart
sequence:
- alias: "Set up variables"
variables:
action_confirm: "{{ 'CONFIRM_' ~ context.id }}"
action_dismiss: "{{ 'DISMISS_' ~ context.id }}"
- alias: "Send notification"
domain: mobile_app
type: notify
device_id: !input notify_device
title: !input title
message: !input message
data:
actions:
- action: "{{ action_confirm }}"
title: !input confirm_text
- action: "{{ action_dismiss }}"
title: !input dismiss_text
- alias: "Awaiting response"
wait_for_trigger:
- trigger: event
event_type: mobile_app_notification_action
event_data:
action: "{{ action_confirm }}"
- trigger: event
event_type: mobile_app_notification_action
event_data:
action: "{{ action_dismiss }}"
- choose:
- conditions: "{{ wait.trigger.event.data.action == action_confirm }}"
sequence: !input confirm_action
- conditions: "{{ wait.trigger.event.data.action == action_dismiss }}"
sequence: !input dismiss_action
+1 -6
View File
@@ -16,12 +16,7 @@ logger:
logs:
custom_components.light_preset_manager: debug
# MQTT - Connexion au broker du Pi
mqtt:
broker: z2m # ← IP de ton Pi (z2m)
port: 1883
username: !secret mqtt_user # Si authentification
password: !secret mqtt_pass
# Inclure les scènes
scene: !include scenes.yaml
+620
View File
@@ -0,0 +1,620 @@
2025-12-30 16:10:54.822 INFO (MainThread) [homeassistant.setup] Setting up http
2025-12-30 16:10:54.851 INFO (MainThread) [homeassistant.setup] Setup of domain system_log took 0.03 seconds
2025-12-30 16:10:54.851 INFO (MainThread) [homeassistant.setup] Setup of domain logger took 0.03 seconds
2025-12-30 16:10:54.851 INFO (MainThread) [homeassistant.setup] Setup of domain http took 0.03 seconds
2025-12-30 16:10:54.851 INFO (MainThread) [homeassistant.setup] Setting up websocket_api
2025-12-30 16:10:54.851 INFO (MainThread) [homeassistant.setup] Setup of domain websocket_api took 0.00 seconds
2025-12-30 16:10:54.856 INFO (MainThread) [homeassistant.setup] Setting up network
2025-12-30 16:10:54.857 INFO (MainThread) [homeassistant.setup] Setup of domain network took 0.00 seconds
2025-12-30 16:10:54.857 INFO (MainThread) [homeassistant.bootstrap] Setting up stage labs: {'labs'}; already set up: {}
Dependencies: {}; already set up: {}
2025-12-30 16:10:54.857 INFO (MainThread) [homeassistant.setup] Setting up labs
2025-12-30 16:10:54.858 INFO (MainThread) [homeassistant.setup] Setup of domain labs took 0.00 seconds
2025-12-30 16:10:54.858 INFO (MainThread) [homeassistant.bootstrap] Setting up stage frontend: {'frontend'}; already set up: {}
Dependencies: {'file_upload', 'repairs', 'onboarding', 'diagnostics', 'auth', 'config', 'device_automation', 'api', 'search', 'lovelace'}; already set up: {'system_log', 'websocket_api', 'http'}
2025-12-30 16:10:54.858 INFO (MainThread) [homeassistant.setup] Setting up file_upload
2025-12-30 16:10:54.858 INFO (MainThread) [homeassistant.setup] Setup of domain file_upload took 0.00 seconds
2025-12-30 16:10:54.858 INFO (MainThread) [homeassistant.setup] Setting up repairs
2025-12-30 16:10:54.858 INFO (MainThread) [homeassistant.setup] Setup of domain repairs took 0.00 seconds
2025-12-30 16:10:54.858 INFO (MainThread) [homeassistant.setup] Setting up auth
2025-12-30 16:10:54.859 INFO (MainThread) [homeassistant.setup] Setup of domain auth took 0.00 seconds
2025-12-30 16:10:54.859 INFO (MainThread) [homeassistant.setup] Setting up onboarding
2025-12-30 16:10:54.859 INFO (MainThread) [homeassistant.setup] Setup of domain onboarding took 0.00 seconds
2025-12-30 16:10:54.859 INFO (MainThread) [homeassistant.setup] Setting up diagnostics
2025-12-30 16:10:54.859 INFO (MainThread) [homeassistant.setup] Setup of domain diagnostics took 0.00 seconds
2025-12-30 16:10:54.859 INFO (MainThread) [homeassistant.setup] Setting up api
2025-12-30 16:10:54.860 INFO (MainThread) [homeassistant.setup] Setup of domain api took 0.00 seconds
2025-12-30 16:10:54.860 INFO (MainThread) [homeassistant.setup] Setting up config
2025-12-30 16:10:54.862 INFO (MainThread) [homeassistant.setup] Setup of domain config took 0.00 seconds
2025-12-30 16:10:54.862 INFO (MainThread) [homeassistant.setup] Setting up device_automation
2025-12-30 16:10:54.862 INFO (MainThread) [homeassistant.setup] Setup of domain device_automation took 0.00 seconds
2025-12-30 16:10:54.862 INFO (MainThread) [homeassistant.setup] Setting up lovelace
2025-12-30 16:10:54.862 INFO (MainThread) [homeassistant.setup] Setting up search
2025-12-30 16:10:54.863 INFO (MainThread) [homeassistant.setup] Setup of domain search took 0.00 seconds
2025-12-30 16:10:54.868 INFO (MainThread) [homeassistant.setup] Setup of domain lovelace took 0.01 seconds
2025-12-30 16:10:54.871 INFO (MainThread) [homeassistant.setup] Setting up frontend
2025-12-30 16:10:54.875 INFO (MainThread) [homeassistant.setup] Setup of domain frontend took 0.00 seconds
2025-12-30 16:10:54.876 INFO (MainThread) [homeassistant.bootstrap] Nothing to set up in stage recorder: {'recorder'}
2025-12-30 16:10:54.876 INFO (MainThread) [homeassistant.bootstrap] Nothing to set up in stage debugger: {'debugpy'}
2025-12-30 16:10:54.876 INFO (MainThread) [homeassistant.bootstrap] Nothing to set up in stage zeroconf: {'zeroconf'}
2025-12-30 16:10:54.876 INFO (MainThread) [homeassistant.bootstrap] Nothing to set up in stage 1: {'mqtt_eventstream', 'hassio', 'bluetooth', 'usb', 'ssdp', 'dhcp', 'cloud'}
2025-12-30 16:10:54.876 INFO (MainThread) [homeassistant.bootstrap] Setting up stage 2: {'input_number', 'input_button', 'google_translate', 'shopping_list', 'analytics', 'input_text', 'radio_browser', 'schedule', 'input_boolean', 'timer', 'scene', 'automation', 'script', 'backup', 'system_health', 'person', 'tag', 'zone', 'counter', 'application_credentials', 'hardware', 'input_select', 'input_datetime'}; already set up: {'http', 'logger', 'network', 'frontend', 'labs', 'config', 'homeassistant', 'api'}
Dependencies: {'blueprint', 'trace', 'image_upload'}; already set up: {'http', 'device_automation', 'auth', 'websocket_api', 'api'}
2025-12-30 16:10:54.876 INFO (MainThread) [homeassistant.setup] Setting up scene
2025-12-30 16:10:54.876 INFO (MainThread) [homeassistant.components.scene] Setting up homeassistant.scene
2025-12-30 16:10:54.877 INFO (MainThread) [homeassistant.components.scene] Setting up homeassistant.scene
2025-12-30 16:10:54.877 INFO (MainThread) [homeassistant.components.scene] Setting up homeassistant.scene
2025-12-30 16:10:54.877 INFO (MainThread) [homeassistant.setup] Setup of domain scene took 0.00 seconds
2025-12-30 16:10:54.877 INFO (MainThread) [homeassistant.setup] Setting up input_number
2025-12-30 16:10:54.878 INFO (MainThread) [homeassistant.setup] Setup of domain input_number took 0.00 seconds
2025-12-30 16:10:54.878 INFO (MainThread) [homeassistant.setup] Setting up zone
2025-12-30 16:10:54.879 INFO (MainThread) [homeassistant.setup] Setup of domain zone took 0.00 seconds
2025-12-30 16:10:54.879 INFO (MainThread) [homeassistant.setup] Setting up blueprint
2025-12-30 16:10:54.879 INFO (MainThread) [homeassistant.setup] Setup of domain blueprint took 0.00 seconds
2025-12-30 16:10:54.880 INFO (MainThread) [homeassistant.setup] Setting up trace
2025-12-30 16:10:54.880 INFO (MainThread) [homeassistant.setup] Setup of domain trace took 0.00 seconds
2025-12-30 16:10:54.880 INFO (MainThread) [homeassistant.setup] Setting up automation
2025-12-30 16:10:54.881 INFO (MainThread) [homeassistant.setup] Setup of domain automation took 0.00 seconds
2025-12-30 16:10:54.881 INFO (MainThread) [homeassistant.setup] Setting up script
2025-12-30 16:10:54.881 INFO (MainThread) [homeassistant.setup] Setup of domain script took 0.00 seconds
2025-12-30 16:10:54.881 INFO (MainThread) [homeassistant.setup] Setting up system_health
2025-12-30 16:10:54.882 INFO (MainThread) [homeassistant.setup] Setup of domain system_health took 0.00 seconds
2025-12-30 16:10:54.883 INFO (MainThread) [homeassistant.setup] Setting up input_button
2025-12-30 16:10:54.884 INFO (MainThread) [homeassistant.setup] Setup of domain input_button took 0.00 seconds
2025-12-30 16:10:54.885 INFO (MainThread) [homeassistant.components.http] Now listening on port 8123
2025-12-30 16:10:54.885 INFO (MainThread) [homeassistant.setup] Setup of domain http took 0.01 seconds
2025-12-30 16:10:54.890 INFO (MainThread) [homeassistant.setup] Setting up tag
2025-12-30 16:10:54.890 INFO (MainThread) [homeassistant.setup] Setup of domain tag took 0.00 seconds
2025-12-30 16:10:54.896 INFO (MainThread) [homeassistant.setup] Setting up image_upload
2025-12-30 16:10:54.897 INFO (MainThread) [homeassistant.setup] Setup of domain image_upload took 0.00 seconds
2025-12-30 16:10:54.897 INFO (MainThread) [homeassistant.setup] Setting up person
2025-12-30 16:10:54.898 INFO (MainThread) [homeassistant.setup] Setup of domain person took 0.00 seconds
2025-12-30 16:10:54.905 INFO (MainThread) [homeassistant.setup] Setting up shopping_list
2025-12-30 16:10:54.905 INFO (MainThread) [homeassistant.setup] Setup of domain shopping_list took 0.00 seconds
2025-12-30 16:10:54.910 INFO (MainThread) [homeassistant.setup] Setting up counter
2025-12-30 16:10:54.911 INFO (MainThread) [homeassistant.setup] Setup of domain counter took 0.00 seconds
2025-12-30 16:10:54.914 INFO (MainThread) [homeassistant.setup] Setting up application_credentials
2025-12-30 16:10:54.914 INFO (MainThread) [homeassistant.setup] Setup of domain application_credentials took 0.00 seconds
2025-12-30 16:10:54.917 INFO (MainThread) [homeassistant.setup] Setting up input_text
2025-12-30 16:10:54.917 INFO (MainThread) [homeassistant.setup] Setup of domain input_text took 0.00 seconds
2025-12-30 16:10:54.922 INFO (MainThread) [homeassistant.setup] Setting up schedule
2025-12-30 16:10:54.923 INFO (MainThread) [homeassistant.setup] Setup of domain schedule took 0.00 seconds
2025-12-30 16:10:54.927 INFO (MainThread) [homeassistant.setup] Setting up input_select
2025-12-30 16:10:54.928 INFO (MainThread) [homeassistant.setup] Setup of domain input_select took 0.00 seconds
2025-12-30 16:10:54.931 INFO (MainThread) [homeassistant.setup] Setting up input_boolean
2025-12-30 16:10:54.931 INFO (MainThread) [homeassistant.setup] Setup of domain input_boolean took 0.00 seconds
2025-12-30 16:10:54.933 INFO (MainThread) [homeassistant.setup] Setting up timer
2025-12-30 16:10:54.934 INFO (MainThread) [homeassistant.setup] Setup of domain timer took 0.00 seconds
2025-12-30 16:10:54.935 INFO (MainThread) [homeassistant.setup] Setting up input_datetime
2025-12-30 16:10:54.936 INFO (MainThread) [homeassistant.setup] Setup of domain input_datetime took 0.00 seconds
2025-12-30 16:10:54.942 INFO (MainThread) [homeassistant.setup] Setting up backup
2025-12-30 16:10:54.944 INFO (MainThread) [homeassistant.setup] Setup of domain backup took 0.00 seconds
2025-12-30 16:10:54.963 INFO (MainThread) [homeassistant.setup] Setting up google_translate
2025-12-30 16:10:54.963 INFO (MainThread) [homeassistant.setup] Setup of domain google_translate took 0.00 seconds
2025-12-30 16:10:54.967 INFO (MainThread) [homeassistant.setup] Setting up todo
2025-12-30 16:10:54.968 INFO (MainThread) [homeassistant.setup] Setup of domain todo took 0.00 seconds
2025-12-30 16:10:54.969 INFO (MainThread) [homeassistant.components.todo] Setting up shopping_list.todo
2025-12-30 16:10:55.038 INFO (MainThread) [homeassistant.setup] Setting up radio_browser
2025-12-30 16:10:55.038 INFO (MainThread) [homeassistant.setup] Setup of domain radio_browser took 0.00 seconds
2025-12-30 16:10:55.044 INFO (MainThread) [homeassistant.setup] Setting up hardware
2025-12-30 16:10:55.065 INFO (MainThread) [homeassistant.setup] Setup of domain hardware took 0.02 seconds
2025-12-30 16:10:55.065 INFO (MainThread) [homeassistant.setup] Setting up analytics
2025-12-30 16:10:55.065 INFO (MainThread) [homeassistant.setup] Setup of domain analytics took 0.00 seconds
2025-12-30 16:10:55.070 INFO (MainThread) [homeassistant.setup] Setting up ffmpeg
2025-12-30 16:10:55.073 INFO (MainThread) [homeassistant.setup] Setting up event
2025-12-30 16:10:55.073 INFO (MainThread) [homeassistant.setup] Setup of domain event took 0.00 seconds
2025-12-30 16:10:55.074 INFO (MainThread) [homeassistant.setup] Setting up sensor
2025-12-30 16:10:55.074 INFO (MainThread) [homeassistant.setup] Setup of domain sensor took 0.00 seconds
2025-12-30 16:10:55.074 INFO (MainThread) [homeassistant.setup] Setup of domain ffmpeg took 0.00 seconds
2025-12-30 16:10:55.075 INFO (MainThread) [homeassistant.setup] Setting up tts
2025-12-30 16:10:55.075 INFO (MainThread) [homeassistant.components.event] Setting up backup.event
2025-12-30 16:10:55.076 INFO (MainThread) [homeassistant.components.sensor] Setting up backup.sensor
2025-12-30 16:10:55.083 INFO (MainThread) [homeassistant.setup] Setup of domain tts took 0.01 seconds
2025-12-30 16:10:55.084 INFO (MainThread) [homeassistant.components.tts] Setting up google_translate.tts
2025-12-30 16:10:55.151 INFO (MainThread) [homeassistant.bootstrap] Home Assistant initialized in 0.95s
2025-12-30 16:10:55.151 INFO (MainThread) [homeassistant.core] Starting Home Assistant 2025.12.5
2025-12-30 16:11:21.541 INFO (MainThread) [homeassistant.components.websocket_api.http.connection] [140617783361216] Received unknown command: recorder/info
2025-12-30 16:11:35.347 INFO (SyncWorker_5) [homeassistant.loader] Loaded homekit_controller from homeassistant.components.homekit_controller
2025-12-30 16:11:35.348 INFO (SyncWorker_5) [homeassistant.loader] Loaded season from homeassistant.components.season
2025-12-30 16:11:35.348 INFO (SyncWorker_5) [homeassistant.loader] Loaded sun from homeassistant.components.sun
2025-12-30 16:11:35.348 INFO (SyncWorker_5) [homeassistant.loader] Loaded moon from homeassistant.components.moon
2025-12-30 16:11:35.349 INFO (SyncWorker_5) [homeassistant.loader] Loaded plant from homeassistant.components.plant
2025-12-30 16:11:35.349 INFO (SyncWorker_5) [homeassistant.loader] Loaded proximity from homeassistant.components.proximity
2025-12-30 16:11:35.350 INFO (SyncWorker_5) [homeassistant.loader] Loaded utility_meter from homeassistant.components.utility_meter
2025-12-30 16:11:35.350 INFO (SyncWorker_5) [homeassistant.loader] Loaded alert from homeassistant.components.alert
2025-12-30 16:11:35.350 INFO (SyncWorker_5) [homeassistant.loader] Loaded group from homeassistant.components.group
2025-12-30 16:11:35.351 INFO (SyncWorker_5) [homeassistant.loader] Loaded version from homeassistant.components.version
2025-12-30 16:11:35.351 INFO (SyncWorker_5) [homeassistant.loader] Loaded irm_kmi from homeassistant.components.irm_kmi
2025-12-30 16:11:35.351 INFO (SyncWorker_5) [homeassistant.loader] Loaded waze_travel_time from homeassistant.components.waze_travel_time
2025-12-30 16:11:35.352 INFO (SyncWorker_5) [homeassistant.loader] Loaded workday from homeassistant.components.workday
2025-12-30 16:11:35.352 INFO (SyncWorker_5) [homeassistant.loader] Loaded rpi_power from homeassistant.components.rpi_power
2025-12-30 16:11:35.353 INFO (SyncWorker_5) [homeassistant.loader] Loaded google_travel_time from homeassistant.components.google_travel_time
2025-12-30 16:11:35.353 INFO (SyncWorker_5) [homeassistant.loader] Loaded cpuspeed from homeassistant.components.cpuspeed
2025-12-30 16:11:35.354 INFO (SyncWorker_5) [homeassistant.loader] Loaded cert_expiry from homeassistant.components.cert_expiry
2025-12-30 16:11:35.354 INFO (SyncWorker_5) [homeassistant.loader] Loaded energenie_power_sockets from homeassistant.components.energenie_power_sockets
2025-12-30 16:11:35.355 INFO (SyncWorker_5) [homeassistant.loader] Loaded filesize from homeassistant.components.filesize
2025-12-30 16:11:35.355 INFO (SyncWorker_5) [homeassistant.loader] Loaded filter from homeassistant.components.filter
2025-12-30 16:11:35.356 INFO (SyncWorker_5) [homeassistant.loader] Loaded uptime from homeassistant.components.uptime
2025-12-30 16:11:35.356 INFO (SyncWorker_5) [homeassistant.loader] Loaded vegehub from homeassistant.components.vegehub
2025-12-30 16:11:35.356 INFO (SyncWorker_5) [homeassistant.loader] Loaded tod from homeassistant.components.tod
2025-12-30 16:11:35.356 INFO (SyncWorker_5) [homeassistant.loader] Loaded nmap_tracker from homeassistant.components.nmap_tracker
2025-12-30 16:11:35.357 INFO (SyncWorker_5) [homeassistant.loader] Loaded local_todo from homeassistant.components.local_todo
2025-12-30 16:11:35.357 INFO (SyncWorker_5) [homeassistant.loader] Loaded nextbus from homeassistant.components.nextbus
2025-12-30 16:11:35.357 INFO (SyncWorker_5) [homeassistant.loader] Loaded demo from homeassistant.components.demo
2025-12-30 16:11:35.358 INFO (SyncWorker_5) [homeassistant.loader] Loaded remote_calendar from homeassistant.components.remote_calendar
2025-12-30 16:11:35.358 INFO (SyncWorker_5) [homeassistant.loader] Loaded random from homeassistant.components.random
2025-12-30 16:11:35.358 INFO (SyncWorker_5) [homeassistant.loader] Loaded min_max from homeassistant.components.min_max
2025-12-30 16:11:35.359 INFO (SyncWorker_5) [homeassistant.loader] Loaded aurora from homeassistant.components.aurora
2025-12-30 16:11:35.359 INFO (SyncWorker_5) [homeassistant.loader] Loaded derivative from homeassistant.components.derivative
2025-12-30 16:11:35.359 INFO (SyncWorker_5) [homeassistant.loader] Loaded growatt_server from homeassistant.components.growatt_server
2025-12-30 16:11:35.360 INFO (SyncWorker_5) [homeassistant.loader] Loaded statistics from homeassistant.components.statistics
2025-12-30 16:11:35.360 INFO (SyncWorker_5) [homeassistant.loader] Loaded time_date from homeassistant.components.time_date
2025-12-30 16:11:35.361 INFO (SyncWorker_5) [homeassistant.loader] Loaded mobile_app from homeassistant.components.mobile_app
2025-12-30 16:11:35.361 INFO (SyncWorker_5) [homeassistant.loader] Loaded local_calendar from homeassistant.components.local_calendar
2025-12-30 16:11:35.361 INFO (SyncWorker_5) [homeassistant.loader] Loaded emulated_roku from homeassistant.components.emulated_roku
2025-12-30 16:11:35.362 INFO (SyncWorker_5) [homeassistant.loader] Loaded generic_hygrostat from homeassistant.components.generic_hygrostat
2025-12-30 16:11:35.362 INFO (SyncWorker_5) [homeassistant.loader] Loaded history_stats from homeassistant.components.history_stats
2025-12-30 16:11:35.363 INFO (SyncWorker_5) [homeassistant.loader] Loaded mold_indicator from homeassistant.components.mold_indicator
2025-12-30 16:11:35.363 INFO (SyncWorker_5) [homeassistant.loader] Loaded holiday from homeassistant.components.holiday
2025-12-30 16:11:35.363 INFO (SyncWorker_5) [homeassistant.loader] Loaded generic_thermostat from homeassistant.components.generic_thermostat
2025-12-30 16:11:35.364 INFO (SyncWorker_5) [homeassistant.loader] Loaded moehlenhoff_alpha2 from homeassistant.components.moehlenhoff_alpha2
2025-12-30 16:11:35.365 INFO (SyncWorker_5) [homeassistant.loader] Loaded zodiac from homeassistant.components.zodiac
2025-12-30 16:11:35.365 INFO (SyncWorker_5) [homeassistant.loader] Loaded trend from homeassistant.components.trend
2025-12-30 16:11:35.366 INFO (SyncWorker_5) [homeassistant.loader] Loaded local_ip from homeassistant.components.local_ip
2025-12-30 16:11:35.366 INFO (SyncWorker_5) [homeassistant.loader] Loaded generic from homeassistant.components.generic
2025-12-30 16:11:35.367 INFO (SyncWorker_5) [homeassistant.loader] Loaded integration from homeassistant.components.integration
2025-12-30 16:11:35.367 INFO (SyncWorker_5) [homeassistant.loader] Loaded threshold from homeassistant.components.threshold
2025-12-30 16:11:35.367 INFO (SyncWorker_5) [homeassistant.loader] Loaded islamic_prayer_times from homeassistant.components.islamic_prayer_times
2025-12-30 16:11:35.368 INFO (SyncWorker_5) [homeassistant.loader] Loaded garages_amsterdam from homeassistant.components.garages_amsterdam
2025-12-30 16:11:41.933 INFO (SyncWorker_7) [homeassistant.loader] Loaded mqtt from homeassistant.components.mqtt
2025-12-30 16:12:24.529 INFO (MainThread) [homeassistant.setup] Setting up mqtt
2025-12-30 16:12:25.148 INFO (MainThread) [homeassistant.setup] Setting up binary_sensor
2025-12-30 16:12:25.148 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up mqtt.binary_sensor
2025-12-30 16:12:25.150 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new binary_sensor.mqtt entity: binary_sensor.zigbee2mqtt_bridge_connection_state
2025-12-30 16:12:25.151 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new binary_sensor.mqtt entity: binary_sensor.zigbee2mqtt_bridge_restart_required
2025-12-30 16:12:25.155 INFO (MainThread) [homeassistant.setup] Setting up button
2025-12-30 16:12:25.156 INFO (MainThread) [homeassistant.components.button] Setting up mqtt.button
2025-12-30 16:12:25.157 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.zigbee2mqtt_bridge_restart
2025-12-30 16:12:25.158 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.salle_a_manger_pan_canape_identify
2025-12-30 16:12:25.158 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.couloir_amp_cuisine_identify
2025-12-30 16:12:25.159 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.salle_a_manger_rang2_pan_centre_identify
2025-12-30 16:12:25.160 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.couloir_amp_sdb_identify
2025-12-30 16:12:25.161 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.salle_a_manger_rang1_amp_centre_identify
2025-12-30 16:12:25.162 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.couloir_amp_poele_identify
2025-12-30 16:12:25.163 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.salle_a_manger_rang1_amp_table_identify
2025-12-30 16:12:25.163 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.teleco_cuisine_id002_identify
2025-12-30 16:12:25.164 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.salle_a_manger_rang2_amp_table_identify
2025-12-30 16:12:25.167 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.cuisine_rang1_lamp_escaliers_identify
2025-12-30 16:12:25.168 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.salle_a_manger_rang2_amp_fauteuil_identify
2025-12-30 16:12:25.169 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.cuisine_rang1_lamp_centre_identify
2025-12-30 16:12:25.169 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.ch_jojo_bas_amp_basescalier_identify
2025-12-30 16:12:25.170 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.cuisine_rang1_lamp_evier_identify
2025-12-30 16:12:25.171 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.ch_jojo_bas_amp_clicclac_identify
2025-12-30 16:12:25.171 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.cuisine_rang2_lamp_escaliers_identify
2025-12-30 16:12:25.173 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.ch_jojo_escalier_amp_escaliercentre_identify
2025-12-30 16:12:25.173 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.cuisine_rang2_lamp_centre_identify
2025-12-30 16:12:25.174 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.ch_jojo_mezzanine_amp_tetedelit_identify
2025-12-30 16:12:25.175 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.cuisine_rang1_lamp_plaques_identify
2025-12-30 16:12:25.175 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.ch_jojo_bas_amp_portefenetre_identify
2025-12-30 16:12:25.176 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.cuisine_centre_lamp_table_identify
2025-12-30 16:12:25.177 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.ch_jojo_bas_amp_armoire_identify
2025-12-30 16:12:25.177 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.cuisine_centre_lamp_escaliers_identify
2025-12-30 16:12:25.178 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.ch_jojo_mezzanine_amp_bureau_identify
2025-12-30 16:12:25.179 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.cuisine_centre_lamp_four_identify
2025-12-30 16:12:25.180 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.ch_jojo_bas_amp_fenetre_identify
2025-12-30 16:12:25.181 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.teleco_couloir_id009_identify
2025-12-30 16:12:25.181 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.ch_jojo_bas_amp_porte_identify
2025-12-30 16:12:25.182 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.ch_jojo_mezzanine_amp_hautescalier_identify
2025-12-30 16:12:25.183 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.ch_jojo_mezzanine_amp_piedlit_identify
2025-12-30 16:12:25.184 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.teleco_ch_jojo_id008_identify
2025-12-30 16:12:25.185 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.teleco_bureau_dressing_id006_identify
2025-12-30 16:12:25.186 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.teleco_salle_a_manger_id005_identify
2025-12-30 16:12:25.187 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.teleco_ch_parents_id007_identify
2025-12-30 16:12:25.188 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.teleco_escaliers_bas_identify
2025-12-30 16:12:25.189 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.escaliers_strip_main_identify
2025-12-30 16:12:25.189 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.teleco_salon_id003_identify
2025-12-30 16:12:25.190 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.salon_strip_poutreescaliers_identify
2025-12-30 16:12:25.191 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.salon_amp_lampeparapluie1_identify
2025-12-30 16:12:25.192 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.salon_amp_lampeparapluie2_identify
2025-12-30 16:12:25.193 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.salon_amp_lampeparapluie3_identify
2025-12-30 16:12:25.194 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.teleco_bureau_dressing_id000_identify
2025-12-30 16:12:25.195 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.teleco_spare_id004_identify
2025-12-30 16:12:25.195 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.ch_parents_amp_chevetlolo_identify
2025-12-30 16:12:25.196 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.teleco_ch_parents_id001_identify
2025-12-30 16:12:25.197 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.ch_parents_amp_entree_identify
2025-12-30 16:12:25.198 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.ch_parents_pan_main_identify
2025-12-30 16:12:25.198 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.bureau_dressing_pc_main_identify
2025-12-30 16:12:25.199 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.bureau_dressing_pan_main_identify
2025-12-30 16:12:25.200 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.teleco_bureau_dressing_id009_identify
2025-12-30 16:12:25.200 WARNING (MainThread) [homeassistant.components.mqtt.entity] The configuration for entity button.warmachine_papa_asleep_screens uses the deprecated option `object_id` to set the default entity id. Replace the `"object_id": "WARMACHINE-PAPA_asleep_screens"` option with `"default_entity_id": "button.WARMACHINE-PAPA_asleep_screens"` in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
2025-12-30 16:12:25.200 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.warmachine_papa_asleep_screens
2025-12-30 16:12:25.201 WARNING (MainThread) [homeassistant.components.mqtt.entity] The configuration for entity button.warmachine_papa_awake_screens uses the deprecated option `object_id` to set the default entity id. Replace the `"object_id": "WARMACHINE-PAPA_awake_screens"` option with `"default_entity_id": "button.WARMACHINE-PAPA_awake_screens"` in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
2025-12-30 16:12:25.201 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.warmachine_papa_awake_screens
2025-12-30 16:12:25.202 WARNING (MainThread) [homeassistant.components.mqtt.entity] The configuration for entity button.warmachine_papa_veille_prolonge uses the deprecated option `object_id` to set the default entity id. Replace the `"object_id": "WARMACHINE-PAPA_veille_prolonge"` option with `"default_entity_id": "button.WARMACHINE-PAPA_veille_prolonge"` in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
2025-12-30 16:12:25.202 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.warmachine_papa_veille_prolonge
2025-12-30 16:12:25.202 WARNING (MainThread) [homeassistant.components.mqtt.entity] The configuration for entity button.warmachine_papa_play_pause uses the deprecated option `object_id` to set the default entity id. Replace the `"object_id": "WARMACHINE-PAPA_play_pause"` option with `"default_entity_id": "button.WARMACHINE-PAPA_play_pause"` in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
2025-12-30 16:12:25.202 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.warmachine_papa_play_pause
2025-12-30 16:12:25.203 WARNING (MainThread) [homeassistant.components.mqtt.entity] The configuration for entity button.warmachine_papa_volume_up uses the deprecated option `object_id` to set the default entity id. Replace the `"object_id": "WARMACHINE-PAPA_volume_up"` option with `"default_entity_id": "button.WARMACHINE-PAPA_volume_up"` in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
2025-12-30 16:12:25.203 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.warmachine_papa_volume_up
2025-12-30 16:12:25.204 WARNING (MainThread) [homeassistant.components.mqtt.entity] The configuration for entity button.warmachine_papa_volume_down uses the deprecated option `object_id` to set the default entity id. Replace the `"object_id": "WARMACHINE-PAPA_volume_down"` option with `"default_entity_id": "button.WARMACHINE-PAPA_volume_down"` in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
2025-12-30 16:12:25.204 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.warmachine_papa_volume_down
2025-12-30 16:12:25.205 WARNING (MainThread) [homeassistant.components.mqtt.entity] The configuration for entity button.warmachine_papa_touche_right uses the deprecated option `object_id` to set the default entity id. Replace the `"object_id": "WARMACHINE-PAPA_touche_right"` option with `"default_entity_id": "button.WARMACHINE-PAPA_touche_right"` in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
2025-12-30 16:12:25.205 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.warmachine_papa_touche_right
2025-12-30 16:12:25.205 WARNING (MainThread) [homeassistant.components.mqtt.entity] The configuration for entity button.warmachine_papa_touche_left uses the deprecated option `object_id` to set the default entity id. Replace the `"object_id": "WARMACHINE-PAPA_touche_left"` option with `"default_entity_id": "button.WARMACHINE-PAPA_touche_left"` in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
2025-12-30 16:12:25.205 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.warmachine_papa_touche_left
2025-12-30 16:12:25.206 WARNING (MainThread) [homeassistant.components.mqtt.entity] The configuration for entity button.warmachine_papa_touche_up uses the deprecated option `object_id` to set the default entity id. Replace the `"object_id": "WARMACHINE-PAPA_touche_up"` option with `"default_entity_id": "button.WARMACHINE-PAPA_touche_up"` in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
2025-12-30 16:12:25.206 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.warmachine_papa_touche_up
2025-12-30 16:12:25.207 WARNING (MainThread) [homeassistant.components.mqtt.entity] The configuration for entity button.warmachine_papa_touche_down uses the deprecated option `object_id` to set the default entity id. Replace the `"object_id": "WARMACHINE-PAPA_touche_down"` option with `"default_entity_id": "button.WARMACHINE-PAPA_touche_down"` in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
2025-12-30 16:12:25.207 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.warmachine_papa_touche_down
2025-12-30 16:12:25.207 WARNING (MainThread) [homeassistant.components.mqtt.entity] The configuration for entity button.warmachine_papa_alt_tab uses the deprecated option `object_id` to set the default entity id. Replace the `"object_id": "WARMACHINE-PAPA_alt_tab"` option with `"default_entity_id": "button.WARMACHINE-PAPA_alt_tab"` in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
2025-12-30 16:12:25.208 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.warmachine_papa_alt_tab
2025-12-30 16:12:25.208 WARNING (MainThread) [homeassistant.components.mqtt.entity] The configuration for entity button.warmachine_papa_mute uses the deprecated option `object_id` to set the default entity id. Replace the `"object_id": "WARMACHINE-PAPA_mute"` option with `"default_entity_id": "button.WARMACHINE-PAPA_mute"` in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
2025-12-30 16:12:25.208 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.warmachine_papa_mute
2025-12-30 16:12:25.209 WARNING (MainThread) [homeassistant.components.mqtt.entity] The configuration for entity button.warmachine_papa_veille uses the deprecated option `object_id` to set the default entity id. Replace the `"object_id": "WARMACHINE-PAPA_veille"` option with `"default_entity_id": "button.WARMACHINE-PAPA_veille"` in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
2025-12-30 16:12:25.209 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.warmachine_papa_veille
2025-12-30 16:12:25.210 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.couloir_amp_spotpoele_identify
2025-12-30 16:12:25.210 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.teleco_spot_poele_id010_identify
2025-12-30 16:12:25.211 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.teleco_ch_lea_escaliers_identify
2025-12-30 16:12:25.212 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.sdb_strip_miroir_identify
2025-12-30 16:12:25.213 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.teleco_sdb_id013_identify
2025-12-30 16:12:25.214 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new button.mqtt entity: button.sdb_amp_centre_identify
2025-12-30 16:12:25.432 INFO (MainThread) [homeassistant.setup] Setting up light
2025-12-30 16:12:25.434 INFO (MainThread) [homeassistant.components.light] Setting up mqtt.light
2025-12-30 16:12:25.436 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.couloir_amp_cuisine
2025-12-30 16:12:25.439 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.groups_salon_all
2025-12-30 16:12:25.440 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.couloir_amp_sdb
2025-12-30 16:12:25.441 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.ch_parents_amp_chevetlolo
2025-12-30 16:12:25.442 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.couloir_amp_poele
2025-12-30 16:12:25.444 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.ch_parents_amp_entree
2025-12-30 16:12:25.445 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.cuisine_rang1_lamp_escaliers
2025-12-30 16:12:25.446 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.ch_parents_pan_main
2025-12-30 16:12:25.447 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.cuisine_rang1_lamp_centre
2025-12-30 16:12:25.449 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.bureau_dressing_pan_main
2025-12-30 16:12:25.449 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.cuisine_rang1_lamp_evier
2025-12-30 16:12:25.450 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.groups_couloir_all
2025-12-30 16:12:25.451 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.cuisine_rang2_lamp_escaliers
2025-12-30 16:12:25.452 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.couloir_amp_spotpoele
2025-12-30 16:12:25.453 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.cuisine_rang2_lamp_centre
2025-12-30 16:12:25.454 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.sdb_strip_miroir
2025-12-30 16:12:25.455 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.cuisine_rang1_lamp_plaques
2025-12-30 16:12:25.456 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.sdb_amp_centre
2025-12-30 16:12:25.457 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.cuisine_centre_lamp_table
2025-12-30 16:12:25.458 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.cuisine_centre_lamp_escaliers
2025-12-30 16:12:25.459 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.cuisine_centre_lamp_four
2025-12-30 16:12:25.460 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.groups_cuisine_all
2025-12-30 16:12:25.461 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.salle_a_manger_pan_canape
2025-12-30 16:12:25.463 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.salle_a_manger_rang2_pan_centre
2025-12-30 16:12:25.464 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.salle_a_manger_rang1_amp_centre
2025-12-30 16:12:25.465 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.salle_a_manger_rang1_amp_table
2025-12-30 16:12:25.465 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.salle_a_manger_rang2_amp_table
2025-12-30 16:12:25.466 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.salle_a_manger_rang2_amp_fauteuil
2025-12-30 16:12:25.467 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.ch_jojo_bas_amp_basescalier
2025-12-30 16:12:25.468 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.ch_jojo_bas_amp_clicclac
2025-12-30 16:12:25.469 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.ch_jojo_escalier_amp_escaliercentre
2025-12-30 16:12:25.470 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.ch_jojo_mezzanine_amp_tetedelit
2025-12-30 16:12:25.470 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.ch_jojo_bas_amp_portefenetre
2025-12-30 16:12:25.471 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.ch_jojo_bas_amp_armoire
2025-12-30 16:12:25.473 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.ch_jojo_mezzanine_amp_bureau
2025-12-30 16:12:25.475 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.ch_jojo_bas_amp_fenetre
2025-12-30 16:12:25.476 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.ch_jojo_bas_amp_porte
2025-12-30 16:12:25.477 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.ch_jojo_mezzanine_amp_hautescalier
2025-12-30 16:12:25.478 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.ch_jojo_mezzanine_amp_piedlit
2025-12-30 16:12:25.479 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.groups_ch_jojo_all
2025-12-30 16:12:25.481 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.groups_ch_jojo_mezzanine
2025-12-30 16:12:25.482 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.groups_ch_jojo_bas
2025-12-30 16:12:25.483 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.groups_ch_jojo_escalier
2025-12-30 16:12:25.484 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.groups_bureau_dressing_all
2025-12-30 16:12:25.486 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.groups_salle_a_manger_all
2025-12-30 16:12:25.487 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.escaliers_strip_main
2025-12-30 16:12:25.488 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.groups_escaliers_all
2025-12-30 16:12:25.489 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.salon_strip_poutreescaliers
2025-12-30 16:12:25.491 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.salon_amp_lampeparapluie1
2025-12-30 16:12:25.491 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.salon_amp_lampeparapluie2
2025-12-30 16:12:25.492 INFO (MainThread) [homeassistant.components.scene] Setting up mqtt.scene
2025-12-30 16:12:25.492 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new light.mqtt entity: light.salon_amp_lampeparapluie3
2025-12-30 16:12:25.494 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new scene.mqtt entity: scene.groups_bureau_dressing_all_0_full_froid
2025-12-30 16:12:25.496 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new scene.mqtt entity: scene.groups_bureau_dressing_all_1_full_chaud
2025-12-30 16:12:25.497 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new scene.mqtt entity: scene.groups_bureau_dressing_all_2_full_neutral
2025-12-30 16:12:25.498 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new scene.mqtt entity: scene.groups_ch_jojo_all_0_full_froid
2025-12-30 16:12:25.500 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new scene.mqtt entity: scene.groups_ch_jojo_all_1_full_chaud
2025-12-30 16:12:25.502 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new scene.mqtt entity: scene.groups_ch_jojo_all_2_full_neutral
2025-12-30 16:12:25.503 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new scene.mqtt entity: scene.groups_ch_jojo_all_3_mezzanine
2025-12-30 16:12:25.503 INFO (MainThread) [homeassistant.setup] Setting up select
2025-12-30 16:12:25.504 INFO (MainThread) [homeassistant.components.select] Setting up mqtt.select
2025-12-30 16:12:25.505 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new scene.mqtt entity: scene.groups_ch_jojo_all_4_bureau
2025-12-30 16:12:25.506 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new scene.mqtt entity: scene.groups_ch_jojo_all_5_bas
2025-12-30 16:12:25.507 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.salle_a_manger_pan_canape_effect
2025-12-30 16:12:25.508 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.salle_a_manger_rang2_amp_table_power_on_behavior
2025-12-30 16:12:25.509 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new scene.mqtt entity: scene.groups_ch_jojo_all_6_escalier
2025-12-30 16:12:25.510 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.salle_a_manger_pan_canape_power_on_behavior
2025-12-30 16:12:25.510 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.salle_a_manger_rang2_amp_fauteuil_effect
2025-12-30 16:12:25.511 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new scene.mqtt entity: scene.groups_salle_a_manger_all_0_full_chaud
2025-12-30 16:12:25.512 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.salle_a_manger_rang2_pan_centre_effect
2025-12-30 16:12:25.514 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.salle_a_manger_rang2_amp_fauteuil_power_on_behavior
2025-12-30 16:12:25.514 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new scene.mqtt entity: scene.groups_salle_a_manger_all_1_full_froid
2025-12-30 16:12:25.515 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.salle_a_manger_rang2_pan_centre_power_on_behavior
2025-12-30 16:12:25.516 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_jojo_bas_amp_basescalier_effect
2025-12-30 16:12:25.516 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.salle_a_manger_rang1_amp_centre_effect
2025-12-30 16:12:25.517 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_jojo_bas_amp_basescalier_power_on_behavior
2025-12-30 16:12:25.517 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.salle_a_manger_rang1_amp_centre_power_on_behavior
2025-12-30 16:12:25.518 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_jojo_bas_amp_clicclac_effect
2025-12-30 16:12:25.519 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.salle_a_manger_rang1_amp_table_effect
2025-12-30 16:12:25.520 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_jojo_bas_amp_clicclac_power_on_behavior
2025-12-30 16:12:25.520 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.salle_a_manger_rang1_amp_table_power_on_behavior
2025-12-30 16:12:25.521 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_jojo_escalier_amp_escaliercentre_effect
2025-12-30 16:12:25.521 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.salle_a_manger_rang2_amp_table_effect
2025-12-30 16:12:25.522 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_jojo_escalier_amp_escaliercentre_power_on_behavior
2025-12-30 16:12:25.523 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_jojo_mezzanine_amp_tetedelit_effect
2025-12-30 16:12:25.524 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_jojo_mezzanine_amp_tetedelit_power_on_behavior
2025-12-30 16:12:25.525 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_jojo_bas_amp_portefenetre_effect
2025-12-30 16:12:25.525 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_jojo_bas_amp_portefenetre_power_on_behavior
2025-12-30 16:12:25.526 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_jojo_bas_amp_armoire_effect
2025-12-30 16:12:25.527 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_jojo_bas_amp_armoire_power_on_behavior
2025-12-30 16:12:25.528 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_jojo_mezzanine_amp_bureau_effect
2025-12-30 16:12:25.529 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_jojo_mezzanine_amp_bureau_power_on_behavior
2025-12-30 16:12:25.529 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_jojo_bas_amp_fenetre_effect
2025-12-30 16:12:25.530 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_jojo_bas_amp_fenetre_power_on_behavior
2025-12-30 16:12:25.531 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_jojo_bas_amp_porte_effect
2025-12-30 16:12:25.532 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_jojo_bas_amp_porte_power_on_behavior
2025-12-30 16:12:25.533 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_jojo_mezzanine_amp_hautescalier_effect
2025-12-30 16:12:25.533 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_jojo_mezzanine_amp_hautescalier_power_on_behavior
2025-12-30 16:12:25.534 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_jojo_mezzanine_amp_piedlit_effect
2025-12-30 16:12:25.535 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_jojo_mezzanine_amp_piedlit_power_on_behavior
2025-12-30 16:12:25.536 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.escaliers_strip_main_effect
2025-12-30 16:12:25.537 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.escaliers_strip_main_power_on_behavior
2025-12-30 16:12:25.538 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.salon_strip_poutreescaliers_effect
2025-12-30 16:12:25.538 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.salon_strip_poutreescaliers_power_on_behavior
2025-12-30 16:12:25.540 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.salon_amp_lampeparapluie1_effect
2025-12-30 16:12:25.540 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.salon_amp_lampeparapluie1_power_on_behavior
2025-12-30 16:12:25.541 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.salon_amp_lampeparapluie2_effect
2025-12-30 16:12:25.542 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.salon_amp_lampeparapluie2_power_on_behavior
2025-12-30 16:12:25.542 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.salon_amp_lampeparapluie3_effect
2025-12-30 16:12:25.544 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.salon_amp_lampeparapluie3_power_on_behavior
2025-12-30 16:12:25.545 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.zigbee2mqtt_bridge_log_level
2025-12-30 16:12:25.546 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.couloir_amp_cuisine_effect
2025-12-30 16:12:25.547 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.couloir_amp_cuisine_power_on_behavior
2025-12-30 16:12:25.548 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.couloir_amp_poele_effect
2025-12-30 16:12:25.549 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.couloir_amp_poele_power_on_behavior
2025-12-30 16:12:25.549 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.couloir_amp_sdb_effect
2025-12-30 16:12:25.550 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.couloir_amp_sdb_power_on_behavior
2025-12-30 16:12:25.551 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.cuisine_centre_lamp_escaliers_effect
2025-12-30 16:12:25.552 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.cuisine_centre_lamp_escaliers_power_on_behavior
2025-12-30 16:12:25.553 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.cuisine_rang2_lamp_escaliers_effect
2025-12-30 16:12:25.553 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.cuisine_rang2_lamp_escaliers_power_on_behavior
2025-12-30 16:12:25.554 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.cuisine_rang1_lamp_plaques_effect
2025-12-30 16:12:25.555 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.cuisine_rang1_lamp_plaques_power_on_behavior
2025-12-30 16:12:25.555 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.cuisine_rang2_lamp_centre_effect
2025-12-30 16:12:25.556 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.cuisine_rang2_lamp_centre_power_on_behavior
2025-12-30 16:12:25.557 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.cuisine_centre_lamp_four_effect
2025-12-30 16:12:25.558 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.cuisine_centre_lamp_four_power_on_behavior
2025-12-30 16:12:25.558 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.cuisine_centre_lamp_table_effect
2025-12-30 16:12:25.559 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.cuisine_centre_lamp_table_power_on_behavior
2025-12-30 16:12:25.560 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.cuisine_rang1_lamp_evier_effect
2025-12-30 16:12:25.561 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.cuisine_rang1_lamp_evier_power_on_behavior
2025-12-30 16:12:25.562 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.cuisine_rang1_lamp_centre_effect
2025-12-30 16:12:25.563 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.cuisine_rang1_lamp_centre_power_on_behavior
2025-12-30 16:12:25.564 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.cuisine_rang1_lamp_escaliers_effect
2025-12-30 16:12:25.565 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.cuisine_rang1_lamp_escaliers_power_on_behavior
2025-12-30 16:12:25.565 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_parents_amp_chevetlolo_effect
2025-12-30 16:12:25.566 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_parents_amp_chevetlolo_power_on_behavior
2025-12-30 16:12:25.567 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_parents_amp_entree_effect
2025-12-30 16:12:25.568 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_parents_amp_entree_power_on_behavior
2025-12-30 16:12:25.569 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_parents_pan_main_effect
2025-12-30 16:12:25.570 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.ch_parents_pan_main_power_on_behavior
2025-12-30 16:12:25.571 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.bureau_dressing_pc_main_power_on_behavior
2025-12-30 16:12:25.572 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.bureau_dressing_pan_main_effect
2025-12-30 16:12:25.573 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.bureau_dressing_pan_main_power_on_behavior
2025-12-30 16:12:25.574 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.couloir_amp_spotpoele_effect
2025-12-30 16:12:25.574 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.couloir_amp_spotpoele_power_on_behavior
2025-12-30 16:12:25.575 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.sdb_strip_miroir_effect
2025-12-30 16:12:25.576 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.sdb_strip_miroir_power_on_behavior
2025-12-30 16:12:25.577 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.sdb_amp_centre_effect
2025-12-30 16:12:25.577 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new select.mqtt entity: select.sdb_amp_centre_power_on_behavior
2025-12-30 16:12:25.583 INFO (MainThread) [homeassistant.components.sensor] Setting up mqtt.sensor
2025-12-30 16:12:25.584 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.zigbee2mqtt_bridge_version
2025-12-30 16:12:25.586 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.couloir_amp_poele_linkquality
2025-12-30 16:12:25.587 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.zigbee2mqtt_bridge_coordinator_version
2025-12-30 16:12:25.588 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_cuisine_id002_battery
2025-12-30 16:12:25.591 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.zigbee2mqtt_bridge_network_map
2025-12-30 16:12:25.592 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_cuisine_id002_linkquality
2025-12-30 16:12:25.594 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.couloir_amp_cuisine_color_options
2025-12-30 16:12:25.595 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.cuisine_rang1_lamp_escaliers_color_options
2025-12-30 16:12:25.595 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.couloir_amp_cuisine_linkquality
2025-12-30 16:12:25.596 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.cuisine_rang1_lamp_escaliers_linkquality
2025-12-30 16:12:25.596 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.couloir_amp_sdb_color_options
2025-12-30 16:12:25.597 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.cuisine_rang1_lamp_centre_color_options
2025-12-30 16:12:25.598 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.couloir_amp_sdb_linkquality
2025-12-30 16:12:25.598 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.cuisine_rang1_lamp_centre_linkquality
2025-12-30 16:12:25.599 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.couloir_amp_poele_color_options
2025-12-30 16:12:25.600 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.cuisine_rang1_lamp_evier_color_options
2025-12-30 16:12:25.601 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.cuisine_rang1_lamp_evier_linkquality
2025-12-30 16:12:25.602 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.cuisine_rang2_lamp_escaliers_color_options
2025-12-30 16:12:25.603 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.cuisine_rang2_lamp_escaliers_linkquality
2025-12-30 16:12:25.604 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.cuisine_rang2_lamp_centre_color_options
2025-12-30 16:12:25.605 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.cuisine_rang2_lamp_centre_linkquality
2025-12-30 16:12:25.605 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.cuisine_rang1_lamp_plaques_color_options
2025-12-30 16:12:25.606 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.cuisine_rang1_lamp_plaques_linkquality
2025-12-30 16:12:25.607 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.cuisine_centre_lamp_table_color_options
2025-12-30 16:12:25.608 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.cuisine_centre_lamp_table_linkquality
2025-12-30 16:12:25.609 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.cuisine_centre_lamp_escaliers_color_options
2025-12-30 16:12:25.610 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.cuisine_centre_lamp_escaliers_linkquality
2025-12-30 16:12:25.610 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.cuisine_centre_lamp_four_color_options
2025-12-30 16:12:25.611 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.cuisine_centre_lamp_four_linkquality
2025-12-30 16:12:25.612 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_couloir_id009_battery
2025-12-30 16:12:25.614 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_couloir_id009_linkquality
2025-12-30 16:12:25.614 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.salle_a_manger_pan_canape_color_options
2025-12-30 16:12:25.615 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.salle_a_manger_pan_canape_linkquality
2025-12-30 16:12:25.616 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.salle_a_manger_rang2_pan_centre_color_options
2025-12-30 16:12:25.617 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.salle_a_manger_rang2_pan_centre_linkquality
2025-12-30 16:12:25.618 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.salle_a_manger_rang1_amp_centre_color_options
2025-12-30 16:12:25.619 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.salle_a_manger_rang1_amp_centre_linkquality
2025-12-30 16:12:25.619 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.salle_a_manger_rang1_amp_table_color_options
2025-12-30 16:12:25.620 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.salle_a_manger_rang1_amp_table_linkquality
2025-12-30 16:12:25.622 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.salle_a_manger_rang2_amp_table_color_options
2025-12-30 16:12:25.623 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.salle_a_manger_rang2_amp_table_linkquality
2025-12-30 16:12:25.624 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.salle_a_manger_rang2_amp_fauteuil_color_options
2025-12-30 16:12:25.625 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.salle_a_manger_rang2_amp_fauteuil_linkquality
2025-12-30 16:12:25.626 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_jojo_bas_amp_basescalier_color_options
2025-12-30 16:12:25.627 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_jojo_bas_amp_basescalier_linkquality
2025-12-30 16:12:25.628 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_jojo_bas_amp_clicclac_color_options
2025-12-30 16:12:25.628 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_jojo_bas_amp_clicclac_linkquality
2025-12-30 16:12:25.629 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_jojo_escalier_amp_escaliercentre_color_options
2025-12-30 16:12:25.630 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_jojo_escalier_amp_escaliercentre_linkquality
2025-12-30 16:12:25.631 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_jojo_mezzanine_amp_tetedelit_color_options
2025-12-30 16:12:25.632 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_jojo_mezzanine_amp_tetedelit_linkquality
2025-12-30 16:12:25.632 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_jojo_bas_amp_portefenetre_color_options
2025-12-30 16:12:25.633 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_jojo_bas_amp_portefenetre_linkquality
2025-12-30 16:12:25.634 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_jojo_bas_amp_armoire_color_options
2025-12-30 16:12:25.635 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_jojo_bas_amp_armoire_linkquality
2025-12-30 16:12:25.635 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_jojo_mezzanine_amp_bureau_color_options
2025-12-30 16:12:25.636 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_jojo_mezzanine_amp_bureau_linkquality
2025-12-30 16:12:25.637 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_jojo_bas_amp_fenetre_color_options
2025-12-30 16:12:25.638 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_jojo_bas_amp_fenetre_linkquality
2025-12-30 16:12:25.639 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_jojo_bas_amp_porte_color_options
2025-12-30 16:12:25.640 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_jojo_bas_amp_porte_linkquality
2025-12-30 16:12:25.641 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_jojo_mezzanine_amp_hautescalier_color_options
2025-12-30 16:12:25.642 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_jojo_mezzanine_amp_hautescalier_linkquality
2025-12-30 16:12:25.643 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_jojo_mezzanine_amp_piedlit_color_options
2025-12-30 16:12:25.644 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_jojo_mezzanine_amp_piedlit_linkquality
2025-12-30 16:12:25.644 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_ch_jojo_id008_battery
2025-12-30 16:12:25.645 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_ch_jojo_id008_linkquality
2025-12-30 16:12:25.646 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_bureau_dressing_id006_battery
2025-12-30 16:12:25.647 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_bureau_dressing_id006_linkquality
2025-12-30 16:12:25.648 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_salle_a_manger_id005_battery
2025-12-30 16:12:25.649 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_salle_a_manger_id005_linkquality
2025-12-30 16:12:25.650 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_ch_parents_id007_battery
2025-12-30 16:12:25.651 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_ch_parents_id007_linkquality
2025-12-30 16:12:25.652 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_escaliers_bas_battery
2025-12-30 16:12:25.653 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_escaliers_bas_linkquality
2025-12-30 16:12:25.654 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.escaliers_strip_main_color_options
2025-12-30 16:12:25.655 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.escaliers_strip_main_linkquality
2025-12-30 16:12:25.656 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_salon_id003_battery
2025-12-30 16:12:25.657 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_salon_id003_linkquality
2025-12-30 16:12:25.657 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.salon_strip_poutreescaliers_color_options
2025-12-30 16:12:25.658 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.salon_strip_poutreescaliers_linkquality
2025-12-30 16:12:25.659 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.salon_amp_lampeparapluie1_color_options
2025-12-30 16:12:25.660 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.salon_amp_lampeparapluie1_linkquality
2025-12-30 16:12:25.660 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.salon_amp_lampeparapluie2_color_options
2025-12-30 16:12:25.661 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.salon_amp_lampeparapluie2_linkquality
2025-12-30 16:12:25.662 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.salon_amp_lampeparapluie3_color_options
2025-12-30 16:12:25.663 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.salon_amp_lampeparapluie3_linkquality
2025-12-30 16:12:25.664 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_bureau_dressing_id000_battery
2025-12-30 16:12:25.665 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_bureau_dressing_id000_linkquality
2025-12-30 16:12:25.666 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_spare_id004_battery
2025-12-30 16:12:25.667 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_spare_id004_linkquality
2025-12-30 16:12:25.667 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_parents_amp_chevetlolo_color_options
2025-12-30 16:12:25.669 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_parents_amp_chevetlolo_linkquality
2025-12-30 16:12:25.670 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_ch_parents_id001_battery
2025-12-30 16:12:25.671 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_ch_parents_id001_linkquality
2025-12-30 16:12:25.672 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_parents_amp_entree_color_options
2025-12-30 16:12:25.672 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_parents_amp_entree_linkquality
2025-12-30 16:12:25.674 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_parents_pan_main_color_options
2025-12-30 16:12:25.675 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.ch_parents_pan_main_linkquality
2025-12-30 16:12:25.676 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.bureau_dressing_pc_main_linkquality
2025-12-30 16:12:25.677 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.bureau_dressing_pan_main_color_options
2025-12-30 16:12:25.678 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.bureau_dressing_pan_main_linkquality
2025-12-30 16:12:25.679 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_bureau_dressing_id009_battery
2025-12-30 16:12:25.680 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_bureau_dressing_id009_voltage
2025-12-30 16:12:25.682 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_bureau_dressing_id009_linkquality
2025-12-30 16:12:25.682 WARNING (MainThread) [homeassistant.components.mqtt.entity] The configuration for entity sensor.warmachine_papa_chargecpu uses the deprecated option `object_id` to set the default entity id. Replace the `"object_id": "WARMACHINE-PAPA_chargecpu"` option with `"default_entity_id": "sensor.WARMACHINE-PAPA_chargecpu"` in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
2025-12-30 16:12:25.683 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.warmachine_papa_chargecpu
2025-12-30 16:12:25.683 WARNING (MainThread) [homeassistant.components.mqtt.entity] The configuration for entity sensor.warmachine_papa_chargegpu uses the deprecated option `object_id` to set the default entity id. Replace the `"object_id": "WARMACHINE-PAPA_chargegpu"` option with `"default_entity_id": "sensor.WARMACHINE-PAPA_chargegpu"` in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
2025-12-30 16:12:25.684 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.warmachine_papa_chargegpu
2025-12-30 16:12:25.685 WARNING (MainThread) [homeassistant.components.mqtt.entity] The configuration for entity sensor.warmachine_papa_temp_gpu uses the deprecated option `object_id` to set the default entity id. Replace the `"object_id": "WARMACHINE-PAPA_temp_gpu"` option with `"default_entity_id": "sensor.WARMACHINE-PAPA_temp_gpu"` in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
2025-12-30 16:12:25.685 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.warmachine_papa_temp_gpu
2025-12-30 16:12:25.686 WARNING (MainThread) [homeassistant.components.mqtt.entity] The configuration for entity sensor.warmachine_papa_screen_state uses the deprecated option `object_id` to set the default entity id. Replace the `"object_id": "WARMACHINE-PAPA_screen_state"` option with `"default_entity_id": "sensor.WARMACHINE-PAPA_screen_state"` in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
2025-12-30 16:12:25.686 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.warmachine_papa_screen_state
2025-12-30 16:12:25.687 WARNING (MainThread) [homeassistant.components.mqtt.entity] The configuration for entity sensor.warmachine_papa_batterie_charge_status uses the deprecated option `object_id` to set the default entity id. Replace the `"object_id": "WARMACHINE-PAPA_batterie_charge_status"` option with `"default_entity_id": "sensor.WARMACHINE-PAPA_batterie_charge_status"` in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
2025-12-30 16:12:25.687 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.warmachine_papa_batterie_charge_status
2025-12-30 16:12:25.688 WARNING (MainThread) [homeassistant.components.mqtt.entity] The configuration for entity sensor.warmachine_papa_batterie_full_charge_lifetime uses the deprecated option `object_id` to set the default entity id. Replace the `"object_id": "WARMACHINE-PAPA_batterie_full_charge_lifetime"` option with `"default_entity_id": "sensor.WARMACHINE-PAPA_batterie_full_charge_lifetime"` in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
2025-12-30 16:12:25.688 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.warmachine_papa_batterie_full_charge_lifetime
2025-12-30 16:12:25.689 WARNING (MainThread) [homeassistant.components.mqtt.entity] The configuration for entity sensor.warmachine_papa_batterie_charge_remaining_percentage uses the deprecated option `object_id` to set the default entity id. Replace the `"object_id": "WARMACHINE-PAPA_batterie_charge_remaining_percentage"` option with `"default_entity_id": "sensor.WARMACHINE-PAPA_batterie_charge_remaining_percentage"` in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
2025-12-30 16:12:25.689 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.warmachine_papa_batterie_charge_remaining_percentage
2025-12-30 16:12:25.690 WARNING (MainThread) [homeassistant.components.mqtt.entity] The configuration for entity sensor.warmachine_papa_batterie_charge_remaining uses the deprecated option `object_id` to set the default entity id. Replace the `"object_id": "WARMACHINE-PAPA_batterie_charge_remaining"` option with `"default_entity_id": "sensor.WARMACHINE-PAPA_batterie_charge_remaining"` in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
2025-12-30 16:12:25.690 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.warmachine_papa_batterie_charge_remaining
2025-12-30 16:12:25.691 WARNING (MainThread) [homeassistant.components.mqtt.entity] The configuration for entity sensor.warmachine_papa_batterie_powerline_status uses the deprecated option `object_id` to set the default entity id. Replace the `"object_id": "WARMACHINE-PAPA_batterie_powerline_status"` option with `"default_entity_id": "sensor.WARMACHINE-PAPA_batterie_powerline_status"` in your published discovery configuration to fix this issue, or contact the maintainer of the integration that published this config to fix this. This will stop working in Home Assistant Core 2026.4
2025-12-30 16:12:25.691 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.warmachine_papa_batterie_powerline_status
2025-12-30 16:12:25.692 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.couloir_amp_spotpoele_color_options
2025-12-30 16:12:25.694 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.couloir_amp_spotpoele_linkquality
2025-12-30 16:12:25.695 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_spot_poele_id010_battery
2025-12-30 16:12:25.697 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_spot_poele_id010_linkquality
2025-12-30 16:12:25.698 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_ch_lea_escaliers_battery
2025-12-30 16:12:25.699 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_ch_lea_escaliers_linkquality
2025-12-30 16:12:25.700 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.sdb_strip_miroir_color_options
2025-12-30 16:12:25.702 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.sdb_strip_miroir_linkquality
2025-12-30 16:12:25.703 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_sdb_id013_battery
2025-12-30 16:12:25.704 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.teleco_sdb_id013_linkquality
2025-12-30 16:12:25.704 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.mqtt entity: sensor.sdb_amp_centre_linkquality
2025-12-30 16:12:25.708 INFO (MainThread) [homeassistant.setup] Setting up switch
2025-12-30 16:12:25.708 INFO (MainThread) [homeassistant.components.switch] Setting up mqtt.switch
2025-12-30 16:12:25.710 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new switch.mqtt entity: switch.zigbee2mqtt_bridge_permit_join
2025-12-30 16:12:25.711 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new switch.mqtt entity: switch.bureau_dressing_pc_main
2025-12-30 16:12:25.718 INFO (MainThread) [homeassistant.setup] Setting up update
2025-12-30 16:12:25.719 INFO (MainThread) [homeassistant.components.update] Setting up mqtt.update
2025-12-30 16:12:25.722 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.couloir_amp_cuisine
2025-12-30 16:12:25.723 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.cuisine_centre_lamp_table
2025-12-30 16:12:25.724 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.couloir_amp_sdb
2025-12-30 16:12:25.725 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.cuisine_centre_lamp_escaliers
2025-12-30 16:12:25.726 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.couloir_amp_poele
2025-12-30 16:12:25.727 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.cuisine_centre_lamp_four
2025-12-30 16:12:25.728 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.teleco_cuisine_id002
2025-12-30 16:12:25.729 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.teleco_couloir_id009
2025-12-30 16:12:25.730 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.cuisine_rang1_lamp_escaliers
2025-12-30 16:12:25.731 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.salle_a_manger_pan_canape
2025-12-30 16:12:25.732 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.cuisine_rang1_lamp_centre
2025-12-30 16:12:25.733 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.salle_a_manger_rang2_pan_centre
2025-12-30 16:12:25.734 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.cuisine_rang1_lamp_evier
2025-12-30 16:12:25.734 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.salle_a_manger_rang1_amp_centre
2025-12-30 16:12:25.735 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.cuisine_rang2_lamp_escaliers
2025-12-30 16:12:25.736 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.salle_a_manger_rang1_amp_table
2025-12-30 16:12:25.737 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.cuisine_rang2_lamp_centre
2025-12-30 16:12:25.738 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.salle_a_manger_rang2_amp_table
2025-12-30 16:12:25.739 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.cuisine_rang1_lamp_plaques
2025-12-30 16:12:25.740 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.salle_a_manger_rang2_amp_fauteuil
2025-12-30 16:12:25.741 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.ch_jojo_bas_amp_basescalier
2025-12-30 16:12:25.742 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.ch_jojo_bas_amp_clicclac
2025-12-30 16:12:25.743 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.ch_jojo_escalier_amp_escaliercentre
2025-12-30 16:12:25.744 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.ch_jojo_mezzanine_amp_tetedelit
2025-12-30 16:12:25.745 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.ch_jojo_bas_amp_portefenetre
2025-12-30 16:12:25.746 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.ch_jojo_bas_amp_armoire
2025-12-30 16:12:25.747 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.ch_jojo_mezzanine_amp_bureau
2025-12-30 16:12:25.748 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.ch_jojo_bas_amp_fenetre
2025-12-30 16:12:25.749 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.ch_jojo_bas_amp_porte
2025-12-30 16:12:25.750 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.ch_jojo_mezzanine_amp_hautescalier
2025-12-30 16:12:25.751 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.ch_jojo_mezzanine_amp_piedlit
2025-12-30 16:12:25.752 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.teleco_ch_jojo_id008
2025-12-30 16:12:25.753 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.teleco_bureau_dressing_id006
2025-12-30 16:12:25.754 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.teleco_salle_a_manger_id005
2025-12-30 16:12:25.755 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.teleco_ch_parents_id007
2025-12-30 16:12:25.756 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.teleco_escaliers_bas
2025-12-30 16:12:25.758 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.escaliers_strip_main
2025-12-30 16:12:25.759 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.teleco_salon_id003
2025-12-30 16:12:25.760 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.salon_strip_poutreescaliers
2025-12-30 16:12:25.761 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.salon_amp_lampeparapluie1
2025-12-30 16:12:25.762 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.salon_amp_lampeparapluie2
2025-12-30 16:12:25.763 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.salon_amp_lampeparapluie3
2025-12-30 16:12:25.764 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.teleco_bureau_dressing_id000
2025-12-30 16:12:25.765 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.teleco_spare_id004
2025-12-30 16:12:25.766 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.ch_parents_amp_chevetlolo
2025-12-30 16:12:25.767 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.teleco_ch_parents_id001
2025-12-30 16:12:25.768 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.ch_parents_amp_entree
2025-12-30 16:12:25.769 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.ch_parents_pan_main
2025-12-30 16:12:25.770 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.bureau_dressing_pc_main
2025-12-30 16:12:25.771 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.bureau_dressing_pan_main
2025-12-30 16:12:25.772 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.teleco_bureau_dressing_id009
2025-12-30 16:12:25.773 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.couloir_amp_spotpoele
2025-12-30 16:12:25.774 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.teleco_spot_poele_id010
2025-12-30 16:12:25.775 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.teleco_ch_lea_escaliers
2025-12-30 16:12:25.776 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.sdb_strip_miroir
2025-12-30 16:12:25.777 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.teleco_sdb_id013
2025-12-30 16:12:25.778 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new update.mqtt entity: update.sdb_amp_centre
2025-12-30 16:12:25.800 WARNING (Thread-1 (_monitor)) [homeassistant.util.logging] Module homeassistant.helpers.entity_registry is logging too frequently. 200 messages since last count
2025-12-30 16:12:31.281 INFO (MainThread) [homeassistant.components.mqtt.client] MQTT client initialized, birth message sent
2025-12-30 16:39:42.111 INFO (MainThread) [homeassistant.components.websocket_api.http.connection] [140616584446176] Received unknown command: recorder/info
2025-12-30 16:42:07.718 INFO (MainThread) [homeassistant.components.websocket_api.http.connection] [140616631401696] Received unknown command: recorder/info
2025-12-30 16:51:43.934 INFO (MainThread) [homeassistant.components.websocket_api.http.connection] [140616582687584] Received unknown command: recorder/info
2025-12-30 16:53:35.110 INFO (MainThread) [homeassistant.components.websocket_api.http.connection] [140616582687904] Received unknown command: recorder/info
2025-12-30 16:56:21.316 INFO (MainThread) [homeassistant.components.websocket_api.http.connection] [140616582692224] Received unknown command: recorder/info
2025-12-30 16:57:33.222 INFO (MainThread) [homeassistant.components.websocket_api.http.connection] [140616582692224] Received unknown command: recorder/info
2025-12-30 16:59:04.289 INFO (MainThread) [homeassistant.components.websocket_api.http.connection] [140616582691424] Received unknown command: recorder/info
2025-12-30 17:06:38.353 INFO (MainThread) [homeassistant.components.websocket_api.http.connection] [140616584461216] Received unknown command: recorder/info
Whitespace-only changes.
+694
View File
@@ -0,0 +1,694 @@
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __decorateClass = (decorators, target, key, kind) => {
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
for (var i5 = decorators.length - 1, decorator; i5 >= 0; i5--)
if (decorator = decorators[i5])
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
if (kind && result) __defProp(target, key, result);
return result;
};
// node_modules/@lit/reactive-element/css-tag.js
var t = globalThis;
var e = t.ShadowRoot && (void 0 === t.ShadyCSS || t.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype;
var s = /* @__PURE__ */ Symbol();
var o = /* @__PURE__ */ new WeakMap();
var n = class {
constructor(t4, e5, o6) {
if (this._$cssResult$ = true, o6 !== s) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
this.cssText = t4, this.t = e5;
}
get styleSheet() {
let t4 = this.o;
const s4 = this.t;
if (e && void 0 === t4) {
const e5 = void 0 !== s4 && 1 === s4.length;
e5 && (t4 = o.get(s4)), void 0 === t4 && ((this.o = t4 = new CSSStyleSheet()).replaceSync(this.cssText), e5 && o.set(s4, t4));
}
return t4;
}
toString() {
return this.cssText;
}
};
var r = (t4) => new n("string" == typeof t4 ? t4 : t4 + "", void 0, s);
var i = (t4, ...e5) => {
const o6 = 1 === t4.length ? t4[0] : e5.reduce((e6, s4, o7) => e6 + ((t5) => {
if (true === t5._$cssResult$) return t5.cssText;
if ("number" == typeof t5) return t5;
throw Error("Value passed to 'css' function must be a 'css' function result: " + t5 + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.");
})(s4) + t4[o7 + 1], t4[0]);
return new n(o6, t4, s);
};
var S = (s4, o6) => {
if (e) s4.adoptedStyleSheets = o6.map((t4) => t4 instanceof CSSStyleSheet ? t4 : t4.styleSheet);
else for (const e5 of o6) {
const o7 = document.createElement("style"), n5 = t.litNonce;
void 0 !== n5 && o7.setAttribute("nonce", n5), o7.textContent = e5.cssText, s4.appendChild(o7);
}
};
var c = e ? (t4) => t4 : (t4) => t4 instanceof CSSStyleSheet ? ((t5) => {
let e5 = "";
for (const s4 of t5.cssRules) e5 += s4.cssText;
return r(e5);
})(t4) : t4;
// node_modules/@lit/reactive-element/reactive-element.js
var { is: i2, defineProperty: e2, getOwnPropertyDescriptor: h, getOwnPropertyNames: r2, getOwnPropertySymbols: o2, getPrototypeOf: n2 } = Object;
var a = globalThis;
var c2 = a.trustedTypes;
var l = c2 ? c2.emptyScript : "";
var p = a.reactiveElementPolyfillSupport;
var d = (t4, s4) => t4;
var u = { toAttribute(t4, s4) {
switch (s4) {
case Boolean:
t4 = t4 ? l : null;
break;
case Object:
case Array:
t4 = null == t4 ? t4 : JSON.stringify(t4);
}
return t4;
}, fromAttribute(t4, s4) {
let i5 = t4;
switch (s4) {
case Boolean:
i5 = null !== t4;
break;
case Number:
i5 = null === t4 ? null : Number(t4);
break;
case Object:
case Array:
try {
i5 = JSON.parse(t4);
} catch (t5) {
i5 = null;
}
}
return i5;
} };
var f = (t4, s4) => !i2(t4, s4);
var b = { attribute: true, type: String, converter: u, reflect: false, useDefault: false, hasChanged: f };
Symbol.metadata ??= /* @__PURE__ */ Symbol("metadata"), a.litPropertyMetadata ??= /* @__PURE__ */ new WeakMap();
var y = class extends HTMLElement {
static addInitializer(t4) {
this._$Ei(), (this.l ??= []).push(t4);
}
static get observedAttributes() {
return this.finalize(), this._$Eh && [...this._$Eh.keys()];
}
static createProperty(t4, s4 = b) {
if (s4.state && (s4.attribute = false), this._$Ei(), this.prototype.hasOwnProperty(t4) && ((s4 = Object.create(s4)).wrapped = true), this.elementProperties.set(t4, s4), !s4.noAccessor) {
const i5 = /* @__PURE__ */ Symbol(), h3 = this.getPropertyDescriptor(t4, i5, s4);
void 0 !== h3 && e2(this.prototype, t4, h3);
}
}
static getPropertyDescriptor(t4, s4, i5) {
const { get: e5, set: r5 } = h(this.prototype, t4) ?? { get() {
return this[s4];
}, set(t5) {
this[s4] = t5;
} };
return { get: e5, set(s5) {
const h3 = e5?.call(this);
r5?.call(this, s5), this.requestUpdate(t4, h3, i5);
}, configurable: true, enumerable: true };
}
static getPropertyOptions(t4) {
return this.elementProperties.get(t4) ?? b;
}
static _$Ei() {
if (this.hasOwnProperty(d("elementProperties"))) return;
const t4 = n2(this);
t4.finalize(), void 0 !== t4.l && (this.l = [...t4.l]), this.elementProperties = new Map(t4.elementProperties);
}
static finalize() {
if (this.hasOwnProperty(d("finalized"))) return;
if (this.finalized = true, this._$Ei(), this.hasOwnProperty(d("properties"))) {
const t5 = this.properties, s4 = [...r2(t5), ...o2(t5)];
for (const i5 of s4) this.createProperty(i5, t5[i5]);
}
const t4 = this[Symbol.metadata];
if (null !== t4) {
const s4 = litPropertyMetadata.get(t4);
if (void 0 !== s4) for (const [t5, i5] of s4) this.elementProperties.set(t5, i5);
}
this._$Eh = /* @__PURE__ */ new Map();
for (const [t5, s4] of this.elementProperties) {
const i5 = this._$Eu(t5, s4);
void 0 !== i5 && this._$Eh.set(i5, t5);
}
this.elementStyles = this.finalizeStyles(this.styles);
}
static finalizeStyles(s4) {
const i5 = [];
if (Array.isArray(s4)) {
const e5 = new Set(s4.flat(1 / 0).reverse());
for (const s5 of e5) i5.unshift(c(s5));
} else void 0 !== s4 && i5.push(c(s4));
return i5;
}
static _$Eu(t4, s4) {
const i5 = s4.attribute;
return false === i5 ? void 0 : "string" == typeof i5 ? i5 : "string" == typeof t4 ? t4.toLowerCase() : void 0;
}
constructor() {
super(), this._$Ep = void 0, this.isUpdatePending = false, this.hasUpdated = false, this._$Em = null, this._$Ev();
}
_$Ev() {
this._$ES = new Promise((t4) => this.enableUpdating = t4), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), this.constructor.l?.forEach((t4) => t4(this));
}
addController(t4) {
(this._$EO ??= /* @__PURE__ */ new Set()).add(t4), void 0 !== this.renderRoot && this.isConnected && t4.hostConnected?.();
}
removeController(t4) {
this._$EO?.delete(t4);
}
_$E_() {
const t4 = /* @__PURE__ */ new Map(), s4 = this.constructor.elementProperties;
for (const i5 of s4.keys()) this.hasOwnProperty(i5) && (t4.set(i5, this[i5]), delete this[i5]);
t4.size > 0 && (this._$Ep = t4);
}
createRenderRoot() {
const t4 = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
return S(t4, this.constructor.elementStyles), t4;
}
connectedCallback() {
this.renderRoot ??= this.createRenderRoot(), this.enableUpdating(true), this._$EO?.forEach((t4) => t4.hostConnected?.());
}
enableUpdating(t4) {
}
disconnectedCallback() {
this._$EO?.forEach((t4) => t4.hostDisconnected?.());
}
attributeChangedCallback(t4, s4, i5) {
this._$AK(t4, i5);
}
_$ET(t4, s4) {
const i5 = this.constructor.elementProperties.get(t4), e5 = this.constructor._$Eu(t4, i5);
if (void 0 !== e5 && true === i5.reflect) {
const h3 = (void 0 !== i5.converter?.toAttribute ? i5.converter : u).toAttribute(s4, i5.type);
this._$Em = t4, null == h3 ? this.removeAttribute(e5) : this.setAttribute(e5, h3), this._$Em = null;
}
}
_$AK(t4, s4) {
const i5 = this.constructor, e5 = i5._$Eh.get(t4);
if (void 0 !== e5 && this._$Em !== e5) {
const t5 = i5.getPropertyOptions(e5), h3 = "function" == typeof t5.converter ? { fromAttribute: t5.converter } : void 0 !== t5.converter?.fromAttribute ? t5.converter : u;
this._$Em = e5;
const r5 = h3.fromAttribute(s4, t5.type);
this[e5] = r5 ?? this._$Ej?.get(e5) ?? r5, this._$Em = null;
}
}
requestUpdate(t4, s4, i5, e5 = false, h3) {
if (void 0 !== t4) {
const r5 = this.constructor;
if (false === e5 && (h3 = this[t4]), i5 ??= r5.getPropertyOptions(t4), !((i5.hasChanged ?? f)(h3, s4) || i5.useDefault && i5.reflect && h3 === this._$Ej?.get(t4) && !this.hasAttribute(r5._$Eu(t4, i5)))) return;
this.C(t4, s4, i5);
}
false === this.isUpdatePending && (this._$ES = this._$EP());
}
C(t4, s4, { useDefault: i5, reflect: e5, wrapped: h3 }, r5) {
i5 && !(this._$Ej ??= /* @__PURE__ */ new Map()).has(t4) && (this._$Ej.set(t4, r5 ?? s4 ?? this[t4]), true !== h3 || void 0 !== r5) || (this._$AL.has(t4) || (this.hasUpdated || i5 || (s4 = void 0), this._$AL.set(t4, s4)), true === e5 && this._$Em !== t4 && (this._$Eq ??= /* @__PURE__ */ new Set()).add(t4));
}
async _$EP() {
this.isUpdatePending = true;
try {
await this._$ES;
} catch (t5) {
Promise.reject(t5);
}
const t4 = this.scheduleUpdate();
return null != t4 && await t4, !this.isUpdatePending;
}
scheduleUpdate() {
return this.performUpdate();
}
performUpdate() {
if (!this.isUpdatePending) return;
if (!this.hasUpdated) {
if (this.renderRoot ??= this.createRenderRoot(), this._$Ep) {
for (const [t6, s5] of this._$Ep) this[t6] = s5;
this._$Ep = void 0;
}
const t5 = this.constructor.elementProperties;
if (t5.size > 0) for (const [s5, i5] of t5) {
const { wrapped: t6 } = i5, e5 = this[s5];
true !== t6 || this._$AL.has(s5) || void 0 === e5 || this.C(s5, void 0, i5, e5);
}
}
let t4 = false;
const s4 = this._$AL;
try {
t4 = this.shouldUpdate(s4), t4 ? (this.willUpdate(s4), this._$EO?.forEach((t5) => t5.hostUpdate?.()), this.update(s4)) : this._$EM();
} catch (s5) {
throw t4 = false, this._$EM(), s5;
}
t4 && this._$AE(s4);
}
willUpdate(t4) {
}
_$AE(t4) {
this._$EO?.forEach((t5) => t5.hostUpdated?.()), this.hasUpdated || (this.hasUpdated = true, this.firstUpdated(t4)), this.updated(t4);
}
_$EM() {
this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = false;
}
get updateComplete() {
return this.getUpdateComplete();
}
getUpdateComplete() {
return this._$ES;
}
shouldUpdate(t4) {
return true;
}
update(t4) {
this._$Eq &&= this._$Eq.forEach((t5) => this._$ET(t5, this[t5])), this._$EM();
}
updated(t4) {
}
firstUpdated(t4) {
}
};
y.elementStyles = [], y.shadowRootOptions = { mode: "open" }, y[d("elementProperties")] = /* @__PURE__ */ new Map(), y[d("finalized")] = /* @__PURE__ */ new Map(), p?.({ ReactiveElement: y }), (a.reactiveElementVersions ??= []).push("2.1.2");
// node_modules/lit-html/lit-html.js
var t2 = globalThis;
var i3 = (t4) => t4;
var s2 = t2.trustedTypes;
var e3 = s2 ? s2.createPolicy("lit-html", { createHTML: (t4) => t4 }) : void 0;
var h2 = "$lit$";
var o3 = `lit$${Math.random().toFixed(9).slice(2)}$`;
var n3 = "?" + o3;
var r3 = `<${n3}>`;
var l2 = document;
var c3 = () => l2.createComment("");
var a2 = (t4) => null === t4 || "object" != typeof t4 && "function" != typeof t4;
var u2 = Array.isArray;
var d2 = (t4) => u2(t4) || "function" == typeof t4?.[Symbol.iterator];
var f2 = "[ \n\f\r]";
var v = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g;
var _ = /-->/g;
var m = />/g;
var p2 = RegExp(`>|${f2}(?:([^\\s"'>=/]+)(${f2}*=${f2}*(?:[^
\f\r"'\`<>=]|("|')|))|$)`, "g");
var g = /'/g;
var $ = /"/g;
var y2 = /^(?:script|style|textarea|title)$/i;
var x = (t4) => (i5, ...s4) => ({ _$litType$: t4, strings: i5, values: s4 });
var b2 = x(1);
var w = x(2);
var T = x(3);
var E = /* @__PURE__ */ Symbol.for("lit-noChange");
var A = /* @__PURE__ */ Symbol.for("lit-nothing");
var C = /* @__PURE__ */ new WeakMap();
var P = l2.createTreeWalker(l2, 129);
function V(t4, i5) {
if (!u2(t4) || !t4.hasOwnProperty("raw")) throw Error("invalid template strings array");
return void 0 !== e3 ? e3.createHTML(i5) : i5;
}
var N = (t4, i5) => {
const s4 = t4.length - 1, e5 = [];
let n5, l3 = 2 === i5 ? "<svg>" : 3 === i5 ? "<math>" : "", c4 = v;
for (let i6 = 0; i6 < s4; i6++) {
const s5 = t4[i6];
let a3, u3, d3 = -1, f3 = 0;
for (; f3 < s5.length && (c4.lastIndex = f3, u3 = c4.exec(s5), null !== u3); ) f3 = c4.lastIndex, c4 === v ? "!--" === u3[1] ? c4 = _ : void 0 !== u3[1] ? c4 = m : void 0 !== u3[2] ? (y2.test(u3[2]) && (n5 = RegExp("</" + u3[2], "g")), c4 = p2) : void 0 !== u3[3] && (c4 = p2) : c4 === p2 ? ">" === u3[0] ? (c4 = n5 ?? v, d3 = -1) : void 0 === u3[1] ? d3 = -2 : (d3 = c4.lastIndex - u3[2].length, a3 = u3[1], c4 = void 0 === u3[3] ? p2 : '"' === u3[3] ? $ : g) : c4 === $ || c4 === g ? c4 = p2 : c4 === _ || c4 === m ? c4 = v : (c4 = p2, n5 = void 0);
const x2 = c4 === p2 && t4[i6 + 1].startsWith("/>") ? " " : "";
l3 += c4 === v ? s5 + r3 : d3 >= 0 ? (e5.push(a3), s5.slice(0, d3) + h2 + s5.slice(d3) + o3 + x2) : s5 + o3 + (-2 === d3 ? i6 : x2);
}
return [V(t4, l3 + (t4[s4] || "<?>") + (2 === i5 ? "</svg>" : 3 === i5 ? "</math>" : "")), e5];
};
var S2 = class _S {
constructor({ strings: t4, _$litType$: i5 }, e5) {
let r5;
this.parts = [];
let l3 = 0, a3 = 0;
const u3 = t4.length - 1, d3 = this.parts, [f3, v2] = N(t4, i5);
if (this.el = _S.createElement(f3, e5), P.currentNode = this.el.content, 2 === i5 || 3 === i5) {
const t5 = this.el.content.firstChild;
t5.replaceWith(...t5.childNodes);
}
for (; null !== (r5 = P.nextNode()) && d3.length < u3; ) {
if (1 === r5.nodeType) {
if (r5.hasAttributes()) for (const t5 of r5.getAttributeNames()) if (t5.endsWith(h2)) {
const i6 = v2[a3++], s4 = r5.getAttribute(t5).split(o3), e6 = /([.?@])?(.*)/.exec(i6);
d3.push({ type: 1, index: l3, name: e6[2], strings: s4, ctor: "." === e6[1] ? I : "?" === e6[1] ? L : "@" === e6[1] ? z : H }), r5.removeAttribute(t5);
} else t5.startsWith(o3) && (d3.push({ type: 6, index: l3 }), r5.removeAttribute(t5));
if (y2.test(r5.tagName)) {
const t5 = r5.textContent.split(o3), i6 = t5.length - 1;
if (i6 > 0) {
r5.textContent = s2 ? s2.emptyScript : "";
for (let s4 = 0; s4 < i6; s4++) r5.append(t5[s4], c3()), P.nextNode(), d3.push({ type: 2, index: ++l3 });
r5.append(t5[i6], c3());
}
}
} else if (8 === r5.nodeType) if (r5.data === n3) d3.push({ type: 2, index: l3 });
else {
let t5 = -1;
for (; -1 !== (t5 = r5.data.indexOf(o3, t5 + 1)); ) d3.push({ type: 7, index: l3 }), t5 += o3.length - 1;
}
l3++;
}
}
static createElement(t4, i5) {
const s4 = l2.createElement("template");
return s4.innerHTML = t4, s4;
}
};
function M(t4, i5, s4 = t4, e5) {
if (i5 === E) return i5;
let h3 = void 0 !== e5 ? s4._$Co?.[e5] : s4._$Cl;
const o6 = a2(i5) ? void 0 : i5._$litDirective$;
return h3?.constructor !== o6 && (h3?._$AO?.(false), void 0 === o6 ? h3 = void 0 : (h3 = new o6(t4), h3._$AT(t4, s4, e5)), void 0 !== e5 ? (s4._$Co ??= [])[e5] = h3 : s4._$Cl = h3), void 0 !== h3 && (i5 = M(t4, h3._$AS(t4, i5.values), h3, e5)), i5;
}
var R = class {
constructor(t4, i5) {
this._$AV = [], this._$AN = void 0, this._$AD = t4, this._$AM = i5;
}
get parentNode() {
return this._$AM.parentNode;
}
get _$AU() {
return this._$AM._$AU;
}
u(t4) {
const { el: { content: i5 }, parts: s4 } = this._$AD, e5 = (t4?.creationScope ?? l2).importNode(i5, true);
P.currentNode = e5;
let h3 = P.nextNode(), o6 = 0, n5 = 0, r5 = s4[0];
for (; void 0 !== r5; ) {
if (o6 === r5.index) {
let i6;
2 === r5.type ? i6 = new k(h3, h3.nextSibling, this, t4) : 1 === r5.type ? i6 = new r5.ctor(h3, r5.name, r5.strings, this, t4) : 6 === r5.type && (i6 = new Z(h3, this, t4)), this._$AV.push(i6), r5 = s4[++n5];
}
o6 !== r5?.index && (h3 = P.nextNode(), o6++);
}
return P.currentNode = l2, e5;
}
p(t4) {
let i5 = 0;
for (const s4 of this._$AV) void 0 !== s4 && (void 0 !== s4.strings ? (s4._$AI(t4, s4, i5), i5 += s4.strings.length - 2) : s4._$AI(t4[i5])), i5++;
}
};
var k = class _k {
get _$AU() {
return this._$AM?._$AU ?? this._$Cv;
}
constructor(t4, i5, s4, e5) {
this.type = 2, this._$AH = A, this._$AN = void 0, this._$AA = t4, this._$AB = i5, this._$AM = s4, this.options = e5, this._$Cv = e5?.isConnected ?? true;
}
get parentNode() {
let t4 = this._$AA.parentNode;
const i5 = this._$AM;
return void 0 !== i5 && 11 === t4?.nodeType && (t4 = i5.parentNode), t4;
}
get startNode() {
return this._$AA;
}
get endNode() {
return this._$AB;
}
_$AI(t4, i5 = this) {
t4 = M(this, t4, i5), a2(t4) ? t4 === A || null == t4 || "" === t4 ? (this._$AH !== A && this._$AR(), this._$AH = A) : t4 !== this._$AH && t4 !== E && this._(t4) : void 0 !== t4._$litType$ ? this.$(t4) : void 0 !== t4.nodeType ? this.T(t4) : d2(t4) ? this.k(t4) : this._(t4);
}
O(t4) {
return this._$AA.parentNode.insertBefore(t4, this._$AB);
}
T(t4) {
this._$AH !== t4 && (this._$AR(), this._$AH = this.O(t4));
}
_(t4) {
this._$AH !== A && a2(this._$AH) ? this._$AA.nextSibling.data = t4 : this.T(l2.createTextNode(t4)), this._$AH = t4;
}
$(t4) {
const { values: i5, _$litType$: s4 } = t4, e5 = "number" == typeof s4 ? this._$AC(t4) : (void 0 === s4.el && (s4.el = S2.createElement(V(s4.h, s4.h[0]), this.options)), s4);
if (this._$AH?._$AD === e5) this._$AH.p(i5);
else {
const t5 = new R(e5, this), s5 = t5.u(this.options);
t5.p(i5), this.T(s5), this._$AH = t5;
}
}
_$AC(t4) {
let i5 = C.get(t4.strings);
return void 0 === i5 && C.set(t4.strings, i5 = new S2(t4)), i5;
}
k(t4) {
u2(this._$AH) || (this._$AH = [], this._$AR());
const i5 = this._$AH;
let s4, e5 = 0;
for (const h3 of t4) e5 === i5.length ? i5.push(s4 = new _k(this.O(c3()), this.O(c3()), this, this.options)) : s4 = i5[e5], s4._$AI(h3), e5++;
e5 < i5.length && (this._$AR(s4 && s4._$AB.nextSibling, e5), i5.length = e5);
}
_$AR(t4 = this._$AA.nextSibling, s4) {
for (this._$AP?.(false, true, s4); t4 !== this._$AB; ) {
const s5 = i3(t4).nextSibling;
i3(t4).remove(), t4 = s5;
}
}
setConnected(t4) {
void 0 === this._$AM && (this._$Cv = t4, this._$AP?.(t4));
}
};
var H = class {
get tagName() {
return this.element.tagName;
}
get _$AU() {
return this._$AM._$AU;
}
constructor(t4, i5, s4, e5, h3) {
this.type = 1, this._$AH = A, this._$AN = void 0, this.element = t4, this.name = i5, this._$AM = e5, this.options = h3, s4.length > 2 || "" !== s4[0] || "" !== s4[1] ? (this._$AH = Array(s4.length - 1).fill(new String()), this.strings = s4) : this._$AH = A;
}
_$AI(t4, i5 = this, s4, e5) {
const h3 = this.strings;
let o6 = false;
if (void 0 === h3) t4 = M(this, t4, i5, 0), o6 = !a2(t4) || t4 !== this._$AH && t4 !== E, o6 && (this._$AH = t4);
else {
const e6 = t4;
let n5, r5;
for (t4 = h3[0], n5 = 0; n5 < h3.length - 1; n5++) r5 = M(this, e6[s4 + n5], i5, n5), r5 === E && (r5 = this._$AH[n5]), o6 ||= !a2(r5) || r5 !== this._$AH[n5], r5 === A ? t4 = A : t4 !== A && (t4 += (r5 ?? "") + h3[n5 + 1]), this._$AH[n5] = r5;
}
o6 && !e5 && this.j(t4);
}
j(t4) {
t4 === A ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t4 ?? "");
}
};
var I = class extends H {
constructor() {
super(...arguments), this.type = 3;
}
j(t4) {
this.element[this.name] = t4 === A ? void 0 : t4;
}
};
var L = class extends H {
constructor() {
super(...arguments), this.type = 4;
}
j(t4) {
this.element.toggleAttribute(this.name, !!t4 && t4 !== A);
}
};
var z = class extends H {
constructor(t4, i5, s4, e5, h3) {
super(t4, i5, s4, e5, h3), this.type = 5;
}
_$AI(t4, i5 = this) {
if ((t4 = M(this, t4, i5, 0) ?? A) === E) return;
const s4 = this._$AH, e5 = t4 === A && s4 !== A || t4.capture !== s4.capture || t4.once !== s4.once || t4.passive !== s4.passive, h3 = t4 !== A && (s4 === A || e5);
e5 && this.element.removeEventListener(this.name, this, s4), h3 && this.element.addEventListener(this.name, this, t4), this._$AH = t4;
}
handleEvent(t4) {
"function" == typeof this._$AH ? this._$AH.call(this.options?.host ?? this.element, t4) : this._$AH.handleEvent(t4);
}
};
var Z = class {
constructor(t4, i5, s4) {
this.element = t4, this.type = 6, this._$AN = void 0, this._$AM = i5, this.options = s4;
}
get _$AU() {
return this._$AM._$AU;
}
_$AI(t4) {
M(this, t4);
}
};
var B = t2.litHtmlPolyfillSupport;
B?.(S2, k), (t2.litHtmlVersions ??= []).push("3.3.2");
var D = (t4, i5, s4) => {
const e5 = s4?.renderBefore ?? i5;
let h3 = e5._$litPart$;
if (void 0 === h3) {
const t5 = s4?.renderBefore ?? null;
e5._$litPart$ = h3 = new k(i5.insertBefore(c3(), t5), t5, void 0, s4 ?? {});
}
return h3._$AI(t4), h3;
};
// node_modules/lit-element/lit-element.js
var s3 = globalThis;
var i4 = class extends y {
constructor() {
super(...arguments), this.renderOptions = { host: this }, this._$Do = void 0;
}
createRenderRoot() {
const t4 = super.createRenderRoot();
return this.renderOptions.renderBefore ??= t4.firstChild, t4;
}
update(t4) {
const r5 = this.render();
this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t4), this._$Do = D(r5, this.renderRoot, this.renderOptions);
}
connectedCallback() {
super.connectedCallback(), this._$Do?.setConnected(true);
}
disconnectedCallback() {
super.disconnectedCallback(), this._$Do?.setConnected(false);
}
render() {
return E;
}
};
i4._$litElement$ = true, i4["finalized"] = true, s3.litElementHydrateSupport?.({ LitElement: i4 });
var o4 = s3.litElementPolyfillSupport;
o4?.({ LitElement: i4 });
(s3.litElementVersions ??= []).push("4.2.2");
// node_modules/@lit/reactive-element/decorators/custom-element.js
var t3 = (t4) => (e5, o6) => {
void 0 !== o6 ? o6.addInitializer(() => {
customElements.define(t4, e5);
}) : customElements.define(t4, e5);
};
// node_modules/@lit/reactive-element/decorators/property.js
var o5 = { attribute: true, type: String, converter: u, reflect: false, hasChanged: f };
var r4 = (t4 = o5, e5, r5) => {
const { kind: n5, metadata: i5 } = r5;
let s4 = globalThis.litPropertyMetadata.get(i5);
if (void 0 === s4 && globalThis.litPropertyMetadata.set(i5, s4 = /* @__PURE__ */ new Map()), "setter" === n5 && ((t4 = Object.create(t4)).wrapped = true), s4.set(r5.name, t4), "accessor" === n5) {
const { name: o6 } = r5;
return { set(r6) {
const n6 = e5.get.call(this);
e5.set.call(this, r6), this.requestUpdate(o6, n6, t4, true, r6);
}, init(e6) {
return void 0 !== e6 && this.C(o6, void 0, t4, e6), e6;
} };
}
if ("setter" === n5) {
const { name: o6 } = r5;
return function(r6) {
const n6 = this[o6];
e5.call(this, r6), this.requestUpdate(o6, n6, t4, true, r6);
};
}
throw Error("Unsupported decorator location: " + n5);
};
function n4(t4) {
return (e5, o6) => "object" == typeof o6 ? r4(t4, e5, o6) : ((t5, e6, o7) => {
const r5 = e6.hasOwnProperty(o7);
return e6.constructor.createProperty(o7, t5), r5 ? Object.getOwnPropertyDescriptor(e6, o7) : void 0;
})(t4, e5, o6);
}
// src/light-preset-manager.ts
var LightPresetManager = class extends i4 {
setConfig(config) {
this.config = config;
}
render() {
return b2`
<ha-card>
<div class="card">
<h1>🎉 Hello World!</h1>
<p>Light Preset Manager fonctionne.</p>
<p>Config: ${JSON.stringify(this.config)}</p>
</div>
</ha-card>
`;
}
getCardSize() {
return 3;
}
};
LightPresetManager.styles = i`
:host {
display: block;
padding: 16px;
}
.card {
background: var(--ha-card-background, #fff);
border-radius: 8px;
padding: 16px;
box-shadow: var(--ha-card-box-shadow, 0 2px 4px rgba(0, 0, 0, 0.1));
}
h1 {
margin: 0;
color: var(--primary-text-color);
}
`;
__decorateClass([
n4({ attribute: false })
], LightPresetManager.prototype, "hass", 2);
__decorateClass([
n4({ attribute: false })
], LightPresetManager.prototype, "config", 2);
LightPresetManager = __decorateClass([
t3("light-preset-manager")
], LightPresetManager);
window.customCards = window.customCards || [];
window.customCards.push({
type: "light-preset-manager",
name: "Light Preset Manager",
description: "Panel de contr\xF4le lumi\xE8re avec presets"
});
console.log("Light Preset Manager loaded!");
export {
LightPresetManager
};
/*! Bundled license information:
@lit/reactive-element/css-tag.js:
(**
* @license
* Copyright 2019 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*)
@lit/reactive-element/reactive-element.js:
lit-html/lit-html.js:
lit-element/lit-element.js:
@lit/reactive-element/decorators/custom-element.js:
@lit/reactive-element/decorators/property.js:
@lit/reactive-element/decorators/state.js:
@lit/reactive-element/decorators/event-options.js:
@lit/reactive-element/decorators/base.js:
@lit/reactive-element/decorators/query.js:
@lit/reactive-element/decorators/query-all.js:
@lit/reactive-element/decorators/query-async.js:
@lit/reactive-element/decorators/query-assigned-nodes.js:
(**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*)
lit-html/is-server.js:
(**
* @license
* Copyright 2022 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*)
@lit/reactive-element/decorators/query-assigned-elements.js:
(**
* @license
* Copyright 2021 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*)
*/