Ein Beispiel für IP-Symcon in PHP :
Code:
<?
// Modulreset an Modul 156 mit
// Seriennummer HEX: 0A091802D8 = Seriennummer Dez: 010009024002216
// Reset Modul ist :
// $TX_BUF= '>M000156 . X3 120 0100090240022160 01'.chr(10); //P-Mode setzen
// Modul . X-Kommand Reset SerNo ??
$InstanzID = @IPS_GetInstanceIDByName("Client Socket LCN", $ParentID);
// Ausgang sichern
$ausgang1 = GetValue( 24137 /*[LCN-Module\156 Teich\Ausgang 1 (0, 156)\Intensität]*/ );
$TX_BUF= '>M000156.X3120010009024002216001'.chr(10); //P-Mode setzen
CSCK_SendText($InstanzID ,$TX_BUF); // Befehl senden
$TX_BUF= '>M000156.X2121170085'.chr(10); // Reset Modul
CSCK_SendText($InstanzID ,$TX_BUF); // Befehl senden
sleep (3); //3 Sekunden Pause
// Abfage der Daten, Hand/Auto, wenn Auto Ausgänge wieder setzen
$auto = GetValueBoolean( 19687 /*[Haus Split\Teich\Teich Filteranlage (Automatik in M156)\Auto Nachfüllung]*/);
if ($auto == true)
{
LCN_SetIntensity(44941 /*[LCN-Module\156 Teich\Ausgang 2 (0, 156)]*/,100,0);
LCN_SetRelay (59564 /*[AU 0A09|Te (000,156)]*/,"1-------");
sleep (2);
LCN_SetIntensity(44941 /*[LCN-Module\156 Teich\Ausgang 2 (0, 156)]*/,100,0);
LCN_SetRelay (59564 /*[AU 0A09|Te (000,156)]*/,"1-------");
if ($ausgang1 > 0)
{
LCN_AddIntensity(38281 /*[LCN-Module\156 Teich\Ausgang 1 (0, 156)]*/, $ausgang1);
sleep (1);
LCN_AddIntensity(38281 /*[LCN-Module\156 Teich\Ausgang 1 (0, 156)]*/, $ausgang1);
}
}
?>
Das Modul "verliert" nach einiger Zeit den B3I, mit einem automatischem Reset jede Stunde geht alles was ich brauche.
Es geht aber noch weiter, z.B. Messwerte von einem System in den LCN Bus zu senden, und dort per "Rechnung" wieder in eine VAR holen.
Dazu braucht es aber noch ein paar Trick's, wie die LCN-PCHK eingerichtet werden muss, und was in der PRO zu tun ist...
(Nein, nicht mit Zählen und Nullstellen ! sondern direkte VAR's senden)
Wenn ich mal viel Zeit habe, werde ich dafür ein weiteres Beispiel bringen.
Achtung, dieses geht nicht mit der LinHk, soweit ich weiß.(Da bin ich raus.)