Lint config/

This commit is contained in:
uwap 2018-08-30 13:27:36 +02:00
parent 2d43f238f7
commit 82f2d0ff50
6 changed files with 286 additions and 253 deletions

View file

@ -4,45 +4,6 @@ import { mdi } from "config/icon";
import { hex } from "config/colors";
import * as types from "config/types";
export const esper_topics = (chip_id: string, name: string) => ({
[ `esper_${name}_version` ]: {
state: {
name: `/service/esper/${chip_id}/info`,
type: types.json("version.esper")
},
defaultValue: "UNKNOWN"
},
[ `esper_${name}_ip` ]: {
state: {
name: `/service/esper/${chip_id}/info`,
type: types.json("network.ip")
},
defaultValue: "UNKNOWN"
},
[ `esper_${name}_rssi` ]: {
state: {
name: `/service/esper/${chip_id}/info`,
type: types.json("wifi.rssi")
},
defaultValue: "UNKNOWN"
},
[ `esper_${name}_uptime` ]: {
state: {
name: `/service/esper/${chip_id}/info`,
type: msg => new Date(JSON.parse(msg.toString()).time.startup * 1000)
.toLocaleString()
},
defaultValue: "UNKNOWN",
},
[ `esper_${name}_device` ]: {
state: {
name: `/service/esper/${chip_id}/info`,
type: types.json("device")
},
defaultValue: "UNKNOWN"
}
});
export const tasmota = {
topics: (id: string, name: string) => ({
[name]: {
@ -62,106 +23,160 @@ export const tasmota = {
type: types.string
},
defaultValue: "offline"
},
}
}),
icon_color: (name: string, on_color: Color = hex("#00FF00")) => (state: State) => {
if (state[`${name}_online`] === "offline") {
return hex("#888888");
} else {
if (state[name] === "on") {
return on_color;
icon_color: (name: string, on_color: Color = hex("#00FF00")) =>
(state: State) => {
if (state[`${name}_online`] === "offline") {
return hex("#888888");
} else {
return hex("#000000");
if (state[name] === "on") {
return on_color;
} else {
return hex("#000000");
}
}
}
}
}
};
export const floalt = {
color: (light_id: string) => `floalt_${light_id}_color`,
brightness: (light_id: string) => `floalt_${light_id}_brightness`,
topics: (light_id: string) => ({
[ `floalt_${light_id}_color` ]: {
color: (lightId: string) => `floalt_${lightId}_color`,
brightness: (lightId: string) => `floalt_${lightId}_brightness`,
topics: (lightId: string) => ({
[`floalt_${lightId}_color`]: {
state: {
name: `/service/openhab/out/tradfri_0220_gwb8d7af2b448f_${light_id}_color_temperature/state`,
name: `/service/openhab/out/tradfri_0220_gwb8d7af2b448f_${lightId}` +
"_color_temperature/state",
type: types.string
},
command: {
name: `/service/openhab/in/tradfri_0220_gwb8d7af2b448f_${light_id}_color_temperature/command`,
name: `/service/openhab/in/tradfri_0220_gwb8d7af2b448f_${lightId}` +
"_color_temperature/command",
type: types.string
},
defaultValue: "0"
},
[ `floalt_${light_id}_brightness` ]: {
[`floalt_${lightId}_brightness`]: {
state: {
name: `/service/openhab/out/tradfri_0220_gwb8d7af2b448f_${light_id}_brightness/state`,
name: `/service/openhab/out/tradfri_0220_gwb8d7af2b448f_${lightId}` +
"_brightness/state",
type: types.string
},
command: {
name: `/service/openhab/in/tradfri_0220_gwb8d7af2b448f_${light_id}_brightness/command`,
name: `/service/openhab/in/tradfri_0220_gwb8d7af2b448f_${lightId}` +
"_brightness/command",
type: types.string
},
defaultValue: "0"
}
})
}
};
export const tradfri_remote = {
level: (remote_id: string) => `tradfri_remote_${remote_id}_level`,
low: (remote_id: string) => `tradfri_remote_${remote_id}_low`,
topics: (remote_id: string) => ({
[ `tradfri_remote_${remote_id}_level` ]: {
const tradfriRemote = {
level: (remoteId: string) => `tradfri_remote_${remoteId}_level`,
low: (remoteId: string) => `tradfri_remote_${remoteId}_low`,
topics: (remoteId: string) => ({
[`tradfri_remote_${remoteId}_level`]: {
state: {
name: `/service/openhab/out/tradfri_0830_gwb8d7af2b448f_${remote_id}_battery_level/state`,
name: `/service/openhab/out/tradfri_0830_gwb8d7af2b448f_${remoteId}` +
"_battery_level/state",
type: types.string
},
defaultValue: "0"
},
[ `tradfri_remote_${remote_id}_low` ]: {
[`tradfri_remote_${remoteId}_low`]: {
state: {
name: `/service/openhab/out/tradfri_0830_gwb8d7af2b448f_${remote_id}_battery_low/state`,
name: `/service/openhab/out/tradfri_0830_gwb8d7af2b448f_${remoteId}` +
"_battery_low/state",
type: types.option({ ON: "true", OFF: "false" })
},
defaultValue: "false",
defaultValue: "false"
}
})
}
};
export const esper_statistics = (name: string,
prev_ui: Array<ControlUI> = []): Array<ControlUI> => (
prev_ui.concat([
{
type: "section",
text: "Funkdose"
},
{
type: "text",
text: "Device Variant",
icon: mdi("chart-donut"),
topic: `esper_${name}_device`
},
{
type: "text",
text: "Version",
icon: mdi("source-branch"),
topic: `esper_${name}_version`
},
{
type: "text",
text: "IP",
icon: mdi("access-point-network"),
topic: `esper_${name}_ip`
},
{
type: "text",
text: "RSSI",
icon: mdi("wifi"),
topic: `esper_${name}_rssi`
},
{
type: "text",
text: "Running since…",
icon: mdi("av-timer"),
topic: `esper_${name}_uptime`
}
])
);
export const tradfri = {
remote: tradfriRemote
};
const esperStatistics = (name: string,
prev_ui: Array<ControlUI> = []): Array<ControlUI> => (
prev_ui.concat([
{
type: "section",
text: "Funkdose"
},
{
type: "text",
text: "Device Variant",
icon: mdi("chart-donut"),
topic: `esper_${name}_device`
},
{
type: "text",
text: "Version",
icon: mdi("source-branch"),
topic: `esper_${name}_version`
},
{
type: "text",
text: "IP",
icon: mdi("access-point-network"),
topic: `esper_${name}_ip`
},
{
type: "text",
text: "RSSI",
icon: mdi("wifi"),
topic: `esper_${name}_rssi`
},
{
type: "text",
text: "Running since…",
icon: mdi("av-timer"),
topic: `esper_${name}_uptime`
}
])
);
const esperTopics = (chipId: string, name: string) => ({
[`esper_${name}_version`]: {
state: {
name: `/service/esper/${chipId}/info`,
type: types.json("version.esper")
},
defaultValue: "UNKNOWN"
},
[`esper_${name}_ip`]: {
state: {
name: `/service/esper/${chipId}/info`,
type: types.json("network.ip")
},
defaultValue: "UNKNOWN"
},
[`esper_${name}_rssi`]: {
state: {
name: `/service/esper/${chipId}/info`,
type: types.json("wifi.rssi")
},
defaultValue: "UNKNOWN"
},
[`esper_${name}_uptime`]: {
state: {
name: `/service/esper/${chipId}/info`,
type: (msg) => new Date(JSON.parse(msg.toString()).time.startup * 1000)
.toLocaleString()
},
defaultValue: "UNKNOWN"
},
[`esper_${name}_device`]: {
state: {
name: `/service/esper/${chipId}/info`,
type: types.json("device")
},
defaultValue: "UNKNOWN"
}
});
export const esper = {
topics: esperTopics,
statistics: esperStatistics
};