Programm-Editor: Überblick und erster Programmablauf
Mit dem Programm-Editor wird die Logik des Wetterrelais grafisch aufgebaut. Ein Programm besteht aus Funktionsblöcken, deren Ein- und Ausgänge miteinander verbunden werden. Datenquellen liefern Wetter-, Zeit-, Modbus- oder Gerätewerte. Nachfolgende Blöcke können diese Werte prüfen, umrechnen oder logisch verknüpfen. Am Ende steuert das Programm beispielsweise einen Geräteausgang, stellt Werte im Dashboard bereit oder übergibt Signale an Modbus beziehungsweise ein Shelly-Gerät.

Grundprinzip
Ein Programm wird üblicherweise von links nach rechts gelesen:
- Quelle auswählen – beispielsweise Wetterdaten, Zeitschaltuhr, Modbus Output oder Eingabekonstante.
- Daten verarbeiten – beispielsweise mit Statistik, Skalierung, Arithmetik oder Prüfen.
- Bedingungen verknüpfen – beispielsweise mit UND oder Invertierer.
- Ergebnis verwenden – beispielsweise an einem Geräteausgang, einer Ausgabevariable, einem Modbus Input oder einem Shelly Aktor.
- Programm prüfen und übertragen – erst mit Übertragen wird das Programm auf dem Wetterrelais gespeichert und ausgeführt.
Signalrichtung beachten
Eine Verbindung läuft immer vom Ausgang eines Blocks zum Eingang eines anderen Blocks. Ein Ausgang kann dabei mehrere nachfolgende Blöcke versorgen. Welche Anschlüsse miteinander verbunden werden dürfen, bestimmt der Typ Logik, Wert oder Daten.
Ein erstes einfaches Programm
Ein typisches Beispiel ist eine wetterabhängige Schaltung:
Wetterdaten (Temperatur)
│ Daten
▼
Prüfen
│ Logik
▼
Geräteausgang
Der Wetterdatenblock liefert eine Datenreihe. Der Block Prüfen bewertet diese Daten anhand der eingestellten Bedingung und erzeugt daraus ein logisches Ergebnis. Dieses logische Ergebnis kann anschließend einen Geräteausgang steuern.
Die drei Verknüpfungsarten
Der Editor unterscheidet drei Informationsarten:
| Typ | Bedeutung | Beispiele |
|---|---|---|
| Logik | Ein binärer Zustand | TRUE/FALSE, EIN/AUS, Bedingung erfüllt |
| Wert | Ein einzelner numerischer Wert | 21.5, 1200, -3 |
| Daten | Eine Reihe zusammengehöriger Werte | stündliche Wetterwerte, Messwertfolgen |
Die Typen verhindern, dass fachlich nicht passende Blöcke miteinander verbunden werden. Eine ausführliche Beschreibung findest du unter Verknüpfungsarten.
Blöcke und Textfelder einfügen
In der Toolbox befinden sich alle verfügbaren Funktionsblöcke. Ein Block kann entweder angeklickt oder per Drag & Drop auf das Programmfeld gezogen werden. Neu eingefügte Blöcke werden fortlaufend benannt, beispielsweise Prüfen 1, Prüfen 2 oder Code 1.
Zusätzlich kann ein Textfeld eingefügt werden. Textfelder haben keine Anschlüsse und beeinflussen die Programmausführung nicht. Sie dienen ausschließlich dazu, Abschnitte, Hinweise oder Funktionsgruppen im Programm zu dokumentieren.
Eigenschaften bearbeiten
Wird ein Block ausgewählt, zeigt der Editor dessen Eigenschaften an. Dort können je nach Block beispielsweise Zeitraum, Grenzwert, Rechenart, Adresse oder Verzögerungszeit geändert werden. Auch der sichtbare Titel eines Blocks kann angepasst werden.
Änderungen an Eigenschaften werden im Editor unmittelbar übernommen. Sie werden jedoch erst auf dem Gerät wirksam, wenn das Programm übertragen wurde.
Entwurf und aktives Programm
Der Editor unterscheidet zwei wichtige Aktionen:
- Übertragen speichert das Programm auf dem Gerät und startet es.
- Als Entwurf speichern speichert den aktuellen Bearbeitungsstand auf dem Gerät, führt ihn aber nicht aus.
Ein Entwurf darf deshalb auch noch offene oder fehlerhafte Verbindungen enthalten. Das aktive Programm muss dagegen vollständig und gültig sein. Details stehen unter Speichern, Entwurf, Import und Export.
Gute Vorgehensweise bei größeren Programmen
Bei umfangreicheren Programmen empfiehlt sich eine klare Struktur:
- Signalfluss möglichst von links nach rechts aufbauen.
- Quellen, Verarbeitung und Ausgänge räumlich gruppieren.
- Eigene, sprechende Blocknamen vergeben.
- Textfelder als Überschriften oder Erklärungen einsetzen.
- Lange kreuzende Verbindungen möglichst vermeiden.
- Teilfunktionen zuerst aufbauen und anschließend verbinden.
- Vor der Übertragung offene Anschlüsse und rote Verbindungen beseitigen.
- Vor größeren Änderungen das Programm als
.wpgmexportieren.
Weiterführende Kapitel
Für die tägliche Arbeit sind besonders diese Kapitel relevant: