Ankündigung

Einklappen

Serverwartung 21.2.



Am 21.2. im Laufe des späten Abends wird eine Serverwartung durchgeführt. Das Forum ist dadurch für gut zwei Stunden nicht erreichbar.
Es wird eine Wartungsseite geschaltet.

Mehr anzeigen
Weniger anzeigen

Debugging...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #31
    PHP-Code:
    function LB_LBSID_DEBUG($id,$a) {writeToTraceLog(0,true,"LBSLBSID($id): ".$a);} 
    ...sollte funktionieren. LBSID wird natürlich erst nach dem Update durch die ID ersetzt - aktuell wird halt etwas wie "LBSLBSID(1234): ..." angezeigt werden.
    EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

    Kommentar


      #32
      Nee, da wird leider nichts ins TraceLog geschrieben … auch nicht wenn ich es ohne der Hilfsfunktion versuche … da scheint ein anderes Problemchen irgendwo zu sein :-(

      PHP-Code:
      ###[EXEC]###

      <?php

      require(dirname(__FILE__)."/../../../../main/include/php/incl_lbsexec.php");
      sql_connect();

      if (
      $E=getLogicEingangDataAll($id)) {

          
      $str file_get_contents('http://10.0.100.150/%7Edariusz/track.json');
          
      $track json_decode($str,true);

          
      setLogicLinkAusgang($id,1,$track['name']);
              
      writeToTraceLog(0,true,'iTunes | A01 | Titel: '.$track['name']);
              
      //         if ($E[2]['value'] == 1) {LB_LBSID_DEBUG($id,'iTunes | A01 | Titel: '.$track['name']);}
          
          
      setLogicLinkAusgang($id,2,$track['album']);
          
      setLogicLinkAusgang($id,3,$track['genre']);
          
      setLogicLinkAusgang($id,4,$track['composer']);
          
      setLogicLinkAusgang($id,5,$track['artist']);
      }

      sql_disconnect();

      function 
      LB_LBSID_DEBUG($id,$a) {writeToTraceLog(0,true,'LBSLBSID($id): '.$a);}

      ?>

      ###[/EXEC]###
      Danke und LG, Dariusz
      GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

      Kommentar


        #33
        Ich habe keine Idee mehr warum das Debuging nicht geht … Ich dachte ich weiß was ich mache :-(

        LBS-Teil:
        PHP-Code:
        <?php

        function LB_LBSID($id) {
        //     function LB_LBSID_DEBUG($id,$a) {writeToTraceLog(0,true,'LBSLBSID($id): '.$a);}

            
        if ($E=getLogicEingangDataAll($id)) {
                if (
        $E[1]['refresh']) {
        //          if ($E[2]['value'] == 1) {LB_LBSID_DEBUG($id,'iTunes | E01 | Trigger Aktiv: '.$E[1]['value']);}
                    
        writeToTraceLog(0,true,'iTunes | E01 | Trigger Aktiv: '.$E[1]['value']);
                    
        writeToTraceLog(0,true,'iTunes | E02 | Debug Aktiv: '.$E[2]['value']);
                        
        callLogicFunctionExec(LBSID,$id);
                    
                }
            }
        }

        Der EXEC-Teil:
        PHP-Code:
        <?php

        require(dirname(__FILE__)."/../../../../main/include/php/incl_lbsexec.php");
        sql_connect();

        if (
        $E=getLogicEingangDataAll($id)) {

            
        $str file_get_contents('http://10.0.100.150/%7Edariusz/track.json');
            
        $track json_decode($str,true);

            
        setLogicLinkAusgang($id,1,$track['name']);
                
        writeToTraceLog(0,true,'iTunes | A01 | Titel: '.$track['name']);
                
        writeToTraceLog(0,true,'URL= '.$str);
                
        //         if ($E[2]['value'] == 1) {LB_LBSID_DEBUG($id,'iTunes | A01 | Titel: '.$track['name']);}
            
            
        setLogicLinkAusgang($id,2,$track['album']);
            
        setLogicLinkAusgang($id,3,$track['genre']);
            
        setLogicLinkAusgang($id,4,$track['composer']);
            
        setLogicLinkAusgang($id,5,$track['artist']);
        }

        sql_disconnect();

        function 
        LB_LBSID_DEBUG($id,$a) {writeToTraceLog(0,true,'LBSLBSID($id): '.$a);}

        ?>
        Danke und LG, Dariusz
        GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

        Kommentar


          #34
          So, warum auch immer, der EXEC-Teil läuft - sowohl mit der Hilfsfunktion wie auch Klassisch ...

          2016-03-04 23:56:28 100519 EXEC 9114 iTunes | A01 | Titel: Sur le fil
          2016-03-04 23:56:28 100676 EXEC 9114 LBSLBSID(
          $id): iTunes | A01 | Titel: Sur le fil

          PHP-Code:
          <?php

          require(dirname(__FILE__)."/../../../../main/include/php/incl_lbsexec.php");
          sql_connect();

          if (
          $E=getLogicEingangDataAll($id)) {

              
          $str file_get_contents('http://10.0.100.150/%7Edariusz/track.json');
              
          $track json_decode($str,true);

              
          setLogicLinkAusgang($id,1,$track['name']);
                  
          writeToTraceLog(0,true,'iTunes | A01 | Titel: '.$track['name']);
          //      if ($E[2]['value'] == 1) {
                  
          LB_LBSID_DEBUG($id,'iTunes | A01 | Titel: '.$track['name']);
              
              
          setLogicLinkAusgang($id,2,$track['album']);
              
          setLogicLinkAusgang($id,3,$track['genre']);
              
          setLogicLinkAusgang($id,4,$track['composer']);
              
          setLogicLinkAusgang($id,5,$track['artist']);
          }

          sql_disconnect();

          function 
          LB_LBSID_DEBUG($id,$a) {writeToTraceLog(0,true,'LBSLBSID($id): '.$a);}

          ?>



          Wenn ich in LBS-Tiel die Hilfsvariable aktiviere, dann FATAL-ERROR …. übersehe ich etwas ?

          PHP-Code:
          <?php

          function LB_LBSID($id) {
              function 
          LB_LBSID_DEBUG($id,$a) {writeToTraceLog(0,true,'LBSLBSID($id): '.$a);}

              if (
          $E=getLogicEingangDataAll($id)) {
                  if (
          $E[1]['refresh']) {
                      if (
          $E[2]['value'] == 1) {LB_LBSID_DEBUG($id,'iTunes | E01 | Trigger Aktiv: '.$E[1]['value']);}
                      
          writeToTraceLog(0,true,'iTunes | E01 | Trigger Aktiv: '.$E[1]['value']);
                      
          writeToTraceLog(0,true,'iTunes | E02 | Debug Aktiv: '.$E[2]['value']);
                          
          callLogicFunctionExec(LBSID,$id);
                      
                  }
              }
          }

          Nur klassisch erhalte ich in LBS-Teil:

          2016-03-04 23:56:28 076963 EXEC 9024 iTunes | E01 | Trigger Aktiv: 23:56:28
          2016-03-04 23:56:28 077038 EXEC 9024 iTunes | E02 | Debug Aktiv: 1



          DANKE vorab !
          Zuletzt geändert von coliflower; 05.03.2016, 00:06.
          Danke und LG, Dariusz
          GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

          Kommentar


            #35
            Zitat von coliflower Beitrag anzeigen
            DANKE vorab !
            Du hast wieder eine Funktion innerhalb einer anderen Funktion definiert... schieb mal die Zeile:
            function LB_LBSID_DEBUG($id,$a) {writeToTraceLog(0,true,'LBSLBSID($id): '.$a);}
            irgendwo ans Ende... vor das abschliessende "?>" zB.

            Kommentar


              #36
              ...und:

              Nicht

              PHP-Code:
              function LB_LBSID_DEBUG($id,$a) {writeToTraceLog(0,true,'LBSLBSID($id): '.$a);} 
              sondern

              PHP-Code:
              function LB_LBSID_DEBUG($id,$a) {writeToTraceLog(0,true,"LBSLBSID($id): ".$a);} 
              (doppelte Anführungszeichen)
              EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

              Kommentar


                #37
                Zitat von wintermute Beitrag anzeigen
                Du hast wieder eine Funktion innerhalb einer anderen Funktion definiert... schieb mal die Zeile… irgendwo ans Ende... vor das abschliessende "?>" zB.
                Ich … hab wieder nicht daran gedacht es in LBS-Teil ans Ende zu stellen, in den EXEC-Teil habe ich es ja eh getan ...

                doppelte Anführungszeichen
                Warum ist das hier so wichtig ?
                Ich habe diese bis jetzt übersehen - mea culpa :-(
                Danke und LG, Dariusz
                GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                Kommentar


                  #38
                  Zitat von coliflower Beitrag anzeigen
                  Warum ist das hier so wichtig ?
                  Weil Variablen in Hochommata (hier $id) nicht ersetzt werden sondern nur wenn diese in Anführungszeichen stehen, siehe z. B. hier.

                  Kommentar


                    #39
                    DANKE !
                    OK, es ging hier um die $id, das habe ich im Gesamtkontext übersehen … und adaptiert :-)

                    EXEC-Teil funktioniert mal ...
                    PHP-Code:
                    function LB_LBSID_DEBUG($id,$a) {writeToTraceLog(0,true,'LBSLBSID('.$id.'): '.$a);} 

                    Diese Schreibweise mit Hochkomma ist mir irgendwie lieber als „Alles“ in die Anführungszeichen zu setzten ..,
                    Danke und LG, Dariusz
                    GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                    Kommentar


                      #40
                      Kann es sein, dass der Name der Hilfsfunktion unterschiedlich im LBS- und EXEC-Teil sein muss ?
                      Danke und LG, Dariusz
                      GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                      Kommentar


                        #41
                        Zitat von coliflower Beitrag anzeigen
                        Kann es sein, dass der Name der Hilfsfunktion unterschiedlich im LBS- und EXEC-Teil sein muss ?
                        Nein, das sind verschiedene Namensraeume... wichtig ist nur sicherzustellen, dass im LBS-Teil die Funktionsnamen eindeutig sind (was seitens Edomi ueber das Ersetzen von "LBSID" gewaehrleistet wird - drum sollten eigene Funktionen auch der Nomenklatur "LB_LBSID_funktionsname" entsprechen).

                        Kommentar


                          #42
                          Eigene Funktionen im LBS-Teil müssen(!) sogar dieser Nomenklatur folgen - denn sonst kann es ganz schnell Probleme geben:
                          Wenn Dein LBS die Funktion abc() deklariert und irgendein anderer LBS würde dies auch tun, gäbe es 2 gleiche Funktionen im Kontext der Logikengine. Die Folge wäre ein FatalError...

                          Im EXEC-Teil ist das Wurscht, da dieser vollkommen unabhängig als eigener Prozess läuft.

                          Übrigens ist jetzt das Update 1.22 verfügbar - hier wird LBSID auch im EXEC-Teil "übersetzt"
                          EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

                          Kommentar


                            #43
                            1.22 ist drauf und die Übersetzung funkt :-)

                            Hmmm, wenn ich aber die gleiche Hilfsfunktion die in EXEC-Teil läuft auch in LBS anwende, dann gibt es FatalError.
                            Wenn im LBS-Teil die Hilfsfunktion „umbenenne“ dann gibt es kein FatalError und das TraceLog spukt die abgefragten Infos aus ..
                            Danke und LG, Dariusz
                            GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                            Kommentar

                            Lädt...
                            X