Variablennamen Q4/2025 – Technische Doku & Anleitung

Wozu ist das gut? Ein erster Überblick

1) Variablen per Namen statt nur IDs

Neue Namensräume/Syntax in Formeln:

  • FPS → fv_<variablenname> – Wert einer anderen FPS per Name.
  • Wetter-PRO → wv_<variablenname> – Zugriff auf Wetterdaten per Name.
  • Uniconnect → uv_<variablenname> – Werte aus Uniconnect.
  • Sensoren → sv_<variablenname> – Sensoren per Name einbinden.
  • VTR/DR → vtr_<id|variablenname>_ziel|position, dr_<id|variablenname>_ziel|position – Jetzt auch mit Namen.
  • VTK → vtk_<id> oder vtkv_<variablenname> – Zugriff per Name möglich.
  • Slider-Variablen aus anderen FPS → fvv_<variablenname> – Zugriff auf Slider per Name.
  • Räume → raum_<id|variablenname>_… – Zugriff auf Soll, Ziel, Temp, Offsets, Luftfeuchte auch per Raum-Variablenname.

Tipp: Der vergebene Variablenname wird in der jeweiligen Entität in weißer Schrift unterhalb der Bezeichnung angezeigt.

2) Variablennamen vergeben & verwenden – prinzipiell

  1. Generierung – z.B. FPS über /m_setup/<haus>/fps/vars/genvar/ (alle) oder /genvar/<id>/ (einzeln) werden Namen aus dem Titel erzeugt. Optional können Alternativtitel mit angegeben werden, die dann als Variablennummer verwendet werden.
  2. Sekundäre Variablen – Für Slider und Zusatzwerte: alle/vars/secondary/ oder einzeln /secondary/<id>/
  3. Verwendung – Statt numerischer IDs in Formeln den sprechenden Namen verwenden, z. B. fv_warmwasser oder raum_buero_temp. Das erhöht Lesbarkeit und erleichtert Übertragbarkeit auf andere Systeme.

3) Import/Export/Duplikat – prinzipiell

  • Ziel: Ermöglicht das Verschieben kompletter Plugin-„Sets“ zwischen Miniservern, sodass diese auf einem anderen Gerät sofort einsatzbereit sind – ohne manuelles Anpassen der Variablen.
  • Export – /m_setup/<haus>/fps/export/ (alle) oder /export/<id>/ (einzeln). Es wird ein JSON erstellt, das alle relevanten Einstellungen und Variablennamen enthält.
  • Import – /m_setup/<haus>/fps/import/ (Upload JSON). Beim Import werden Zuordnungsschlüssel zurückgesetzt und Strukturen vereinheitlicht, um Konflikte zu vermeiden.
  • Duplizieren – /duplicate/<id>/ erstellt eine Kopie mit geleerten Zuordnungen

4) Beispiele für Variablennutzung

  • Slider einer anderen FPS: fvv_ww_solltemperatur - raum_bad_ziel
  • Verwendung in Offset-Formeln: raum_schlafzimmer_temp - raum_schlafzimmer_ziel
  • Kombination mit Modulen: (wv_aussentemp < 5) & (fv_Heizkreis1Aktiv == 1)

5) Wichtige Hinweise/Best Practices

  • Immer eindeutige Variablennamen wählen – besonders wichtig für spätere Importe.
  • Bei komplexen Projekten zuerst alle Variablennamen generieren, dann die Formeln mit diesen Namen aufbauen.

Anhang A – Variablennamen ausführlich

Ziel & Nutzen

  • Lesbarkeit: Sprechende Namen statt A/S/M‑Slots und IDs.
  • Portabilität: Formeln lassen sich 1:1 auf andere Miniserver übertragen (siehe Anhang B).
  • Weniger Bruchstellen: Änderungen an Hardware/IDs betreffen die Formeln nicht mehr.

Wie werden Variablennamen erzeugt?

Variante 1 – Alle aufgelisteten Funktionen/Entitäten auf einmal

Für Plugin Einträge einer Liste:
/m_setup/<haus>/<plugin name>/vars/genvar/
Für alle Räume:
/m_setup/<haus>/hardware/redit/genvar
Für alle digitalen Sensoren:
/m_setup/<haus>/hardware/sedit/genvar

Variante 2 – Einzelne Funktionen/Entitäten

Für ein Plugin Eintrag:
/m_setup/<haus>/<plugin name>/vars/genvar/<id>/
Für einen Raum:
/m_setup/<haus>/hardware/redit/{id}/genvar
Für einen digitalen Sensor:
/m_setup/<haus>/hardware/sedit/{mac}/genvar

Generelles zur Variablennamens-Erzeugung:

Mit /genvar werden die vorhandenen Titel, bzw. Namen einer Entität als Variablennamen übernommen, wobei alle vorhandenen Leerzeichen und Sonderzeichen ignoriert werden. Großbuchstaben werden übernommen.
Alternativ kann ein vom Title/Namen abweichender Bezeichner in eckigen Klammern eingegeben werden, der dann von /genvar als Variablennamen verwendet wird.

Optionaler /genvar Parameter: ?removeBrackets=true|false

  • true (Standard): Entfernt die eckige Klammern aus dem Titel/Namen der Entität nachdem der Bezeichner in den eckigen Klammern übernommen wurde.
  • false: Belässt die Klammern im Titel sichtbar.Wichtig: Der eigentliche Variablenname wird aus dem aktuellen Titel immer code‑tauglich generiert (=> keine Unterstriche, keine Sonderzeichen). ?removeBrackets steuert nur wie die Sichtbarkeit der Bezeichner in eckigen Klammern, nicht die Generierungslogik selbst.

Beispiele für die Anwendung von eckigen Klammern

  • Schreibe deinen alternativen Wunsch‑Kurznamen in eckige Klammern in den Titel, z. B.:
    „Warmwasser Soll [WW Soll]“
    Danach vars/genvar aufrufen.
  • Ergebnis:
    • Der Variablenname wird aus dem o.g. Titel generiert, wobei der Klammerinhalt code‑tauglich übernommen wird – also: WWSoll – das Leerzeichen wird also entfernt!
    • Mit ?removeBrackets=true bleibt der sichtbare Titel „Warmwasser Soll“; mit false bleibt „Warmwasser Soll [WW Soll]“.

Sekundäre Variablen (Slider etc.)

  • Alle: /m_setup/<haus>/fps/vars/secondary/
  • Einzeln: /m_setup/<haus>/fps/vars/secondary/<id>/
  • Der Variablenname wird code‑tauglich aus dem Feld „Name der Variablen“ erzeugt.
  • ?removeBrackets= wirkt hier analog auf den sichtbaren Namen.

Wo sehe ich den Variablennamen?

  • In der jeweiligen Entität wird der generierte Variablenname direkt unter dem Titel in Weiß angezeigt. Durch markieren der Bereiches unterhalb des Titels/Namen wird er auf dem weißen Hintergrund lesbar.
  • So erkennst du sofort, wie du ihn in Formeln referenzierst.
  • Beachte bitte, dass der Variablenname Plugin spezifische Präfixes braucht, wenn er angewandt wird (siehe nächster Abschnitt).

Präfixes – Verwendung in Formeln (Namensräume)

  • FPS: fv_<fps_var_name> → z. B. fv_ww_soll
  • Wetter‑PRO: wv_<varname> → wv_bedeckung_6h
  • Uniconnect: uv_<varname> → uv_spotprice_now
  • Sensoren: sv_<varname> → sv_flur_1OG
  • Räume: raum_<id|varname>_soll|ziel|temp|offsets|offset_<mod>|luftfeuchte
  • VTR/DR: vtr_<id|name>_ziel|position, dr_<id|name>_ziel|position
  • VTK: vtk_<id> oder vtkv_<varname>
  • Slider aus anderer FPS: fvv_<varname>

Empfehlungen

  • Eindeutigkeit: Namen systemweit eindeutig halten.
  • Stabilität: Namen später nicht mehr ändern – erhöht die Austauschbarkeit. Dazu eignen sich speziell die Bezeichner in eckigen Klammern – so kann für den Endanwender ein verständlicher Namen/Titel verwendet werden, während für die Anwendung z.B. in Formeln universelle systemunabhängige Bezeichner verwendet werden können.
  • Nach Importen: Prüfen, ob alle referenzierten Namen (wv_, uv_, sv_, Raum‑var_name, vtr_/dr_) am Ziel existieren.

Anhang B – Import/Export ausführlich

Ziel

Komplette FPS‑Sets (Formeln, Texte, UI‑Einstellungen, Variablennamen) zwischen Miniserv ern austauschen, damit sie auf dem Zielsystem ohne Anpassungen funktionieren – vorausgesetzt, die Formeln verwenden nur Variablennamen (statt lokaler A/S/M‑Zuordnungen).

Export

  • Alle FPS: /m_setup/<haus>/fps/export/ → erzeugt fps_export.json
  • Einzelne FPS: /m_setup/<haus>/fps/export/<id>/ → erzeugt fps_<id>_export.json

Import

  1. Am Ziel: /m_setup/<haus>/fps/import/ öffnen.
  2. JSON hochladen.
    Beim Import werden Zuordnungen (A/S/M‑Slots) bereinigt und Strukturen vereinheitlicht, damit keine falschen Hardware‑Referenzen übernommen werden.
  3. (Optional) Namen nachziehen: Falls am Ziel andere Titel‑Konventionen gelten, einmal /fps/vars/genvar/ und /fps/vars/secondary/ ausführen.

Voraussetzungen für Plug‑&‑Play

  • Formeln referenzieren nur: fv_, wv_, uv_, sv_, raum_<varname>_…, vtr_<name>_…, dr_<name>_…, vtkv_….
  • Die referenzierten Entitäten/Namen existieren am Ziel (Wetter‑PRO/Uniconnect/Sensor‑Variablennamen, Räume mit var_name, FPS mit fps_var_name).
  • Physische Ausgänge ggf. separat zuordnen (Formeln bleiben davon unberührt).

Empfohlener Workflow

  1. Quelle bereinigen: Überall sprechende Variablennamen vergeben (Anhang A).
  2. Exportieren: Gesamt‑Set mit /export/ ziehen.
  3. Importieren: Am Ziel laden – Formeln funktionieren bereits; nur (falls nötig) physische Ausgänge/Offsets ergänzen.
  4. Smoke‑Test: „Formel prüfen“ und User‑Seite kontrollieren.

Duplizieren & Aufräumen

  • Duplizieren: /m_setup/<haus>/fps/duplicate/<id>/ → duplicate_<timestamp>_<name>, Zuordnungen geleert (ideal für Varianten).
  • Löschen: Nur sichtbare /delete/, alle inkl. versteckte /delete/?all=1.

Häufige Stolpersteine

  • Namenskonflikte: Achte auf systemweit eindeutige Variablennamen – besonders bei Importen aus mehreren Quellen.
  • Fehlende Modul‑Namen: Wenn wv_/uv_‑Variablen am Ziel fehlen, zuerst in den Modulen anlegen oder Namen in der Formel anpassen.
  • Nach großen Imports: Einmal vars/genvar & vars/secondary ausführen, damit Titel/Klammern konsistent sind.