Ankündigung

Einklappen
Keine Ankündigung bisher.

Suche Hilfe für Plugin für Auerswald 5020

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • xachsewag
    antwortet
    Hi,
    mal ein ganz anderer Ansatz, die 5020 kan ja auch LAN Tapi. Wieso nicht mal versuchen die Daten darüber abzugreifen? Entweder direkt oder über einen Windows Rechner auf dem der LAN Tapi Treiber läuft.

    Einen Kommentar schreiben:


  • daviid
    antwortet
    Hallo, meld mich mal wieder ...

    da ich den Login noch nicht am laufen hab (faulheit, keine Lust ...) behelf ich mir aktuell damit die Daten zum Testen einfach in nen string zu speichern.

    Jetzt hab ich mal ziemlich viele genommen von nem ganzen Monat, und auf einmal gibts den Error:
    2011-12-09 18:02:09.701,AW_5020,,0s,malformed UTF-8 character in JSON string, at character offset 72 ["\x{49b4}","42","Zusa..."] at (eval 1662) line 54, <FILE> line 222357.
    Line 54 is das hier:
    Code:
    my $json_data = decode_json($listges_data); # hash fuer die Daten
    In den JSON String entdeck ich keine Auffälligkeiten.

    Einen Kommentar schreiben:


  • makki
    antwortet
    Remote schwer zu sagen, geht sicherlich aber da muss man ein bisschen rumprobieren.
    Ich würde erstmal versuchen, das ganze mit wget + cookie speichern "händisch" hinzubekommen, dann kann man sich dem ausm Plugin nähern;
    Im Endeffekt wirds so laufen müssen:
    Login senden, Cookie speichern/merken ($plugin_info), eigentliche Seite abrufen.

    Makki

    Einen Kommentar schreiben:


  • daviid
    antwortet
    Nachdem ich mal wieder bischen Zeit hab wollt ich mit dem Projekt mal weitermachen ...
    @makki, bzw an alle,
    hat jemand einen heißen Tipp für mich wie ich das mit dem Login machen könnte?

    Ich hatte hier bereits gepostet gehabt wie das "Protokoll" aussieht,
    Cookie mäßig werden folgende 2 Cookies erstellt:
    Code:
    [B]Name [/B]AUERSessionID
    [B]Wert [/B]*******
    [B]Host [/B]172.26.193.147
    [B]Pfad [/B]/
    [B]Sicher [/B]Nein
    [B]Gültig [/B]bisSitzungsende
    
    [B]Name [/B]*******
    [B]Wert [/B]user-name
    [B]Host [/B]172.26.193.147
    [B]Pfad [/B]/
    [B]Sicher [/B]Nein
    [B]Gültig [/B]bisSitzungsende
    Ich weiß einfach nicht nach was ich suchen soll, ich lande immer nur bei Login-Scripten, was könnte denn hier ein geeignetes Suchwort sein?

    Einen Kommentar schreiben:


  • makki
    antwortet
    Ist ja kein Problem, bedeutet auch, wenn ich zu etwas mal 2 Tage nichts schreibe, dann weiss ichs auch nicht auf Anhieb und/oder es klingt ungefährlich

    -> Das mit dem Login musste selber ausprobieren, ist vermutlich tricky aber geht nicht: gibts nicht!

    -> Tipp: ich schreibe die meisten komplexeren Plugins auch erstmal "standalone" um zu sehen, was wo&wie da passiert.

    Reset: das ginge prinzipiell, heisst es gibt einen Plan dafür (mit diesem "Plan" kann man sich aber auch in 10 Minuten 100 WG aufsetzen, so schmerzbefreit bin ich dann doch wieder nicht..)
    Hat aber noch nie jemand geschafft, das brauchen zu müssen.
    (solange man halbwegs zuhört, wenn ich "Stopp" rufe..)

    Und es gibt auch einen Plan B, das einfachste (für den Anwender) wäre in so einem Fall das CF auszutauschen, aber auch das stand noch nie an. Keine Angst, so schnell geht da nichts ernsthaft "kaputt" oder wird übermässig zugemüllt, ist ja kein Windows

    Ich hab noch nie ein Debian-Linux komplett neu aufgesetzt, weil es mir zu verwurschtelt war. Das ist da zum Glück alles transparent und reversibel solange es noch bootet (und selbst wenn nicht: gibts da ein Mini-Rettungs-System inkl. Wartungs-VPN, wir haben auch ganz bewusst keine verstümmelte Embedded-Plattform gewählt, mit Tageslaune-abhängigem NAND-Flash und launischen Bootloadern, die nicht mehr mögen, weil ein Bit an der falschen Stelle umgefallen ist.. An anderer Stelle mag das ein Nachteil sein, das es eben kein REG-Gerät mit 2W gibt aber..)
    Da stecken gut 10J tägliche Betriebserfahrung mit embedded und "nicht so embedded" Linux drin. Quintessenz: Software ist sicher nicht&nie perfekt, aber sollte sich wenigstens jederzeit&schnell remote reparieren oder updaten lassen.
    (Hier: sofern der AW das wünscht! Datenschutz und kein ungefragtes "nach-Hause-telefonieren". Das steht für mich darüber!)

    Makki

    Einen Kommentar schreiben:


  • daviid
    antwortet
    @emax, keine Sorge, du warst nicht schuld, bin selber schon vorher drauf gekommen

    @makki, seh ich auch so, nur kommt bei mir eben das Halbwissen zum tragen, die grunsätzlichen Sachen weiß ich, nen Webserver aufsetzen, Samba, usw. alles kein Problem, aber so wissen hab ich (leider) einfach nicht.

    Ich glaub mein WG is langsam schon relativ "zugemüllt", daher die Frage obs irgendwie die Möglichkeit gibt das System auf Werkseinstellung zurückzusetzen, oder evtl mal geben wird?

    Das JSON-decoding läuft jetzt übrigens, hab jetzt auch schon ne xml, werd das demnächst mal posten, jetzt fehlt nurnoch der login in die Anlage ...

    Einen Kommentar schreiben:


  • makki
    antwortet
    Kein Problem, andere kommen ja auch auf die Idee bzw. "lernt" man es mit Perl ja auch irgendwo sicher so Für C:\Temp\Testscript.pl ist das sicher zielführend..
    Da ist mir lieber, es steht hier nochmal zum nachlesen:

    [ACHTUNG]CPAN ist ganz grosse Bastelgrütze und das ist nicht nur unsupported sondern verboten [/ACHTUNG]

    Es geht hier ja darum, ein Komplettsystem (oder eben eine Distribution) über viele Jahre stabil & wartbar zu halten; wenn man da mit CPAN, PyPI oder ./configure; make; make install (um eine paar andere Wege zum Abgrund zu nennen) + 1/2 bis 3/4-Wissen oder Tipps aus dem xy-Forum anfängt, dann kommt man halt ganz, ganz schnell in den Wald.

    -> Lieber package ich es im Zweifelsfall selbst und lege es ins repository (hab ich auch schon ein paarmal gemacht)

    Makki

    Einen Kommentar schreiben:


  • emax
    antwortet
    Schäm ...

    Deshalb hatte ich ja gesagt: Nur wenn Makki nix dagegen hat.

    Ich tu's nie wieder (solche Sachen verraten ...)

    Einen Kommentar schreiben:


  • makki
    antwortet
    Das kann schon sein das es ab und zu geht aber man plättet sich damit ganz schnell so ziemlich alles, es gibt da ein ganz elementares Grundprinzip mit dem ich seit sehr vielen Jahren auf Produktivsystemen sehr gut fahre:
    Gibts kein Debian-Paket, dann macht man entweder eins oder es hat eben eben Gründe das es keins gibt -> kaputt, ist nich

    Der generelle Lösungsansatz ist einzig und alleine:
    apt-get

    Paketnamen raussuchen (hier):
    apt-cache search libxml | grep perl
    oder auf Debian -- Details of package perl in lenny

    Dann finden wir libxml-writer-perl und genau das installieret man mit
    apt-get install libxml-writer-perl

    Makki

    P.S.: Einfacher ist aber XML:Simple das wiederum schon drauf ist und kein Terrabyte RAM weglutscht

    Einen Kommentar schreiben:


  • daviid
    antwortet
    Bitte nich töten makki, rat mal was ich vorhi als erstes probiert hatte ... cpan

    läuft übrigens wunderbar
    Jetzt will ich mir dadraus ne xml mit xml::writer basteln, soweit so gut, code steht nur geht use XML::Writer; nicht, und auch XML::Writer::XS hat auf Verdacht nix gebracht.

    Gibts hier nen generellen Lösungsansatz wenn solche Extensions fehlen?

    Einen Kommentar schreiben:


  • makki
    antwortet
    Bitte bitte bitte kein CPAN, das ist mörderisch.

    use JSON::XS
    statt
    use JSON
    reicht völlig, es ist schon drauf..
    ansonsten wäre es aber
    apt-get install libjson-perl libjson-xs-perl

    Makki

    Einen Kommentar schreiben:


  • emax
    antwortet
    Probier mal

    # perl -MCPAN -e 'install JSON'

    wenn Makki nix dagegen hat - weil auf dem Wiregate ist er der Chef, und das wäre eine 'alternative' Installationsmethode, gewissermaßen an apt vorbei. Im perl und Linux-Sinne wäre es dann aber trotzdem korrekt installiert - wenn mein 'probier mal' so überhaupt das richtige Paket geraten hat.

    Einen Kommentar schreiben:


  • daviid
    antwortet
    So, wollts eben ausprobieren, bekomm aber folgeden Error:

    Can't locate JSON.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at (eval 1061) line 28, line 148144. BEGIN failed--compilation aborted at (eval 1061) line 28, line 148144.

    Einen Kommentar schreiben:


  • daviid
    antwortet
    ok, heute mittag gleich mal ausprobieren, damit kann man doch was anfangen! danke makki!
    fehlt nur noch sich einloggen, hat da vlt jemand nen tipp für nen login mit cookie?

    Einen Kommentar schreiben:


  • makki
    antwortet
    Also, das sieht nicht nur so aus, würde sagen das ist JSON. Das ist gut
    Kann man natürlich auch mit wilden RE parsen, aber auf die steht ich nicht so

    Mal ein Beispiel, wie man das zerlegt (Standalone, fürs Plugin print durch return zum debuggen erstzen.
    Mit auskommentierten Debug-Ausgaben, um zu zeigen wie ich auf sowas komme
    Code:
    #!/usr/bin/perl -w
    #
    # use strict; # bereits global
    use JSON; # evtl. schon geladen, macht dann nichts
    # JSON::XS ist vorinstalliert
    
    my $line = '[["1","17.11.11","20:01:55","00:01:49","","tel-nr","","103","interne-nr","41","David","interne-nr","0,0000","1,00","kommend"," erfolgr.","normal","","0","5007"],["1","17.11.11","20:01:55","00:01:49","","tel-nr","","103","interne-nr","41","David","interne-nr","0,0000","1,00","kommend"," erfolgr.","normal","","0","5007"],["1","17.11.11","20:01:55","00:01:49","","tel-nr","","103","interne-nr","41","David","interne-nr","0,0000","1,00","kommend"," erfolgr.","normal","","0","5007"]]';
    
    my $json_data = decode_json($line); # hash fuer die Daten
    
    #use Data::Dumper;
    #print Dumper $json_data;
    #print @{$json_data};
    # Perl-syntax kann gern mal unverstaendlich sein, Data:Dumper hilft uns zu sehen das es sich um ein Array of arrays handelt..
    
    foreach my $call (@{$json_data}) {
    	#print "calldump: " . Dumper $call;
    	print "call: " . @{$call}[1]; # Datum
    	print @{$call}[2]; # Uhrzeit
    	print @{$call}[10] . "\n"; # David
    }
    Editor: kann ich nachvollziehen, werde ich aber höchstens Upstream bei editarea melden, der Editor ist ja auch nur "ausgeliehen"

    Makki

    Einen Kommentar schreiben:

Lädt...
X