Globale Variablen Übersicht

Hallo Allerseits,

da ich relativ neu bin in der Programmierung von NodeBlue hätte ich hierzu direkt eine Frage:

Gibt es irgendwo eine Übersicht von erstellten globalen Variablen innerhalb von NodeBlue?

Gruß
Janusch

Hi also mir selbst ist nur bekannt wenn du es über die variable in oder out nachschaust.
image
Sorry ich verwende keine daher ist das Feld leer :wink:

Deswegen verwende ich lieber Virtuelle Devices ;).
Allerdings kann ich dir einen Tip geben, wenn du eine einzelnen Flow Karte nur für das initialisieren der Globalen variablen verwendest, und diese dann über Links verteilst.
Hast du eine gute Übersicht.

Der Vorteil ist dabei auch das du sehen kannst wo der Link überall verwendet wird.

image

Gruß
Michael

So dank Micha im Gespräch haben wir doch was gefunden ;).
wenn du rechts in node-blue auf die datenbank schaust:

image

Gibt es unten Global da hatte ich auch zuerst geschaut bei mir war dies Leer in diesem fall musst du einfach Aktualisieren dann wird die Variable mit Wert angezeigt.

Gruß
Michael

1 Like

Kann es sein, dass in NodeBlue lediglich 10 globale Variablen definierbar sind?

Hi @Janusch,

gute Frage, habe ich nie ausprobiert, mir reichen 2. Ich persoenlich wuerde auch nicht unbedingt so viele Flow-Variablen nutzen, da ich sonst z.B. innerhalb der Steuerung den Status nicht sehen kann.

– Micha

Dann fange ich mal an umzubauen. Anscheinend sind 10 tatsächlich die Grenze. Man lernt also immer wieder was dazu. Wohl gemerkt. Globale Variablen. FlowVariablen habe ich noch nicht ausprobiert.

1 Like

Hey @Janusch,

ich kann auch mal schauen ob sich das erweitern laesst. Aber wie gesagt, zu viele davon machen auch nicht unbedingt Sinn :wink:

– Micha

„zu viele“ geht ja nicht. es gehen 10. :wink:

Nein. ich habe einige Variablen, die ich zur Berechnung der durchschnittstemperatur von verschiedenen Sensoren hernehme und auch noch als Präsenzmessung (Tür abgeschlossen, Alarmanlage aktiviert, etc blah)
Diese Werte nutze ich halt weiter in anderen Flows. Deswegen auch die Globalen Variablen.

Huhu @Janusch,

also sowas wie „Tuer abgeschlossen“ oder „Alarmanlage aktiviert“ wuerde ich persoenlich wirklich als Systemvariablen anlegen. So kann man die sogar zu Steuerung nutzen, bzw. in einem „Statusdisplay“ anzeigen lassen :wink:

– Micha

1 Like

Okey. Dann stelle ich die Frage ganz unverblümt für alle:

Was ist der Unterschied zwischen

  • Globale Variable
  • Systemvariable
  • Flowvariable

Und wie werden sie wo konfiguriert? Derzeit nutze ich, zum Beispiel für die Anzeige ob die Alarmanlage scharfgeschaltet ist folgenden Aufbau:

Wenn Tür := locked UND RolladenX := unten dann global.isSecurity := true

global.isSecurity setzt dann einen Schalter auf True und den schalter lasse ich mir in Smartha anzeigen als read only. :slight_smile:

Immer wieder gerne :innocent:

Es gibt unterschiedliche Variablen mit eigenen „Wirkungsgraden“ (Scopes). Das ist historisch so bedingt.

Zum einen gibt es eigene Variablen innerhalb von Node-BLUE, diese wurden von Node-RED uebernommen. Diese koennen auch nur dort und nicht im restelichen System verwendet werden! Das sind:

  • Globale Variable
  • Flowvarialbe

Die „Globale Variable“ ist in allen Flows verfuegbar. Die „Flowvariable“ nur ausschliesslich in dem Flow in dem sie angelegt wurde.

Dann gibt es noch Variablen die von der smartha kommen. Diese sind sowohl in der smartha an sich (zur Steuerung, Visualisierung …) verfuegbar, als auch in Node-BLUE zur Programmierung. Dies sind:

  • Gerätevariable
  • Metadaten
  • Systemvariable

„Geraetevariablen“ sind, wie der Name schon sagt, alles Variablen von an der smartha angelernten Geraeten. Die Homematic-User kennen sie auch unter der Bezeichnung „Datenpunkt“. Hier sind alle Daten der Geraete gespeichert.
„Metadaten“ sind zus. Daten die zu einem an der smartha angelernten Geraet gespeichert werden koennen. Diese werden aktuell z.B. fuer die Visualisierung genutzt. Diese Daten werden nur auf der smartha gespeichert & verwendet.
„Systemvariablen“ sind Variablen die nichts mit physikalischen Geraeten zu tun haben, sondern eher mit Systemzustaenden (Beispiel: „Alarmanlage aktiv“). Diese Variablen lassen sich zu unterschiedlichen Dingen gebrachen, auch zum Steuern.

– Micha

1 Like

Kleine Ergaenzung:

Die „Systemvariablen“ sind auch historisch bedingt. Damals™ gab es noch keine virtuellen Geraete auf dem System, mit denen sich auch sehr viele Dinge die in diesen Kontext passen loesen lassen :wink:

– Micha

1 Like