LCN: Abfrage gesperrte Tasten

Moin Community,

ich würde in meinem LCN-Projekt gerne abfragen, ob eine Taste gesperrt ist. Theoretisch funktioniert das super mit dem IPS-Kommando LCN_SENDCOMMAND und dem PCHK-Kommando STX, aber leider bekomme ich als Rückgabe nicht die Antwort von LCN, sondern ‚nur‘ eine 1 für ‚Befehl erfolgreich ausgeführt‘.

Zwei Gedanken

  1. Gibt es jetzt bereits eine Möglichkeit, den Status einer Taste (gesperrt/nicht gesperrt) abzufragen?
  2. Wenn nicht, dann würde ich das gerne an Dich, @paresy als Feature-Request für eine künftig IPS-Versionen einreichen :slight_smile:

Freu’ mich auf Eure Gedanken dazu.

Herzliche Grüße sendet

Lars

Wird per Register Variable und Skript gehen.

Sendet LCN diesen Zustand auch aktiv? Denn Abfragen ist auf lange Sicher immer etwas doof und der Zustand hinkt hinterher.

paresy

Hi paresy,

schön von Dir zu lesen. Dank Deiner Empfehlung werkelt hier jetzt eine SymBox, bin mega zufrieden und hab’ in einem anderen Thread eine Anleitung geschrieben, so dass Gleichgesinnte einen leichteren Einstieg haben :slight_smile:

Leider weiß ich nicht, ob die Meldungen in den Bus gepusht werden. Vermutlich aber nicht, denn es gibt ja laut LCN-PCK-Doku den Abfragebefehl STX. Habe (aus der üblichen Quelle) eine PCK-Doku Stand 08.2017, dort auf Seite 15 zu finden. Der würde mir helfen, möchte nur abfragen, um sicherzugehen, dass alles einwandfrei läuft.

Schön wäre es, analog der Symcon-GET-Befehle ein LCN_GetSwitchStatus(InstanzID); zu haben, das dann den Status der Tastensperren abfragt und z.B. in einem Array pro Tastentabelle A-D und Status zurückgibt.

Hast Du die PCK-Doku?

VG: Lars

Musst mit STX abfragen, wie viele andere Dinge auch.

Hi paresy,

möchte das Thema noch einmal in Erinnerung rufen und würde mich freuen, wenn es in einer der kommenden Symcon-Versionen…

entweder die Möglichkeit gibt, LCN-Befehle so abzusetzen, dass man die Rückgabe von LCN erhält (vielleicht zusätzlich zum bisher implementierten Status noch ein Array mit der LCN-Antwort),

oder es einen Symcon-Befehl zur Abfrage gesperrter Tasten gibt.

Hintergrund: habe ein Skript bei mir laufen, das 1/Tag zwei Tasten sperrt und 1,5h später wieder entsperrt (Sinn: Heizbetrieb in zwei Räumen manuell auslösen, auch wenn Solltemperatur höher als Isttemperatur ist). Etwa 1/Monat wird die Tastensperre per LCN-Befehl nicht wieder herausgenommen, obwohl der LCN_SendCommand als Returnwert ‚true‘ meldet (also landläufig alles OK sein und funktioniert haben sollte).

Freu’ mich auf Dein nochmaliges Feedback.

Hab’ vielen Dank.

VG: Lars

Hi Lars,

es ist in IPS eher selten, dass wir asynchrone Antworten direkt als Rückgabewert liefern. Somit wäre der Weg eine Request-Funktion zu bauen, welche dann den aktuellen Status in eine Variable schreibt.

Ich verschiebe mal das Thema in den Wünsche Bereich - da die Nachfrage zu dem Thema aber bisher eher moderat ausfällt, glaube ich nicht, dass dies sehr zeitnah kommen wird. Ggf. macht es also sinn, wenn du dir den Workaround mit Register Variable noch einmal anschaust.

paresy

Hi paresy,

möchte das Thema noch einmal pushen. Konnte es nicht in den Wünschen finden.

Wie kann das priorisiert werden? Den Workaround halte ich für Ressourcenverschwendung in LCN (redundante Hinterlegung des Zustandes) und bei wenigen Modulen auch schwer umsetzbar, weil man freie virtuelle Relais dafür braucht.

Eine Abfragemöglichkeit wäre einfach klasse und ist meines Erachtens auch super leicht umsetzbar, da im LCN-Befehlssatz bereits integriert.

Freu mich auf Feedback.

Herzliche Grüße
Lars