Members
(constant) CHART_CONFIGS
Chart-Konfigurationen
- Source:
(constant) PAD :Object
Padding-Konstanten für Charts.
Type:
- Object
- Source:
(constant) bucketForRange
Bucket je Range (day/week/month/auto)
- Source:
(constant) expectedMsForBucket
erwartetes Intervall (ms) je Bucket
- Source:
Methods
clampTicksWithinAxis()
Berechnet Ticks innerhalb der Achsengrenzen
- Source:
clear(el)
Entfernt alle Kinder eines Elements.
Parameters:
| Name | Type | Description |
|---|---|---|
el |
Element |
- Deprecated:
- Ungenutzt – Kandidat für Entfernung
- Source:
clipAndBinSeries(opts) → {Array}
Aggregiert und binned Chart-Daten.
Parameters:
| Name | Type | Description | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
opts |
Object |
Properties
|
- Source:
Returns:
- Type
- Array
colorByQuality()
hübsche Farben (Bootstrap) je nach Schwellwerten
- Source:
computeBucketMs() → {number}
Berechnet die Bucket-Größe (Millisekunden) je Modus.
Parameters:
| Type | Description |
|---|---|
| Object |
- Source:
Returns:
- Type
- number
computeExtrema(tsOrSeries, valuesOrKey) → {Object}
Berechnet Extrema (min/max) aus Arrays oder Series-Objekten
Parameters:
| Name | Type | Description |
|---|---|---|
tsOrSeries |
Array | Array.<Object> | Zeitstempel-Array oder Series-Array |
valuesOrKey |
Array | string | Werte-Array oder Property-Name |
- Source:
Returns:
- Type
- Object
createSvgElement(tag, clsopt) → {SVGElement}
Erstellt ein SVG-Element mit optionaler Klasse.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
tag |
string | SVG-Tagname (z.B. 'g', 'rect', 'path') | |
cls |
string |
<optional> |
optionale CSS-Klasse |
- Deprecated:
- Ungenutzt – Kandidat für Entfernung
- Source:
Returns:
- Type
- SVGElement
detectGapsHybrid()
Hybrid-Gap-Erkennung: erwartet 1-Min-Takt, erlaubt Jitter & fasst nahe Gaps zusammen.
- Source:
ensureCard(mountSel, title) → {Object}
Sorgt dafür, dass ein Card-Container existiert und gibt die wichtigsten DOM-Elemente zurück.
Parameters:
| Name | Type | Description |
|---|---|---|
mountSel |
string | CSS-Selektor für das Mount-Element |
title |
string | Titel für die Card |
- Source:
Returns:
- Type
- Object
ensureChartScaffold(mount, options) → {Object}
Erstellt die gemeinsame Chart-Card-Struktur
Parameters:
| Name | Type | Description | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
mount |
HTMLElement | Mount-Element | ||||||||||||||||||||
options |
Object | Konfiguration
Properties
|
- Source:
Returns:
Scaffold-Objekte
- Type
- Object
ensureGenericChartScaffold()
Erstellt das Chart-Scaffold (Card-Struktur, Header, Legende)
- Source:
ensureHumidityChartScaffold()
Erstellt Humidity-Chart-Scaffold (für humidity-chart.js Kompatibilität)
- Source:
ensurePressureChartScaffold()
Erstellt Pressure-Chart-Scaffold (für pressure-chart.js Kompatibilität)
- Source:
ensureTempChartScaffold()
Erstellt Temperatur-Chart-Scaffold (für temp-chart.js Kompatibilität)
- Source:
ensureTooltip()
Tooltip-Element sicherstellen (fallback, falls im Chart-Scaffold keins existiert)
- Source:
fmtDM(ms, localeopt) → {string}
Formatiert Zeitstempel als DD.MM.
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
ms |
number | Millisekunden seit Epoch | ||
locale |
string |
<optional> |
'de-AT' | Locale-String |
- Source:
Returns:
Formatiertes Datum (z.B. "28.10.")
- Type
- string
fmtHM(ms, localeopt, tzopt) → {string}
Formatiert Zeitstempel als HH:MM
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
ms |
number | Millisekunden seit Epoch | ||
locale |
string |
<optional> |
'de-AT' | Locale-String |
tz |
string |
<optional> |
Zeitzone (optional) |
- Source:
Returns:
Formatierte Zeit (z.B. "14:30")
- Type
- string
formatTicks(ticks) → {Array.<string>}
Formatiert Tick-Werte einheitlich (wenn mind. 1 Dezimalstelle vorhanden, dann alle mit gleicher Anzahl)
Parameters:
| Name | Type | Description |
|---|---|---|
ticks |
Array.<number> | Tick-Werte |
- Source:
Returns:
Formatierte Ticks
- Type
- Array.<string>
formatTicks(ticks) → {Array.<string>}
Formatiert Tick-Werte einheitlich (wenn mind. 1 Dezimalstelle vorhanden, dann alle mit gleicher Anzahl)
Parameters:
| Name | Type | Description |
|---|---|---|
ticks |
Array.<number> | Tick-Werte |
Returns:
Formatierte Ticks
- Type
- Array.<string>
gapOptionsForMode(mode) → {Object}
Liefert Gap-Detection-Parameter je nach Modus
Parameters:
| Name | Type | Description |
|---|---|---|
mode |
string | Chart-Modus ('auto', 'day', 'week', 'month') |
- Source:
Returns:
Gap-Detection-Konfiguration
- Type
- Object
getLastSeenTimestamp()
Liefert den letzten gesehenen Timestamp
- Deprecated:
- Ungenutzt – Kandidat für Entfernung
- Source:
interpolateEdges()
Interpoliert Randwerte, damit Chart exakt das Zeitfenster füllt
- Source:
loadPresence()
Lädt reine Präsenzzeiten aus /api/series.php, um Gaps zuverlässig zu zeichnen
- Source:
makeGuide()
Zeichnet Guide-Linie und Label (Einheit anpassbar)
Unterstützte Signaturen:
- v1 (alt): makeGuide(y, cls, label, value, syFn, side, L, R, W) -> Standard-Einheit '%'
- v2 (neu): makeGuide(y, cls, label, value, syFn, unit, side, L, R, W)
- Source:
makeSmartTicks(min, max) → {Array.<number>}
Intelligente Tick-Berechnung mit adaptiven Schritten
Parameters:
| Name | Type | Description |
|---|---|---|
min |
number | Minimum |
max |
number | Maximum |
- Source:
Returns:
Tick-Werte
- Type
- Array.<number>
makeSmartTicks(min, max) → {Array.<number>}
Intelligente Tick-Berechnung mit adaptiven Schritten
Parameters:
| Name | Type | Description |
|---|---|---|
min |
number | Minimum |
max |
number | Maximum |
Returns:
Tick-Werte
- Type
- Array.<number>
makeTicks(min, max) → {Array.<number>}
Erzeugt eine Tick-Liste für Achsen.
Parameters:
| Name | Type | Description |
|---|---|---|
min |
number | |
max |
number |
- Source:
Returns:
- Type
- Array.<number>
mmWithZero()
- Deprecated:
- Ungenutzt – Kandidat für Entfernung
- Source:
observeSize(el, onSize) → {function}
Beobachtet die Größe eines Elements und ruft Callback bei Änderung.
Parameters:
| Name | Type | Description |
|---|---|---|
el |
Element | |
onSize |
function |
- Source:
Returns:
Disconnect-Funktion
- Type
- function
padDomainDyn(lo, hi, optsopt) → {Array.<number>}
Dynamisches Domain-Padding.
Parameters:
| Name | Type | Attributes | Description | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
lo |
number | |||||||||||||||||
hi |
number | |||||||||||||||||
opts |
Object |
<optional> |
Optionale Einstellungen
Properties
|
- Source:
Returns:
Zweier-Array [lo, hi] inkl. Padding
- Type
- Array.<number>
pick(obj, keys) → {*}
Wählt ersten verfügbaren Wert aus Objekt
Parameters:
| Name | Type | Description |
|---|---|---|
obj |
Object | Quell-Objekt |
keys |
Array.<string> | Array von Schlüsseln (Priorität von links) |
- Source:
Returns:
Erster verfügbarer Wert oder null
- Type
- *
pickNum(obj, keys) → {number|null}
Wählt ersten verfügbaren numerischen Wert aus Objekt
Parameters:
| Name | Type | Description |
|---|---|---|
obj |
Object | Quell-Objekt |
keys |
Array.<string> | Array von Schlüsseln (Priorität von links) |
- Source:
Returns:
Erster verfügbarer numerischer Wert oder null
- Type
- number | null
placeTooltipNearCursor()
Positioniert das Tooltip neben dem Cursor.
Unterstützt BEIDE Signaturen:
1) placeTooltipNearCursor(tooltip, evt, { container, offset, pad })
2) placeTooltipNearCursor({ tooltip, mount, container, evt, offset, pad })
- Source:
renderChart(chartType, mount, options)
Generischer Chart-Renderer (für Temperatur & Luftfeuchte)
Parameters:
| Name | Type | Description |
|---|---|---|
chartType |
string | 'temperature' oder 'humidity' |
mount |
HTMLElement | Container-Element |
options |
Object | { mode, gapsEnabled, win, series } |
- Source:
renderGenericChart(config)
Generischer Chart-Renderer
Parameters:
| Name | Type | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
config |
Object | Konfiguration
Properties
|
- Source:
renderGenericChart(config)
Generischer Chart-Renderer
Parameters:
| Name | Type | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
config |
Object | Konfiguration
Properties
|
renderHumidityChart()
Kompatibilitäts-Wrapper für Humidity-Chart
- Source:
renderTempChart()
Kompatibilitäts-Wrapper für Temperatur-Chart
- Source:
rowsToSeries(rows, valueKeysOut, valueKeysIn) → {Array.<{t:number, out: (number|null), in: (number|null)}>}
Wandelt API-Rohdaten in Chart-Serien um (Zeitstempel + Werte)
Parameters:
| Name | Type | Description |
|---|---|---|
rows |
Array | |
valueKeysOut |
Array | z.B. ['temperature', 'outdoortemperature'] |
valueKeysIn |
Array | z.B. ['indoortemperature', 'in_temp'] |
- Source:
Returns:
Array sortierter Punkte
- Type
- Array.<{t:number, out: (number|null), in: (number|null)}>
rowsToSeries()
Mappt API-Rows zu Chart-Series-Format {t, in, out}
- Source:
setupHoverInteraction()
Hover-Interaktion für Chart
- Source:
setupHoverInteraction()
Hover-Interaktion für Chart
startOfWeek(ms) → {number}
Gibt Start der Woche (Montag 00:00) zurück
Parameters:
| Name | Type | Description |
|---|---|---|
ms |
number | Millisekunden seit Epoch |
- Source:
Returns:
Wochenstart in Millisekunden
- Type
- number
startWeatherPoller(interval)
Startet den zentralen Weather-Poller
Parameters:
| Name | Type | Description |
|---|---|---|
interval |
number | Polling-Intervall in ms (default: 30000) |
- Source:
stats(arr) → {Object}
Berechnet Min/Max/Avg aus Array
Parameters:
| Name | Type | Description |
|---|---|---|
arr |
Array.<number> | Array von Zahlen |
- Source:
Returns:
Statistiken
- Type
- Object
stopWeatherPoller()
Stoppt den Weather-Poller
- Source:
stripContainerPadding()
Entfernt Padding vom Container (optional, für Fullscreen)
- Source:
summarizeQuality()
Metriken über den sichtbaren Zeitraum (Qualität etc.).
- Source:
svgIn(el, heightopt) → {SVGSVGElement}
Erstellt ein SVG-Element im Ziel-Element.
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
el |
Element | |||
height |
number |
<optional> |
260 |
- Source:
Returns:
- Type
- SVGSVGElement
toMs(ts) → {number|null}
Konvertiert Zeitstempel zu Millisekunden (UTC-aware)
Parameters:
| Name | Type | Description |
|---|---|---|
ts |
number | string | null | Zeitstempel (Sekunden, Millisekunden oder ISO-String) |
- Source:
Returns:
Millisekunden seit Epoch oder null
- Type
- number | null
windowFor(mode, anchorMs) → {Object}
Berechnet gleitendes Zeitfenster für Modus (auto/day/week/month)
Parameters:
| Name | Type | Description |
|---|---|---|
mode |
string | Chart-Modus ('auto', 'day', 'week', 'month') |
anchorMs |
number | Anker-Zeitpunkt in Millisekunden |
- Source:
Returns:
Zeitfenster {start, end} in Millisekunden
- Type
- Object
yAxisMetrics()
Hilfsfunktion: Metriken für Y-Achse(n)
- Source: