Beim ersten Versuch passierte nicht viel (ausser 2 Fehler im Edomi-Log). Also dachte ich mir, ich fange lieber mal Schritt für Schritt an. Also habe ich das Grundgerüst aus der Edomi-Anleitung genommen. Und tja...ich bekomm nicht mal das zum Laufen.
Hier der Code des LBS:
Code:
###[DEF]###
[name =Test]
[e#1 =eingang 1]
[e#2 =trigger]
[e#3 =eingang 3 #init=1]
[a#1 =ausgang 1]
[a#2 =ausgang 2]
###[/DEF]###
###[HELP]###
folgt noch...
###[/HELP]###
###[LBS]###
<?
function LB_LBSID($id) {
if ($E=getLogicEingangDataAll($id)) {
if (getLogicElementStatus($id)==0) {
//LBS läuft nicht?
if ($E[1]['value']!=0 && $E[1]['refresh']==1) {
setLogicElementStatus($id,1); //LBS "starten"
callLogicFunctionExec(LBSID,$id); //EXEC-Script starten
}
}
}
}
?>
###[/LBS]###
###[EXEC]###
<?
require(dirname(__FILE__)."/../../../../main/include/php/incl_lbsexec.php");
sql_connect();
//-------------------------------------------------------------------------------------
writeToTraceLog(0,true,"Im Exec-Teil");
if ($E=getLogicEingangDataAll($id)) {
$A = $E[1]['value'];
$eingang3 = $E[3]['value'];
}
writeToTraceLog(0,true,"Eingang3: ".$eingang3);
writeToTraceLog(0,true,"Eingang1: ".$A);
setLogicLinkAusgang($id,1,1);
setLogicLinkAusgang($id,2,"22.03.2016");
setLogicElementStatus($id,0);
//-------------------------------------------------------------------------------------
sql_disconnect();
?>
###[/EXEC]###
Danach habe ich in der Edomi Verwaltung Logikbausteine importieren angeklickt (es kommt kein Fehler) und danach im Logikeditor eine Testseite erstellt.
Der LBS ist aktiviert und danach habe ich das Projekt neu aktiviert.
Wenn ich nun in den Logikeditor zurückkehre und die Livewerte anzeigen möchte, sehe ich nur das folgende:
D.h. links im Baustein sind nur die Werte, die ich hier fix eingetragen habe, aber im Ausgang wird nichts angezeigt.
Im Code habe ich aber die 2 Ausgange fix mit Werten zugewiesen:
PHP-Code:
setLogicLinkAusgang($id,1,1);
setLogicLinkAusgang($id,2,"22.03.2016");
PHP-Code:
writeToTraceLog(0,true,"Eingang3: ".$eingang3);
writeToTraceLog(0,true,"Eingang1: ".$A);
Für mich sieht es also so aus, als ob der EXEC-Teil gar nicht ausgeführt wird.
Was mache ich falsch?





Einen Kommentar schreiben: