Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. PHP Skript aus Ip-Symcon übernehmen? Wer kann mir helfen?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    PHP Skript aus Ip-Symcon übernehmen? Wer kann mir helfen?

    This topic has been deleted. Only users with topic management privileges can see it.
    • O
      Oxxmoxx last edited by

      Hallo.

      Seit 2011 habe ich meine IPSymcon-Installation laufen und möchte jetzt auf IOBroker wechseln. Mein erstes Projekt bei IPS war es, dass ich meine Log-Datei aus der Hanazeder FP10-Heizungssteuerung auslese. Hier konnte mir dann ein PHP-Script helfen, dass die einzelnen Spalten ausliest und in Variablen schreibt. Die Log-Datei die alle 5 Sekunden von der Steuerung angelegt wird (Dateiname und Pfad kann ich festlegen), lass ich immer nach auslesen der Werte löschen.

      Hatte schon versucht es mit dem PapaParse auszulesen, aber irgendwie komm ich damit nicht klar.

      Kann mir jemand einen Lösungsansatz oder Denkanstoß geben?

      So schaut die Log-Datei im Editor aus (mit Semikolon getrennt, mit Überschrift)
      16641_fp10.jpg

      Hier der Code aus der PHP für IPS

      Ansonsten bin ich schon mal begeistert, dass ich meine Hue und Homematic-Komponenten (über LAN-Adapter) schon als Objekte in IOBroker drin habe. Nächster Step wird die Visu sein, mit allen Fühlerwerten aus Heizung, HM-Fühlern, Lichtschaltern usw.

      Danke schon mal im Voraus und ich freue mich auf weitere Projekte 🙂

      Gruß

      Matthias

      1 Reply Last reply Reply Quote 0
      • M
        mmtnrw last edited by

        Habe mal schnell was gemalt….

        Hilft die das vielleicht ????

        ! var file="file:///C:/temp/log.txt"
        ! var xml = new XMLHttpRequest();
        ! rawFile.open("GET", file, false);
        ! rawFile.onreadystatechange = function ()
        ! {
        ! if(rawFile.readyState === 4)
        ! {
        ! if(rawFile.status === 200 || rawFile.status == 0)
        ! {
        ! var text=this.responseText;
        ! var lastline=text.match(/^.*\z/m)[0];
        ! var werte=lastline.split(";");
        ! }
        ! }
        ! }

        1 Reply Last reply Reply Quote 0
        • M
          mmtnrw last edited by

          Du kannst anstatt der file url auch ein php skript aufrufen. Und die Antwort ist dann in this.responseText

          Damit kannst du dann auch die Datei löschen, wenn du also ein lokalen webserver hast kannst du da die daten dann entsprechend auslesen.

          anstatt file://blablu rufst du dann dann script über http://localhost/meinscript auf dort machst du ein Output / echo des Arrays als Json und parsed das dann in iobroker'(JavaScript)…. weil mit javascript exec und dann del ausführen fände ich doof..... vielleicht ist das dann ein ansatz......

          1 Reply Last reply Reply Quote 0
          • O
            Oxxmoxx last edited by

            Danke schon mal für die beiden Lösungsansätze.

            Hören sich beide logisch an, aber ich kann es noch nicht mit Code lösen. Dafür fehlen mir Json oder Javascript Kenntnisse.

            Server habe ich (noch) keinen laufen. Wäre dann nur für diese Datei evtl. "too much".

            @ mmtnrw wo muss ich den Code einfügen? Sorry für die doofe Anfängerfrage - stehe ganz am Anfang von ioBroker.

            Falls das jemand mit der Original-Datei 16641_fp10.log mir mal erklären möchte, bin ich sehr dankbar.

            Wenn ich es selbst nicht schaffe, bin ich gerne bereit ein Trinkgeld zu bezahlen 8-)

            Danke im Voraus.

            1 Reply Last reply Reply Quote 0
            • M
              mmtnrw last edited by

              Wenn du mir sagst was du vor hast, so das ich das verstehen kann, kann ich dir vielleicht helfen.

              Was willst du mit der Datei machen und wo sollen die Daten hin….

              Das RegEx war ja schon fertig und von daher müsste ich jetzt wissen ob es in einem Intervall laufen soll oder ähnliches.

              Es ist schneller programmiert wenn ich sowas bekomme:

              Alle 5 Minuten:

              LogDatei letzte Zeile lesen

              2 Beispiel Zeilen

              Daten auswerten und in ein Objekt speichern.

              Beispiel wie es nachher aussehen soll.....

              Ich kann mit normalen javascript nicht löschen ausser über exec und dann ist es systemabhängig ob rm oder del.

              Oder aber mit NodeJS und fs weiss aber nicht ob das dann überall läuft, mein nodejs server in iobroker ist auch sehr buggy

              Siehe:

              viewtopic.php?f=21&t=20296

              Dann kann ich das auch umsetzen 🙂

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate

              788
              Online

              31.8k
              Users

              79.9k
              Topics

              1.3m
              Posts

              2
              5
              441
              Loading More Posts
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes
              Reply
              • Reply as topic
              Log in to reply
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              The ioBroker Community 2014-2023
              logo