Kommandos an LCN-Module kommen nicht zuverlässig an

Moinsen,
ich muss auch noch mal berichten …
Bei mir sehe ich keine Fehler/Warnmeldungen.
Dafür habe ich aber (vor allem wenn Skripte mit vielen Schaltkommandos ausgeführt werden) eine deutliche Verzögerung beim ausführen. Dafür werden dann aber auch alle Kommandos sicher ausgeführt. Das war vorher nicht immer so.

Was ich immer noch mal (meist mehr zufällig) finde sind fehlende Statusmeldungen aus dem LCN. Schaltungen direkt im LCN werden damit nicht immer an IPS gemeldet.
Die alte Leier: Kommandos sind immer sicher (weil mit Quittung), Meldungen dürfen/können (auch im LCN) mal „verschluckt“ werden. Bei kritischen Modulen wiederhole ich die Statusmeldungen per Kommando im LCN mit einem periodischen Timer (bei zu kurzen Zeiten geht damit zwar die Busauslastung hoch, aber auch nicht in kritische Werte). Das hilft dann auch schon bei LED-Anzeigen (und Summen) im LCN, die ja üblicherweise auch ‚nur‘ auf Statusmeldungen reagieren - ein Kommando „LEDx ein/aus“ ist da deutlich sicherer (und braucht dann auch keine Statusabfrage).

Auch von mir viele Grüße und einen guten Rutsch
Uwe

Frohes neues Jahr alle,

Mon Uwe,
das klingt spannend, welche IPS Version nutzt du?
(meine Version: IIP-Symcon 6.1, SymBox (arm64), 23.12.2021, 80fd9b1342dd)

Happy New Year

Moin Jan Peter,
was findest du daran spannend? Für mich ist das (zumindest was die Meldungen angeht) alles „wie immer“.
Ich nutze geliche Version und Hardware, nur zur Kopplung habe ich noch einen Raspberry mit LCN-PK im Einsatz (da habe ich mir bislang das PKE „gespart“).

Grüße, Uwe

Hi,

Spannend ist das das bei einfach geht wie erwartet.
Somit vermutlich ein Thema mit dem PkE.

Gruss Jan Peter

Moin,
das mag ich nicht glauben - nur die PKE der 1. Generation hatten Hardware-Probleme (i.d.R. mit der damals verbauten SD-Karte). Die führten aber meist zum Totalausfall und wurden sehr kulant behoben, den Fehler merkst du dann aber auch schon mit Pro (da werden nicht alle Module ausgelesen/erkannt etc.pp.).
Ansonsten läuft auf dem PKE die gleiche PCHK V3.2.2 wie auf meinem RasPI.
Ich könnte die Kopplung auch noch mal mit einem LCN-VISU probieren (PKE sind bei mir „aus“).
Einen ähnlichen Test habe ich aber schon in unserem Bürogebäude (da läuft IPS mit der aktuellen ‚stable‘, also noch ohne Quittung) gemacht. Dort habe ich die PKE-Kopplung auch mal auf einen RasPI mit PKU gelegt - allerdings ohne „messbare Erfolge“. Und auch nur bis zu dem Zeitpunkt, wo mir der RasPI in ein OOM gelaufen ist, das PKE läuft …

Grüße, Uwe

Eine Frage an alle LCN Experten.

Ist es richtig, dass aktive Kommandos an Lämpchen (z.B. LED 5 an) von IPS nicht wahrgenommen werden?

@ paresy: Toll wäre es, wenn das auch noch funktionieren würde.

Grüße
Fridolin

Ich glaube die Summenlämpchen müssen aktiv abgefragt werden und werden nicht automatisch von den Modulen versendet.

paresy

Ich habe das gerade mal an einem 19er Modul probiert - da kommt der richtige Status mit etwas Geduld auch von alleine.
Ältere Module muss ich aktiv abfragen, bei einem ganz alten 07er DI12 kommt auch auf die Abfrage keine Antwort (da sehe ich den Status aber auch in der Pro nicht).
Die Module versenden auch nach einem quittierten LED-Schaltkommando (egal von wo ausgelöst) keine Meldung über den Zustand der LED, von daher ist das völlig „richtig“ (wenn auch ‚doof‘) so. Das liegt also nicht an den Künsten von @paresy , sondern ist ein „Feature“ im LCN (> kauft neue(re) Module).
Das ist für mich so einer der Punkte, wo man sieht wie LCN mit den Jahren schon immer ‚besser‘ geworden ist - und da ist auch heute immer noch Luft nach oben (> „Perfektion“).

Grüße, Uwe

Ich kann mich da nicht ganz anschließen.

image

Das Kommando schreibt aktiv in den Bus und Modul M31 wird aktiv veranlasst die LED entsprechend zu setzten. Also müsste eigentlich das Kommando auch von IPS gesehen und entsprechend verarbeitet werden können.

Meine Erwartung war also, dass IPS in der Instanz das Lämpchen entsprechend setzt

Logisch gedacht, muss der Befehl über den Bus gehen und müsste somit von IPS auch auswertbar sein. Den Status der LED bekomme ich leider nur durch aktives abfragen. Ein Ereignis auf die LED kann ich somit auch nicht setzen.

Grüße
Fridolin

„Logisch gedacht“ hast du recht, Fridolin.
Aber: auf KOMMANDOS reagiert niemand - außer dem Modul an das das Kommando gesendet wird.
Das ausführende Modul antwortet dann mit einer positiven Quittung (falls die nicht kommt, wird das Kommando erneut versendet) und - das leider je nach FW unterschiedlich - mit einer StatusMELDUNG vom aktuellen Zustand.
Nur dieser Zustand ist für weitere Ereignisse interessant - und den hat das Symcon ja auch bei den LED nach einer Abfrage. Leider lässt sich diese Abfrage nicht auf eine LCN-Taste programmieren, sie geht nur als PCK-Kommando (hier finde ich auch wieder die „Luft nach oben“).

Aus solchen Gründen nutze ich die (im LCN schon recht „mächtigen“) Logikfunktionen nicht mehr mit einzelnen LED sondern nur noch als ganze „Summe“ (ála ‚da ist noch Licht an im EG‘. Solche „Summen“ lassen sich aber im Symcon recht einfach auch mit mehr als 12 Aktoren erstellen. Dann ist es auch kein Problem damit per Kommando eine LED in LCN-Modulen zu schalten.

Grüße, Uwe

Hallo Uwe,

vielen Dank für den Hinweis mit der ganzen Summe. Ich habe da etwas Verständnisprobleme. In LCN reagieren die Summen doch über die Logik auf C1-C4. Kannst du mir bitte ein Beispiel bereitstellen, wie du das meinst?

Eines meiner Probleme kurz beschrieben.
Ich steuere z.B. die Schwimmbadfilteranlage über so eine Logik. Je Bedarf (z.B. Solarwärme vorhanden, Badebetrieb, Mindestlaufzeit nicht erreicht, usw.) verwende ich eine LED. Falls eine davon an ist, läuft die Umwälzpumpe über Cx. Nun steuere ich über IPS weitere Gründe über weitere LED dazu und kann nicht sicher sein, dass die LED aus IPS geschaltet wirklich geschaltet wird.

Einzige Möglichkeit sehe ich nun darin, nach dem Setzen des Befehls die Statusmeldung abzusetzen, kurz zu warten und dann zu prüfen, ob die LED an/aus ist. Sehe ich das richtig?

Vielen Dank und herzliche Grüße
Fridolin

Hallo Fridolin,

du könntest in LCN eine LED mit einen virtuellen Ausgang koppeln.
Den Ausgang kannst du sicher über IPS steuern.

Gruss Jan Peter

Hallo Jan Peter,

danke für den Tip. Ich habe das bereits bei ganz wichtigen Schaltungen so gemacht und zusätzlich die Empfehlung vom LCN-Support eingebaut, bei der LED sowohl den Status des virtuellen Ausgangs (virtuelles Relais) abzufragen als auch aktiv vom virtuellen Ausgang die LED zu schalten. Also Netz mit doppeltem Boden. Das virtuelle Relais habe ich ja mit der neuen IPS-Version voll im Griff.

Schön wäre es, wenn die LED zuverlässig direkt aus IPS geschaltet werden könnte. Ich hatte diesbezüglich bereits Kontakt mit paresy.

Viele Grüße Fridolin

Moin Moin,
den Tipp der LCN-Hotline mit dem „doppelt moppeln“ kenne und nutze ich auch. Der Hintergrund ist einfach: das SchaltKOMMANDO über einen Status bekommt eine Quittung und wird sicher ausgeführt (die Einstellungen unter 7LEDs reagieren ja nur auf die unsicheren MELDUNGen). Für mein Gefühl - ich habe das (noch) nicht probiert - sollte (jetzt) ein Schaltkommando auf eine LED aus Symcon genauso sicher (mit Quittung) ausgeführt werden wie von einem Statuskommando aus dem LCN.

Grüße, Uwe

Hallo Uwe,

ich habe mich heute Morgen mit Herrn Maroszek darüber ausgetauscht. Die Quittung bei LED-Kommandos liefert nach ersten Erkenntnissen keine Einzelinfo über die einzelnen LED zurück.

Herr Maroszek ist der Meinung, dass IPS damit nur wenig bis gar nichts anfangen kann.
Das anschließende Abrufen des aktuellen Status liefert das Ergebnis. Kann man also selbst so programmieren und das Ergebnis überprüfen.

Ich gehe nun bei ganz wichtigen Sachen über logische Relais (hab ich ja genügend in der Anlage), die die LED sicher schalten und aktiviere noch Netz und doppelten Boden :slight_smile:

Vielen Dank für deine tolle Unterstützung.
Herzliche Grüße
Fridolin

Moin Fridolin,
bei der Rückmeldung teile ich die Meinung von Michael (und lerne wieder etwas dazu, das habe ich „so“ noch nie gesehen - das war aber ohne Quittung auch nicht relevant). Ich gebe aber nicht auf - wegen „anderer Probleme“ habe ich einen recht guten Kontakt zum Leiter der LCN-Hotline. Vielleicht ist hier auch nur mal ein Upgrade der 5Jahre alten PCHK dran … (im LCN wird das ja passend quittiert, sonst würde das schalten dort per Statuskommando ja auch ‚hin und wieder‘ nicht gehen).
Die Aussage „das geht nicht, weil IPS keine Quittung verarbeitet“ kann ich ja nun prinzipiell auf ungültig setzen.
@paresy … da kann ich dann auch die OEM-Frage noch mal wiederholen. :loveips:
Gibt es eine timeline wann ich das „stable“ auch auf meine problematischen Kundenanlagen loslassen kann?

LG, Uwe

So ist das auch, und danach die Abfrage mit SMT liefert dann.
Zum Glück hatte ich bis jetzt nicht so die Probleme mit der Zuverlässlichkeit der Kommandos meiner kleinen Anlage. Das ein oder andere Problem (Fehlerhafte Firmware in uralten LCN Modulen) umschiffe ich auch mit Hilfe von IPS.

lg Thomas

Ich hatte früher (vor Symcon) meine Schwimmbadpumpe und das eine oder andere mehr mit LCN Summen und Logik gelöst. Das wurde schnell sehr unübersichtlich und schwierig in der Doku.

Um nicht weiter in so eine Situation zu kommen, habe ich in LCN nur mehr die Grundfunktionalitäten und ein paar „Altlasten“ was Logik betrifft.

Die restliche Logik wird bei mir nur mehr mit IP Symcon umgesetzt. Das läuft richtig gut und auch die Dokumentation und evt. Fehlersuche ist in Symcon wesentlich angenehmer.

lg
hagi

1 „Gefällt mir“

Moin,
aus genau den von Karl beschriebenen Gründen habe ich das auch auf IPS umgestellt - da ich das seit der 1.0 nutze finde ich leider auch dort immer noch mal „Altlasten“ (aber ich finde sie).

Und um mir zur Aussage von Thomas noch mal Luft zu machen: das ist nicht nur bei „alten“ Modulen so, dass ich Fehler in Modulen mit IPS umschiffe(n muss). Ich habe in den letzten Wochen/Monaten immer mal wieder Momente gehabt, wo ich den ganzen Quatsch wirklich „verflucht“ habe. Da treten Fehler dann erst auf, wenn die Anlage ein paar Monate läuft. Allein diese „Universaldimmer“ mit LED-Leuchtmitteln haben mittlerweile so viele Einstell/Anpassungsmöglichkeiten, dass man „kirre“ wird. Einmal falsch eingestellt = Modul defekt (OK, das wird immer noch sehr kulant repariert). Ich „versenke“ endlose Stunden in Fehlersuche und „Umschiffung“, die einem kein Mensch bezahlt / bezahlen will.
Je größer und je älter die Anlage desto größer werden die Probleme, rein in der Hardware/FW. Ich möchte das hier nicht im Detail auflisten, aber es ist tw. schlicht zum k…
Wenn ich aber hier im Forum auch mal bei anderen Anlagen/Herstellern mitlese geht denen das eigentlich auch nicht besser.
Teilweise sind das m.E. aber auch „Pandemie-Fehler“ aufgrund minderwertiger Bauteile (weil es nichts anderes gab).

Das einzige, was bei mir (wenn ich ohne ‚Fehler 40‘ arbeite) wirklich klaglos (und egal in welcher Version) läuft, ist IP-Symcon. Das, was die Jungs in Lübeck da leisten, ist IMHO nicht nur unbezahlbar - es ist (für mich) in Geschwindigkeit und Präzision auch nicht mit anderen Systemen vergleichbar. Da ziehe ich (nach wie vor) hochachtungsvoll meinen Hut - bitte nicht nachlassen :loveips:

LG, Uwe

Hallo ihr LCN Fans,

anbei ein Script zum auslesen aller Seriennummern.
Ist zusammen gebaut und angeregt aus den Beiträgen hier im Text.

<?php
$id_modul_db = 39373; //String Variable für Modulliste
$InstanzID = 13690; // LCN Socket


if ($_IPS['SENDER'] == 'Execute')
{
    
    SetValueString($id_modul_db, '');

    for ($i=5; $i <= 127; $i++)
    {
        
        $Modul_ID = strval($i);
        $Modul_ID = substr_replace('>M000000', $Modul_ID, 8-strlen($Modul_ID), strlen($Modul_ID));

        $TX_BUF= $Modul_ID . '.SN'.chr(10);    //Seriennummer abfragen
        CSCK_SendText($InstanzID  ,$TX_BUF);
        IPS_Sleep(500);
    }
    
    $modul_db = json_decode(GetValueString($id_modul_db), true);
    print_r ($modul_db);
}


if ($_IPS['SENDER'] == 'RegisterVariable')
{
    $modul_db = json_decode(GetValueString($id_modul_db), true);

    if (substr($_IPS['VALUE'], 1 ,1) == 'M')
    {
        $Modul_id = substr($_IPS['VALUE'], 5, 3);
        $Modul_id = floatval($Modul_id);

        if (substr($_IPS['VALUE'], 8 ,3) == '.SN')
        {
            $SN = substr($_IPS['VALUE'], 11 ,10);
            //IPS_LogMessage("Test", "M" . $Modul_id . " " . $SN );
    
            $modul = ["no" => $Modul_id, "SN" => $SN];
            $modul_db[] = $modul;
        
            $str = json_encode($modul_db);
            SetValueString($id_modul_db, $str);
        }
    }
}

Da ich versuche meine Anlage etwas zu analysieren, hilft es bei Resets von Modulen

1 „Gefällt mir“