Backup
This commit is contained in:
parent
519b095d16
commit
8108a83fe2
@ -59,7 +59,9 @@ bool HistoryStore::isNumericSource(TextSource source) {
|
|||||||
source == TextSource::KNX_DPT_PERCENT ||
|
source == TextSource::KNX_DPT_PERCENT ||
|
||||||
source == TextSource::KNX_DPT_POWER ||
|
source == TextSource::KNX_DPT_POWER ||
|
||||||
source == TextSource::KNX_DPT_ENERGY ||
|
source == TextSource::KNX_DPT_ENERGY ||
|
||||||
source == TextSource::KNX_DPT_DECIMALFACTOR;
|
source == TextSource::KNX_DPT_DECIMALFACTOR ||
|
||||||
|
source == TextSource::KNX_DPT_HUMIDITY ||
|
||||||
|
source == TextSource::KNX_DPT_LUX;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool HistoryStore::keysEqual(const SeriesKey& a, const SeriesKey& b) {
|
bool HistoryStore::keysEqual(const SeriesKey& a, const SeriesKey& b) {
|
||||||
|
|||||||
@ -153,6 +153,18 @@ void KnxWorker::init() {
|
|||||||
TextSource::KNX_DPT_ENERGY);
|
TextSource::KNX_DPT_ENERGY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
KNXValue humidityValue = 0.0f;
|
||||||
|
if (go.tryValue(humidityValue, DPT_Value_Humidity)) {
|
||||||
|
WidgetManager::instance().onKnxValue(groupAddr, static_cast<float>(humidityValue),
|
||||||
|
TextSource::KNX_DPT_HUMIDITY);
|
||||||
|
}
|
||||||
|
|
||||||
|
KNXValue luxValue = 0.0f;
|
||||||
|
if (go.tryValue(luxValue, DPT_Value_Lux)) {
|
||||||
|
WidgetManager::instance().onKnxValue(groupAddr, static_cast<float>(luxValue),
|
||||||
|
TextSource::KNX_DPT_LUX);
|
||||||
|
}
|
||||||
|
|
||||||
struct tm timeTm = {};
|
struct tm timeTm = {};
|
||||||
KNXValue timeValue(timeTm);
|
KNXValue timeValue(timeTm);
|
||||||
if (go.tryValue(timeValue, DPT_TimeOfDay)) {
|
if (go.tryValue(timeValue, DPT_TimeOfDay)) {
|
||||||
|
|||||||
@ -57,6 +57,7 @@ enum class ButtonAction : uint8_t {
|
|||||||
KNX = 0,
|
KNX = 0,
|
||||||
JUMP = 1,
|
JUMP = 1,
|
||||||
BACK = 2,
|
BACK = 2,
|
||||||
|
NONE = 3,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class ChartPeriod : uint8_t {
|
enum class ChartPeriod : uint8_t {
|
||||||
@ -84,6 +85,8 @@ enum class TextSource : uint8_t {
|
|||||||
SYSTEM_TIME = 11, // System Time (RTC)
|
SYSTEM_TIME = 11, // System Time (RTC)
|
||||||
SYSTEM_DATE = 12, // System Date (RTC)
|
SYSTEM_DATE = 12, // System Date (RTC)
|
||||||
SYSTEM_DATETIME = 13, // System DateTime (RTC)
|
SYSTEM_DATETIME = 13, // System DateTime (RTC)
|
||||||
|
KNX_DPT_HUMIDITY = 14, // KNX Humidity (DPT 9.007)
|
||||||
|
KNX_DPT_LUX = 15, // KNX Lux (DPT 9.004)
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class TextAlign : uint8_t {
|
enum class TextAlign : uint8_t {
|
||||||
|
|||||||
@ -174,6 +174,8 @@ void ArcWidget::onKnxValue(float value) {
|
|||||||
case TextSource::KNX_DPT_POWER:
|
case TextSource::KNX_DPT_POWER:
|
||||||
case TextSource::KNX_DPT_ENERGY:
|
case TextSource::KNX_DPT_ENERGY:
|
||||||
case TextSource::KNX_DPT_DECIMALFACTOR:
|
case TextSource::KNX_DPT_DECIMALFACTOR:
|
||||||
|
case TextSource::KNX_DPT_HUMIDITY:
|
||||||
|
case TextSource::KNX_DPT_LUX:
|
||||||
lastValue_ = value;
|
lastValue_ = value;
|
||||||
lv_arc_set_value(obj_, clampToRange(value, config_.arcMin, config_.arcMax));
|
lv_arc_set_value(obj_, clampToRange(value, config_.arcMin, config_.arcMax));
|
||||||
updateValueLabel(value);
|
updateValueLabel(value);
|
||||||
|
|||||||
@ -243,7 +243,9 @@ void LabelWidget::onKnxValue(float value) {
|
|||||||
config_.textSource != TextSource::KNX_DPT_PERCENT &&
|
config_.textSource != TextSource::KNX_DPT_PERCENT &&
|
||||||
config_.textSource != TextSource::KNX_DPT_POWER &&
|
config_.textSource != TextSource::KNX_DPT_POWER &&
|
||||||
config_.textSource != TextSource::KNX_DPT_ENERGY &&
|
config_.textSource != TextSource::KNX_DPT_ENERGY &&
|
||||||
config_.textSource != TextSource::KNX_DPT_DECIMALFACTOR) {
|
config_.textSource != TextSource::KNX_DPT_DECIMALFACTOR &&
|
||||||
|
config_.textSource != TextSource::KNX_DPT_HUMIDITY &&
|
||||||
|
config_.textSource != TextSource::KNX_DPT_LUX) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -256,7 +256,9 @@ void PowerLinkWidget::onKnxValue(float value) {
|
|||||||
config_.textSource != TextSource::KNX_DPT_PERCENT &&
|
config_.textSource != TextSource::KNX_DPT_PERCENT &&
|
||||||
config_.textSource != TextSource::KNX_DPT_POWER &&
|
config_.textSource != TextSource::KNX_DPT_POWER &&
|
||||||
config_.textSource != TextSource::KNX_DPT_ENERGY &&
|
config_.textSource != TextSource::KNX_DPT_ENERGY &&
|
||||||
config_.textSource != TextSource::KNX_DPT_DECIMALFACTOR) return;
|
config_.textSource != TextSource::KNX_DPT_DECIMALFACTOR &&
|
||||||
|
config_.textSource != TextSource::KNX_DPT_HUMIDITY &&
|
||||||
|
config_.textSource != TextSource::KNX_DPT_LUX) return;
|
||||||
|
|
||||||
float factor = parseFloatOr(config_.text, 1.0f);
|
float factor = parseFloatOr(config_.text, 1.0f);
|
||||||
float speed = std::fabs(value) * factor;
|
float speed = std::fabs(value) * factor;
|
||||||
|
|||||||
@ -289,7 +289,9 @@ static bool isNumericSource(TextSource source) {
|
|||||||
source == TextSource::KNX_DPT_PERCENT ||
|
source == TextSource::KNX_DPT_PERCENT ||
|
||||||
source == TextSource::KNX_DPT_POWER ||
|
source == TextSource::KNX_DPT_POWER ||
|
||||||
source == TextSource::KNX_DPT_ENERGY ||
|
source == TextSource::KNX_DPT_ENERGY ||
|
||||||
source == TextSource::KNX_DPT_DECIMALFACTOR;
|
source == TextSource::KNX_DPT_DECIMALFACTOR ||
|
||||||
|
source == TextSource::KNX_DPT_HUMIDITY ||
|
||||||
|
source == TextSource::KNX_DPT_LUX;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void formatValue(char* buf, size_t bufSize, float value, const char* fmt, TextSource source) {
|
static void formatValue(char* buf, size_t bufSize, float value, const char* fmt, TextSource source) {
|
||||||
|
|||||||
@ -34,7 +34,7 @@
|
|||||||
<template v-else>
|
<template v-else>
|
||||||
<div class="absolute inset-0 overflow-hidden" :style="roomCardTileContainerStyle">
|
<div class="absolute inset-0 overflow-hidden" :style="roomCardTileContainerStyle">
|
||||||
<!-- Room name (top-left) -->
|
<!-- Room name (top-left) -->
|
||||||
<div class="absolute" :style="{ left: '16px', top: '12px', color: widget.textColor, fontSize: fontSizes[widget.fontSize || 2] + 'px', fontWeight: 600 }">
|
<div class="absolute" :style="{ left: (16 * scale) + 'px', top: (12 * scale) + 'px', color: widget.textColor, fontSize: (fontSizes[widget.fontSize || 2] * scale) + 'px', fontWeight: 600 }">
|
||||||
{{ roomCardParts.name }}
|
{{ roomCardParts.name }}
|
||||||
</div>
|
</div>
|
||||||
<!-- Text Lines -->
|
<!-- Text Lines -->
|
||||||
|
|||||||
@ -24,6 +24,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<div :class="rowClass"><label :class="labelClass">Klick-Aktion</label>
|
<div :class="rowClass"><label :class="labelClass">Klick-Aktion</label>
|
||||||
<select :class="inputClass" v-model.number="widget.action">
|
<select :class="inputClass" v-model.number="widget.action">
|
||||||
|
<option :value="BUTTON_ACTIONS.NONE">Keine</option>
|
||||||
<option :value="BUTTON_ACTIONS.JUMP">Sprung</option>
|
<option :value="BUTTON_ACTIONS.JUMP">Sprung</option>
|
||||||
<option :value="BUTTON_ACTIONS.BACK">Zurueck</option>
|
<option :value="BUTTON_ACTIONS.BACK">Zurueck</option>
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@ -30,7 +30,8 @@ export const ICON_POSITIONS = {
|
|||||||
export const BUTTON_ACTIONS = {
|
export const BUTTON_ACTIONS = {
|
||||||
KNX: 0,
|
KNX: 0,
|
||||||
JUMP: 1,
|
JUMP: 1,
|
||||||
BACK: 2
|
BACK: 2,
|
||||||
|
NONE: 3
|
||||||
};
|
};
|
||||||
|
|
||||||
export const TEXT_ALIGNS = {
|
export const TEXT_ALIGNS = {
|
||||||
@ -90,7 +91,9 @@ export const textSources = {
|
|||||||
10: 'KNX Datum & Uhrzeit (DPT 19.001)',
|
10: 'KNX Datum & Uhrzeit (DPT 19.001)',
|
||||||
11: 'System Uhrzeit',
|
11: 'System Uhrzeit',
|
||||||
12: 'System Datum',
|
12: 'System Datum',
|
||||||
13: 'System Datum & Uhrzeit'
|
13: 'System Datum & Uhrzeit',
|
||||||
|
14: 'KNX Luftfeuchtigkeit (DPT 9.007)',
|
||||||
|
15: 'KNX Helligkeit (DPT 9.004)'
|
||||||
};
|
};
|
||||||
|
|
||||||
export const textSourceGroups = [
|
export const textSourceGroups = [
|
||||||
@ -98,7 +101,7 @@ export const textSourceGroups = [
|
|||||||
{ label: 'System', values: [11, 12, 13] },
|
{ label: 'System', values: [11, 12, 13] },
|
||||||
{ label: 'DPT 1.x', values: [2] },
|
{ label: 'DPT 1.x', values: [2] },
|
||||||
{ label: 'DPT 5.x', values: [3, 7] },
|
{ label: 'DPT 5.x', values: [3, 7] },
|
||||||
{ label: 'DPT 9.x', values: [1] },
|
{ label: 'DPT 9.x', values: [1, 14, 15] },
|
||||||
{ label: 'DPT 10.x', values: [8] },
|
{ label: 'DPT 10.x', values: [8] },
|
||||||
{ label: 'DPT 11.x', values: [9] },
|
{ label: 'DPT 11.x', values: [9] },
|
||||||
{ label: 'DPT 13.x', values: [6] },
|
{ label: 'DPT 13.x', values: [6] },
|
||||||
@ -108,17 +111,17 @@ export const textSourceGroups = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
export const sourceOptions = {
|
export const sourceOptions = {
|
||||||
label: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
|
label: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
|
||||||
button: [0],
|
button: [0],
|
||||||
led: [0, 2],
|
led: [0, 2],
|
||||||
icon: [0, 2],
|
icon: [0, 2],
|
||||||
powernode: [0, 1, 2, 3, 4, 5, 6, 7],
|
powernode: [0, 1, 2, 3, 4, 5, 6, 7, 14, 15],
|
||||||
powerlink: [0, 1, 3, 5, 6, 7],
|
powerlink: [0, 1, 3, 5, 6, 7, 14, 15],
|
||||||
chart: [1, 3, 5, 6, 7],
|
chart: [1, 3, 5, 6, 7, 14, 15],
|
||||||
clock: [11],
|
clock: [11],
|
||||||
roomcard: [0, 1, 3, 5, 6, 7], // Temperature sources
|
roomcard: [0, 1, 3, 5, 6, 7, 14, 15],
|
||||||
rectangle: [0],
|
rectangle: [0],
|
||||||
arc: [0, 1, 2, 3, 5, 6, 7],
|
arc: [0, 1, 2, 3, 5, 6, 7, 14, 15],
|
||||||
buttonmatrix: [0]
|
buttonmatrix: [0]
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user