+ Antworten
Seite 2 von 3 ErsteErste 1 2 3 LetzteLetzte
Ergebnis 11 bis 20 von 22
  1. #11

    Hab nochwas im Netz gefunden und suche nun meine letzte Datei so:

    PHP-Code:
     <?
    //get the lastest file uploaded in excel_uploads/
    $path "C:\Programme\RESOL\ServiceCenterFull\workspace";
    $latest_ctime 0;
    $latest_filename '';
    $d dir($path);
    while (
    false !== ($entry $d->read())) {
    $filepath "{$path}/{$entry}";
    //Check whether the entry is a file etc.:
        
    if(is_file($filepath) && filectime($filepath) > $latest_ctime) {
        
    $latest_ctime filectime($filepath);
        
    $latest_filename $entry;
        }
    //end if is file etc.
    }
    echo 
    $latest_filename;

     
    //File öffnen
       
    $handle fopen ("C:\Programme\RESOL\ServiceCenterFull\workspace"$latest_filename) ;
       
    //File nicht gefunden?
       
    if (!$handle) echo ("File not found");
    Der Name der letzten Datei wird zurückgegeben, aber ich mache wieder einen Fehler bei fopen :
    Parse error: syntax error, unexpected '$latest_filename' (T_VARIABLE) in C:\IP-Symcon\Scripts\20959.ips.php on line 18

  2. #12
    Registriert seit
    May 2008
    Ort
    Forstern
    Beiträge
    1,078

    Da fehlt der Punkt zwischen static Text und Variable!
    SERVER: FritzBox 7490, Raspberry Pi 3, CCU2 und IP-Symcon V5.3 (Ninja) | SYSTEME: Amazon ECHOs, Apple TVs, Homematic/IP, LevelJet, Logitech Harmony, Magic Home, Pioneer AVR, Philips Hue, Samsung TV's, Somfy RFX, Apple & Android Handys & Tablets | MODULE: Awido, Toolmatic Reihe (4x), Almanac, Magic Home Controller, Pollenflug | SKINS: WwxSkin

  3. #13

    Moin,

    bis zum Punkt Datei öffnen läuft es nun.

    PHP-Code:
     <?
       
    //get the lastest file/
        
    $path "C:\Programme\RESOL\ServiceCenterFull\workspace";
        
    $latest_ctime 0;
        
    $latest_filename '';
        
    $d dir($path);
    while (
    false !== ($entry $d->read())) {
        
    $filepath "{$path}/{$entry}";
       
    //Check whether the entry is a file etc.:
    if(is_file($filepath) && filectime($filepath) > $latest_ctime) {
        
    $latest_ctime filectime($filepath);
        
    $latest_filename $entry;
        }
    //end if is file etc.
    }
    echo 
    $latest_filename;

      
    //File öffnen
       
    $file "C:\Programme\RESOL\ServiceCenterFull\workspace/".$latest_filename ;
       
    $handle fopen ($file,"r");
      
    //File nicht gefunden?
    if (!$handle) echo ("File not found");


    ?>
    Jetzt möchte ich ja gern die Parameter im text in Variable schreiben. Der Text ist so aufgebaut, im Kopf werden die Parameter definiert und dann nur noch Zahlenkolonnen geschrieben.

    Datum Temperatur Sensor 1 [ °C] Temperatur Sensor 2 [ °C] Temperatur Sensor 3 [ °C] Temperatur Sensor 4 [ °C] Temperatur Sensor 5 [ °C] Temperatur Sensor 6 [ °C] Temperatur Sensor 7 [ °C] Temperatur Sensor 8 [ °C] Temperatur Sensor 9 [ °C] Temperatur Sensor 10 [ °C] Temperatur Sensor 11 [ °C] Temperatur Sensor 12 [ °C] Einstrahlung [ W/qm] Impulseingang 1 Impulseingang 2 Sensorbruchmaske Sensorkurzschlussmaske Sensorbenutzungsmaske Drehzahl Relais 1 [ %] Drehzahl Relais 2 [ %] Drehzahl Relais 3 [ %] Drehzahl Relais 4 [ %] Drehzahl Relais 5 [ %] Drehzahl Relais 6 [ %] Drehzahl Relais 7 [ %] Drehzahl Relais 8 [ %] Drehzahl Relais 9 [ %] Relaisbenutzungsmaske Fehlermaske Warnungsmaske Reglerversion Systemzeit Vorlauftemperatur [ °C] Fernversteller [ K] Aussentemperatur [ °C] Speichertemperatur [ °C] Vorlaufsolltemperatur [ °C] Relaismaske Vorlaufmaximaltemperatur [ °C] HK-Kennlinie Nachtabsenkung [ K] Tageskorrektur [ K] Mischerlaufzeit [ s] Sommerbetrieb [ °C] Info Schaltuhr Fehlerstatus Modulstatus Relaisstatus Fehler-Info Vorlauftemperatur [ °C] Fernversteller [ °C] Aussentemperatur [ °C] Vorlaufsolltemperatur [ °C] Modulversion
    24.02.2018 00:00:06 -2,7 59,0 3,5 58,9 2,4 16,8 888,8 59,3 888,8 41,6 888,8 40,1 0 0 0 1344 0 18447 0 0 100 0 0 0 100 0 100 463 0 0 513 Sa,00:11 40,1 888,8 -6,9 -2693,2 42,2 3 65 1,4 -3 2 1 19 4 0 8 3 0 55,6 0,5 -6,9 56,8 1795
    Für mich ist dabei nur die letzte geschriebene Zahlenkolonne interessant, diese Beginnt mit dem Datum und Endet mit 1795. Wie bekomme ich diese Zahlen in Variable geschrieben ?

    Update: mit den eingefügten Befehlen von der Funkwetterstation schaut es nun so aus :
    PHP-Code:
    <?
       
    //get the lastest file/
        
    $path "C:\Programme\RESOL\ServiceCenterFull\workspace";
        
    $latest_ctime 0;
        
    $latest_filename '';
        
    $d dir($path);
    while (
    false !== ($entry $d->read())) {
        
    $filepath "{$path}/{$entry}";
       
    //Check whether the entry is a file etc.:
    if(is_file($filepath) && filectime($filepath) > $latest_ctime) {
        
    $latest_ctime filectime($filepath);
        
    $latest_filename $entry;
        }
    //end if is file etc.
    }
    echo 
    $latest_filename;

      
    //File öffnen
       
    $file "C:\Programme\RESOL\ServiceCenterFull\workspace/".$latest_filename ;
       
    $handle fopen ($file,"r");
      
    //File nicht gefunden?
    if (!$handle) echo ("File not found");

      
    //Ghe alle Datensätze durch
    while ($line fgets($handle))
       {
    if (
    strlen($line) > 10)
            {
       
    //Datenzeile zerlegen
              
    $parameter explode(";"$line);
       
    //Zeile enthält Parameter?
              
    if (count($parameter) == 17)
                {
                }
            }
        }

       
    fclose($handle);

    echo (
    $parameter[0]." ".$parameter[1]."\n");
    ?>
    die Meldungen dazu :
    TextData_20180225.log
    Notice: Undefined offset: 1 in C:\IP-Symcon\Scripts\20959.ips.php on line 39
    25.02.2018 10:07:08 98,2 63,7 96,6 59,4 94,1 16,6 888,8 60,6 888,8 36,9 888,8 42,0 1026 0 0 1344 0 18447 100 0 0 0 0 0 0 0 100 463 0 0 513 So,10:18 42,0 888,8 -4,1 -2693,2 41,0 1 65 1,4 -3 2 1 19 0 0 16 3 0 57,0 0,5 -4,1 58,4 1795
    Wo steckt beim letzten echo der falsche Offset ?
    Geändert von Alikante (25.02.18 um 10:12 Uhr)

  4. #14
    Registriert seit
    Dec 2009
    Ort
    Berlin
    Beiträge
    966

    Hallo Alikante.

    Du teilst deinen String $line mit explode.
    Als Suchstring nimmst du "Semikolon", der aber (so wie ich das gesehen habe) in deinem Ursprungsstring $line nicht vorkommt.
    Also ist das Array nur einen Wert groß $parameter [0] !
    Dort steht dann auch alles drin.

    Hättest du prüfen können mit
    PHP-Code:
    echo ("+++++".$parameter[0]."######### ".$parameter[1]."********* \n"); 
    Gruß
    lueralba
    __________________
    IPS 5.3 Ninja auf Raspi3 ; Mobile5.x ; AEON Stick/1x Razberry Gen5 ; ca. 90 ZWave Geräte ; 10x FHT80B ; CCU1 (Funk/Wired);Fritzbox 7590 ; Viessmann ; 1x ChuWi13 ; 2x Sensus HRI und 1xEltako DSZ12DM an PiiGAB M-Bus; Instar 4011; AXIS 207W; RG-11

  5. #15

    Moin,

    danke für den Hinweis, das hatte ich heut Mittag herausgefunden und das ";" durch " " ersetzt.

    nun kommt als Antwort auf

    PHP-Code:
    echo ($parameter[0]." ".$parameter[1]."\n"); 
    25.02.201814:13:55 86,7 63,8 84,7 58,3 83,2 17,2 888,8 61,0 888,8 55,7 888,8 38,4 399 0 0 1344 0 18447 100 0 100 0 0 0 0 0 100 463 0 0 513 So,14:25 38,4 888,8 2,4 -2693,2 38,1 1 65 1,4 -3 2 1 19 0 0 16 3 0 47,5 0,4 2,4 50,2 1795
    steht das das jetzt auch alles in $Parameter[0] ??? Wie kann ich die 54Werte in $Parameter[0] bis $Parameter[53] teilen ??

    Aber funktionieren muß es irgendwie denn mit
    PHP-Code:
    SetValue(37664  /*[Resol\resol Log einlesen\Temperatur Kollektor]*/,$parameter[0]) 
    nimmt die 37664 /*[Resol\resol Log einlesen\Temperatur Kollektor]*/ den Wert 25012018,0°C an
    Geändert von Alikante (25.02.18 um 14:29 Uhr)

  6. #16
    Registriert seit
    Dec 2009
    Ort
    Berlin
    Beiträge
    966

    Bist auf dem richtigen Weg...

    Aber lies meinen Text genau !

    PHP-Code:
    echo ("+++++".$parameter[0]."######### ".$parameter[1]."********* \n"); 
    __________________
    IPS 5.3 Ninja auf Raspi3 ; Mobile5.x ; AEON Stick/1x Razberry Gen5 ; ca. 90 ZWave Geräte ; 10x FHT80B ; CCU1 (Funk/Wired);Fritzbox 7590 ; Viessmann ; 1x ChuWi13 ; 2x Sensus HRI und 1xEltako DSZ12DM an PiiGAB M-Bus; Instar 4011; AXIS 207W; RG-11

  7. #17

    ich verstehe die Bedeutung der roten + # * nicht

  8. #18
    Registriert seit
    Dec 2009
    Ort
    Berlin
    Beiträge
    966

    Deine Trennzeichen nach dem zweiten Wert scheinen keine Leerzeichen zu sein !

    Wenn Du genau hinsiehst siehst du, dass der Erste Wert offensichtlich in $parameter[0] steht und der Rest in $parameter[1].DIe beiden stehen im echo() direkt aneinander.
    __________________
    IPS 5.3 Ninja auf Raspi3 ; Mobile5.x ; AEON Stick/1x Razberry Gen5 ; ca. 90 ZWave Geräte ; 10x FHT80B ; CCU1 (Funk/Wired);Fritzbox 7590 ; Viessmann ; 1x ChuWi13 ; 2x Sensus HRI und 1xEltako DSZ12DM an PiiGAB M-Bus; Instar 4011; AXIS 207W; RG-11

  9. #19
    Registriert seit
    Dec 2009
    Ort
    Berlin
    Beiträge
    966

    Auf deine Frage:

    Damit siehst du was in den beiden Strings steht !
    Ich mache das für mich beim Fehlersuchen so, die "roten Zeichen" sind die optische Ummantelung ...
    __________________
    IPS 5.3 Ninja auf Raspi3 ; Mobile5.x ; AEON Stick/1x Razberry Gen5 ; ca. 90 ZWave Geräte ; 10x FHT80B ; CCU1 (Funk/Wired);Fritzbox 7590 ; Viessmann ; 1x ChuWi13 ; 2x Sensus HRI und 1xEltako DSZ12DM an PiiGAB M-Bus; Instar 4011; AXIS 207W; RG-11

  10. #20

    Verstehe ich nicht, im Text file schaut das so aus
    24.02.2018 00:00:06 -2,7
    Zwischen Datum und Uhrzeit ist eine Leerstelle deshalb macht müsste explode da zwei Werte draus machen.
    Wieso werden die Werte im Echo nun hintereinander dargestellt ??

    Edit : explode macht was es soll

    PHP-Code:
    echo ($parameter[0]." "); 
    Antwort

    24.02.2018
    im Parameter 1 steht nun der ganze Rest - Warum ? Hat Explode evt. ein Problem mit dem Vorzeichen ??

    Edit2 :

    habs nun quick und dirty gemacht und einfach das vermeintliche Leerzeichen aus der Antwort oben in die Klammern nach explode kopiert - nun gehts
    Geändert von Alikante (25.02.18 um 15:37 Uhr)

Ähnliche Themen

  1. Sollzustände aus einer Textdatei für Boolean Variable einlesen
    Von UH368 im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 7
    Letzter Beitrag: 30.10.12, 17:37
  2. Text/Wert in Textdatei ändern
    Von hbraun im Forum Off Topic
    Antworten: 4
    Letzter Beitrag: 09.01.11, 00:30
  3. Werte in Textdatei schreiben.
    Von UH368 im Forum Skripte, PHP, SQL
    Antworten: 2
    Letzter Beitrag: 25.11.10, 07:20
  4. WWW-Reader Textdatei in Variable
    Von axbl im Forum Allgemeine Diskussion
    Antworten: 3
    Letzter Beitrag: 22.02.06, 01:51
  5. Textdatei als I/O-Quelle
    Von axbl im Forum Allgemeine Diskussion
    Antworten: 5
    Letzter Beitrag: 03.01.06, 11:24