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>odervtkv_<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
- 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. - Sekundäre Variablen – Für Slider und Zusatzwerte: alle
/vars/secondary/oder einzeln/secondary/<id>/ - Verwendung – Statt numerischer IDs in Formeln den sprechenden Namen verwenden, z. B.
fv_warmwasseroderraum_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).?removeBracketssteuert 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]“
Danachvars/genvaraufrufen. - 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=truebleibt der sichtbare Titel „Warmwasser Soll“; mitfalsebleibt „Warmwasser Soll [WW Soll]“.
- Der Variablenname wird aus dem o.g. Titel generiert, wobei der Klammerinhalt code‑tauglich übernommen wird – also:
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>odervtkv_<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/→ erzeugtfps_export.json - Einzelne FPS:
/m_setup/<haus>/fps/export/<id>/→ erzeugtfps_<id>_export.json
Import
- Am Ziel:
/m_setup/<haus>/fps/import/öffnen. - JSON hochladen.
Beim Import werden Zuordnungen (A/S/M‑Slots) bereinigt und Strukturen vereinheitlicht, damit keine falschen Hardware‑Referenzen übernommen werden. - (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 mitfps_var_name). - Physische Ausgänge ggf. separat zuordnen (Formeln bleiben davon unberührt).
Empfohlener Workflow
- Quelle bereinigen: Überall sprechende Variablennamen vergeben (Anhang A).
- Exportieren: Gesamt‑Set mit
/export/ziehen. - Importieren: Am Ziel laden – Formeln funktionieren bereits; nur (falls nötig) physische Ausgänge/Offsets ergänzen.
- 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/secondaryausführen, damit Titel/Klammern konsistent sind.