Global

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
Name Type Attributes Description
rows Array
start number
end number
mode string
gapsEnabled boolean
binFn function
padFactor number <optional>
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
Name Type Attributes Default Description
title string Chart-Titel
legendHTML string HTML für Legende
cacheKey string <optional>
'__chartScaffold' Cache-Property-Name
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
Source:
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
Source:
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
Name Type Attributes Default Description
minPad number <optional>
0.4 Mindest-Padding
frac number <optional>
0.06 Prozentuales Padding relativ zur Spannweite
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
Name Type Description
mount HTMLElement Mount-Element
series Array Datenpunkte [{t, in, out}, ...]
win Object Zeitfenster {start, end}
scaffold Object Scaffold-Objekt {body, tooltip, legend, legendGaps}
style Object Style-Konfiguration
Properties
Name Type Description
chartClass string CSS-Klasse für SVG (z.B. 'temp-chart')
unit string Einheit (z.B. '°C' oder '%')
colorOut string Farbe für Außen-Serie
colorIn string Farbe für Innen-Serie
options Object Rendering-Optionen
Properties
Name Type Description
mode string Modus ('auto', 'day', 'week', 'month')
gapsEnabled boolean Lücken-Visualisierung
padTop number Padding oben
padBottom number Padding unten
Source:

renderGenericChart(config)

Generischer Chart-Renderer
Parameters:
Name Type Description
config Object Konfiguration
Properties
Name Type Description
mount HTMLElement Mount-Element
series Array Datenpunkte [{t, in, out}, ...]
win Object Zeitfenster {start, end}
scaffold Object Scaffold-Objekt {body, tooltip, legend, legendGaps}
style Object Style-Konfiguration
Properties
Name Type Description
chartClass string CSS-Klasse für SVG (z.B. 'temp-chart')
unit string Einheit (z.B. '°C' oder '%')
colorOut string Farbe für Außen-Serie
colorIn string Farbe für Innen-Serie
options Object Rendering-Optionen
Properties
Name Type Description
mode string Modus ('auto', 'day', 'week', 'month')
gapsEnabled boolean Lücken-Visualisierung
padTop number Padding oben
padBottom number Padding unten
Source:

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
Source:

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: