Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme beim Daten-Upload

Einklappen

Neue Werbung 2019

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

  • Probleme beim Daten-Upload

    Hallo Community ,

    ich habe ein Problem zur Datenermittlung :

    Zur Vorgeschichte:

    Ich habe einen Wechselrichter für meine Solar-Anlage und die ist per CAT-5 Kabel an mein Netzwerk angeschlossen. Es handelt sich bei dem Wechselrichter um einen "Kostal Piko 8.3" (wer Lust hat, googelt es schnell ).

    Jedenfalls macht dieser regelmäßig Aufzeichnungen von meiner Anlage und speichert sie in eine Datei, genannt "LogDaten.dat". Ich erreiche die Datei über Port Forwarding und per DDNS ohne Probleme.

    Da ich nicht die Daten intern drauf haben will, schicke ich sie auf mein Webserver, nur das DAUERT EWIG....

    Mehr Daten => Mehr zum verschicken

    Mein bisheriger Code lautet:

    PHP-Code:
    (...)
    $url "http://**username**:**passwort**@*subdomain*.*domain*.de/LogDaten.dat";
    $datei file_get_contents($url);
    file_put_contents("files/LogDaten.dat"$datei);
    (...) 
    Ich habe Vorschläge gesehen, wie man die Datei von rückwärts via "fseek()" auslesen kann, hat bei mir nicht geklappt: (...) fseek(): stream does not support seeking (...)

    Ich dachte an 2 Möglichkeiten:

    1. Die Datei nach einem bestimmten Wert durchsuchen (in dem Fall: der letzte Eintrag in der Datenbank) und ab da auslesen und die Datei auf dem Webserver aktualisieren

    2. Die Datei rückwärts auslesen und bei einem bestimmten Zeichen (in dem Fall: '80000400h') abbrechen und die neuen Werte direkt in die Datenbank hinzufügen, ohne die Datei zu aktualisieren.
    __________________________________________________ ___________

    Die Daten werden für Diagramme verwendet und finde es schade, dass dieser Wechselrichter so mühsam handzuhaben ist. Es funktioniert ja, aber ich will die Upload-Zeiten klein halten, da be 100kByte/s und einer schon 30MByte-Datei mehrere Kaffee's nötig sind um die Zeit zu überbrücken

    Aber was meint ihr? Welcher Algorithmus/Funktion/Plugins gibt es da, die mir weiterhelfen?

    Freue mich auf jede Hilfe!

    Mit freundlichen Grüßen,
    renske96


  • #2
    Die einzige Möglichkeit wäre es, die Datei auf dem Server wo sie liegt (gespeichert wird) zu verarbeiten und nachträglich auf den Zielhost zu schieben. So wie du es aktuell regelst kann das ganze nicht funktionieren, da HTTP nur die komplette Datei übertragen kann. (Natürlich geht auch ein partialer download, aber nicht "so" wie du es dir vorstellst)
    Zitat von nikosch
    Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

    Kommentar


    • #3
      Zitat von tkausl Beitrag anzeigen
      Die einzige Möglichkeit wäre es, die Datei auf dem Server wo sie liegt (gespeichert wird) zu verarbeiten und nachträglich auf den Zielhost zu schieben.
      Wie meinst du "der Server wo die Daten liegen"? Es ist ja kein Server, sondern ein Wechselrichter der nur mit einem CAT-5-Kabel erreichbar ist, ist aber kein Server... oder habe ich es falsch verstanden?

      Kommentar


      • #4
        PHP-Code:
        $url "http://**username**:**passwort**@*subdomain*.*domain*.de/LogDaten.dat"
        Anscheinend rufst du die Datei ja per HTTP ab, also muss auf diesem "Wechselrichter" ja zumindest ein Webserver laufen. Wenn du dort nichts machen kannst bleibt dir nichts, als die komplette Datei zu laden.
        Zitat von nikosch
        Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

        Kommentar


        • #5
          Ich habe hier die Bedienungsanleitung dieser "Nervenmaschine" :
          http://www.solarblitz.ch/datenblaett...sanleitung.pdf

          ich sehe hier fast keine Möglichkeiten, aber gint es wirklich keine Alternativen mehr?

          Kommentar


          • #6
            Kannst es ja mal damit versuchen:

            http://stackoverflow.com/questions/2...file-with-curl
            Musst dir ja dann theoretisch immer nur den Teil der Datei laden, der über die größe der Aktuellen datei die du schon geladen hast hinaus geht.
            Zitat von nikosch
            Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

            Kommentar


            • #7
              Genau, mehr ist es ja nicht... aber er soll ja NUR die Differenz laden, nicht alles
              Ich werds mal ausprobieren.
              __________________________

              Ich versteh den Code nicht ganz: Muss ich beide nehmen oder wie der da sagt, wenn es ein Problem gibt?

              Kommentar


              • #8
                Vielleicht reicht es dir ja auch wenn du die Datei einmal Nachts mittels Cron-Job abrufst und speicherst.

                Kommentar


                • #9
                  @Kinger: Eigentlich ja schon aber ich würde es gerne immer dann, wenn ich Zeit habe auf meine selbst-programmierte "Webportal" gehe, es dann zu aktualisieren. Das wär halt super....

                  @tkausl: ICh weiß nicht ganz wie ich die lokale Datei (die die auf dem Webserver liegt) in das Skript einbette... Kannst du mir da mal auf die Sprüge helfen?

                  Kommentar


                  • #10
                    Aktuelle Dateigröße auslesen, mit dem partiellen Download (siehe Link) alle Bytes ab da laden und dann einfach ans ende der Datei schreiben.

                    Vorraussetzung ist, dass der Webserver der die Datei anbietet den partiellen download unterstützt.
                    Zitat von nikosch
                    Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

                    Kommentar


                    • #11
                      Interessant wäre ja eh, was der Webserver so alles bietet. Veilleicht arbeitet da im Hintergrund auch eine Datenbank die man dann eventuell besser abfragen kann. Aber das kann man aus der Bediehungsanleitung leider nicht rauslesen.

                      Kommentar


                      • #12
                        @Kinger:
                        Ja es wäre schon cool, zu wissen, mit was man da arbeitet, aber ich habe leider nur diese Bedienungsanleitung...

                        @tkausl:
                        okay, ich blicks grad überhaupt nicht sorry... Kannst du mir anhand seines Beispiels ein kurzes Beispiel geben? Danke!

                        Kommentar


                        • #13
                          Habe mich nochmals schlau gemacht mit Datenupload in PHP: Ich sehe fast keine Möglichkeiten mehr, wie man nur ein Teil der Datei hochladen kann.
                          Gibt es da wirklich keine Möglichkeiten mehr?

                          Kommentar

                          Lädt...
                          X