Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter vodafone-speedtest v0.0.x GitHub/Latest

    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

    Test Adapter vodafone-speedtest v0.0.x GitHub/Latest

    This topic has been deleted. Only users with topic management privileges can see it.
    • peterbaumert
      peterbaumert Developer @Chaot last edited by

      @Chaot also das erste ist die minute dann stunde usw,

      Also */5 * * * * wäre alle 5 Minuten.

      Chaot 1 Reply Last reply Reply Quote 0
      • Dr. Bakterius
        Dr. Bakterius Most Active @Chaot last edited by

        @Chaot Das geht mit dem Editor eh so einfach ohne die cron-Syntax zu kennen:

        cron.png

        1 Reply Last reply Reply Quote 0
        • Chaot
          Chaot @peterbaumert last edited by Chaot

          @peterbaumert
          Der Cronjob stimmt schon so und wird auch mit dem Assistenten genau so angelegt. Das macht er auch richtig.
          Wie im letzten Beispiel mit dem Trigger auf 19 Uhr hat er bis dahin dann auch geschlafen. Aber dann ab 19 Uhr ist er im Minutentakt ausgeführt worden.
          Ich denke mal ich muss genau Stunde und Minute angeben und nicht alle n-Stunden, da er sonst scheinbar die ganze Stunde ausführt.
          Also so:

          0 2,8,14,20 * * *
          

          oder

          0 /6 * * *
          
          Dr. Bakterius 1 Reply Last reply Reply Quote 0
          • Dr. Bakterius
            Dr. Bakterius Most Active @Chaot last edited by Dr. Bakterius

            @Chaot Ja genau. Wenn du bei Minuten ein * angibst, wird in der gewählten Stunde jede Minute ausgeführt. In meinem Beispiel (0 * * * *) wird zu jeder vollen Stunde ein Test durchgeführt. Doch wenn man im Dialog alles anklickt was man wünscht, kommt auch das richtige Ergebnis raus. Zusätzlich steht in verständlichem Text auch unter dem cron wann er anspricht.

            Edit: Deine beiden Beispiele sind nicht ident! Im ersten wird um 2, um 8, um 14 und um 20 Uhr ein Test gefahren. Im zweiten um 0, um 6 , um 12 und um 18 Uhr. Nur als Anmerkung...

            1 Reply Last reply Reply Quote 0
            • arteck
              arteck Developer Most Active last edited by

              vodafone-speedtest.0	2020-05-04 14:02:01.268	error	(11810) init_sbc: Unknown Error
              

              krieg ich als Fehlermeldung geschmissen

              1 Reply Last reply Reply Quote 0
              • D
                dos1973 last edited by

                toller Adapter!
                funktioniert und die Werte passen.

                zur Info bei werden einige DP (Modem) nicht gepflegt.
                ich habe eine Fritzbox und dann ein USG.

                Bildschirmfoto 2020-05-06 um 17.45.50.png

                1 Reply Last reply Reply Quote 0
                • dontobi
                  dontobi last edited by

                  Ich wollte gerade den Adapter installieren. Leider hat das nicht geklappt. Hier die Ausgabe im Admin:

                  $ ./iobroker add vodafone-speedtest  --host smarthome
                  NPM version: 6.14.5
                  npm install iobroker.vodafone-speedtest@0.0.4 --loglevel error --prefix "/opt/iobroker" (System call)
                  Could not run curl-config, please make sure libcurl dev package is installed.Output: /bin/sh: 1: curl-config: not found
                  gyp: Call to 'node /opt/iobroker/node_modules/node-libcurl/tools/curl-config.js --prefix' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
                  gyp
                   ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1gyp ERR! stack     at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16)gyp ERR! stack     at ChildProcess.emit (events.js:310:20)gyp ERR! 
                  stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)gyp ERR! System Linux 4.19.97-v7l+gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/opt/iobroker/node_modules/node-libcurl/lib/binding/node_libcurl.node" "--module_name=node_libcurl" "--module_path=/opt/iobroker/node_modules/node-libcurl/lib/binding" "--napi_version=5" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v72"gyp ERR! cwd /opt/iobroker/node_modules/node-libcurlgyp ERR! node -v v12.16.3gyp ERR! node-gyp -v v5.1.0gyp ERR! not ok 
                  node-pre-gyp ERR! build error 
                  node-pre-gyp ERR! stack Error: Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/opt/iobroker/node_modules/node-libcurl/lib/binding/node_libcurl.node --module_name=node_libcurl --module_path=/opt/iobroker/node_modules/node-libcurl/lib/binding --napi_version=5 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v72' (1)node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/opt/iobroker/node_modules/node-pre-gyp/lib/util/compile.js:83:29)node-pre-gyp 
                  ERR! stack     at ChildProcess.emit (events.js:310:20)node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:1021:16)node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
                  node-pre-gyp ERR! System Linux 4.19.97-v7l+node-pre-gyp ERR! command "/usr/bin/node" "/opt/iobroker/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"node-pre-gyp ERR! cwd /opt/iobroker/node_modules/node-libcurlnode-pre-gyp ERR! node -v v12.16.3node-pre-gyp ERR! node-pre-gyp -v v0.14.0node-pre-gyp ERR! not ok 
                  npm
                   ERR! code ELIFECYCLEnpm ERR! errno 1npm 
                  ERR! node-libcurl@2.1.1 install: `node-pre-gyp install --fallback-to-build`npm ERR! Exit status 1npm ERR! npm ERR! Failed at the node-libcurl@2.1.1 install script.npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
                  
                  npm ERR! A complete log of this run can be found in:npm ERR!     /home/iobroker/.npm/_logs/2020-05-06T16_57_53_232Z-debug.log
                  ERROR: host.smarthome Cannot install iobroker.vodafone-speedtest@0.0.4: 1
                  ERROR: process exited with code 25
                  

                  Die Log kann ich gerne nachreichen, wenn diese benötigt wird. Vielleicht kann mir ja jemand sagen, was das Problem ist.

                  1 Reply Last reply Reply Quote 0
                  • ?
                    A Former User last edited by A Former User

                    Hab das selbe Problem.....


                    $ ./iobroker install vodafone-speedtest
                    NPM version: 6.11.3
                    npm install iobroker.vodafone-speedtest@0.0.4 --loglevel error --prefix "/opt/iobroker" (System call)
                    Could not run curl-config, please make sure libcurl dev package is installed.Output: /bin/sh: 1: curl-config: not found
                    gyp: Call to 'node /opt/iobroker/node_modules/node-libcurl/tools/curl-config.js --prefix' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
                    gyp
                    ERR! configure error
                    gyp ERR! stack Error: gyp failed with exit code: 1gyp
                    ERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:344:16)gyp ERR! stack at ChildProcess.emit (events.js:198:13)gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)gyp ERR! System Linux 4.19.75-v7l+
                    gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/opt/iobroker/node_modules/node-libcurl/lib/binding/node_libcurl.node" "--module_name=node_libcurl" "--module_path=/opt/iobroker/node_modules/node-libcurl/lib/binding" "--napi_version=5" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v64"gyp ERR! cwd /opt/iobroker/node_modules/node-libcurlgyp ERR! node -v v10.17.0gyp ERR! node-gyp -v v5.0.3gyp ERR! not ok
                    node-pre-gyp ERR! build error node-pre-gyp ERR! stack Error: Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/opt/iobroker/node_modules/node-libcurl/lib/binding/node_libcurl.node --module_name=node_libcurl --module_path=/opt/iobroker/node_modules/node-libcurl/lib/binding --napi_version=5 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v64' (1)node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/opt/iobroker/node_modules/node-pre-gyp/lib/util/compile.js:83:29)node-pre-gyp ERR! stack at ChildProcess.emit (events.js:198:13)node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:982:16)node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
                    node-pre-gyp ERR! System Linux 4.19.75-v7l+node-pre-gyp ERR! command "/usr/bin/node" "/opt/iobroker/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"node-pre-gyp ERR! cwd /opt/iobroker/node_modules/node-libcurlnode-pre-gyp ERR! node -v v10.17.0node-pre-gyp ERR! node-pre-gyp -v v0.14.0node-pre-gyp ERR! not ok
                    npm
                    ERR! code ELIFECYCLEnpm ERR!
                    errno 1npm ERR! node-libcurl@2.1.1 install: node-pre-gyp install --fallback-to-buildnpm ERR! Exit status 1npm ERR! npm ERR! Failed at the node-libcurl@2.1.1 install script.npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

                    npm ERR! A complete log of this run can be found in:npm ERR! /home/iobroker/.npm/_logs/2020-05-08T09_49_04_651Z-debug.log
                    ERROR: host.raspberrypi Cannot install iobroker.vodafone-speedtest@0.0.4: 1
                    ERROR: process exited with code 25

                    peterbaumert 1 Reply Last reply Reply Quote 0
                    • peterbaumert
                      peterbaumert Developer @Guest last edited by

                      @tobi83 @dontobi das muss wohl an euren namen liegen 😛

                      Ne quatsch, was habt ihr denn für Betriebssystem?

                      apt install libcurl-dev
                      

                      sollte dies unter debian und ubuntu beheben.

                      @dos1973 Bekommst du auf der Vodafone Speedtest seite oben denn deine "soll" Geschwindigkeit angezeigt?
                      @arteck wie oft lässt du den denn laufen? Habe bei Vodafone die Vermutung, wenn man es zu oft macht blockieren die einen, hatte ich während meinen Tests auch.

                      Gruß
                      Pete

                      dontobi D 2 Replies Last reply Reply Quote 0
                      • dontobi
                        dontobi @peterbaumert last edited by

                        @peterbaumert Ich wollte gerade das von dir erwähnte Paket installieren. Nun kommt das...

                        root@smarthome:~# apt install libcurl-dev
                        Paketlisten werden gelesen... Fertig
                        Abhängigkeitsbaum wird aufgebaut.
                        Statusinformationen werden eingelesen.... Fertig
                        Paket libcurl-dev ist ein virtuelles Paket, das bereitgestellt wird von:
                          libcurl4-openssl-dev 7.64.0-4+deb10u1
                          libcurl4-nss-dev 7.64.0-4+deb10u1
                          libcurl4-gnutls-dev 7.64.0-4+deb10u1
                        Sie sollten eines explizit zum Installieren auswählen.
                        
                        E: Für Paket »libcurl-dev« existiert kein Installationskandidat.
                        
                        1 Reply Last reply Reply Quote 0
                        • ?
                          A Former User last edited by

                          Ähmja irgendwie kein Erfolg....

                          pi@raspberrypi:~ $ apt install libcurl-dev
                          E: Sperrdatei /var/lib/dpkg/lock-frontend konnte nicht geöffnet werden. - open ( 13: Keine Berechtigung)
                          E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are y ou root?
                          pi@raspberrypi:~ $ apt install libcurl-dev
                          E: Sperrdatei /var/lib/dpkg/lock-frontend konnte nicht geöffnet werden. - open (13: Keine Berechtigung)
                          E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?

                          Thomas Braun 1 Reply Last reply Reply Quote 0
                          • Thomas Braun
                            Thomas Braun Most Active @Guest last edited by

                            @tobi83

                            sudo apt install libcurl-dev
                            
                            ? 1 Reply Last reply Reply Quote 0
                            • ?
                              A Former User @Thomas Braun last edited by A Former User

                              🤦‍♂️ Danke

                              Aber trotzdem nicht....


                              Paketlisten werden gelesen... Fertig
                              Abhängigkeitsbaum wird aufgebaut.
                              Statusinformationen werden eingelesen.... Fertig
                              Paket libcurl-dev ist ein virtuelles Paket, das bereitgestellt wird von:
                              libcurl4-openssl-dev 7.64.0-4
                              libcurl4-nss-dev 7.64.0-4
                              libcurl4-gnutls-dev 7.64.0-4
                              Sie sollten eines explizit zum Installieren auswählen.

                              E: Für Paket »libcurl-dev« existiert kein Installationskandidat.



                              $ ./iobroker install vodafone-speedtest
                              NPM version: 6.11.3
                              npm install iobroker.vodafone-speedtest@0.0.4 --loglevel error --prefix "/opt/iobroker" (System call)
                              Could not run curl-config, please make sure libcurl dev package is installed.Output: /bin/sh: 1: curl-config: not foundgyp: Call to 'node /opt/iobroker/node_modules/node-libcurl/tools/curl-config.js --prefix' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
                              gyp ERR! configure error gyp ERR! stack Error: gyp failed with exit code: 1gyp ERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:344:16)
                              gyp ERR! stack at ChildProcess.emit (events.js:198:13)gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)gyp ERR! System Linux 4.19.75-v7l+gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/opt/iobroker/node_modules/node-libcurl/lib/binding/node_libcurl.node" "--module_name=node_libcurl" "--module_path=/opt/iobroker/node_modules/node-libcurl/lib/binding" "--napi_version=5" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v64"gyp ERR! cwd /opt/iobroker/node_modules/node-libcurlgyp ERR! node -v v10.17.0gyp ERR! node-gyp -v v5.0.3gyp ERR! not ok
                              node-pre-gyp ERR! build error
                              node-pre-gyp ERR! stack Error: Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/opt/iobroker/node_modules/node-libcurl/lib/binding/node_libcurl.node --module_name=node_libcurl --module_path=/opt/iobroker/node_modules/node-libcurl/lib/binding --napi_version=5 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v64' (1)node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/opt/iobroker/node_modules/node-pre-gyp/lib/util/compile.js:83:29)node-pre-gyp ERR! stack at ChildProcess.emit (events.js:198:13)node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:982:16)node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
                              node-pre-gyp ERR! System Linux 4.19.75-v7l+node-pre-gyp ERR! command "/usr/bin/node" "/opt/iobroker/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"node-pre-gyp ERR! cwd /opt/iobroker/node_modules/node-libcurlnode-pre-gyp ERR! node -v v10.17.0node-pre-gyp ERR! node-pre-gyp -v v0.14.0node-pre-gyp ERR! not ok
                              npm ERR! code ELIFECYCLEnpm ERR! errno 1npm ERR! node-libcurl@2.1.1 install: node-pre-gyp install --fallback-to-buildnpm ERR! Exit status 1npm ERR! npm ERR! Failed at the node-libcurl@2.1.1 install script.npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
                              npm ERR! A complete log of this run can be found in:npm ERR! /home/iobroker/.npm/_logs/2020-05-08T12_31_03_537Z-debug.log
                              ERROR: host.raspberrypi Cannot install iobroker.vodafone-speedtest@0.0.4: 1
                              ERROR: process exited with code 25

                              peterbaumert 1 Reply Last reply Reply Quote 0
                              • peterbaumert
                                peterbaumert Developer @Guest last edited by

                                @tobi83 @dontobi

                                apt install libcurl4-openssl-dev
                                

                                Ich muss das dann noch in die readme mit aufnehmen. Dachte eigentlich das würde mit curl mit installiert.

                                Gruß
                                Pete

                                ? 1 Reply Last reply Reply Quote 0
                                • D
                                  dos1973 @peterbaumert last edited by

                                  @peterbaumert sagte in Test Adapter vodafone-speedtest v0.0.x GitHub/Latest:

                                  @dos1973 Bekommst du auf der Vodafone Speedtest seite oben denn deine "soll" Geschwindigkeit angezeigt?

                                  Nein, da steht nichts von „soll“.
                                  Kann es sein, dass ich ehemals Unitymedia bin?
                                  Die werte und alles passen gut.

                                  1 Reply Last reply Reply Quote 0
                                  • ?
                                    A Former User @peterbaumert last edited by

                                    @peterbaumert

                                    Danke

                                    bei mir musste noch sudo davor dann kam würden Dateien fehlen

                                    Hab danach apt-get update wie in Konsole stand gemacht und dann nochmal installiert ohne Fehler.

                                    Hab dann den Adapter installiert, er warf jede Menge Meldungen, war danach noch nicht in den Instanzen, hab dann nochmal den Adapter installiert aber über die Adapter Page und nicht über Info und neue Adapter und dann ging es ohne Fehlermeldungen und der Adapter ist da.....

                                    Unten dran die Fehlermeldungen bei der Installation über die Info Page

                                    Tobias


                                    $ ./iobroker install vodafone-speedtest
                                    NPM version: 6.11.3
                                    npm install iobroker.vodafone-speedtest@0.0.4 --loglevel error --prefix "/opt/iobroker" (System call)
                                    In file included from ../src/Curl.h:13, from ../src/node_libcurl.cc:7:../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:../../nan/nan.h:2298:62: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type] , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete) ^
                                    In file included from ../../nan/nan.h:54, from ../src/Curl.h:13, from ../src/node_libcurl.cc:7:../src/node_libcurl.cc: At global scope:/home/iobroker/.cache/node-gyp/10.17.0/include/node/node.h:573:43: warning: cast between incompatible function types from ‘void ()(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void ()(v8::Localv8::Object)’} to ‘node::addon_register_func’ {aka ‘void ()(v8::Localv8::Object, v8::Localv8::Value, void)’} [-Wcast-function-type] (node::addon_register_func) (regfunc), \ ^/home/iobroker/.cache/node-gyp/10.17.0/include/node/node.h:607:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^../src/node_libcurl.cc:58:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(node_libcurl, Init); ^
                                    In file included from /home/iobroker/.cache/node-gyp/10.17.0/include/node/node.h:63, from ../../nan/nan.h:54, from ../src/Curl.h:13, from ../src/node_libcurl.cc:7:/home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void ()(const v8::WeakCallbackInfonode::ObjectWrap&)]’:/home/iobroker/.cache/node-gyp/10.17.0/include/node/node_object_wrap.h:84:78: required from here/home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfonode::ObjectWrap::Callback’ {aka ‘void ()(const v8::WeakCallbackInfonode::ObjectWrap&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] reinterpret_cast<Callback>(callback), type); ^
                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                    /home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void ()(const v8::WeakCallbackInfoNan::ObjectWrap&)]’:../../nan/nan_object_wrap.h:65:61: required from here/home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfoNan::ObjectWrap::Callback’ {aka ‘void ()(const v8::WeakCallbackInfoNan::ObjectWrap&)’} to ‘Callback’ {aka ‘void ()(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                    In file included from ../src/Easy.h:11, from ../src/Easy.cc:7:../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker
                                    )’:../../nan/nan.h:2298:62: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type] , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete) ^
                                    ../src/Easy.cc: In member function ‘void NodeLibcurl::Easy::CallSocketEvent(int, int)’:../src/Easy.cc:241:30: warning: variable ‘returnValueCallback’ set but not used [-Wunused-but-set-variable] Nan::MaybeLocalv8::Value returnValueCallback = asyncResource.runInAsyncScope( ^~~~~~~~~~~~~~~~~~~
                                    ../src/Easy.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE NodeLibcurl::Easy::GetInfo(Nan::NAN_METHOD_ARGS_TYPE)’:../src/Easy.cc:1640:69: warning: ignoring return value of ‘v8::Maybe<bool> v8::Object::Set(v8::Localv8::Context, uint32_t, v8::Localv8::Value)’, declared with attribute warn_unused_result [-Wunused-result] Nan::Newv8::String(curr->data).ToLocalChecked()); ^
                                    In file included from /home/iobroker/.cache/node-gyp/10.17.0/include/node/node.h:63, from ../../nan/nan.h:54, from ../src/Easy.h:11, from ../src/Easy.cc:7:/home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h:3252:37: note: declared here V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index, ^~~
                                    /home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void ()(const v8::WeakCallbackInfonode::ObjectWrap&)]’:/home/iobroker/.cache/node-gyp/10.17.0/include/node/node_object_wrap.h:84:78: required from here/home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfonode::ObjectWrap::Callback’ {aka ‘void ()(const v8::WeakCallbackInfonode::ObjectWrap&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] reinterpret_cast<Callback>(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                    /home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void ()(const v8::WeakCallbackInfoNan::ObjectWrap&)]’:../../nan/nan_object_wrap.h:65:61: required from here/home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfoNan::ObjectWrap::Callback’ {aka ‘void ()(const v8::WeakCallbackInfoNan::ObjectWrap&)’} to ‘Callback’ {aka ‘void ()(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                    In file included from ../src/Share.h:12, from ../src/Share.cc:8:../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker
                                    )’:../../nan/nan.h:2298:62: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type] , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete) ^
                                    In file included from /home/iobroker/.cache/node-gyp/10.17.0/include/node/node.h:63, from ../../nan/nan.h:54, from ../src/Share.h:12, from ../src/Share.cc:8:/home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void ()(const v8::WeakCallbackInfonode::ObjectWrap&)]’:/home/iobroker/.cache/node-gyp/10.17.0/include/node/node_object_wrap.h:84:78: required from here/home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfonode::ObjectWrap::Callback’ {aka ‘void ()(const v8::WeakCallbackInfonode::ObjectWrap&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] reinterpret_cast<Callback>(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                    /home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void ()(const v8::WeakCallbackInfoNan::ObjectWrap&)]’:../../nan/nan_object_wrap.h:65:61: required from here/home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfoNan::ObjectWrap::Callback’ {aka ‘void ()(const v8::WeakCallbackInfoNan::ObjectWrap&)’} to ‘Callback’ {aka ‘void ()(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                    In file included from ../src/Curl.h:13, from ../src/Multi.h:10, from ../src/Multi.cc:7:../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker
                                    )’:../../nan/nan.h:2298:62: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type] , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete) ^
                                    In file included from /home/iobroker/.cache/node-gyp/10.17.0/include/node/node.h:63, from ../../nan/nan.h:54, from ../src/Curl.h:13, from ../src/Multi.h:10, from ../src/Multi.cc:7:/home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void ()(const v8::WeakCallbackInfonode::ObjectWrap&)]’:/home/iobroker/.cache/node-gyp/10.17.0/include/node/node_object_wrap.h:84:78: required from here/home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfonode::ObjectWrap::Callback’ {aka ‘void ()(const v8::WeakCallbackInfonode::ObjectWrap&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] reinterpret_cast<Callback>(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                    /home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void ()(const v8::WeakCallbackInfoNan::ObjectWrap&)]’:../../nan/nan_object_wrap.h:65:61: required from here/home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfoNan::ObjectWrap::Callback’ {aka ‘void ()(const v8::WeakCallbackInfoNan::ObjectWrap&)’} to ‘Callback’ {aka ‘void ()(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                    In file included from ../src/Curl.h:13, from ../src/Curl.cc:7:../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker
                                    )’:../../nan/nan.h:2298:62: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type] , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete) ^
                                    In file included from /home/iobroker/.cache/node-gyp/10.17.0/include/node/node.h:63, from ../../nan/nan.h:54, from ../src/Curl.h:13, from ../src/Curl.cc:7:/home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void ()(const v8::WeakCallbackInfonode::ObjectWrap&)]’:/home/iobroker/.cache/node-gyp/10.17.0/include/node/node_object_wrap.h:84:78: required from here/home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfonode::ObjectWrap::Callback’ {aka ‘void ()(const v8::WeakCallbackInfonode::ObjectWrap&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] reinterpret_cast<Callback>(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                    /home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void ()(const v8::WeakCallbackInfoNan::ObjectWrap&)]’:../../nan/nan_object_wrap.h:65:61: required from here/home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfoNan::ObjectWrap::Callback’ {aka ‘void ()(const v8::WeakCallbackInfoNan::ObjectWrap&)’} to ‘Callback’ {aka ‘void ()(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                    In file included from /usr/include/c++/8/vector:64, from /home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h:23, from /home/iobroker/.cache/node-gyp/10.17.0/include/node/node.h:63, from ../../nan/nan.h:54, from ../src/Curl.h:13, from ../src/Curl.cc:7:/usr/include/c++/8/bits/stl_vector.h: In constructor ‘std::vector<_Tp, _Alloc>::vector(std::initializer_list<_Tp>, const allocator_type&) [with _Tp = NodeLibcurl::CurlConstant; _Alloc = std::allocatorNodeLibcurl::CurlConstant]’:/usr/include/c++/8/bits/stl_vector.h:515:7: note: parameter passing for argument of type ‘std::initializer_listNodeLibcurl::CurlConstant’ changed in GCC 7.1 vector(initializer_list<value_type> __l, ^~~~~~
                                    ../src/Curl.cc: In function ‘(static initializers for ../src/Curl.cc)’:../src/Curl.cc:24:33: note: parameter passing for argument of type ‘std::initializer_listNodeLibcurl::CurlConstant’ changed in GCC 7.1 const std::vector<CurlConstant> curlOptionNotImplemented = { ^~../src/Curl.cc:87:33: note: parameter passing for argument of type ‘std::initializer_listNodeLibcurl::CurlConstant’ changed in GCC 7.1 const std::vector<CurlConstant> curlOptionInteger = { ^../src/Curl.cc:292:33: note: parameter passing for argument of type ‘std::initializer_listNodeLibcurl::CurlConstant’ changed in GCC 7.1 const std::vector<CurlConstant> curlOptionString = { ^~../src/Curl.cc:438:33: note: parameter passing for argument of type ‘std::initializer_listNodeLibcurl::CurlConstant’ changed in GCC 7.1 const std::vector<CurlConstant> curlOptionFunction = { ^~../src/Curl.cc:459:33: note: parameter passing for argument of type ‘std::initializer_listNodeLibcurl::CurlConstant’ changed in GCC 7.1 const std::vector<CurlConstant> curlOptionLinkedList = { ^~../src/Curl.cc:481:33: note: parameter passing for argument of type ‘std::initializer_listNodeLibcurl::CurlConstant’ changed in GCC 7.1 const std::vector<CurlConstant> curlOptionHttpPost = { ^~../src/Curl.cc:487:33: note: parameter passing for argument of type ‘std::initializer_listNodeLibcurl::CurlConstant’ changed in GCC 7.1 const std::vector<CurlConstant> curlOptionSpecific = { ^~../src/Curl.cc:492:33: note: parameter passing for argument of type ‘std::initializer_listNodeLibcurl::CurlConstant’ changed in GCC 7.1 const std::vector<CurlConstant> curlMultiOptionNotImplemented = { ^../src/Curl.cc:503:33: note: parameter passing for argument of type ‘std::initializer_listNodeLibcurl::CurlConstant’ changed in GCC 7.1 const std::vector<CurlConstant> curlMultiOptionInteger = { ^~../src/Curl.cc:518:33: note: parameter passing for argument of type ‘std::initializer_listNodeLibcurl::CurlConstant’ changed in GCC 7.1 const std::vector<CurlConstant> curlMultiOptionStringArray = { ^~../src/Curl.cc:525:33: note: parameter passing for argument of type ‘std::initializer_listNodeLibcurl::CurlConstant’ changed in GCC 7.1 const std::vector<CurlConstant> curlInfoNotImplemented = { ^~../src/Curl.cc:539:33: note: parameter passing for argument of type ‘std::initializer_listNodeLibcurl::CurlConstant’ changed in GCC 7.1 const std::vector<CurlConstant> curlInfoString = { ^~../src/Curl.cc:553:33: note: parameter passing for argument of type ‘std::initializer_listNodeLibcurl::CurlConstant’ changed in GCC 7.1 const std::vector<CurlConstant> curlInfoOffT = { ^~../src/Curl.cc:579:33: note: parameter passing for argument of type ‘std::initializer_listNodeLibcurl::CurlConstant’ changed in GCC 7.1 const std::vector<CurlConstant> curlInfoDouble = { ^~../src/Curl.cc:595:33: note: parameter passing for argument of type ‘std::initializer_listNodeLibcurl::CurlConstant’ changed in GCC 7.1 const std::vector<CurlConstant> curlInfoInteger = { ^../src/Curl.cc:631:33: note: parameter passing for argument of type ‘std::initializer_listNodeLibcurl::CurlConstant’ changed in GCC 7.1 const std::vector<CurlConstant> curlInfoSocket = { ^~../src/Curl.cc:637:33: note: parameter passing for argument of type ‘std::initializer_listNodeLibcurl::CurlConstant’ changed in GCC 7.1 const std::vector<CurlConstant> curlInfoLinkedList = { ^~~~~~~~
                                    In file included from ../src/Curl.h:13, from ../src/CurlVersionInfo.h:10, from ../src/CurlVersionInfo.cc:7:../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker
                                    )’:../../nan/nan.h:2298:62: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type] , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete) ^
                                    In file included from /home/iobroker/.cache/node-gyp/10.17.0/include/node/node.h:63, from ../../nan/nan.h:54, from ../src/Curl.h:13, from ../src/CurlVersionInfo.h:10, from ../src/CurlVersionInfo.cc:7:/home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void ()(const v8::WeakCallbackInfonode::ObjectWrap&)]’:/home/iobroker/.cache/node-gyp/10.17.0/include/node/node_object_wrap.h:84:78: required from here/home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfonode::ObjectWrap::Callback’ {aka ‘void ()(const v8::WeakCallbackInfonode::ObjectWrap&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] reinterpret_cast<Callback>(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                    /home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void ()(const v8::WeakCallbackInfoNan::ObjectWrap&)]’:../../nan/nan_object_wrap.h:65:61: required from here/home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfoNan::ObjectWrap::Callback’ {aka ‘void ()(const v8::WeakCallbackInfoNan::ObjectWrap&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                    ../src/CurlVersionInfo.cc: At global scope:../src/CurlVersionInfo.cc:19:6: warning: ‘void NodeLibcurl::{anonymous}::SetObjPropertyToNullOrValue(v8::Localv8::Object, std::__cxx11::string, TValue) [with TValue = v8::Localv8::Primitive]’ defined but not used [-Wunused-function] void SetObjPropertyToNullOrValue<v8::Localv8::Primitive>(v8::Localv8::Object obj, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                    host.raspberrypi install adapter vodafone-speedtest
                                    upload [4] vodafone-speedtest.admin /opt/iobroker/node_modules/iobroker.vodafone-speedtest/admin/words.js words.js application/javascript
                                    upload [3] vodafone-speedtest.admin /opt/iobroker/node_modules/iobroker.vodafone-speedtest/admin/vodafone-speedtest.png vodafone-speedtest.png image/png
                                    upload [2] vodafone-speedtest.admin /opt/iobroker/node_modules/iobroker.vodafone-speedtest/admin/style.css style.css text/css
                                    upload [1] vodafone-speedtest.admin /opt/iobroker/node_modules/iobroker.vodafone-speedtest/admin/index_m.html index_m.html text/html
                                    upload [0] vodafone-speedtest.admin /opt/iobroker/node_modules/iobroker.vodafone-speedtest/admin/admin.d.ts admin.d.ts video/mp2t
                                    host.raspberrypi object system.adapter.vodafone-speedtest created/updated
                                    process exited with code 0

                                    peterbaumert A 2 Replies Last reply Reply Quote 0
                                    • peterbaumert
                                      peterbaumert Developer @Guest last edited by

                                      @tobi83 super dass es nun geht und danke für die fehlermeldungen etc. muss ich mir in Ruhe mal anschauen.

                                      @dos1973 Ja habe noch nicht so ganz verstanden was genau es ausmacht wann man da infos bekommt. Denke mal hat irgendwas damit zu tun ob Vodafone deine IP/MAC einem Account zuordnen kann 🤷‍♂️

                                      1 Reply Last reply Reply Quote 0
                                      • Dr. Bakterius
                                        Dr. Bakterius Most Active last edited by

                                        Leider war ich mit den Ergebnissen auch bei diesem Adapter nicht glücklich. Zwar besser als beim anderen (der aufgrund des Single-Test zu wenig gemessen hat), aber bei Vodafone werden zu optimistische Werte angezeigt. Für eine Tendenz reicht es zwar, aber ich habe mich trotzdem nach einer anderen Lösung umgesehen - und für mich gefunden.

                                        Ich habe mir mit folgendem Befehl ein speedtest-Skript heruntergeladen und ausführbar gemacht:

                                        wget -O speedtest https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
                                        
                                        chmod +x speedtest
                                        

                                        Dann habe ich mir ein Bash-Skript gebastelt, dass den Speedtest zu einem vorgegebenen Server durchführt und das Ergebnis in Datenpunkte von ioBroker schreibt:

                                        #!/bin/bash
                                        
                                        # Speedtest durchführen
                                         Erg=$(/usr/local/bin/speedtest --server <SERVERNUMMER> --simple)
                                        
                                        # Ergebnis in Variable schreiben
                                        # Dabei den Wert korrigieren und runden
                                         Ping=$(echo "$Erg" | grep "Ping: " | sed -e 's/ /\ /g' | awk '{printf "%.0f\n", $2/3+1}')
                                         DL=$(echo "$Erg" | grep "Download: " | sed -e 's/ /\ /g' | awk '{printf "%.0f\n", $2*1.09}')
                                         UL=$(echo "$Erg" | grep "Upload: " | sed -e 's/ /\ /g' | awk '{printf "%.0f\n", $2}')
                                        
                                        # In Datenpunkte von ioBroker schreiben
                                         Erg=$(curl -s http://<IP_IOBROKER>:8082/set/javascript.0.<ORDNER>.<DATENPUNKT_DL>?value=$DL)
                                         Erg=$(curl -s http://<IP_IOBROKER>:8082/set/javascript.0.<ORDNER>.<DATENPUNKT_PING>?value=$Ping)
                                         Erg=$(curl -s http://<IP_IOBROKER>:8082/set/javascript.0.<ORDNER>.<DATENPUNKT_UL>?value=$UL)
                                        

                                        Das Skript lasse ich per cron einmal in der Stunde laufen. Mit den Korrekturen komme ich auf sehr ähnliche Werte wie bei speedtest.net mit meinem PC und somit auf realistische Werte die meinem Produkt entsprechen. Diese lasse ich mir in VIS anzeigen:

                                        vis.png

                                        peterbaumert 1 Reply Last reply Reply Quote 1
                                        • peterbaumert
                                          peterbaumert Developer @Dr. Bakterius last edited by

                                          @Dr-Bakterius Hey, ja die Werte werden durchaus von Vodafone zum besseren geschönt. Ich wollte aber so nah wie möglich am „Original“ bleiben. Ich kann ja noch zusätzlich meine eigenen Messwerte in einen extra Datenpunkt schreiben. Wäre das interessant?

                                          Gruß
                                          Pete

                                          Dr. Bakterius 1 Reply Last reply Reply Quote 0
                                          • Dr. Bakterius
                                            Dr. Bakterius Most Active @peterbaumert last edited by

                                            @peterbaumert sagte in Test Adapter vodafone-speedtest v0.0.x GitHub/Latest:

                                            Ich kann ja noch zusätzlich meine eigenen Messwerte in einen extra Datenpunkt schreiben.

                                            Wie meinst du das? Blicke gerade nicht durch... 🤔

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            841
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            vodafone speedtest
                                            42
                                            202
                                            25465
                                            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