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.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Suche Hilfe für Plugin für Auerswald 5020
Einklappen
Dieses Thema ist geschlossen.
X
X
-
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:
Line 54 is das hier: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.
In den JSON String entdeck ich keine Auffälligkeiten.Code:my $json_data = decode_json($listges_data); # hash fuer die Daten
Einen Kommentar schreiben:
-
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:
-
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:
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?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
Einen Kommentar schreiben:
-
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:
-
@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:
-
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:
-
Schäm ...
Deshalb hatte ich ja gesagt: Nur wenn Makki nix dagegen hat.
Ich tu's nie wieder (solche Sachen verraten ...)
Einen Kommentar schreiben:
-
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:
-
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:
-
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:
-
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:
-
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:
-
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:
-
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
Editor: kann ich nachvollziehen, werde ich aber höchstens Upstream bei editarea melden, der Editor ist ja auch nur "ausgeliehen"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 }
Makki
Einen Kommentar schreiben:


Einen Kommentar schreiben: