Kommandos an LCN-Module kommen nicht zuverlässig an

:point_up_2:
Ich hättet auch Interesse.

Hallo darf ich mich hier anschließen, ich bekomme das Reset Kommando nicht hin?
Wäre auch an dem PCHK Befehl interessiert!

** DANKE **

Um einen Reset per PCHK zu erzeugen, braucht es sie SerienNr vom LCN Modul, und vorher mus das LCN Modul in den Programmiermodus gesetzt werden. Das hat alles mal viel Arbeit gemacht, dass raus zu finden, und ich gebe das jetzt mal hier noch mal weiter.#
Zuerst brauche ich IPS Id vom Modul als $ModulId, danach die Seriennummer von dem Modul (hex in dez umgerechnet) in $sn.
Danach einfach ein Skript mit den Daten aufbauen und absenden.

<?php
$ModulId = 46362;
$sn ="015001031236163";
LCN_SendCommand($ModulId, "X3", "120".$sn."001");//P-Mode setzen bei Firm 0F "001" durch "129" ersetzen
sleep(1);
LCN_SendCommand($ModulId, "X2", "121170085");// Reset 79 AA 55 =  121 170 085

Dann habe ich noch eine Register Variable LCN, wo ich alle Seriennummer ablege.

<?php
$ModulID = IPS_GetParent($_IPS['SELF']);
if ($_IPS['SENDER'] == "RegisterVariable")
   {
       	$inbuf  = RegVar_GetBuffer($_IPS['INSTANCE']);
       	$inbuf .= $_IPS['VALUE'];
		$lcn_array=explode(chr(10).chr(13), $inbuf);
		
		for($x = 0; $x < count($lcn_array); $x++){
		$lcn_meld_typ= substr($lcn_array[$x], 0, 1);
		switch($lcn_meld_typ){
		case "=":
	      $lcn_status_typ=substr($lcn_array[$x], 9, 2);
		  switch($lcn_status_typ){
			    case "SN":
			// $inbuf= '=M000156.SN0A091802D801FW010101HW011';
			      $lcn_mod="M" . substr($lcn_array[$x], 5, 3);
			      $lcn_par=substr($lcn_array[$x], 11, 10);
				  $lcn_var=$lcn_mod .  "SN";
			      $lcn_con=$lcn_par;
//			      VAR_DUMP($lcn_con, $lcn_mod);
				  $id = CreateVariableByName($ModulID, $lcn_var, 3);
$str=$lcn_par;
$arr=str_split($str, 2);
$b1=str_pad(hexdec($arr[0]), 3 ,'0', STR_PAD_LEFT);
$b2=str_pad(hexdec($arr[1]), 3 ,'0', STR_PAD_LEFT);
$b3=str_pad(hexdec($arr[2]), 3 ,'0', STR_PAD_LEFT);
$b4=str_pad(hexdec($arr[3]), 3 ,'0', STR_PAD_LEFT);
$b5=str_pad(hexdec($arr[4]), 3 ,'0', STR_PAD_LEFT);
$sn=$b1.$b2.$b3.$b4.$b5;
$lcn_par=$sn;
	              SetValue($id, $lcn_par);
			      break;
		}		
		}
	}
}
function CreateVariableByName($id, $name, $type)
{
   $vid = @IPS_GetVariableIDByName($name, $id);
   if($vid===false) {
      $vid = IPS_CreateVariable($type);
      IPS_SetParent($vid, $id);
      IPS_SetName($vid, $name);
   }
   return $vid;

}

SN abfragen mach ich noch mit dem alten Sktipt von Hand.

<?php
$InstanzID = @IPS_GetInstanceIDByName("Client Socket LCN", $ParentID);
$TX_BUF= '>M000161.SN'.chr(10);    //Seriennummer abfragen
CSCK_SendText($InstanzID  ,$TX_BUF);

Vielen Dank für den Prompten Service :slight_smile:
LG Tobias

Deine ID45604 ist die Beste :slight_smile: :wave:

lg
hagi

HM,
was meist du Karl?

mhm :open_mouth:

grafik

:rofl:

Ich habe zwar nicht gefragt, musste es aber auch direkt mal testen und werde es wohl für 2 Modul fest einbauen.

Oh Ha,
die uralte Altlast im Bild.
Ok Hagi(Karl) das skript würde immer noch laufen. :innocent:

Ich habe es fest auch bei 2 Modulen laufen, die nach ~1 Stunde die B3I am I-Port vergessen, und konnte das somit umgehen. Vorm Reset merke ich mir per IPS den Status und setze nach Reset neu, passt hier. :innocent:

Funktioniert alles wie erwartet und von Dir gewohnt Thomas!!!

Ich brauche es zwar nicht, habe es aber mal für den Fall :wink:

Hatte das Problem mit den Rollläden früher auch einmal, Aber so ein paar Millisekunden Verzögerung konnten das gut entzerren und vor allem das super Skript von Smudo und seine Anpassungen laufen perfekt mit LCN und lassen keine Wünsche offen - wer will sucht unter „Jalousiemaster“ :wink:

lg hagi

Damit habe ich kein Problem, die BMI werden gut erkannt. Bei mir werden leider die beiden 1-wire DS1820 nicht immer zuverlässig erkannt. Aber da hat der Modul-Reset gerade auch nicht geholfen.

Wo hast die DS1820 dranhängen? IX?

Klasse. Vielen Dank Thomas!

Eigenbau aus einer anderen Zeit :innocent:

Moin Moin,
nur mal der Vollständigkeit halber …
Die X2 und X3 Kommandos sind nicht dokumentiert - da kann man mal den Finger heben …

Aber: @paresy : könnte man nicht ohnehin Serienummer etc. beim einlesen mit in eine(r) Variable schreiben? „Nutzlos“ ist das (und einiges mehr an Informationen zum Modul) ja nicht.

Grüße, Uwe

Hallo zusammen,

ich habe einen ähnlichen Test gemacht.
Ich setze alle 60 Sekunden einen Ausgang und prüfe das Ergebnis nach 60 Sekunden Wartezeit in IPS.
Die Fehlerrate ist nicht sehr hoch (2-4 Fehler pro 1000). Jedoch ist eine Anfrage pro Minute keine besondere Belastung.
Leider kann ich keinen Test mit PKU machen.
Von daher kann ich eine gemeinsame Anfrage an die LCN Kollegen nur unterstützen.
Gruß Jan Peter

Und mit X2,X3 und X6 kann man auch LCN Module unbrauchbar machen, also immer schön aufpassen.
Habe über den Weg mit den X Kommandos auch schon Module umgeproggt, ist aber schon lange her mit meinen Versuchen, denn ich mache nicht mehr sehr viel am(mit) LCN. Halte nur noch meine Module am leben, so lange es geht. Bei Bedarf helfe ich aber gerne weiter, wenn mal was gebraucht wird und ich die Zeit finde.

@Ralf, der Reset hilft dir nicht am I-Port wenn der Dallas weg ist, da hilft nur abstecken und anstecken oder Modul stromlos machen und dann neu starten. Ich habe immer noch ein IX mit 2 x Dallas Bus am laufen, welche meine Heizung in den Bus bringt, immer noch Fehlerfrei. Ist jetzt aber nur noch als Info vorhanden, da dort ein Raspberry die komplette Steuerung seit Jahren macht.

Dann habe ich noch eine Frage zu den Fehlschaltungen, könnte es sein das dieses hauptsächlich bei Relais auftritt ? Ich habe da was beobachtet, und muss mal wieder Wochen warten ohne nen Reset zu machen. Kann aber auch Zufall sein.

Ich habe da ein paar DS1820 am IX hängen, da muss ich auch dauernd abfragen, ob das noch „lebt“ und dann hilft nur das Netzteil, das ich über ein Relais geführt habe aus und einschalten und es geht wieder für Wochen :wink:

Die Fehlschaltungen treten auch bei Rollladen auf Ausgängen und bei den LEDs auf.
Ich habe dies an den LCN-Support gemeldet. Bei den Herren dort ist IP Symcon eher ein Fremdwort. Mein Anliegen wurde an die Entwicklung weitergeleitet. Meine bisher gute Meinung über LCN ist im Sinkflug.

Viele Grüße
Fridolin

1 „Gefällt mir“

Moin Fridolin,
ich hatte da ein eher aufschlußreiches Gespräch mit der Hotline …

Das PKU hat eine Kollisionserkennung integriert - das PKE nicht.
Von daher kann in größeren Anlagen der Einsatz einer PCHK/PKU schon helfen (ich vermute aber mal der ‚Pufferspeicher‘ im PKU hat auch seine Grenzen).

Die lieben Kollegen an der Hotline sind aktuell etwas unterbesetzt und verschieben das daher gerne mal in andere Abteilungen (oder finden andere „Ausreden“) …
IP-Symcon „kennen“ tun sie schon, aber sie wissen nicht was es kann :loveips:

Grüße, Uwe - der den Sinkflug bislang immer mit „nachtanken, Gas geben, durchstarten“ beenden konnte

BTW: habt ihr mal auf die RE/SE Werte geschaut? Wenn die unter 65xxx sind, bringt ein Reset m.E. nichts

1 „Gefällt mir“