+ Antworten
Seite 4 von 6 ErsteErste ... 2 3 4 5 6 LetzteLetzte
Ergebnis 31 bis 40 von 55
  1. #31
    Registriert seit
    Feb 2018
    Ort
    Bochum
    Beiträge
    927

    Zitat Zitat von jagu Beitrag anzeigen
    Hallo,

    gerade Windows neu gestartet, aber leider keine Änderung

    Gruß

    Oliver
    leider bin ich bei Windows nicht so fit, ob es da Unterschiede gibt zwischen dem Path eines Benutzers in der Eingabeaufforderungen und dem Pfad bei solchen Systemprogrammen.

    Um das zu verifizieren, könntest Du im module.php dieses Moduls das 'speedtest-cli' umd den kompletten Pfad ergänzen
    es gubt zwei Stellen im Modul,

    demel

  2. #32
    Registriert seit
    Jan 2018
    Ort
    97469 Gochsheim
    Beiträge
    340

    super, ich habe den pfad in der module.php eingetragen, damit funktioniert es einwandfrei

    danke

    Oliver

  3. #33
    Registriert seit
    Feb 2018
    Ort
    Bochum
    Beiträge
    927

    Zitat Zitat von jagu Beitrag anzeigen
    super, ich habe den pfad in der module.php eingetragen, damit funktioniert es einwandfrei

    danke

    Oliver
    prima. ist natürlich keine wirklich gute lösung, vollständige pfade zu executables in einem script einzutrage.
    bei einem modul-update ist diese änderung wieder weg - und wie das so ist, fällt dann vielleicht nicht auf, was das problem ist bzw. die lösung war.

    aber es beweist immerhin, das der pfad das problem ist.

    in einem früheren post hatte ich dir ein link geschickt zu einer anleitung, wo mein nem verständnis nach der pfad für das system und nicht nur für den angemeldeten benutzer gesetzt wird.

    demel

  4. #34
    Registriert seit
    Apr 2014
    Ort
    Velden am Wörthersee
    Beiträge
    412

    Hallo fileicht hat wer eine Lösung bekomme immer eine Fehlermeldung (IPS läuft unter windows 10):

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	1.JPG 
Hits:	87 
Größe:	118.4 KB 
ID:	51653

    Im modul.php wurde der pfad geändert:
    PHP-Code:
    <?php

    declare(strict_types=1);

    require_once 
    __DIR__ '/../libs/common.php';  // globale Funktionen

    class Speedtest extends IPSModule
    {
        use 
    SpeedtestCommon;

        public function 
    Create()
        {
            
    parent::Create();

            
    $this->RegisterPropertyBoolean('module_disable'false);

            
    $this->RegisterPropertyInteger('update_interval''0');
            
    $this->RegisterPropertyInteger('preferred_server''0');
            
    $this->RegisterPropertyString('exclude_server''');
            
    $this->RegisterPropertyBoolean('no_pre_allocate'true);

            
    $this->RegisterTimer('UpdateData'0'Speedtest_UpdateData(' $this->InstanceID ');');

            
    $this->CreateVarProfile('Speedtest.ms'VARIABLETYPE_FLOAT' ms'0000'');
            
    $this->CreateVarProfile('Speedtest.MBits'VARIABLETYPE_FLOAT' MBit/s'0001'');
        }

        private function 
    CheckPrerequisites()
        {
            
    $s '';

            
    $data exec('C:\ProgramData\Symcon\speedtest-cli --version 2>&1'$output$exitcode);
            if (
    $exitcode != 0) {
                
    $s $this->Translate('The following system prerequisites are missing') . ': speedtest-cli';
            }

            return 
    $s;
        }

        public function 
    ApplyChanges()
        {
            
    parent::ApplyChanges();

            
    $vpos 0;
            
    $this->MaintainVariable('ISP'$this->Translate('Internet-Provider'), VARIABLETYPE_STRING''$vpos++, true);
            
    $this->MaintainVariable('IP'$this->Translate('external IP'), VARIABLETYPE_STRING''$vpos++, true);
            
    $this->MaintainVariable('Server'$this->Translate('Server'), VARIABLETYPE_STRING''$vpos++, true);
            
    $this->MaintainVariable('Ping'$this->Translate('Ping'), VARIABLETYPE_FLOAT'Speedtest.ms'$vpos++, true);
            
    $this->MaintainVariable('Upload'$this->Translate('Upload'), VARIABLETYPE_FLOAT'Speedtest.MBits'$vpos++, true);
            
    $this->MaintainVariable('Download'$this->Translate('Download'), VARIABLETYPE_FLOAT'Speedtest.MBits'$vpos++, true);
            
    $this->MaintainVariable('LastTest'$this->Translate('Last test'), VARIABLETYPE_INTEGER'~UnixTimestamp'$vpos++, true);

            
    $s $this->CheckPrerequisites();
            if (
    $s != '') {
                
    $this->SetStatus(IS_INVALIDPREREQUISITES);
                return;
            }

            
    $module_disable $this->ReadPropertyBoolean('module_disable');
            if (
    $module_disable) {
                
    $this->SetTimerInterval('UpdateData'0);
                
    $this->SetStatus(IS_INACTIVE);
                return;
            }

            
    $this->SetStatus(IS_ACTIVE);
            
    $this->SetUpdateInterval();
        }

        public function 
    GetConfigurationForm()
        {
            
    $s $this->CheckPrerequisites();

            
    $formElements = [];
            if (
    $s == '') {
                
    $formElements[] = ['type' => 'CheckBox''name' => 'module_disable''caption' => 'Instance is disabled'];
                
    $options = [];
                
    $options[] = ['label' => $this->Translate('automatically select'), 'value' => 0];
                
    $data exec('speedtest-cli --list 2>&1'$output$exitcode);
                
    $n 0;
                foreach (
    $output as $line) {
                    if (
    preg_match('/[ ]*([0-9]*)\)\s([^[]*)/'$line$r)) {
                        if (
    $r[1] > 0) {
                            
    $options[] = ['label' => $r[2], 'value' => $r[1]];
                            if (
    $n++ == 100) {
                                break;
                            }
                        }
                    }
                }
                
    $formElements[] = ['type' => 'Select''name' => 'preferred_server''caption' => 'Preferred server''options' => $options];
                
    $formElements[] = ['type' => 'Label''label' => 'Excluded server (comma-separated)'];
                
    $formElements[] = ['type' => 'ValidationTextBox''name' => 'exclude_server''caption' => 'List'];
                
    $formElements[] = ['type' => 'CheckBox''name' => 'no_pre_allocate''caption' => 'Set option --no_pre_allocate'];
                
    $formElements[] = ['type' => 'Label''label' => 'Update data every X minutes'];
                
    $formElements[] = ['type' => 'NumberSpinner''name' => 'update_interval''caption' => 'Minutes'];
            } else {
                
    $formElements[] = ['type' => 'Label''label' => $s];
            }

            
    $formActions = [];
            if (
    $s == '') {
                
    $formActions[] = ['type' => 'Label''label' => 'Updating the data takes up to 1 minute'];
                
    $formActions[] = ['type' => 'Button''label' => 'Update data''onClick' => 'Speedtest_UpdateData($id);'];
            }
            if (
    IPS_GetKernelVersion() < 5.2) {
                
    $formActions[] = ['type' => 'Label''label' => '____________________________________________________________________________________________________'];
                
    $formActions[] = [
                    
    'type'    => 'Button',
                    
    'caption' => 'Module description',
                    
    'onClick' => 'echo "https://github.com/demel42/IPSymconSpeedtest/blob/master/README.md";'
                
    ];
            }

            
    $formStatus = [];
            
    $formStatus[] = ['code' => IS_CREATING'icon' => 'inactive''caption' => 'Instance getting created'];
            
    $formStatus[] = ['code' => IS_ACTIVE'icon' => 'active''caption' => 'Instance is active'];
            
    $formStatus[] = ['code' => IS_DELETING'icon' => 'inactive''caption' => 'Instance is deleted'];
            
    $formStatus[] = ['code' => IS_INACTIVE'icon' => 'inactive''caption' => 'Instance is inactive'];
            
    $formStatus[] = ['code' => IS_NOTCREATED'icon' => 'inactive''caption' => 'Instance is not created'];

            
    $formStatus[] = ['code' => IS_INVALIDPREREQUISITES'icon' => 'error''caption' => 'Instance is inactive (invalid preconditions)'];

            return 
    json_encode(['elements' => $formElements'actions' => $formActions'status' => $formStatus]);
        }

        protected function 
    SetUpdateInterval()
        {
            
    $min $this->ReadPropertyInteger('update_interval');
            
    $msec $min $min 1000 60 0;
            
    $this->SetTimerInterval('UpdateData'$msec);
        }

        public function 
    UpdateData()
        {
            
    $preferred_server $this->ReadPropertyInteger('preferred_server');
            
    $exclude_server $this->ReadPropertyString('exclude_server');

            
    $this->PerformTest($preferred_server$exclude_server);
        }

        public function 
    PerformTest(int $preferred_serverstring $exclude_server)
        {
            if (
    $this->GetStatus() == IS_INACTIVE) {
                
    $this->SendDebug(__FUNCTION__'instance is inactive, skip'0);
                return;
            }

            
    $cmd 'speedtest-cli --json';

            
    // use https instead of http
            // $cmd .= ' --secure';

            // Do not pre allocate upload data. Pre allocation is
            // enabled by default to improve upload performance. To
            // support systems with insufficient memory, use this
            // option to avoid a MemoryError
            
    $no_pre_allocate $this->ReadPropertyBoolean('no_pre_allocate');
            if (
    $no_pre_allocate) {
                
    $cmd .= ' --no-pre-allocate';
            }

            
    // Specify a server ID to test against. Can be supplied
            // multiple times
            
    if ($preferred_server 0) {
                
    $cmd .= ' --server=' $preferred_server;
            }

            
    // Exclude a server from selection. Can be supplied
            // multiple times
            
    if ($exclude_server != '') {
                
    $serverV explode(','$exclude_server);
                foreach (
    $serverV as $server) {
                    
    $cmd .= ' --exclude=' $server;
                }
            }

            
    $cmd .= ' 2>&1';

            
    $this->SendDebug(__FUNCTION__'cmd="' $cmd '"'0);

            
    $time_start microtime(true);
            
    $data exec($cmd$output$exitcode);
            
    $duration floor((microtime(true) - $time_start) * 100) / 100;

            if (
    $exitcode) {
                
    $ok false;
                
    $err $data;
            } else {
                
    $ok true;
                
    $err '';
            }

            if (
    preg_match('/speedtest-cli: error:\s(.*?)$/'$data$r)) {
                
    $err $r[1];
                
    $ok false;
            }

            
    $this->SendDebug(__FUNCTION__'duration=' $duration ', exitcode=' $exitcode ', status=' . ($ok 'ok' 'fail') . ', err=' $err0);

            
    $isp '';
            
    $ip '';
            
    $sponsor '';
            
    $id '';
            
    $ping '';
            
    $download '';
            
    $upload '';

            if (
    $ok) {
                
    $this->SendDebug(__FUNCTION__'data=' $data0);
                
    $jdata json_decode($datatrue);
                if (
    $jdata == '') {
                    
    $ok false;
                    
    $err 'malformed data';
                } else {
                    
    $this->SendDebug(__FUNCTION__'jdata=' print_r($jdatatrue), 0);
                    if (isset(
    $jdata['client']['isp'])) {
                        
    $isp $jdata['client']['isp'];
                    }
                    if (isset(
    $jdata['client']['ip'])) {
                        
    $ip $jdata['client']['ip'];
                    }
                    if (isset(
    $jdata['server']['sponsor'])) {
                        
    $sponsor $jdata['server']['sponsor'];
                    }
                    if (isset(
    $jdata['server']['id'])) {
                        
    $id $jdata['server']['id'];
                    }
                    if (isset(
    $jdata['ping'])) {
                        
    $ping $jdata['ping'];
                    }
                    if (isset(
    $jdata['download'])) {
                        
    // Umrechnung von Bit auf MBit mit 2 Nachkommastellen
                        
    $download floor($jdata['download'] / (1024 1024) * 10000) / 10000;
                    }
                    if (isset(
    $jdata['upload'])) {
                        
    // Umrechnung von Bit auf MBit mit 2 Nachkommastellen
                        
    $upload floor($jdata['upload'] / (1024 1024) * 10000) / 10000;
                    }
                    
    $this->SendDebug(__FUNCTION__' ... isp=' $isp ', ip=' $ip ', sponsor=' $sponsor ', id=' $id ', ping=' $ping ', download=' $download ', upload=' $upload0);
                }
            }

            if (
    $ok) {
                
    IPS_LogMessage(__CLASS__ '::' __FUNCTION__'server=' $id ') ' $sponsor ', duration=' $duration ', status=' . ($ok 'ok' 'fail'));
                
    $this->SetValue('ISP'$isp);
                
    $this->SetValue('IP'$ip);
                
    $this->SetValue('Server'$sponsor);
                
    $this->SetValue('Ping'$ping);
                
    $this->SetValue('Upload'$upload);
                
    $this->SetValue('Download'$download);
            } else {
                
    $msg 'failed: exitcode=' $exitcode ', err=' $err;
                
    $this->LogMessage(__CLASS__ '::' __FUNCTION__ ': ' $msgKL_WARNING);
                
    $this->SendDebug(__FUNCTION__$msg0);
            }

            
    $this->SetValue('LastTest'time());
        }
    }
    gruß Stefan

  5. #35
    Registriert seit
    Feb 2018
    Ort
    Bochum
    Beiträge
    927

    Zitat Zitat von somm Beitrag anzeigen
    Im modul.php wurde der pfad geändert:
    Hallo,

    ... aber nicht an allen Stellen, schau mal etwas weiter unten; es gibt zwei weitere Stellen.
    Wobei ich sagen muss, das as nur ein absoluter Hotdix ist. Es bedeutet ja nur, das das Programm cli-speedtest nicht im Pfad der ausführbaren Programme liegt, zumindestens nicht für den User, unter dem IPS läuft.

    Ich bin in Win10 nicht so zuhause, um da wirklich raten zu können, wo das Programm stehen sollte ...

    demel

  6. #36
    Registriert seit
    Apr 2014
    Ort
    Velden am Wörthersee
    Beiträge
    412

    Danke für die Antwort hab noch die zwei weiteren Einträge geändert und jetzt gehts.
    Muss nur noch herausfinden warum das Netzwerk am Server so langsam ist
    gruß Stefan

  7. #37
    Registriert seit
    Nov 2016
    Ort
    Österreich, OÖ, Schärding
    Beiträge
    717

    Standard Fehlermeldung

    Abend, gerade installiert und bei Energie AG Gmunden folgende Fehlermeldung erhalten:

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	2019-12-10 21_08_52-Greenshot.png 
Hits:	40 
Größe:	38.0 KB 
ID:	51689

    Danke und lg
    KNX: IPS @ Raspberry Pi3 Unlimited
    IPSStudio - Collibrico - Sonos - Alexa - ekey - Synology NAS - Reolink - Vaillant LWP + KWL

  8. #38
    Registriert seit
    Sep 2013
    Ort
    Niederösterreich
    Beiträge
    415

    Da ist die Liste leer.
    Was kommt wenn Du etwas anderes auswählst?


    Gesendet von iPhone mit Tapatalk
    Gruß Manfred
    IPS 5.2 | Win u. Symbox | IPSView | Wago | Homematic | IPS-868 | Philips HUE | Modbus | PV FroniusHybrid | AEG USV | Qnap | Synology | IP Kameras | iRobot | Gardena R70Li | Sony TV / AV | Sat Duo2 | Philips/Samsung TV | Sonos | Buderus | RPi | Arduino || Visu: 24", 10", 7" Tablets ....

  9. #39
    Registriert seit
    Apr 2014
    Ort
    Velden am Wörthersee
    Beiträge
    412

    Ist bei mir auch so aber der ausgewählte server wird trotzdem verwenet.
    gruß Stefan

  10. #40
    Registriert seit
    Sep 2013
    Ort
    Niederösterreich
    Beiträge
    415

    Na dann hast Du Glück. Das ist ein kann, kein Muss.
    Fehler beim dynamischen Erstellen der Auswahlliste.


    Gesendet von iPhone mit Tapatalk
    Gruß Manfred
    IPS 5.2 | Win u. Symbox | IPSView | Wago | Homematic | IPS-868 | Philips HUE | Modbus | PV FroniusHybrid | AEG USV | Qnap | Synology | IP Kameras | iRobot | Gardena R70Li | Sony TV / AV | Sat Duo2 | Philips/Samsung TV | Sonos | Buderus | RPi | Arduino || Visu: 24", 10", 7" Tablets ....

Ähnliche Themen

  1. Sophos UTM 9.x Bandbreite auslesen
    Von Maeffjus im Forum Anleitungen / Nützliche PHP Skripte
    Antworten: 2
    Letzter Beitrag: 12.01.18, 10:38
  2. Antworten: 1
    Letzter Beitrag: 30.09.15, 08:44
  3. Variablenänderung überwachen
    Von mcbelly im Forum Skripte, PHP, SQL
    Antworten: 2
    Letzter Beitrag: 16.03.13, 19:08
  4. FHZ überwachen
    Von kadorf im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 16
    Letzter Beitrag: 20.01.10, 01:45
  5. Netzwerkkarte überwachen ??
    Von Professorakiera im Forum Ideen & Anregungen
    Antworten: 5
    Letzter Beitrag: 13.04.07, 21:35