Tomtom Navi prüfen ob Netzwerk aktiv ist

  • Hallo Experten,

    gibt es eine Möglichkeit zu prüfen, wenn das Navi an USB angeschlossen ist ob

    My Drive Connect aktiv ist.

    Das Navi wird als Ethernet: Nicht indentifiziertes Netzwerk

    erkannt.

    Die Verbindung zu TomTom ist unterschiedlich lang.

    Ich habe es jetzt mit Sleep (6000) eingestellt, aber manchmal braucht es länger

    und dann Läuft mein Scribt ins leere.

    Gruß Windi

  • Hallo Windi !

    Warum verwendest Du immer das Testforum ?

    Es handelt sich bei Deiner Frage doch um eine ganz normale Bitte um Hilfe. Poste daher zukünftig besser in das Forum (den Bereich) Hilfe & Unterstützung. So bleibt der Thread langfristig erhalten und die Antworten sind auch für Gäste sichtbar ;).

    Bei Fragen, die nichts mit AutoIt direkt zu tun haben, wähle das Forum Off-Topic oder Talk.

    BugFix oder Oscar : Könnte einer von Euch diesen Thread bitte noch mal verschieben ?

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • OK, Entschuldigung hab gedacht alles neue kommt ins Testforum,

    gelobe Besserung und bedenke das hohe Alter.

    Muss ich das jetzt verschieben oder neu machen.

    Muss aus dem Skript mal alle Demodaten und Zugänge entfernen.

    Ich hoffe nur ihr kriegt kein lachanfall wenn ihr meine programmierweise seht.

    Gruß Windi

  • Windi :Einen Lachanfall sicherlich nicht. Jedem Neuling kann man Hilfe geben, auch was evtl. Vereinfachungen etc. angeht. Daraus kannst du wieder etwas lernen und wird auch immer freundlich erklärt :)

  • Ich habe es jetzt mit Sleep (6000) eingestellt, aber manchmal braucht es länger

    und dann läuft mein Skript ins leere.

    Du könntest statt eines einzigen langen Sleep dies in einer Schleife machen:

    Code
    $bFound = False
    For $I = 1 to 10  ; 10 mal warten 
        Sleep(1000) ; Eine Sekunde warten
        If <Prüfung hier - falls erfolgreich> Then
            $bFound = True ; Damit ich nach dem Loop weiss, ob prüfung erfolgreich war oder nur die maximale Wartezeit erreicht war
            ExitLoop
        EndIf     
    Next
    If $bFound = False Then ... Aktion, falls die Prüfung nicht erfolgreich war
  • OK, Entschuldigung hab gedacht alles neue kommt ins Testforum, gelobe Besserung und bedenke das hohe Alter. Muss ich das jetzt verschieben oder neu machen.

    Es gibt nicht den geringsten Grund sich zu entschuldigen, Du hast ja nichts Verbotenes gemacht ;).

    Ich wollte Dich mit meinem Beitrag #2 nur freundlich darauf hinweisen, dass das Testforum nicht unbedingt der geeigneteste Bereich für Deine Fragen ist.

    Verschieben (oder neu machen) musst Du auch nichts. Das hat BugFix bereits getan, wie Du an folgender Kennzeichnung sehen kannst :

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Vielen Dank euch allen.

    zu Water das mit der For Schleife ist eine gute Idee.

    mein Problem ist aber, wo kann ich abfragen ob das Navi verbunden ist.

    Mit Sleep, gebe ich ja nur Zeit vor um die Verbindung herzustellen.

    Im Taskmanager ist das Programm aktiv bevor es das Navi aktivert.

    Ich müßte also eine Abrage vom Ethernet Adapter (Vielleicht heißt das Ding auch anders)

    Hab da noch was gefunden im Gerätemanager -> Netzwerkadapter wird TomTom angezeigt.

    Wie frage ich das ab?

    Vielleicht kann mir jemand helfen.

  • Wenn die Verbindung zum TomTom physisch erfolgt ist (also eingesteckt) wie stellt sich das Gerät dann in Windows dar (Laufwerksbuchstabe im Windows Explorer, Netzwerk (inactiv), USB-Drive ...)

    Wenn MyConnect Drive dann läuft, was ändert sich dann in Windows?

    (Meinen Garmin Edge sehe ich als 2 Laufwerke: Den internen Speicher und die SD Karte)

    Wenn ich das richtig sehe, dann gibt es auch eine MyConnect Drive Komponente auf dem PC. Kann man hier den Status abfragen?


    Wie kriegst Du derzeit die Daten auf's TomTom?

  • Hab da noch was gefunden im Gerätemanager -> Netzwerkadapter wird TomTom angezeigt.

    Dann kannst du ihn mit dieser Funktion finden:

    4 Mal editiert, zuletzt von Bitnugger (14. Mai 2020 um 18:08)

  • Hallo Water,

    bei TomTom ist das anders die wird als Netzwerkkarte erkannt und ist nicht in den Laufwerken.Ich denke mal die haben das vor ein paar Jahren gemacht

    das man die Karten nicht mehr kopieren kann.

    Hallo Bitnugger,

    Danke für dein Skript, zeigt leider nicht an ob aktiviert oder inaktiv.

    Das steht unten:

    >"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Users\xx2\Desktop\test.au3"

    @@ Debug line 22 var: $aAdapter --> Kein Adapter mit dem Namen "TomTom" und NetConnectionStatus " = 2" gefunden! $iIPAddressCount = 1 $iGatewayCount = 0

    !@ #Error: -1 #Extended: 4

    >Exit code: 185 Time: 0.36

    Hab euch einmal Bilder gemacht,

  • Lass mal folgendes Skript laufen wenn TomTom angebunden ist. Es erweitert Butnugger's Skript und schreibt alle Infos über alle Adapter in eine Datei auf C:\temp und zeigt sie danach an (erstellt durch Scriptomatic).

    Danach kannst Du Deinen Adapter suchen und den Status prüfen:

  • Schaut gut aus. Ab Zeile 522 findet sich der TomTom Adapter. Der NetConnectionStatus steht auf 2 = Connected (https://docs.microsoft.com/en-us/windows/…-networkadapter)

    Jetzt stutzen wir das Skript zusammen, um nur die notwendigen Informationen zu kriegen und diese in Deinm Skript zur Verfügung zu stellen.

  • Auf C:\Temp ist nichts.

    Habe nur diese Datei in den Editor bekommen.

    Ja, da hat water sich wohl vertan, denn @TempDir liegt in deinem Profilverzeichnis... die Datei findest du ergo hier: C:\Users\Windi\AppData\Local\Temp\Win32_NetworkAdapter.TXT

    Hm, wenn ich mir den Inhalt dieser Datei anschaue, dann sollte der aber so gefunden werden, denn er wird ja darin gelistet:

    Code
    Global $aAdapter
    $aAdapter = _CI_GetNetworkAdapter('.', '2', 'TomTom')

    Hier der relevante Teil:

    TomTom

    AdapterType:

    AdapterTypeId:

    AutoSense:

    Availability: 3

    Caption: [00000013] TomTom

    ConfigManagerErrorCode:

    ConfigManagerUserConfig:

    CreationClassName: Win32_NetworkAdapter

    Description: TomTom

    DeviceID: 13

    ErrorCleared:

    ErrorDescription:

    GUID:

    Index: 13

    InstallDate: // ::

    Installed: True

    InterfaceIndex: 15

    LastErrorCode:

    MACAddress:

    Manufacturer:

    MaxNumberControlled: 0

    MaxSpeed:

    Name: TomTom

    NetConnectionID:

    NetConnectionStatus:

    NetEnabled:

    NetworkAddresses:

    PermanentAddress:

    PhysicalAdapter: False

    PNPDeviceID:

    PowerManagementCapabilities:

    PowerManagementSupported: False

    ProductName: TomTom

    ServiceName:

    Speed:

    Status:

    StatusInfo:

    SystemCreationClassName: Win32_ComputerSystem

    SystemName: DESKTOP-0CN454E

    TimeOfLastReset: 05/14/2020 13:19:08

  • So müsste der Prüfungsteil für mein obiges Skript aussehen. Der Name ist fix mit "TomTom" vergeben, der Status wird als "Magic Number" angegeben.

    Nicht schön, aber selten. Wenn er funktioniert, dann kann er noch verschönert und dokumentiert werden.

  • Return & $objItem.NetConnectionStatus

    Jeep, voll erwischt! 8o

    Ähhh, ja, da kannst du es auch so machen:

    Einmal editiert, zuletzt von Bitnugger (14. Mai 2020 um 22:54)

  • Ups, ist gefixt :)

    Den NetConnectioNStatus habe ich nicht im Select -Statement eingebaut, damit er ans Hauptskript zurück gegeben wird und dann dort für die Fehleranalyse verwendet werden kann.