Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adapter stopped working: Error: No server found #346

Open
0xdefec71f opened this issue Sep 8, 2022 · 19 comments
Open

adapter stopped working: Error: No server found #346

0xdefec71f opened this issue Sep 8, 2022 · 19 comments

Comments

@0xdefec71f
Copy link

Hello,
from one day to the other, my speedtest stopped working. The Log syas: Error: No server found, verify your proxy/network every time I start a new test (best server) or when it is triggered via schedule. I did not change anything, no router configs, no ports, nothing. All other adpters work fine and have internet access. running speedy with debug output does not generate more Log output. Also testing with specific ID or url gives the same result.

Any idea? Does it interfere with other iobroker updates? Maybe admin 6?

Node.js: v14.19.3
NPM: 6.14.17
Admin: v6.2.20
JS-Controller: v6.0.0

@stonytec
Copy link

stonytec commented Sep 9, 2022

same here... already reinstalled the adapter

Admin: v6.2.19
Node.js:v16.16.0
NPM:8.11.0

@x4N70pHyLL
Copy link

Same here, any ideas? Any alternatives? Switch to vf-speed checker? Or is there an adapter that is officially released?

@DerDoubleD
Copy link

Same here :-(

@ajeder
Copy link

ajeder commented Sep 10, 2022

Same here...hope it'll be fixed
Admin: v6.2.21
Node.js: v16.17.0
NPM: 8.15.0

@totocotonio
Copy link

Bei mir das gleiche, funktioniert leider nicht mehr.

@LuckyTGX
Copy link

same here :(
image

@baennjer
Copy link

Adapter stopped working here on different configurations:

  1. node 16.17.0 / npm 8.15.0 / JS contr 4.0.23 / admin 6.2.17
  2. node 14.14.0 / npm 6.14.8 / JS contr 4.0.23 / admin 6.2.17
  3. node 16.15.1 / npm 8.11.0 / JS contr 4.0.23 / admin 6.2.17

@janwilke
Copy link

Same here - no other URL is working
Error: No server found, verify your proxy/network

node v14.19.3
npm 8.18.0
JS contr 4.0.21
admin 5 & 6

@Headhunter70
Copy link

Same problem here :-( Rafa, pls hlp

@Streifi89
Copy link

Same here. Also no test available with manual ID or URL and test_by_id oder test_by_url :(

@Apollon77
Copy link

Please use Thumbs up in forst post instead of "me too posts". Thank you

@Apollon77
Copy link

The Adapter uses an npm package speedtest-net ... and it seems that this one has this issue ... and it was not yet updated ... so Assumption is tha the serviceprovider changed something and now the library is incompatible .. :-(

@ppb1308
Copy link

ppb1308 commented Oct 16, 2022

The Adapter uses an npm package speedtest-net ... and it seems that this one has this issue ... and it was not yet updated ... so Assumption is tha the serviceprovider changed something and now the library is incompatible .. :-(

Is there anybody reachable for this npm package?

@janwilke
Copy link

janwilke commented Oct 16, 2022

Es scheint, dass in dem Package nun eine Lizenz akzeptiert werden muss. Kann das jmd einbauen?

--accept-license: Accept the Ookla EULA, TOS and Privacy policy. The terms only need to be accepted once.
--accept-gdpr: Accept the Ookla GDPR terms. The terms only need to be accepted once.

Es gibt Berichte beim Package, dass es danach wieder funktioniert.

@Solilord
Copy link

Solilord commented Nov 2, 2022

Okay.

I took a good look at this all.
The Thing is:
the Package "speedtest-net" needs to be the new version (to handle this license-accept stuff)
Currently web-speedy installs the old 1.6.? Version.

BUT:
The new 2.x.x version from this package use a VERY different method to start and output the test.
So i think the whole adapter needs to be recoded and iam definetly not capable of this :D

Example:
"Old Version" usage:

test.on('data', data => {
  console.dir(data);
});

New Version usage:

(async () => {
  try {
    console.log(await speedTest());
  } catch (err) {
    console.log(err.message);
  } finally {
    process.exit(0);
  }
})();

So fully new/different functions.

I tried to maybe fix this if it was just the version update of the speedtest-net package but sadly it cant be done like that :/

@janwilke: leider sind diese Befehle noch nicht in der alten version drin. erst in den 2.x.x

@baennjer
Copy link

baennjer commented Dec 3, 2022

For whom it may concern, I have looked through the web and found speedtest-cli and a shellscript to send results to an MQTT broker. I have it running in a blank Ubuntu LXC in my Proxmox Environment. It's setup to execute the shell script every 30 minutes via the crontab service.
Any details in the attached pdf file.
speedtest2mqtt2.pdf

@0xdefec71f
Copy link
Author

I solved it very similar to yours, but without MQTT. You can parse this directly into the data points and execute it via blockly.
Install speedtest-cli first:

sudo apt-get update
sudo apt-get install speedtest-cli

then run with exec (here every half hour) and parse the result:
image

Here as a blockly export:

<block xmlns="https://developers.google.com/blockly/xml" type="schedule" id="wH*6QA]6#k5#DhzKuZ=|" x="-1587.32" y="-312.56000000000006">
  <field name="SCHEDULE">4,34 */1 * * *</field>
  <statement name="STATEMENT">
    <block type="update" id="*oW,){Yj[IWB4oztmHDH">
      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
      <field name="OID">0_userdata.0.Speedtest.active</field>
      <field name="WITH_DELAY">FALSE</field>
      <value name="VALUE">
        <block type="logic_boolean" id="EmUUn:5r;h0^?4/X-x9z">
          <field name="BOOL">TRUE</field>
        </block>
      </value>
      <next>
        <block type="exec" id="GN}J5j{BlI=74Hla3)gf">
          <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
          <field name="WITH_STATEMENT">TRUE</field>
          <field name="LOG"></field>
          <value name="COMMAND">
            <shadow type="text" id="HH=7ue?VU*bX2KlN7.or">
              <field name="TEXT">speedtest-cli --json</field>
            </shadow>
          </value>
          <statement name="STATEMENT">
            <block type="debug" id="$;RKvUL5[`Q%feuB23a9" disabled="true">
              <field name="Severity">warn</field>
              <value name="TEXT">
                <shadow type="text" id="4?V)xYnN,z|Sc:JSsDjp">
                  <field name="TEXT">test</field>
                </shadow>
                <block type="variables_get" id="+tC|^l3$I`gm/8~s.Rq=">
                  <field name="VAR" id="AQq-5DT[-)/=W2uXU+V@">result</field>
                </block>
              </value>
              <next>
                <block type="update" id="xh~A@udHv[?8]v=`,vx0">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                  <field name="OID">0_userdata.0.Speedtest.download</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                    <block type="math_round" id="QTAS#`|2TK7WxPl44H].">
                      <field name="OP">ROUND</field>
                      <value name="NUM">
                        <shadow type="math_number" id="EJr)xq9=Hf(@HHISxx`{">
                          <field name="NUM">3.1</field>
                        </shadow>
                        <block type="math_arithmetic" id="LBY#,nrKXjw-~Bk3r_P+">
                          <field name="OP">DIVIDE</field>
                          <value name="A">
                            <shadow type="math_number" id="-=ZG2|Qt/)X@mm~ivJ^z">
                              <field name="NUM">1</field>
                            </shadow>
                            <block type="get_attr" id="D|-Lsy==~s0Nqhb;Zt0^">
                              <value name="PATH">
                                <shadow type="text" id="*;]_XLZGW6(2tc/BHBva">
                                  <field name="TEXT">download</field>
                                </shadow>
                              </value>
                              <value name="OBJECT">
                                <block type="convert_json2object" id="u5ww:D;Uoo9jMAo3Z#S6">
                                  <value name="VALUE">
                                    <block type="variables_get" id="#=jdmm.ox=EU-d.|i_12">
                                      <field name="VAR" id="AQq-5DT[-)/=W2uXU+V@">result</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                          <value name="B">
                            <shadow type="math_number" id="5eM(0[KK_hHgF}8h1bMZ">
                              <field name="NUM">1000</field>
                            </shadow>
                          </value>
                        </block>
                      </value>
                    </block>
                  </value>
                  <next>
                    <block type="update" id="TCNPb/?y4/TnC_=+x){S">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                      <field name="OID">0_userdata.0.Speedtest.upload</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="math_round" id="eD+}8}OCnsx:DzI.,2V~">
                          <field name="OP">ROUND</field>
                          <value name="NUM">
                            <shadow type="math_number" id="io,3p^u+{cIBQV;#SMC@">
                              <field name="NUM">3.1</field>
                            </shadow>
                            <block type="math_arithmetic" id="L3f%W_Fc!^s=vPkMe?.4">
                              <field name="OP">DIVIDE</field>
                              <value name="A">
                                <shadow type="math_number" id="-k_=E/|T[+#gF%kdAse5">
                                  <field name="NUM">1</field>
                                </shadow>
                                <block type="get_attr" id="#53a!+kIoSgmVJN^RMWc">
                                  <value name="PATH">
                                    <shadow type="text" id="H5vJqG2}Eeo;Maa`7Kyx">
                                      <field name="TEXT">upload</field>
                                    </shadow>
                                  </value>
                                  <value name="OBJECT">
                                    <block type="convert_json2object" id="|rW$s$3B2Ij]#?E$?q^g">
                                      <value name="VALUE">
                                        <block type="variables_get" id="23]IcI;I0ffBeN^lzFT(">
                                          <field name="VAR" id="AQq-5DT[-)/=W2uXU+V@">result</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <value name="B">
                                <shadow type="math_number" id="6Irq%;yD*#SeF62u4[=A">
                                  <field name="NUM">1000</field>
                                </shadow>
                              </value>
                            </block>
                          </value>
                        </block>
                      </value>
                      <next>
                        <block type="update" id="!J?5AJSZX!sr,;g2ABIa">
                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                          <field name="OID">0_userdata.0.Speedtest.ping</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE">
                            <block type="get_attr" id="eRG%.VA{U%+yQ6^}5GKZ">
                              <value name="PATH">
                                <shadow type="text" id=":_Gz-y/S|Id%mNq?`N2n">
                                  <field name="TEXT">ping</field>
                                </shadow>
                              </value>
                              <value name="OBJECT">
                                <block type="convert_json2object" id=",XrI.9YGUFkTei!d/tPU">
                                  <value name="VALUE">
                                    <block type="variables_get" id="qJwHFM#Dn;[fv`z?CkL/">
                                      <field name="VAR" id="AQq-5DT[-)/=W2uXU+V@">result</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                          <next>
                            <block type="update" id="u,fT3E[z(S)u|Pyzp:PM">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                              <field name="OID">0_userdata.0.Speedtest.timestamp</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                                <block type="get_attr" id="j!0q`n_le5g~c?@9Pg_*">
                                  <value name="PATH">
                                    <shadow type="text" id="EIsUFcnW:;!|]vVyiUkn">
                                      <field name="TEXT">timestamp</field>
                                    </shadow>
                                  </value>
                                  <value name="OBJECT">
                                    <block type="convert_json2object" id="K^zM=AWmJC86X@%lXDEf">
                                      <value name="VALUE">
                                        <block type="variables_get" id="+Xn1Pky/bZyHQM=)254!">
                                          <field name="VAR" id="AQq-5DT[-)/=W2uXU+V@">result</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <next>
                                <block type="update" id="N=!XEDW;|hX!xKCrFkO8">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                  <field name="OID">0_userdata.0.Speedtest.isp</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="get_attr" id="J?zM1hftlQ/sTGL|n$vs">
                                      <value name="PATH">
                                        <shadow type="text" id="q,R;3UPbDsF`!hfm1{48">
                                          <field name="TEXT">client.isp</field>
                                        </shadow>
                                      </value>
                                      <value name="OBJECT">
                                        <block type="convert_json2object" id="P4GRgUB({Xnyj`9yB%RU">
                                          <value name="VALUE">
                                            <block type="variables_get" id="kMe|uMiXk_HlZ}qX(ryY">
                                              <field name="VAR" id="AQq-5DT[-)/=W2uXU+V@">result</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="update" id="=16v+!F3-W$u`)NCP_~#">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                      <field name="OID">0_userdata.0.Speedtest.host</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE">
                                        <block type="get_attr" id="P#NxJtaq0s?#M1Ul2*8Q">
                                          <value name="PATH">
                                            <shadow type="text" id="v:}eR5-r7KclK3Tf#u;p">
                                              <field name="TEXT">server.host</field>
                                            </shadow>
                                          </value>
                                          <value name="OBJECT">
                                            <block type="convert_json2object" id="^/v=*^ko[{]X$@ZrWLdp">
                                              <value name="VALUE">
                                                <block type="variables_get" id="%=8*W?4M2R+MMhh3TEcf">
                                                  <field name="VAR" id="AQq-5DT[-)/=W2uXU+V@">result</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="update" id="-yLNJf/#bbO:WU8~u.g_">
                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                          <field name="OID">0_userdata.0.Speedtest.active</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE">
                                            <block type="logic_boolean" id="dX6bW%/o.j{!_Qb;vVFc">
                                              <field name="BOOL">FALSE</field>
                                            </block>
                                          </value>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </statement>
        </block>
      </next>
    </block>
  </statement>
</block>

@baennjer
Copy link

baennjer commented Dec 3, 2022

@nicomania Thanks for your input. In parallel I got an advice for running it with exec in JS from another source and have this script active now.

var idDl = '0_userdata.0.0_ScriptDPs.speedtest.dl';
var idUl = '0_userdata.0.0_ScriptDPs.speedtest.ul';
var idPing = '0_userdata.0.0_ScriptDPs.speedtest.ping';
var idIp = '0_userdata.0.0_ScriptDPs.speedtest.ip';
var idResult = '0_userdata.0.0_ScriptDPs.speedtest.result';
var result;

schedule('11 * * * ', function(){
exec("speedtest --json", function(err, stdout, stderr) {
if (err) {
log('
** ' + stderr.trim() + ' / Speedtest Werte konnten nicht abgefragt werden', 'error');
return;
}
result = JSON.parse(stdout);
setState(idDl, Math.round((result.download/1000000)*10)/10, true);
setState(idUl, Math.round((result.upload/1000000)*10)/10, true);
setState(idPing, result.ping, true);
setState(idIp, result.client.ip, true);
setState(idResult, JSON.stringify(result), true);
});
});

@Knallochse
Copy link

Ich habe das hier gefunden
github speedtest-service
Hoffe, es hilft den Adapter wieder zum laufen zu bringen.
Ich bin leider kein Entwickler, kann deshalb nicht mehr beitragen

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests