Merge remote-tracking branch 'upstream/master' into patch-22 to resolve merge conflicts
This commit is contained in:
commit
ff29ae7d5b
9 changed files with 888 additions and 796 deletions
|
|
@ -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]: {
|
||||
|
|
@ -64,104 +25,158 @@ export const tasmota = {
|
|||
defaultValue: "off"
|
||||
},
|
||||
}),
|
||||
icon_color: (name: string, on_color: Color = hex("#00FF00")) => (state: State) => {
|
||||
if (state[`${name}_online`] === "off") {
|
||||
return hex("#888888");
|
||||
} else {
|
||||
if (state[name] === "on") {
|
||||
return on_color;
|
||||
iconColor: (name: string, onColor: Color = hex("#00FF00")) =>
|
||||
(state: State) => {
|
||||
if (state[`${name}_online`] === "off") {
|
||||
return hex("#888888");
|
||||
} else {
|
||||
return hex("#000000");
|
||||
if (state[name] === "on") {
|
||||
return onColor;
|
||||
} 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,
|
||||
prevUI: Array<ControlUI> = []): Array<ControlUI> => (
|
||||
prevUI.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
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue