Probleme mit Speedtest

Begonnen von slor, 26 Oktober 2020, 23:23:13

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

#30
Naja, wenn es wirklich die SD ist, dann sind die Fehler hoffentlich nicht schon in deinem Voll-Backup von gestern drin...

Bzgl. des speedtest-Moduls, also ich habe nichts notiert, dass ich das "selbst besorgt" hätte.
Ich glaube es ist/sollte im ganz normalen Update drin sein.

Wenn du das Attribut ookla hast, dann muss es doch passen!?

EDIT: https://forum.fhem.de/index.php/topic,114118.msg1088346.html#msg1088346

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

topa_LE

SD Card (ich hoffe es mal nicht), sonst ein noch älteres Backup nehmen. So viele Änderungen hatte ich nicht in letzter Zeit  :o

ookla Attr habe ich , ja.

Fehler bleibt weiterhin:

terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_M_construct null not valid
2020.11.13 11:50:49 1: PERL WARNING: Use of uninitialized value $a[1] in pattern match (m//) at ./FHEM/32_speedtest.pm line 181.
2020.11.13 11:50:49 3: eval: {speedtest_SpeedtestDone('WEB_Speedtest|')}
2020.11.13 11:50:49 1: PERL WARNING: Use of uninitialized value $a[1] in string eq at ./FHEM/32_speedtest.pm line 213.
2020.11.13 11:50:49 3: eval: {speedtest_SpeedtestDone('WEB_Speedtest|')}



MadMax-FHEM

Also bei mir läuft es...

Was ich gemacht habe (aber wohl unnötig ist, macht das Modul wohl auch): ich habe den ookla speedtest 1x als User fhem ausgeführt und die "Bedingungen akzeptiert"...

Hast du folgende Datei:


/opt/fhem/.config/ookla/speedtest-cli.json


Ansonsten muss halt Andre mal schauen, wenn dein System sonst wieder ok ist...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

topa_LE

ja Ersttest hatte ich auch gemacht , allerdings als user pi.

Siehe Post.

topa_LE

So nun nochmal mit User fhem:


pi@FHEM-Server4:~ $ sudo -u fhem /bin/bash
fhem@FHEM-Server4:/home/pi$
fhem@FHEM-Server4:/home/pi$
fhem@FHEM-Server4:/home/pi$
fhem@FHEM-Server4:/home/pi$ speedtest
==============================================================================

You may only use this Speedtest software and information generated
from it for personal, non-commercial use, through a command line
interface on a personal computer. Your use of this software is subject
to the End User License Agreement, Terms of Use and Privacy Policy at
these URLs:

        https://www.speedtest.net/about/eula
        https://www.speedtest.net/about/terms
        https://www.speedtest.net/about/privacy

==============================================================================

Do you accept the license? [type YES to accept]: YES
License acceptance recorded. Continuing.

==============================================================================

Ookla collects certain data through Speedtest that may be considered
personally identifiable, such as your IP address, unique device
identifiers or location. Ookla believes it has a legitimate interest
to share this data with internet providers, hardware manufacturers and
industry regulators to help them understand and create a better and
faster internet. For further information including how the data may be
shared, where the data may be transferred and Ookla's contact details,
please see our Privacy Policy at:

       http://www.speedtest.net/privacy

==============================================================================

Do you accept the license? [type YES to accept]: YES
License acceptance recorded. Continuing.


   Speedtest by Ookla

     Server: IBH IT-Service GmbH - Dresden (id = 2495)
        ISP: Deutsche Telekom AG
    Latency:     6.67 ms   (0.34 ms jitter)
   Download:   170.89 Mbps (data used: 85.5 MB)
     Upload:    41.65 Mbps (data used: 18.8 MB)
Packet Loss:     0.0%
Result URL: https://www.speedtest.net/result/c/7ae70c49-287b-4977-9f6b-0e7a828ad8c5
fhem@FHEM-Server4:/home/pi$


Jetzt habe ich auch den .config/ookla Ordner.


Wernieman

Dann copiere doch mal die Datei "speedtest-cli.json" vom User pi zu fhem:

Wenn Du root bist:
mkdir -p /opt/fhem/.config/ookla/
cp /home/pi/.config/ookla/speedtest-cli.json /opt/fhem/.config/ookla/
chown -R fhem: /opt/fhem
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

topa_LE

Wieso sollte ich das tun?

Ist doch denke ich so, wie es sein sollte oder? Habe den Erst "speedtest" Aufruf doch eben nochmal mit User: fhem gemacht.


Was mich ja stört ist, das 32_speedtest.pm nicht per update all kommt und weiterhin der Fehler im Log ist. Solange ich nicht die neue .pm habe wird das nix werden. Kann mir nicht einer diese Datei hochladen?


2020.11.13 14:53:03 1: PERL WARNING: Use of uninitialized value $a[1] in pattern match (m//) at ./FHEM/32_speedtest.pm line 181.
2020.11.13 14:53:03 3: eval: {speedtest_SpeedtestDone('WEB_Speedtest|')}
2020.11.13 14:53:03 1: PERL WARNING: Use of uninitialized value $a[1] in string eq at ./FHEM/32_speedtest.pm line 213.
2020.11.13 14:53:03 3: eval: {speedtest_SpeedtestDone('WEB_Speedtest|')}

topa_LE

... um das doch so unwichtige Modul mal abzuschließen, folgendes:

Hatte mir mal den Spass gemacht in diesem Zuge mit einer Backup SD-Card von Stretch auf Buster upzugraden und siehe da, der Fehler taucht nun nicht mehr auf und speedtest wird aus den deb Paket von

deb https://ookla.bintray.com/debian buster main

sauber installiert. (Also nix da, mit defekter SD-Card / eher das Problem von stretch) Danach mit User pi und auch fhem den zertifizierten Testlauf mit zweimal YES vollzogen.
/opt/fhem/.config/ookla/speedtst-cli.json
gibt es nun.

Nur wo ist die speedtest in /usr/local/bin ??

In Andre's Modul sehe ich das in Zeile 213

if( $a[1] eq "Invalid server ID" ) {
    readingsSingleUpdate($hash,"state", "failed", 1);
    return;
  }


genau das in meinem Log immer noch angemeckert wird.

Ebenso in Zeile 181 das die ookla.json bei aktivierte attr 1 gefordert wird. Alles ist doch m.E. vorhanden?! Alles sollte doch keine Hexerei sein.

if( $a[1] =~ m/^\{.*\}$/ ) {
    if( !$speedtest_hasJSON ) {
      Log3 $name, 1, "json needed for ookla speedtest";
      return;
    }


Für mich scheinbar zu hoch, nur ärgerlich, dass alles vor 5 Tagen noch funktionierte.

Nun doktore ich hier rum, weil der "state" permanent failed anzeigt und das Modul nicht mehr funktioniert.

Weiß nicht was bei anderen funktioniert ...

Schleierhaft nur, wo die korrekte Install mit:
sudo apt-get install speedtest
was auch immer, wohin kopiert. In usr/local/bin ist nix und mit find, wird nur das geliefert : (das sehe ich mit WinSCP auch)

pi@Pi3FHEM-Server4:~ $ find . |grep speedtest
./.config/ookla/speedtest-cli.json


Weitere Errors im Log:
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_M_construct null not valid
2020.11.13 19:21:30 1: PERL WARNING: Use of uninitialized value $a[1] in pattern match (m//) at ./FHEM/32_speedtest.pm line 181.
2020.11.13 19:21:30 3: eval: {speedtest_SpeedtestDone('WEB_Speedtest|')}
2020.11.13 19:21:30 1: PERL WARNING: Use of uninitialized value $a[1] in string eq at ./FHEM/32_speedtest.pm line 213.
2020.11.13 19:21:30 3: eval: {speedtest_SpeedtestDone('WEB_Speedtest|')}


Sagt mir mal einer, was das nun genau bedeutet??

Danke

P.S. Wenigstens habe ich nun ein funktionierendes FHEM mit Buster ;-)

Ich hake das nun ab, mit dem Ergebnis ein wenig Zeit vergeudet zu haben ...
(Weiß ja was meine DSL Leitung bringt / wird es eben dann nicht mehr auf TabletUI angezeigt)

Wernieman

Was sagt das Kommando whereis (auf der Konsole)?

also hier z.B.:whereis speedtest

Unter der Voraussetzung, das auf der Konsole das Kommando speedtest lautet, sonst bitte anpassen
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

topa_LE

die speedtest 1836kB habe ich aus dem Paket extrahiert und manuell nach /usr/local/bin kopiert, daher listet dein Befehl das hier:

speedtest: /usr/bin/speedtest /usr/local/bin/speedtest /usr/share/man/man5/speedtest.5

Funktioniert aber trotzdem nicht ... (Besitzer/Gruppe der speedtest ist root/staff) Liegt hier das Problem?

Wernieman

Zitat... habe ich aus dem Paket extrahiert ...

Auch die Rechte, Stichwort ausführbar, angepasst?

Mal ausprobiert: "/usr/bin/speedtest"
Und wenn das funktioniert, wäre ein symlink besser gewesen ..
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Christoph Morrison

#41
Das ist nur der Perl-Teil, der wohl aus

terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_M_construct null not valid


resultiert. Würde als Quelle mal das speedtest binary dafür in den Raum stellen. Der Perl-Teil kommt, weil die Fehlerbehandlung / die Sanity-Checks des Moduls ... ungut riechen.

Die Frage bleibt: Warum schmeißt das Binary den Fehler?

ZitatDank müsste ja hier auch der Fehler kommen, oder nicht?

Nein, hier wird über http geholt, nicht über https.

Schauen wir doch mal:

$ apt-rdepends speedtest
Reading package lists... Done
Building dependency tree
Reading state information... Done
speedtest
  Depends: ca-certificates
ca-certificates
  Depends: debconf (>= 0.5)
  Depends: debconf-2.0
  Depends: openssl (>= 1.1.1)
debconf
  PreDepends: perl-base (>= 5.20.1-3~)
perl-base
  PreDepends: dpkg (>= 1.17.17)
  PreDepends: libc6 (>= 2.28)
dpkg
  Depends: tar (>= 1.28-1)
  PreDepends: libbz2-1.0
  PreDepends: libc6 (>= 2.15)
  PreDepends: liblzma5 (>= 5.2.2)
  PreDepends: libselinux1 (>= 2.3)
  PreDepends: zlib1g (>= 1:1.1.4)
tar
  PreDepends: libacl1 (>= 2.2.23)
  PreDepends: libc6 (>= 2.17)
  PreDepends: libselinux1 (>= 1.32)
libacl1
  Depends: libattr1 (>= 1:2.4.46-8)
  Depends: libc6 (>= 2.14)
libattr1
  Depends: libc6 (>= 2.4)
libc6
  Depends: libgcc1
libgcc1
  Depends: gcc-8-base (= 8.3.0-6)
  Depends: libc6 (>= 2.14)
gcc-8-base
libselinux1
  Depends: libc6 (>= 2.14)
  Depends: libpcre3
libpcre3
  Depends: libc6 (>= 2.14)
libbz2-1.0
  Depends: libc6 (>= 2.4)
liblzma5
  Depends: libc6 (>= 2.17)
zlib1g
  Depends: libc6 (>= 2.14)
debconf-2.0
openssl
  Depends: libc6 (>= 2.15)
  Depends: libssl1.1 (>= 1.1.1)
libssl1.1
  Depends: debconf (>= 0.5)
  Depends: debconf-2.0
  Depends: libc6 (>= 2.25)


Möglicherweise haben speedtest und apt das gleiche Problem: Eine defekte SSL-Komponente. Das ist aber nur eine wilde Vermutung. Würde das System komplett frisch aufsetzen und dann mal nur die FHEM-Konfiguration testweise migrieren.

Lese gerade, dass du das inzwischen getan hast. Liefert denn apt auch noch einen Fehler, wenn du etwas über https installieren willst?

topa_LE

Ja wurde gemacht:
pi@Pi3FHEM-Server4:~ $ sudo chmod +x /usr/local/bin/speedtest

topa_LE

#43
Zitat von: Christoph Morrison
Würde das System komplett frisch aufsetzen und dann mal nur die FHEM-Konfiguration testweise migrieren.

Lese gerade, dass du das inzwischen getan hast. Liefert denn apt auch noch einen Fehler, wenn du etwas über https installieren willst?

Ok, war eine Überschneidung der Posts. Wollte Dich schon fragen ob ich komplett Buster neu installieren soll, nur wegen so einem speedtest . Hoppla ;-)

Also schrieb ich doch oben, das mit dem Upgrade auf Buster vom Stretch meines Backups nicht mehr der apt Fehler kommt. Wäre mal interessant, ob ein Stretch User ähnliche/genau das Problem bei der Binary Cli install hat/hatte. Weil meine Sandisk Ultra SD ist ein Jahr alt, da zu "vermuten" deine Card ist defekt konnte ich nicht glauben ...


Edit: Screen (die aktuelle binary speedtest ist vorhanden in /user/local/bin), warum gehst dann nicht? Ebenso die verifizierte .json.

Aber ich gebe heute mal auf, hab noch andere (non FHEM) Kodi Baustellen ;-) Vielen Dank für eure Unterstützung, aber ganz so wichtig ist das Modul nun auch wieder nicht. Vielleicht bietet mir Andre noch ein Denkanstoß, immerhin ist das Modul von ihm.

Christoph Morrison

Zitat von: topa_LE am 13 November 2020, 20:19:48
Ok, war eine Überschneidung der Posts. Wollte Dich schon fragen ob ich komplett Buster neu installieren soll, nur wegen so einem speedtest . Hoppla ;-)

Die Antworte wäre ja gewesen ;-)

Zitat von: topa_LE am 13 November 2020, 20:19:48
Also schrieb ich doch oben, das mit dem Upgrade auf Buster vom Stretch meines Backups nicht mehr der apt Fehler kommt. Wäre mal interessant, ob ein Stretch User ähnliche/genau das Problem bei der Binary Cli install hat/hatte.

Hab ich jetzt gerade auch gelesen ;-)

Zitat von: topa_LE am 13 November 2020, 20:19:48
Weil meine Sandisk Ultra SD ist ein Jahr alt, da zu "vermuten" deine Card ist defekt konnte ich nicht glauben ...

Das muss nix heißen. Ich hatte eine SD-Karte vier Jahre im Betrieb und hab die dann manuell gekillt (durchgebrochen, dicke Finger). Eine andere hat kein Jahr gehalten. Es gibt viele Faktoren.

Zitat von: topa_LE am 13 November 2020, 20:19:48
die speedtest 1836kB habe ich aus dem Paket extrahiert und manuell nach /usr/local/bin kopiert

Warum? Du kannst doch im Modul den Pfad zum Modul im Attribut path angeben (so bei mir, Buster mit ookla Speedtest):



Internals:
   .FhemMetaInternals 1
   CFGFN      ./cfg.d/general/utilities/interwebs.cfg
   FUUID      5fa98457-f33f-0f53-11c2-7d794f3392483fb8
   FVERSION   32_speedtest.pm:0.229190/2020-10-05
   INTERVAL   3600
   NAME       general.utilities.interwebs.speedtest
   NR         4553
   STATE      Upload 42.10 MByte/s., Download 21.10 MByte/s. Ping 10.79 ms
   TYPE       speedtest
   .attraggr:
   .attrminint:
   Helper:
   READINGS:
     2020-11-13 19:50:04   download        21.1
     2020-11-13 19:50:04   id              17392
     2020-11-13 19:50:04   location        Dusseldorf
     2020-11-13 19:50:04   name            myLoc managed IT AG
     2020-11-13 19:50:04   packetLoss      0
     2020-11-13 19:50:04   ping            10.792
     2020-11-13 19:50:04   state           ok
     2020-11-13 19:50:04   upload          42.1
   helper:
Attributes:
   alias      Ookla Speedtest
   group      Netzwerk
   icon       speed-test@black
   ookla      1
   path       /usr/bin
   room       Allgemein->Netzwerk
   stateFormat Upload [$name:upload:d2] MByte/s., Download [$name:download:d2] MByte/s. Ping [$name:ping:d2] ms