Ankündigung

Einklappen
Keine Ankündigung bisher.

EDOMI - LBS - Diskussion

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

    Zitat von coliflower Beitrag anzeigen
    Dankeschön, das wars !
    Zangengeburt... und ich dachte schon, wir brauchen nen Systemanalytiker

    Kommentar


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

      Kommentar


        Zitat von coliflower Beitrag anzeigen

        Kommentar


          Das Ergebnis:

          2016-02-16 23:03:56 150546 EXEC 26609 iTunes | E10 | Toggle : 1 Ok
          2016-02-16 23:03:56 150681 EXEC 26609 iTunes | E10 | exists : 1 Ok
          2016-02-16 23:03:56 150716 EXEC 26609 iTunes | E10 | LsName : Computer Ok
          2016-02-16 23:03:56 246740 EXEC 26621 iTunes | E10 | Var = 1 Ok
          2016-02-16 23:03:58 632118 EXEC 26621 iTunes | E10 | URL = http://10.0.100.150/%7Edariusz/eDOMI...ce&p1=Computer
          2016-02-16 23:03:58 632939 EXEC 26621 iTunes | E10 | Var = 0 Ok
          2016-02-16 23:03:58 738548 EXEC 26621 iTunes RM | A10 | LS01 exists = 1 Ok
          2016-02-16 23:03:58 738657 EXEC 26621 iTunes RM | A10 | LS01 output = 1 Ok
          2016-02-16 23:03:58 738814 EXEC 26621 iTunes RM | A11 | LS02 exists = 1 Ok
          2016-02-16 23:03:58 738929 EXEC 26621 iTunes RM | A11 | LS02 output = 0 Ok
          2016-02-16 23:03:58 739099 EXEC 26621 iTunes RM | A12 | LS03 exists = 1 Ok
          2016-02-16 23:03:58 739157 EXEC 26621 iTunes RM | A12 | LS03 output = 0 Ok
          2016-02-16 23:03:58 739367 EXEC 26621 iTunes RM | A13 | LS04 exists = 1 Ok
          2016-02-16 23:03:58 739428 EXEC 26621 iTunes RM | A13 | LS04 output = 0 Ok
          2016-02-16 23:03:58 739643 EXEC 26621 iTunes RM | A14 | LS05 exists = 1 Ok
          2016-02-16 23:03:58 739690 EXEC 26621 iTunes RM | A14 | LS05 output = 0 Ok
          2016-02-16 23:03:58 739931 EXEC 26621 iTunes RM | A15 | LS06 exists = 1 Ok
          2016-02-16 23:03:58 739976 EXEC 26621 iTunes RM | A15 | LS06 output = 0 Ok
          2016-02-16 23:03:58 740195 EXEC 26621 iTunes RM | A16 | LS07 exists = 1 Ok
          2016-02-16 23:03:58 740242 EXEC 26621 iTunes RM | A16 | LS07 output = 0 Ok
          2016-02-16 23:03:58 740483 EXEC 26621 iTunes RM | A17 | LS08 exists = 1 Ok
          2016-02-16 23:03:58 740530 EXEC 26621 iTunes RM | A17 | LS08 output = 0 Ok
          2016-02-16 23:03:58 740700 EXEC 26621 iTunes RM | A18 | LS09 exists = 1 Ok
          2016-02-16 23:03:58 740746 EXEC 26621 iTunes RM | A18 | LS09 output = 0 Ok
          2016-02-16 23:03:58 740900 EXEC 26621 iTunes RM | A19 | LS10 exists = 1 Ok
          2016-02-16 23:03:58 741024 EXEC 26621 iTunes RM | A19 | LS10 output = 0 Ok
          Danke und LG, Dariusz
          GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

          Kommentar


            Zitat von coliflower Beitrag anzeigen
            Das Ergebnis:
            q.e.f.

            Kommentar


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

              Kommentar


                Zitat von timberland
                Danke Christian, funktioniert jetzt.
                Thema Müllabfuhr erledigt...


                @timberland
                Würdest du uns hier mitteilen, wie du das Thema Müllabfuhr in edomi gelöst hast? Das Thema mit deinem Beitrag vom 23.01 wurde geschlossen.

                Kommentar


                  Daran wäre ich auch interessiert..
                  www.knx-Hausblog.de

                  Kommentar


                    Ich habe das so für mich gelöst:

                    Code:
                    <!DOCTYPE html>
                    <!--
                    To change this license header, choose License Headers in Project Properties.
                    To change this template file, choose Tools | Templates
                    and open the template in the editor.
                    -->
                    <html lang="de">
                        <head>
                        <meta charset="UTF-8">
                        <title></title>
                        </head>
                        <body>
                            <?php
                    <------>$size = '14px';
                    <------>$color = '#ffffff';
                    <------>$familiy = '';
                    <------>
                    <------>echo "<tr><td height=\"10\"></td></tr>";
                    <------>echo "<tr><td style=\"font-size:";$size;"; font-family:";$family;"; color:";$color;";\"><b></b></td></tr>";
                    <------>echo "<tr><td height=\"10\"></td></tr>";.
                    <------>echo "<body style=\"background-color: #414241; \">";.
                    <------>echo "<font color=\"#ffffff\">";
                    <------>
                    <------>$f = fopen("Muell.txt", "r");
                    <------>if ($f)  {
                    <------>    $today = strtotime("today");
                    <------>    while(!feof($f)) {
                    <------><------>$buffer = fgets($f);
                    <------><------>$dateliste = strtotime(substr($buffer,0,10));
                    <------><------>If($today < $dateliste)  {
                    <------><------>    echo substr($buffer,0,200) . "<br />";
                    <------><------>}
                    <------>    }
                    <------>}
                    <------>echo "</font>";
                    <------>fclose($f);
                    
                    <------>?>
                        </body>
                    </html>
                    Diese PHP-Datei kommt in das Verzeichnis /usr/local/edomi/www/visu
                    Dann gibt man in eine Textdatei zeilenweise die Daten ein so:
                    Muell.txt

                    Code:
                    12.01.2016<---->Papiertonne
                    14.01.2016<---->Restmüll
                    Dann ein Visuelement erstellen -> Webseite -> URL: http://192.168.2.200/visu/muellabfuhr.php

                    Und schon stehen die Daten in einer Listbox.

                    Nur das mit der Schriftart klappt noch nicht, bzw. für mich ists ok.

                    Edit: die Farben müsst ihr noch anpassen. Ich habe weisse Schrift auf dunklem Hintergrund.
                    Zuletzt geändert von WagoKlemme; 20.02.2016, 14:14.
                    >>Smelly One<<
                    >> BURLI <<
                    Grüße Armin

                    Kommentar


                      Hi,

                      ich lade mit zwei txt files vom Webserver.

                      Einmal für den Status:
                      # 1=Bio Tonne 2=Restmüll 3=Papiertonne 4=gelber Sack 5=Sonstige
                      01.01 |-|-|3|4|-|
                      06.03 |-|2|-|-|-|
                      08.04 |1|-|-|-|5|

                      und einmal für den nächsten Termin als Datum.
                      # 1=Bio Tonne 2=Restmüll 3=Papiertonne 4=gelber Sack 5=Sonstige
                      01.01 |-|01.02.2016 Dienstag|-|29.04.2016 Donnerstag|-|
                      01.02 |08.03.2016 Mittwoch|04.03.2016 Dienstag|-|-|-|

                      Die Txt Files muss man halt selber Erstellen.

                      Über einen Uhrzeitauslöser lasse ich mir dann Email und Prowl Nachricht schicken.

                      Kommentar


                        @WagoKlemme
                        Danke für deine Idee

                        @timberland
                        Danke, ich habe jetzt auch LBS für den HS auf (d)einer Homepage entdeckt

                        Kommentar


                          Wenn du ihn benötigst kannst den gerne haben, kommst sowieso demnächst in den Downloadbereich.

                          Muell.png

                          Kommentar


                            Hallo zusammen,

                            mit folgender Funktion kann ich ja prüfen ob eine Variable eine Numerisch ist ...

                            $v = is_numeric ('5863527282178') ? true : false;

                            z.B.:
                            PHP-Code:
                            $port=is_numeric($E[3]['value']) ? $E[3]['value']+0



                            Ich verwende „nur“ folgenden Code um zu prüfen ob die Bedingung (IP-Port) erfüllt ist:
                            PHP-Code:
                            if (is_numeric($E[32]['value']) !== false) { 


                            Welchen Vorteil hat die obere „Konstellation“ mit „? true : false“ ggü. meiner einfachen Abfrage ?
                            Und welche Bedeutung hat das „+0“ in True-Bereich und die „0“ in False-Bereich ?

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

                            Kommentar


                              Zitat von coliflower Beitrag anzeigen
                              Welchen Vorteil hat die obere „Konstellation“ mit „? true : false“ ggü. meiner einfachen Abfrage ?
                              Und welche Bedeutung hat das „+0“ in True-Bereich und die „0“ in False-Bereich ?
                              Das sieht aus, als wäre es von mir

                              Alte Gewohnheit - um $port in jedem Fall in einen numerischen, skalaren Kontext zu zwingen (macht man in php vermutlich nicht immer so).
                              Im Prinzip kannste dir das aber auch alles sparen und einfach ein:
                              PHP-Code:
                              $port+=0
                              verwenden, dann ist das Ergebnis auch numerisch. Dann wird naemlich:
                              "foo" zu "0",
                              "123.4" zu "123.4",
                              "89bar" zu "89" und
                              "13.5E-2xyz" zu "0.135"

                              Sinnvoller waere es zu prüfen, ob das Ergebnis davon ein Integer, groesser 0 und kleiner 65535 ist.

                              Schlussendlich wird Edomi das vermutlich eh alles abfangen, aber deswegen sollte man ja nicht faul werden und absichtlich schlecht programmieren

                              gruesse :: Michael

                              Kommentar


                                So, jetzt wollte ich auch mal meinen ersten LBS erstellen. Ich habe den EXEC-Teil bereits komplett in einem externen PHP zum Laufen gebracht. Also gehts nur noch darum, es ins Edomi-Gerüst zu integrieren.

                                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]###
                                &lt;?
                                function LB_LBSID($id) {
                                  if ($E=getLogicEingangDataAll($id)) {
                                    if (getLogicElementStatus($id)==0) {
                                      //LBS läuft nicht?
                                      if ($E[1]['value']!=0 &amp;&amp; $E[1]['refresh']==1) {
                                        setLogicElementStatus($id,1); //LBS "starten"
                                        callLogicFunctionExec(LBSID,$id); //EXEC-Script starten
                                      }
                                    }
                                  }
                                }
                                ?&gt;
                                ###[/LBS]###
                                
                                
                                ###[EXEC]###
                                &lt;?
                                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();
                                
                                ?&gt;
                                ###[/EXEC]###
                                Die Datei heisst (temporär) 19000900_lbs.php und liegt im Verzeichnis /usr/local/edomi/www/admin/lbs
                                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"); 
                                Was ich auch komisch finde...es wird kein TraceLog erzeugt bzw. ich habe keine Einträge drin:
                                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?

                                Kommentar

                                Lädt...
                                X