Hi zusammen,
ich versuche mich aktuell an meinem ersten eigenem Device.
Ich würde gerne über die existierende Statusfunktion nicht nur den Zustand sondern einen Text weitergeben. Diesen “Fehlertext“ erhalte ich vom Device.
Ich habe mir andere Implementierungen angesehen aber nichts in diese Richtung gefunden.
Bisher habe ich es nur geschafft, einen statischen Fehler anzuzeigen über:
ERROR_STATE(Doc.of(Level.WARNING).text("TEST")),
ich würde gerne “TEST“ beim aktivieren oder deaktivieren des Fehlerzustandes ändern können.
Ist das möglich oder sind die StateChannel anders gedacht?
Hallo,
das ist aktuell nicht möglich und auch nicht in Planung. In diesen Fällen legen wir mehrere spezifische StateChannel für die jeweiligen Fehler an.
Was ist dein konkreter Use-Case?
Gruß,
Stefan
Hallo ,
vielen Dank für die schnelle Antwort.
Mein Use-Case ist der folgende:
Das Kommunikationsprotokoll des Devices definiert keine fest vorgegebenen Fehler sondern nur eine Zahl für das Fehlerlevel und einen String mit der Nachricht.
Ich würde diese Nachricht sehr gerne in der UI anzeigen, damit sich nicht-technische Nutzer nicht in den Logs zurechtfinden müssen, um zu verstehen was das Problem ist.
Wenn dynamische StateChannel Beschreibungen nicht möglich sind, würde es vermutlich Sinn machen einen extra Channel für den Fehlertext anzulegen. Oder gibt es dafür eine bessere Option?
Viele Grüße
Wenn die Fehlerlevel (Zahl + Nachricht) im Vorhinein bekannt sind, kannst du dafür Channels definieren:
Wenn sie nicht bekannt sind, kannst du auch dynamisch Channels zur Laufzeit erstellen. Ich habe aber kein Beispiel, bei dem das mit StateChannels gemacht wurde - und es könnte sein, dass manche Dinge damit nicht optimal funktionieren:
Oder dritte Lösung, wie von dir vorgeschlagen: zwei Channels für Fehlerlevel-Zahl und Fehler-Text. Das ist aber dann nicht gut in das UI integriert.
Ich weiß gerade nicht wie aufwendig es wäre, die Funktion mit voll-dynamischen Texten zu bauen. Problem dürfte sein, dass das UI dann die Texte gezielt abfragen müsste und nicht mehr per einfachem Subscribe und die EdgeConfig an die Werte kommt.
Es ist übrigens schon möglich die Channel-Texte zu übersetzen - sie sind also schon zum Teil dynamisch. Damit wirst du deinen Use-Case aber m.E. nicht abbilden können.
Um welches Gerät geht es denn?
Vielen Dank für den weiteren Input.
Ich werde versuchen, von dem Hersteller eine Liste an möglichen Fehlernachrichten zu bekommen.
Gibt es eine Referenzimplementierung für die Übersetzung von Channeltexten? Das wäre unabhängig von den dynamischen Texten spannend.
Es geht um eine projektspezifische Batterie, die in der Form nicht am Markt verfügbar ist. Ich nehme an, dass es in diesem Fall dann keinen Sinn macht den Code auch in den öffentlichen Teil zu mergen.
Viele Grüße