An open API service indexing awesome lists of open source software.

https://github.com/andreaskuhl/3stated

FrSky Ethos Widget for textual and color display of 3 states of a source (switch, variable, ...).
https://github.com/andreaskuhl/3stated

ethos lua rfsky widget x20

Last synced: 4 days ago
JSON representation

FrSky Ethos Widget for textual and color display of 3 states of a source (switch, variable, ...).

Awesome Lists containing this project

README

          

## 🌐 Andere Sprachen | Other Languages
- [Englisch | English](readme.md)

â„č Die englische Version ist KI-Übersetzt von der deutschen Version readme.de.md

***

3STATED | 3-Zustand-Anzeige

Widget fĂŒr die textuelle und farbliche Anzeige von 3 ZustĂ€nden einer Quelle (Schalter, Variablen, ...).
Version 2.0.1

| | |
| -------------------- | --------------------------------------------------- |
| Entwicklungsumgebung | Ethos X20S-Simulator 1.6.3 |
| Testumgebung | FrSky Tandem X20, Ethos 1.6.3 EU, Bootloader 1.4.15 |
| Autor | Andreas Kuhl (https://github.com/andreaskuhl) |
| Lizenz | GPL 3.0 |

Wenn es Ihnen gefĂ€llt, können Sie es mit einer Spende unterstĂŒtzen!



paypal

- [FunktionalitÀt](#funktionalitÀt)
- [Ideen zu weiteren Funktionen](#ideen-zu-weiteren-funktionen)
- [Installation](#installation)
- [Danksagung](#danksagung)
- [Bilder](#bilder)
- [Release Informationen](#release-informationen)

# FunktionalitÀt
- **3 ZustÀnde** (Status) definierbar
- Unten -> i.d.R. negative Werte
- Mitte -> i.d.R. Null
- Oben -> i.d.R. positive Werte
- **Zustands-Quelle frei wÀhlbar** (Schalter, Variablen, System, Telemetrie, ...)
- Je Zustand sind **Text, Hintergrundfarbe und Textfarbe wÀhlbar**
- **Schwellenwerte** (SW) frei definierbar
- Vorbelegung: SW-Unten = -50, SW-Oben = +50
- Auswerteregel:
1. kleiner SW-Unten --> Zustand "Unten"
2. grĂ¶ĂŸer/gleich SW-Unten und kleiner SW-Oben -> Zustand "Mitte"
3. sonst (grĂ¶ĂŸer SW-Oben) -> Zustand "Oben"
- Wenn SW-Unten gleich S-Oben gesetzt wird, reduzieren sich die möglichen ZustÀnde auf "Unten" und "Oben"
("Mitte" ist nicht erreichbar).
Hinweis: Die verschiedenen Quell-Typen haben auch verschiedene Wertebereiche (Schalter -100 bis 100,
Drehregler -1024 bis 1024, ...). Daraus ergeben entsprechend unterschiedlich sinnvolle
Schwellenwerte.
- **Titel und Quelle anzeigen** (jeweils schaltbar), in klein oberhalb des Zustandstextes. Der Titelbereich kann dabei wahlweise in den Zustandsfarben angezeigt werden oder mit gesondert definierten Farben fĂŒr Hintergrund und Text.
- **Mehrzeiliger Zustandstext**. Einfach im jeweiligen Zustandstext "\_b" (fĂŒr "line break") als Zeilentrenner einfĂŒgen. Beliebig viele Zeilen sind möglich, aber durch TextlĂ€nge, Widget- und SchriftgrĂ¶ĂŸe begrenzt.
- **Quell-/Wertanzeige**. Einfach im jeweiligen Zustandstext folgende Platzhalter eintragen:
- Name der Quelle (name): "\_n"
- Text des Quellwertes (text): "\_t"
- Numerischer Quellwert (value): "\_v"
- "... mit \ Nachkommastellen gerundet: "\_v"
- Sonderzeichen \_: "\_\_"
Beispiel: "\_n: \_t (\_1v)" ergibt "Empf.Bat: 5.27V (5.3)"
Dies funktioniert mit allen Arten von Quellen, also auch Flugphasen, Schalter, Telemetrie- und Systemwerte.

- **Analyse-Modus** (schaltbar): Ausgabe von Quelle, Wert und Zustandstext. U.a. zum Testen und Ermitteln passender Schwellwerte.
- **Lokalisierung**: Deutsch (de), Englisch (en), Französisch (fr), Spanisch (es), Italienisch (it) und Tschechisch (cs)

# Ideen zu weiteren Funktionen
- **Template-Mechanismus**, um verschiedene Konfigurationen des Widgets einfach in ein Modell zu laden.
Sinnvoll, da die Konfiguration recht umfangreich geworden ist und in vielen Modellen die gleiche Zustands-Anzeige benötigt wird - z.B. Schleppkupplung offen/geschlossen, Motor-Notaus aktiv/deaktiv, Wölbklappenstellung Thermik/Normal/Speed, ...
- **5-ZustÀnde**, statt 3 auch 5 ZustÀnde - z.B. bei Analogen Reglern -> Braucht man das?
- Weitere Lokalisierung -> Bei Bedarf einfach melden ... oder noch besser eine Übersetzung zuliefern.

Bitte melden wenn dafĂŒr, bzw. anderen Funktionen, ein Bedarf besteht.
=> In GitHub ein Issue einstellen, natĂŒrlich ebenso bei Fehlern!

# Installation
Aus dem aktuellen GitHub-Release die 3stated\_x\_x\_x.zip herunterladen und daraus das Verzeichnis "3stated" in das "scripts"-Verzeichnis der X20-SD-Karte kopieren.
Beim nÀchsten Sender-Start sollte das Widget auswÀhlbar sein.
FĂŒr weitere Details zur LUA-Widget-Skript-Installation einfach im Internet suchen. Dies wurde schon vielfach beschrieben.

# Danksagung
Vielen Dank fĂŒr die folgenden hilfreichen Beispiele:
- Schalteranzeige (V1.4 vom 28.12.2024), JecoBerlin
- Ethos-Status-widget / Ethos-TriStatus-widget (V2.1 vom 30.07.2025), Lothar Thole (https://github.com/lthole)

# Bilder
Beispiel-Zustandsanzeigen:

![Beispiel Staus-Anzeigen](./images/example.png)

Die passende Beispiel-Modelldatei ist Teil des Release: siehe "extra 3stated.bin".

# Release Informationen

| Version | Datum | VerÀnderung |
| ------: | :--------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 2.0.1 | 30.12.2025 | Fehlerbehebung: Bei der Konfiguration der Schwellwerte, kam es zu Problemen bei Einstellen von kleinen Nachkommastellen ... dies ist jetzt behoben. |
| 2.0.0 | 19.10.2025 | Neue Funktionen: Wertanzeige im Zustandstext oder Titel (numerischer oder textueller Quell-Wert), Restrukturierung der Widget-Konfiguration, "Quelle anzeigen" durch Platzhalter "_n" ersetzt und Code-Verbesserung. |
| 1.1.0 | 09.09.2025 | Neue Funktion: Mehrzeiliger Zustandstext. |
| 1.0.2 | 02.09.2025 | Implementierung der Benutzerdaten-Versionsnummer zur Identifizierung und Konvertierung Ă€lterer Benutzerdaten Ă€lterer Widget-Versions-Daten. Interne Erweiterung fĂŒr zukĂŒnftige Verwendung - kein Update aus Benutzersicht notwendig. |
| 1.0.1 | 31.08.2025 | Aktualisierung Readme: Angepasste Installations-Beschreibung. Kein eigenstÀndiges Release-Paket. |
| 1.0.0 | 31.08.2025 | Erstes offizielles Release. |

[↑ ZurĂŒck nach oben](#top)