From 032056b2e329013d64e1bd63f22f7745d39f6217 Mon Sep 17 00:00:00 2001 From: Ranlvor Date: Sat, 4 Aug 2018 15:50:14 +0200 Subject: [PATCH] RZL: Simplify config a bit by using template for tasmota topics --- config/rzl/index.js | 40 ++++++---------------------------------- config/rzl/utils.js | 15 +++++++++++++++ 2 files changed, 21 insertions(+), 34 deletions(-) diff --git a/config/rzl/index.js b/config/rzl/index.js index 8b20b96..c73aab7 100644 --- a/config/rzl/index.js +++ b/config/rzl/index.js @@ -3,7 +3,7 @@ import type { Config } from "config/flowtypes"; import * as types from "config/types"; import { hex, rgb, rgba, rainbow } from "config/colors"; 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"; @@ -26,17 +26,6 @@ const config: Config = { }, 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: { state: { name: "/service/openhab/out/pca301_twinkle/state", @@ -81,17 +70,6 @@ const config: Config = { }, 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: { state: { name: "/service/openhab/out/wifi_flyfry/state", @@ -149,17 +127,6 @@ const config: Config = { }, 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: { state: { name: "/service/beamer/state", @@ -243,6 +210,11 @@ const config: Config = { defaultValue: "0" } }, + //Tasmota-Dosen + tasmota.topics(2, "olymp_printer"), + tasmota.topics(6, "snackbar"), + tasmota.topics(7, "infoscreen"), + //Kuechen-Floalts floalt.topics("65537"), floalt.topics("65538"), diff --git a/config/rzl/utils.js b/config/rzl/utils.js index 5ebd526..9fc926a 100644 --- a/config/rzl/utils.js +++ b/config/rzl/utils.js @@ -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 = { color: (light_id: string) => `floalt_${light_id}_color`, brightness: (light_id: string) => `floalt_${light_id}_brightness`,