LCN: Anfrage Summe (Logik-Status) aus IP Symcon und/oder PCHK-Befehl für Summenbildg.

Hi liebes Forum,

ich möchte in LCN anzeigen, ob in einem Raum ein Fenster geöffnet ist. Mathematisch ausgedrückt: ob mindestens ein Fenster offen ist. Hat der Raum mehrere Fenster, lege ich diese auf LED’s und frage sie per Logik (Summe) ab. Funktioniert 1a.

Nun zeige ich im Symcon-WebFront den Wert der Summen-Objekt-ID an. Funktioniert auch 1a.

Bis auf den Fall, dass ich mal den RasPi neu starte oder es einen Stromausfall gibt. Dann zeigt das Symcon-WebFront bei allen Summen-Objekt-ID’s unter Umständen irgendwas, nur nicht den aktuellen LCN-Zustand an.

Für LED’s, Values, Schwellwerte, Relais und Ausgänge gibt es coole LCN_RequestXyz-Funktionen in Symcon, um den Status der LCN-Werte neu abzufragen und mit Symcon zu synchronisieren.

Gibt es so etwas auch für den LCN-Logik-Zustand (Summe)? Oder anders herum ggf. auch über ein PCHK-Kommando, kann man da ggf. den Logik-Zustand neu abfragen bzw. die Summen-Bildung neu anstoßen, so dass er in Symcon auf diese Weise aktualisiert wird?

Freu’ mich auf Rückmeldung.

Viele Grüße von der Bergstraße

Lars

PCHK-Befehl ist SMT.

Zitat Doku
Statusabfrage LEDs:
SMT Fragt die LEDs (Tableaulämpchen) ab.
=Mssaa.TLllsu ss : Segment-ID (0=eigenes Segment)
aa : Modul-ID des meldenden Moduls
. : Trenner (ohne Bedeutung)
ll : LED 1…12 = 12 Zeichen:
A=aus, E=ein,
B=Blinken, F=Flackern,
su : Summe 1…4 = 4 Zeichen:
N=nicht erfüllt,
T=teilweise, V=voll erfüllt

Beispiel: Modul meldet LED 3,6,7,8,11; Su 2,3
=M000034.TLAAEAABFEAABANVTN

Hoffe es hilft dir weiter.

Moin Lars,
findest du auf Seite 16 …
Die Anfrage siehst du im Busmonitor der Pro aber nur, wenn du (geht nur mit Administratorpasswort) den ‚int.Status‘ einschaltest. Die Antwort kommt natürlich auch ‚unsichtbar‘.

LCN_SendCommand(12345 /*Modul ID Splitter Instanz*/, 'SM', 'T');

Was leider nicht in der Doku steht: auf die Anfrage antworten ältere Module leider nicht (bei mir z.B. ein altes DI12 mit FW 07, also Bj.1997).

LCN_RequestLights (12345 /*ID Tableau*/);

macht übrigens nichts anderes :wink:

Grüße, Uwe

Hi ihr beiden,

danke für die Info’s. Es funktioniert zwar, aber nicht so, wie ich es mir vorstelle. Ich schilder’ mal meine Umgebung…

Ich habe das LCN-Modul 21 als Splitter-Instanz (Uwe, von Dir so eingerichtet) und unter Sums erscheinen die 4 Summen mit jeweils einer eigenen ObjektID (InstanzID ist es vermutlich nicht). Diese hätte ich gerne aktualisiert, falls was wegen Stromausfall nicht mehr passt. War bei mir tatsächlich schon einige Male so, dass nach dem Hochfahren des RasPi die Summe einen falschen Status anzeigt.

Die unter Data/Tableau/Sum Lights von mir eben angelegte Instanz aktualisiert sich 1a durch LCN_RequestLights bzw. SMT, aber eben nicht automatisch bei Statusänderung, sondern nur nach Absetzen von LCN_RequestLights (wie in der Doku beschrieben).

Leider aktualisieren sich aber die vier Summen/Statusvariablen Sum (1)-(4) nicht durch den Befehl. Wenn ich LCN_RequestLights auf die Splitter-InstanzID ansetze, gibt’s die Fehlermeldung:
=> Warning: Instance does not implement this function in /var/lib/symcon/scripts/41792.ips.php on line 3

Gibt es eine Möglichkeit, per LCN_RequestLights die vier Summen zu aktualisieren?

Freu’ mich auf Input.

1.000 Dank.

Herzliche Grüße von der Bergstraße: Lars

Moin Lars,
das LCN_RequestLights musst du auf die Tableau-ID (müsste bei dir die 11181 sein) schicken, sonst kommt die Fehlermeldung.
Die sieht bei mir dann so aus:


Die dort enthaltenen Sum Lights werden auch mit aktualisiert (N, T oder V).

Die von dir neu angelegten Summen (1 Bool, 1 Int-Wert) reagieren leider nur auf eine Statusmeldung vom Modul, die du aber nicht per PCK abfragen kannst (auch SMM geht dafür nicht).
Die Pro hat dafür dann schon ein Kommando, dass du dir bei Bedarf auf eine Taste im LCN programmieren könntest.
sum_pro.jpg

Hilft dir das weiter?
Grüße, Uwe

Hi Uwe,

vielen Dank, das dürfte helfen & ich glaube jetzt auch verstanden zu haben, wie das funktioniert. So kann ich die Summenaktualisierung auf eine LCN-Taste legen und diese über Symcon aufrufen, schon sollte sich alles aktualisieren.

Offen gestanden habe ich den Sinn der Tableau-ID-Geschichte noch nicht verstanden. Also der (für mich) neue Bereich in Symcon, der alle LED’s und Summen zusammenfasst. Mein Verständnis ist, dass er sich nicht autom. aktualisiert, d.h. wenn ich zwei Fenster auf je eine LED lege und per Summe/Logik abfrage, ob eines der Fenster geöffnet ist, müsste ich erst ein LCN_RequestLights absetzen. Für Skripte 1a, für eine Visualisierung aber m.E. unbrauchbar, weil sich die LED’s/Summen ja jederzeit ändern könnten. Hab’ ich das so richtig verstanden?

Die andere Methode über Boolean/Integer aktualisiert sich zwar stetig, allerdings nur direkt vom Modul aus. Bei Inkonsistenzen zwischen LCN und Symcon (z.B. nach Stromausfall) könnte ich über den Umweg LCN-Taste synchronisieren. Hab’ ich auch das richtig verstanden?

Welche Variante nimmst Du für eine Visualisierung einer Summe?

Grüße aus Niederrad

Lars

Moin Lars,
ich nutze fast nur noch die Tableau-Anzeige. Dafür habe ich ein zusätzliches Modul verfügbar, dass mir die „döseligen“ Buchstaben in klaren Text verwandelt. So steht dann gleich „Es sind EINIGE Fenster offen“ im WebFront.

Beim reboot nutze ich das Start-Skript von IPS um alle benötigten Daten (mit der tw. notwendigen Verzögerung) neu abzufragen. Im laufenden Betrieb aktualisiert sich das dann recht zuverlässig.

Grüße aus Asendorf, Uwe

Hi Uwe und alle diejenigen, die das gleiche Problem haben,

möchte meine Erkenntnisse mal zusammenfassen…

Die Variablen unter Tableau/Sum Lights aktualisieren sich ausschließlich durch LCN_RequestLights, also nicht automatisch durch Änderung eines/des Zustands, daher für eine WebFront-Darstellung m.E. ungeeignet.

Lösung wäre, ein Skript/Modul zu bauen, das alle (z.B.) 10 Sekunden an alle in Frage kommenden Module ein LCN_RequestLights absendet (erzeugt allerdings ggf. hohen Traffic, je nach Anzahl der Module).

Die einzelnen Sum-Variablen aktualisieren sich 1a automatisch, können allerdings nicht per LCN_RequestLights aktualisiert werden. Sie sind zwar m.E. super für ein WebFront geeignet, allerdings gibt’s Inkonsistenzen zwischen LCN und IP Symcon, wenn es z.B. einen Stromausfall gibt oder der RasPi neugestartet werden muss.

Lösung ist - wie von Uwe vorgeschlagen & Danke dafür an dieser Stelle, innerhalb von LCN eine beliebige Taste wie folgt zu belegen: Kommando Statusmeldung, Auswahl Statusmeldungen Logik(Summen) & Auswahl der gewünschten Summen, die nach IP Symcon synchronisiert werden soll. Anschließend diese Taste aus IP Symcon per Skript aufrufen, schon läuft’s.

Eben getestet :slight_smile:

Vielen Dank an’s Forum, insb. Dich, Uwe.

Grüße von der Bergstraße sendet: Lars