Heizkesseldaten bereitstellen

  • Hallo. Ich habe die php.ini geändert, um alle Meldungen anzuzeigen.
    Da kommt nichts. Ich probierte auch die maileinstellung der php.ini auf meine zu ändern.
    Auch kein Erfolg.
    Ich habe einen Vorschlag.
    Wenn man das Skript auf 2 Dateien aufteilt. Das eine zeigt die infos an und stellt die infos einer Meldung bereit.
    Das andere prüft im ersten Skript ob ein Fehler vorliegt und sendet.
    da das testskript funktionierte kann ich mir vorstellen das es vielleicht so funktioniert.
    was meinst du?

  • Hallo,
    moeglich waere es ohne Frage, aber ich wuerde bezweifeln, dass es etwas bringt.
    Du koenntest ja mal zum Testen nur diesen PHP Code des Testskripts verwenden

    PHP
    <?php         $email = "XXXXXXXX@gmx.at";         $text = "Das ist eine Testemail...";         $var = mail($email, "Testemail fuer Kesselmeldung", $text, "From:$email");         if (!$var) {            echo "<p><b>FEHLER BEI EMAILVERSAND!</b></p>";         }         else {             echo "<p><b>EMAIL ERFOLGREICH GESENDET.</b></p>";         }?>


    Diese Datei nennst du dann test.php
    In der Kesselstatusdatei koenntest du dann nach dem ersten "<?php" folgende Zeile einfuegen

    Code
    include "test.php";


    Wichtig ist, dass die Kesselstatusdatei und test.php im gleichen Verzeichnis des Webordners liegen.

  • Hallo!
    Ich habe jetzt wie du vorgeschlagen hast die "test.php" erzeugt und die Zeile <include "test.php;"> eingefügt.
    Nach dem Aufruf der Seite erscheint die Meldung "EMAIL ERFOLGREICH GESENDET." und ich habe wirklich die Nachricht bekommen. Na das schaut doch nach einem Erfolg aus! :D
    Ich hatte jetzt aber keine Störung am Kessel verursacht (nur zur info)


    Was soll ich jetzt machen?
    (nur am Rande: ein falsches php Format kann nicht der Grund sein? verwende den Editor "Phase 5" und immer die Dateierweiterung ".php". Es gibt da aber auch noch "php3" +"php4" + "php5")

  • Hallo,


    Sehe das jetzt grade erst. Hast den Beitrag wohl editiert, nachdem ich ihn schon gelesen hatte.
    Du hast dich zwar damit an die Forenregeln gehalten, aber in so eine, Fall ist es auch moeglich, einen neuen Beitrag zu schreiben, da ja neue, wesentliche Informationen hinzugekommen sind und das ja sicherlich ein paar Minuten nach dem Beitrag war.


    Dann will ich jetzt mal antworten:
    Was kam denn fuer eine Email? Welchen Inhalt hatte die?
    Wenn das so jetzt geht, werde ich mal schauen, ob ich darauf basierend das Skript ueberarbeiten kann.
    Schaffe das vermutlich aber erst heute Abend oder morgen irgendwann.

  • Hallo.
    Der Inhalt des Mails ist 'das ist eine testemail' und der Betreff 'testemail für kesselmeldung'
    mach dir keinen Stress.

  • Hallo Tobias.
    Keine Ahnung was da schief läuft. Hatte heute eine Störung. Das Skript hat nur mehr lauter Zeilen angezeigt wo stand.
    fehler line 12 usw.
    war die Störung behoben lief es wieder normal. ???

  • Dann benoetige ich das ganze Skript nochmal einschliesslich der genauen Fehlermeldungen.
    Laeuft es denn sonst normal?

  • Hallo.


    Hier sind die Dateien:
    index.php


    PHP
    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml">   <head>      <title>Heizkessel Status</title>      <style type="text/css">         *         {                     background-color: #CFCFCF;                     font-family: Arial;                     font-size: 16px;                     width: 450px;                  }         h1         {                     font-size: 22px;                  }         table      {                     background-color: #FFFFFF;                  }      </style>   </head>   <body>      <h1 align="center">Guntamatic Powerchip Status</h1>      <?php         $email = "zweckmair_b@gmx.at";         $_url = "http://10.0.0.100/daqdata.cgi";         $grenzeascheleeren = 8;         $_buffer = implode('', file($_url));         $lines = explode("\n", $_buffer);       //echo $_buffer;         $betrieb = $lines[78];         $programm = $lines[79];         $ascheleeren = $lines[108];         $kesseltemp = $lines[3];         $leistungStokerSchneckeProzent = $lines[8];         $leistungStokerAmpere = $lines[9];         $leistungRaumaustragungA1Prozent = $lines[11];         $leistungRaumaustragungAmpere = $lines[12];         $CO2 = $lines[18];         $kesselleistung = $lines[95];         $FEHLERMELDUNG = $lines[96];         $FEHLERZEITPUNKT = $lines[97];      ?>      <table border='0'>         <tr>            <th>Bezeichnung</th>            <th>Wert</th>         </tr>         <tr>            <td>Betrieb</td>            <td><?php echo $betrieb; ?></td>         </tr>         <tr>            <td>Programm</td>            <td><?php echo $programm; ?></td>         </tr>         <tr>            <td>Kesseltemperatur</td>            <td><?php echo $kesseltemp; ?> &deg;C</td>         </tr>         <tr>            <td>Kesselleistung</td>            <td><?php echo $kesselleistung; ?> %</td>         </tr>         <tr>            <td>Ascheleeren</td>            <td style="background-color:#<?php               if ($ascheleeren < $grenzeascheleeren) {                  echo "FF0000";               }               else {                  echo "#FFFFFF";               }            ?>"><?php echo $ascheleeren; ?> Stunden</td>         </tr>         <tr>            <td>Leistung Stokerschnecke</td>            <td><?php echo $leistungStokerSchneckeProzent; ?> %</td>         </tr>         <tr>            <td>Leistung Stoker</td>            <td><?php echo $leistungStokerAmpere; ?> Ampere</td>         </tr>         <tr>            <td>Leistung Raumaustragung A1</td>            <td><?php echo $leistungRaumaustragungA1Prozent; ?> %</td>         </tr>         <tr>            <td>Leistung Raumaustragung</td>            <td><?php echo $leistungRaumaustragungAmpere; ?> Ampere</td>         </tr>         <tr>            <td>CO<sub>2</sub></td>            <td><?php echo $CO2; ?> </td>         </tr>         <?php            if ($FEHLERMELDUNG != " ") {            echo "<tr><td colspan='2' style='background-color:#FF0000'>$FEHLERMELDUNG$FEHLERZEITPUNKT</td></tr>";            include "include.php";            }         ?>      </table>      <a href="http://10.0.0.100/demo/index.htm">Guntamatic Dashboard</a>      <a href="http://10.0.0.131:8080/">QNAP Server</a>      <a href="http://10.0.0.131:9000/">Twonky Server</a>	  <a href="http://10.0.0.138/cgi/b/ST/?ce=1&be=0&l0=0&l1=-1">speedTOUCH Dashboard</a>   </body></html>


    und include.php



    Ich teste jetzt nochmal alles durch. Ich melde mich gleich wieder.

  • Evtl. solltest du die empfangenen Daten als Logfile speichern, um eine Anomalität in der Datenstruktur auszuschließen.


    Bei einem Fehler im PHP-Script wird eigentlich zu der Zeilennummer auch die betroffene Datei mit ausgegeben.
    Ob der Fehler nun im Hauptscript oder im Include-File aufgetreten ist, kannst du wohl nicht mehr sagen ?

  • Hallo.


    Also egal welchen Fehler ich verursache, dieses Skript sendet einfach nichts!!! Es zeigt den Fehler zwar an, aber nicht mehr.
    Es werden jetzt aber auch keine Fehlermeldungen des skripts angezeigt, wie vor ein paar tagen.


    Ich denke das es wahrscheinlich 2 Sorten Fehlermeldungen gibt. Die eine bei der die Anlage noch weiterläuft und die andere bei der sich alles abschaltet.
    Die zweite Art von Fehlermeldung kann ich aber nicht simulieren. Vielleicht fällt mir dazu noch ein Trick ein das ich das trotzdem schaffe.
    Ich denke das bei der zweiten Variante die CGI Datei in einer Anderen Zeile noch wichtige Daten ausgibt. Nur keine Ahnung wie und wo und was.


    Wieso bekomme ich bei der "typ 1" Fehlermeldung immer noch keine mail???????????????


    --- ModEdit ---


    Hallo. Mir ist gerade etwas eingefallen. Als ich diese störung hatte war ich nicht daheim. Mein Vater hat die störung behoben und die Anlage komplett abgeschaltet. Ich war zu diesem Zeitpunkt in meiner Firma, arbeiten
    ich habe die Seite geöffnet und dann kam nur wirwar.
    Hab ich gerade getestet.
    Ist klar das wenn der Heizkessel keine Daten bereitstellt das dann nichts geht. Ich wusste nicht das er alles abschaltete.
    Also geht es nur darum das das Skript mir keine mail sendet.
    evtl werde ich noch die Häufigkeit des automatischen Aufrufes erhöhen.
    Bitte prüft was am Skript noch anders werden muss?

    Einmal editiert, zuletzt von dr_mike () aus folgendem Grund: Doppelte Beiträge vermeiden, siehe Forenregeln! Bitte den 'Ändern' Button verwenden.

  • Die bei guntamatic arbeiten an einer Benutzeroberfläche. Nur wann die fertig ist und was diese kann
    ist offen. Wenn sich hier noch jemand mit der php Programmierung auskennt, dann schau mal das
    Skript an. Oder lest die letzten seiten. Aus irgendeinem Grund sendet es keine Nachricht. Bei einem reinem testskript
    das nicht überprüft ob ein Fehler da ist bekomme ich aber schon eine Nachricht.
    Kann es sein das das Skript irgendwo drüber springt oder stehen bleibt? Fehlermeldung bekommen ich keine
    obwohl ich die anzeigen lasse.
    freue mich über jede Hilfe.

  • Hallo.
    Nur zur Info.
    Ich habe es jetzt geschafft. ich mache es mit dem PHPmailer!


    Danke für eure Hilfe!! :thumb: