add kittchen bulbs

This commit is contained in:
Ranlvor 2022-01-18 16:02:08 +01:00
parent eab431f13b
commit f2f5e3441b
Signed by untrusted user who does not match committer: Ranlvor
GPG key ID: 5E12D04750EF6F8E

View file

@ -20,36 +20,40 @@ const topicBulbHomeRust = (bulb: string, argument: string) => ({
} }
}); });
const topicBulbState = (bulb: string) => ({ const topicZigbeeState = (topic: string, bulb: string) => ({
[`${bulb}State`]: { [`${topic}State`]: {
state: { state: {
name: `zigbee2mqtt/bulb_${bulb}/state`, name: `zigbee2mqtt/${bulb}/state`,
type: types.option({ type: types.option({
OFF: "off", OFF: "off",
ON: "on" ON: "on"
}) })
}, },
command: { command: {
name: `zigbee2mqtt/bulb_${bulb}/set/state`, name: `zigbee2mqtt/${bulb}/set/state`,
type: types.string type: types.string
}, },
defaultValue: "OFF" defaultValue: "OFF"
} }
}); });
const topicBulbState = (bulb: string) => topicZigbeeState(bulb, `bulb_${bulb}`);
const topicGroupState = (bulb: string) => topicZigbeeState(bulb, `group_${bulb}`);
const topicBulbNumber = (bulb: string, parameter: string) => ({ const topicZigbeeNumber = (topic: string, bulb: string, parameter: string) => ({
[`${bulb}${parameter}`]: { [`${topic}${parameter}`]: {
state: { state: {
name: `zigbee2mqtt/bulb_${bulb}/${parameter}`, name: `zigbee2mqtt/${bulb}/${parameter}`,
type: types.string type: types.string
}, },
command: { command: {
name: `zigbee2mqtt/bulb_${bulb}/set/${parameter}`, name: `zigbee2mqtt/${bulb}/set/${parameter}`,
type: types.string type: types.string
}, },
defaultValue: "0" defaultValue: "0"
} }
}); });
const topicBulbNumber = (bulb: string, parameter: string) => topicZigbeeNumber(bulb, `bulb_${bulb}`, parameter);
const topicGroupNumber = (bulb: string, parameter: string) => topicZigbeeNumber(bulb, `group_${bulb}`, parameter);
const topicHomeBoolean = (name: string, topic: string, const topicHomeBoolean = (name: string, topic: string,
defaultValue: boolean = false) => ({ defaultValue: boolean = false) => ({
@ -278,6 +282,10 @@ const config: Config = {
...topicBulbNumber("bedroom", "color_temp"), ...topicBulbNumber("bedroom", "color_temp"),
...topicBulbState("bedroom"), ...topicBulbState("bedroom"),
...topicGroupNumber("kitchen", "brightness"),
...topicGroupNumber("kitchen", "color_temp"),
...topicGroupState("kitchen"),
...topicBulbNumber("office_window", "brightness"), ...topicBulbNumber("office_window", "brightness"),
...topicBulbNumber("office_window", "color_temp"), ...topicBulbNumber("office_window", "color_temp"),
...topicBulbState("office_window"), ...topicBulbState("office_window"),
@ -960,6 +968,36 @@ const config: Config = {
} }
] ]
}, },
kitchenLight: {
name: "Küche",
position: [550, 570],
icon: svg(icons.mdiCeilingLight).color(({kitchenState}) =>
(kitchenState === "on" ? hex("#00FF00") : hex("#000000"))),
ui: [
{
type: "toggle",
topic: "kitchenState",
text: "Ein/Ausschalten",
icon: svg(icons.mdiPower)
},
{
type: "slider",
min: 0,
max: 255,
text: "Helligkeit",
icon: svg(icons.mdiBrightness7),
topic: "kitchenbrightness"
},
{
type: "slider",
min: 250,
max: 454,
text: "Farbtemperatur",
icon: svg(icons.mdiWeatherSunsetDown),
topic: "kitchencolor_temp"
}
]
},
diningroomHeater: { diningroomHeater: {
name: "Heizung Esszimmer", name: "Heizung Esszimmer",
position: [410, 658], position: [410, 658],