DrozmotiX / ioBroker.web-speedy

Web-Speedy enables you to test your internet connection on a regular base and store results in ioBroker !
MIT License
14 stars 7 forks source link

adapter stopped working: Error: No server found #346

Open nicomania opened 1 year ago

nicomania commented 1 year ago

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 commented 1 year ago

same here... already reinstalled the adapter

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

x4N70pHyLL commented 1 year ago

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

DerDoubleD commented 1 year ago

Same here :-(

ajeder commented 1 year ago

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

totocotonio commented 1 year ago

Bei mir das gleiche, funktioniert leider nicht mehr.

LuckyTGX commented 1 year ago

same here :( image

baennjer commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

Same problem here :-( Rafa, pls hlp

Streifi89 commented 1 year ago

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

Apollon77 commented 1 year ago

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

Apollon77 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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

nicomania commented 1 year ago

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 commented 1 year ago

@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 commented 1 year ago

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