RZL: Simplify config a bit by using template for tasmota topics

This commit is contained in:
Ranlvor 2018-08-04 15:50:14 +02:00
parent 8feb40a30b
commit 032056b2e3
Signed by untrusted user who does not match committer: Ranlvor
GPG key ID: 5E12D04750EF6F8E
2 changed files with 21 additions and 34 deletions

View file

@ -3,7 +3,7 @@ import type { Config } from "config/flowtypes";
import * as types from "config/types"; import * as types from "config/types";
import { hex, rgb, rgba, rainbow } from "config/colors"; import { hex, rgb, rgba, rainbow } from "config/colors";
import { mdi, rawMdi, mdiBattery } from "config/icon"; import { mdi, rawMdi, mdiBattery } from "config/icon";
import { esper_topics, esper_statistics, floalt, tradfri_remote } from "./utils"; import { esper_topics, esper_statistics, floalt, tradfri_remote, tasmota } from "./utils";
import * as onkyo from "./onkyo"; import * as onkyo from "./onkyo";
@ -26,17 +26,6 @@ const config: Config = {
}, },
defaultValue: "off" defaultValue: "off"
}, },
snackbar: {
state: {
name: "stat/sonoff6/POWER",
type: types.option({ ON: "on", OFF: "off" })
},
command: {
name: "cmnd/sonoff6/power",
type: types.option({ on: "ON", off: "OFF" })
},
defaultValue: "off"
},
twinkle: { twinkle: {
state: { state: {
name: "/service/openhab/out/pca301_twinkle/state", name: "/service/openhab/out/pca301_twinkle/state",
@ -81,17 +70,6 @@ const config: Config = {
}, },
defaultValue: "off" defaultValue: "off"
}, },
olymp_printer: {
state: {
name: "stat/sonoff2/POWER",
type: types.option({ ON: "on", OFF: "off" })
},
command: {
name: "cmnd/sonoff2/power",
type: types.option({ on: "ON", off: "OFF" })
},
defaultValue: "off"
},
flyfry: { flyfry: {
state: { state: {
name: "/service/openhab/out/wifi_flyfry/state", name: "/service/openhab/out/wifi_flyfry/state",
@ -149,17 +127,6 @@ const config: Config = {
}, },
defaultValue: "" defaultValue: ""
}, },
infoscreen: {
state: {
name: "stat/sonoff7/POWER",
type: types.option({ ON: "on", OFF: "off" })
},
command: {
name: "cmnd/sonoff7/power",
type: types.option({ on: "ON", off: "OFF" })
},
defaultValue: "off"
},
projector: { projector: {
state: { state: {
name: "/service/beamer/state", name: "/service/beamer/state",
@ -243,6 +210,11 @@ const config: Config = {
defaultValue: "0" defaultValue: "0"
} }
}, },
//Tasmota-Dosen
tasmota.topics(2, "olymp_printer"),
tasmota.topics(6, "snackbar"),
tasmota.topics(7, "infoscreen"),
//Kuechen-Floalts //Kuechen-Floalts
floalt.topics("65537"), floalt.topics("65537"),
floalt.topics("65538"), floalt.topics("65538"),

View file

@ -42,6 +42,21 @@ export const esper_topics = (chip_id: string, name: string) => ({
} }
}); });
export const tasmota = {
topics: (id: string, name: string) => ({
[name]: {
state: {
name: `stat/sonoff${id}/POWER`,
type: types.option({ ON: "on", OFF: "off" })
},
command: {
name: `cmnd/sonoff${id}/power`,
type: types.option({ on: "ON", off: "OFF" })
},
defaultValue: "off"
}
})
}
export const floalt = { export const floalt = {
color: (light_id: string) => `floalt_${light_id}_color`, color: (light_id: string) => `floalt_${light_id}_color`,
brightness: (light_id: string) => `floalt_${light_id}_brightness`, brightness: (light_id: string) => `floalt_${light_id}_brightness`,