- Startseite
- Forum
- Auto
- Opel
- Insignia
- Insignia A
- DVD900 integriertes Fahrtenbuch
DVD900 integriertes Fahrtenbuch
Hallo Zusammen,
beim einspielen von POIs bin ich doch glatt über die Funktion Fahrtenbuch gestolpert.
Hat jemand Erfahrung damit? Ich konnts heute morgen nur kurz ausprobieren, er fragt wohl privat oder dienstlich und kann eine
Datei exportieren in der dann die Koordinaten drin sind.
Wie verlässlich ist das neue Feature und wie bringt man die Daten in ein verwertbares Format ?
Gruß
D
Edit: Ok die Funktion ist auch gut im Handbuch beschrieben. Jede Fahrt wird protokolliert mit Schluessel einstecken (Anfang der Route) - auswählen Privat / dienstlich - Schluessel abziehen (Ende der Route)
Format das er dann erzeugt:
Laufende Nummer, Start Koordinaten, Abfahrtsdatum/Zeiut, Kilometerstand, Ende Koordinaten, Ankunftszeit, Kilometerstand Ziel, Art der Fahrt, Freitext.
Jetzt ergibt sich die Frage gibt es einen Dienst der automatisiert die Koordinaten in Echtdaten (Ort/Straße) umsetzt. Die Datei unterteilt die Einträge mit Semikolons also recht gut in Excel einlesbar.
Beste Antwort im Thema
Hallo Heiko
Hier ist das Script, das für private Zwecke genutzt werden darf.
Erstelle eine Datei (script.vbs) und kopiere die folgenden Zeilen rein. Anschließend im Windows Explorer die Logbuchdatei des Navis mit der Maus auf die Script-Datei ziehen und fallen lassen. Je nachdem, wie umfangreich deine Navi-Datei ist, dauert es etwas, bis dir die fertigen Daten angzeigt werden. Diese kannst du dann in eine Excel-Datei kopieren und weiter bearbeiten.
'Quelle: http://scheltowski.de/2012/06/opel-navi-900-integriertes-fahrtenbuch/
Dim strCurrentDirectory
Dim strCurrentDate
Dim strOutputFileName
Dim objFSO
Call Main
Sub Main
' Prüfung, ob Daten übergeben wurden
If WScript.Arguments.Count < 1 Then
WScript.StdErr.Writeline("Missing Parameter"
WScript.Quit
End If
' Ausgabedatei erstellen
Set objFSO = CreateObject("Scripting.FileSystemObject"
strCurrentDirectory = left(WScript.ScriptFullName,(Len(WScript.ScriptFullName))-(Len(WScript.ScriptName)))
strCurrentDate = Replace(Date(), ".", "" & "_" & Replace(Time(), ":", ""
strCurrentDate = Left(strCurrentDate, Len(strCurrentDate)-2)
strOutputFileName = strCurrentDirectory & "\Logbook_" & strCurrentDate & ".csv"
Set objOutputFile = objFSO.CreateTextFile(strOutputFileName)
' Write table header
objOutputFile.WriteLine "Nr.;Startadresse;Abfahrtsdatum;Abfahrtszeit;KM Stand Abfahrt;Zieladresse;Ankuftsdatum;Ankunftszeit;KM Stand Ankunft;gefahrene KM;Zweck der Fahrt;Bemerkung"
' Daten aus dem Logbuch auslesen
strInputFile = WScript.Arguments(0)
Set objFile = objFSO.OpenTextFile(strInputFile, 1)
Do Until objFile.AtEndOfStream
strInputLine = objFile.ReadLine
arrInput = Split(strInputLine, " ; "
' Umwandlung der Daten aus dem Logbuch
strStartLat = CoordsConvert(arrInput(1))
strStartLon = CoordsConvert(arrInput(2))
strEndLat = CoordsConvert(arrInput(6))
strEndLon = CoordsConvert(arrInput(7))
'Adressen aus der Google API beziehen
HTTPDownload "http://maps.googleapis.com/maps/api/geocode/xml?latlng=" & strStartLat & "," & strStartLon & "&sensor=false", strCurrentDirectory & "\~response.xml"
' Looking for address in the downloaded file
strStartAddress = FormattedAddress
'gmaps API Call
HTTPDownload "http://maps.googleapis.com/maps/api/geocode/xml?latlng=" & strEndLat & "," & strEndLon & "&sensor=false", strCurrentDirectory & "\~response.xml"
' Looking for address in the downloaded file
strEndAddress = FormattedAddress
' Geschäftlich und Privat unterscheiden
If arrInput(11) = 1 Then
strPurpose = "Gesch" & Chr(228) & "ftlich"
ElseIf arrInput(11) = 0 Then
strPurpose = "Privat"
End If
' In die Ausgabedatei schreiben
objOutputFile.WriteLine arrInput(0) & ";" & strStartAddress & ";" & arrInput(3) & ";" & arrInput(4) & ";" & arrInput(5) & ";" & strEndAddress & ";" & _
arrInput(8) & ";" & arrInput(9) & ";" & arrInput(10) & ";" & cLng(arrInput(10)) - cLng(arrInput(5)) & ";" & strPurpose & ";" & arrInput(12) & ";"
Loop
' Ausgabedatei schließen
objOutputFile.Close
' Ausgabedatei in Excel öffnen
Set objShell = WScript.CreateObject ("WScript.shell"
objShell.Run "excel " & """" & strOutputFileName & """"
Set objFSO = Nothing
Set objShell = Nothing
' HTTP Proxy settings
strProxyAddress = "" ' Proxy address ip or FQDN.
strProxyPort = "" ' Proxy port
End Sub
Function CoordsConvert(strInCoords)
' Replace all non numerical characters
strOutCoord = Replace(Replace(Replace(Replace(Replace(Replace(Replace(strInCoords, "S ", "", "N ", ""
, Chr(176), ""
, "'", ""
, """", ""
,"W ", ""
, "E ", ""
'Chr(176) = °
' Convert degrees, minutes ans seconds into dezimal coordinates
strOutCoords = Split(strOutCoord, " "
CoordsConvert = Round(strOutCoords(0)+(strOutCoords(1)/60)+(strOutCoords(2)/3600), 6)
CoordsConvert = Replace(CoordsConvert, ",", "."
End Function
Function FormattedAddress
Dim xmlDoc, Root
Set xmlDoc = CreateObject("Microsoft.XMLDOM"
xmlDoc.Async = "False"
xmlDoc.Load(strCurrentDirectory & "\~response.xml"
Set Root = xmlDoc.documentElement
strQuery = "/GeocodeResponse/status"
Set colItem = Root.selectSingleNode(strQuery)
If colItem.Text = "OK" Then
strAddrQuery = "/GeocodeResponse/result/formatted_address"
Set colItemAddr = xmlDoc.documentElement.selectSingleNode(strAddrQuery)
FormattedAddress = colItemAddr.Text
Else FormattedAddress = colItem.Text
End If
' Close and delete temp file
objFSO.DeleteFile strCurrentDirectory & "\~response.xml"
End Function
Sub HTTPDownload( myURL, myPath )
' This Sub downloads the FILE specified in myURL to the path specified in myPath.
'
' myURL must always end with a file name
' myPath may be a directory or a file name; in either case the directory must exist
'
' Written by Rob van der Woude
' http://www.robvanderwoude.com
' Standard housekeeping
Dim i, objFile, objFSO, objHTTP, strFile, strMsg
Const ForReading = 1, ForWriting = 2, ForAppending = 8, TriStateTrue = -1
' Create a File System Object
Set objFSO = CreateObject( "Scripting.FileSystemObject" )
' Check if the specified target file or folder exists,
' and build the fully qualified path of the target file
If objFSO.FolderExists( myPath ) Then
strFile = objFSO.BuildPath( myPath, Mid( myURL, InStrRev( myURL, "/" ) + 1 ) )
ElseIf objFSO.FolderExists( Left( myPath, InStrRev( myPath, "\" ) - 1 ) ) Then
strFile = myPath
Else
WScript.Echo "ERROR: Target folder not found."
Exit Sub
End If
' Create or open the target file
Set objFile = objFSO.OpenTextFile( strFile, ForWriting, True, 0 )
' Create an HTTP object
Set objHTTP = CreateObject( "WinHttp.WinHttpRequest.5.1" )
' Download the specified URL
objHTTP.Open "GET", myURL, False
' Answers in german, please
objHTTP.SetRequestHeader "Accept-Language", "de-DE"
' Proxy
If Len(strProxyAddress) > 0 Then
objHTTP.SetProxy 2, "http://"; & strProxyAddress & ":" &strProxyPort
End If
objHTTP.Send
' Write the downloaded byte stream to the target file
For i = 1 To LenB( objHTTP.ResponseBody )
objFile.Write Chr( AscB( MidB( objHTTP.ResponseBody, i, 1 ) ) )
Next
' Close the target file
objFile.Close( )
End Sub
Ich habe es für meine Bedürfnisse noch etwas angepasst. Außerdem habe ich mir in Excel ein Makro geschrieben, dass die Daten noch "hübsch" macht :-)
Ähnliche Themen
51 Antworten
Ok geb ich mir mal selbst die Antwort.
Hab mir ein vbs Script geschrieben, dass die erzeugte Opel Fahrtenbuch Datei - Koordinationsdaten ausliest, gegen Googles API schickt und
die Adresse zurueckwirft und mir danach ein Excel mit den Einträgen erzeugt.
Sozusagen mit ein wenig Umstand ist das Fahrtenbuch wirklich nutzbar und für mich vollkommen ausreichend um meinen Nachweis
zu pflegen. Wäre schöner gewesen Opel oder der Hersteller des Navis hätte noch einen Schritt weiter gedacht - trotzdem Danke
mir ist so schon immens geholfen. Nie mehr händisch Fahrtenbuch schreiben !
Danke für deine eigene Antwort, aber den Insignia neues Modelljahr haben hier noch nicht so viele. Das DVD800 kann sowas nicht und genau sowas würde ich brauchen.. aber wegen einem Fahrtenbuch gleich einen neuen obwohl er so gut läuft... und auch nach 15.000 KM noch nach "Neuwagen" riecht?
Übrigens... ein guter Bekannter hat jetzt mit dem 160 PS Diesel schon 70.000 km hinter sich. Ergebnis: 1 Satz Reifen, 1 Satz Bremsen. Sonst keine Probleme. Mal schauen, der Fährt mit einem Auto in 3 Jahren bis zu 300.000 KM! Das Ergebnis werd ich euch mitteilen!
Ich hab das unsagbare Glück alle 4-8 Monate tauschen zu müssen. Also immer Auto leer räumen und wieder den daemlichen Neuwagenduft ertragen. Einziger Vorteil ich kenne extrem selten die Werkstaetten von innen
und kann mich bei allen
Fahrezeugen auch nicht wirklich über Fehler beschweren.
Das Fahrtenbuch war für mich ein wirklich nette Neuerung - die echt hilfreich ist.
Was machst du mit diesen Daten nach deiner Excelauswertung? Das Finanzamt erkennt diese Art Fahrtenbuch nicht an, wie ich glesen habe.
Nein tut es definitv nicht.
Du kannst aber die Exceltabelle ausdrucken und dann für ein bischen Taschengeld das von Grundschulkindern handschriftlich abschreiben lassen.
Dann kannst du es dem FA geben
Ich benötige es eigentlich nur gegenüber meinem Arbeitgeber und der akzeptiert das. (geht dabei nur um die Abrechnung der Dienstkilometer)
Komischerweise handelt das jedes Finanzamt unterschiedlich. unser Finanzamt akzeptiert keine Excel. Ausgedruckt und handschriftlich die Änderungen dokumentiert akzeptieren sie es. Verstehen muss man das wohl nicht. Allerdings fragt er mich jedesmal wieder wie ich es erstelle und ich erklaer ihm immer wieder das ich es aufs Diktiergerät spreche und dann die Sekretärin es runter tippt ;-)
Zum Glück hab ich das hinter mir und die Firma kann sich mit denen rumärgern.
Ich habe seit 10 Jahren das Fahrtenbuch von Compilot. Den Anschluss Bekomme ich auch ende des Monats in meinen Insignia eingesetzt. Eines der wenigen elektronischen Fahrtenbücher die anerkannt werden.
Hallo,
ich bin jetzt seit einer Woche stolzer Besitzer eines Insignia Sports Tourer und vollends zufrieden.
Die Fahrtenbuch-Funktion ist mir auch gleich aufgefallen. Das Exportieren der Daten funktioniert auch ohne Probleme. Leider sind die Logbook-Daten nicht verwertbar.
Jetzt habe ich gelesen, dass du ein Skript geschrieben hast.
Besteht die Möglichkeit, eine Kopie davon downzuloaden oder zugeschickt zu bekommen?
Vielen Dank für deine Antwort
nutella_king
Zitat:
Original geschrieben von nutella_king
Besteht die Möglichkeit, eine Kopie davon downzuloaden oder zugeschickt zu bekommen?
Ich will ja nicht unhöflich sein, aber wie wär's mit einer Internetrecherche?
Hi downgrader
Deine Antwort war nicht sehr nett! Du kennst doch den Fragesteller und seine Kompetenz nicht, oder?
Ich behaupte, fit in der Googlesuche zu sein ... und finde auch nur ein zusammenhangloses Script von "Scheltowski", mit dem ich nicht viel anfangen kann, da mir das Wissen um dessen Einbindung in Exel (?) fehlt.
Daher erneut die Frage: Hat jemand das Script und kann es der Comunity zur Verfügung stellen?
Hallo,
ich möchte das Thema noch einmal hoch holen, da es mich auch interessiert.
Ich hab seit kurzen einen Zafira Tourer mit der Navi900 und würde gerne diese Fahrtenbuchdaten nutzen.
Gibt es den inzwischen eine Lösung oder eine Anleitung wie man das hinbekommt. Ich bin leider auch nicht der geborene Scripter und würde mich über eine genauere Anleitung freuen.
Gruß Heiko
Hallo Heiko
Hier ist das Script, das für private Zwecke genutzt werden darf.
Erstelle eine Datei (script.vbs) und kopiere die folgenden Zeilen rein. Anschließend im Windows Explorer die Logbuchdatei des Navis mit der Maus auf die Script-Datei ziehen und fallen lassen. Je nachdem, wie umfangreich deine Navi-Datei ist, dauert es etwas, bis dir die fertigen Daten angzeigt werden. Diese kannst du dann in eine Excel-Datei kopieren und weiter bearbeiten.
'Quelle: http://scheltowski.de/2012/06/opel-navi-900-integriertes-fahrtenbuch/
Dim strCurrentDirectory
Dim strCurrentDate
Dim strOutputFileName
Dim objFSO
Call Main
Sub Main
' Prüfung, ob Daten übergeben wurden
If WScript.Arguments.Count < 1 Then
WScript.StdErr.Writeline("Missing Parameter"
WScript.Quit
End If
' Ausgabedatei erstellen
Set objFSO = CreateObject("Scripting.FileSystemObject"
strCurrentDirectory = left(WScript.ScriptFullName,(Len(WScript.ScriptFullName))-(Len(WScript.ScriptName)))
strCurrentDate = Replace(Date(), ".", "" & "_" & Replace(Time(), ":", ""
strCurrentDate = Left(strCurrentDate, Len(strCurrentDate)-2)
strOutputFileName = strCurrentDirectory & "\Logbook_" & strCurrentDate & ".csv"
Set objOutputFile = objFSO.CreateTextFile(strOutputFileName)
' Write table header
objOutputFile.WriteLine "Nr.;Startadresse;Abfahrtsdatum;Abfahrtszeit;KM Stand Abfahrt;Zieladresse;Ankuftsdatum;Ankunftszeit;KM Stand Ankunft;gefahrene KM;Zweck der Fahrt;Bemerkung"
' Daten aus dem Logbuch auslesen
strInputFile = WScript.Arguments(0)
Set objFile = objFSO.OpenTextFile(strInputFile, 1)
Do Until objFile.AtEndOfStream
strInputLine = objFile.ReadLine
arrInput = Split(strInputLine, " ; "
' Umwandlung der Daten aus dem Logbuch
strStartLat = CoordsConvert(arrInput(1))
strStartLon = CoordsConvert(arrInput(2))
strEndLat = CoordsConvert(arrInput(6))
strEndLon = CoordsConvert(arrInput(7))
'Adressen aus der Google API beziehen
HTTPDownload "http://maps.googleapis.com/maps/api/geocode/xml?latlng=" & strStartLat & "," & strStartLon & "&sensor=false", strCurrentDirectory & "\~response.xml"
' Looking for address in the downloaded file
strStartAddress = FormattedAddress
'gmaps API Call
HTTPDownload "http://maps.googleapis.com/maps/api/geocode/xml?latlng=" & strEndLat & "," & strEndLon & "&sensor=false", strCurrentDirectory & "\~response.xml"
' Looking for address in the downloaded file
strEndAddress = FormattedAddress
' Geschäftlich und Privat unterscheiden
If arrInput(11) = 1 Then
strPurpose = "Gesch" & Chr(228) & "ftlich"
ElseIf arrInput(11) = 0 Then
strPurpose = "Privat"
End If
' In die Ausgabedatei schreiben
objOutputFile.WriteLine arrInput(0) & ";" & strStartAddress & ";" & arrInput(3) & ";" & arrInput(4) & ";" & arrInput(5) & ";" & strEndAddress & ";" & _
arrInput(8) & ";" & arrInput(9) & ";" & arrInput(10) & ";" & cLng(arrInput(10)) - cLng(arrInput(5)) & ";" & strPurpose & ";" & arrInput(12) & ";"
Loop
' Ausgabedatei schließen
objOutputFile.Close
' Ausgabedatei in Excel öffnen
Set objShell = WScript.CreateObject ("WScript.shell"
objShell.Run "excel " & """" & strOutputFileName & """"
Set objFSO = Nothing
Set objShell = Nothing
' HTTP Proxy settings
strProxyAddress = "" ' Proxy address ip or FQDN.
strProxyPort = "" ' Proxy port
End Sub
Function CoordsConvert(strInCoords)
' Replace all non numerical characters
strOutCoord = Replace(Replace(Replace(Replace(Replace(Replace(Replace(strInCoords, "S ", "", "N ", ""
, Chr(176), ""
, "'", ""
, """", ""
,"W ", ""
, "E ", ""
'Chr(176) = °
' Convert degrees, minutes ans seconds into dezimal coordinates
strOutCoords = Split(strOutCoord, " "
CoordsConvert = Round(strOutCoords(0)+(strOutCoords(1)/60)+(strOutCoords(2)/3600), 6)
CoordsConvert = Replace(CoordsConvert, ",", "."
End Function
Function FormattedAddress
Dim xmlDoc, Root
Set xmlDoc = CreateObject("Microsoft.XMLDOM"
xmlDoc.Async = "False"
xmlDoc.Load(strCurrentDirectory & "\~response.xml"
Set Root = xmlDoc.documentElement
strQuery = "/GeocodeResponse/status"
Set colItem = Root.selectSingleNode(strQuery)
If colItem.Text = "OK" Then
strAddrQuery = "/GeocodeResponse/result/formatted_address"
Set colItemAddr = xmlDoc.documentElement.selectSingleNode(strAddrQuery)
FormattedAddress = colItemAddr.Text
Else FormattedAddress = colItem.Text
End If
' Close and delete temp file
objFSO.DeleteFile strCurrentDirectory & "\~response.xml"
End Function
Sub HTTPDownload( myURL, myPath )
' This Sub downloads the FILE specified in myURL to the path specified in myPath.
'
' myURL must always end with a file name
' myPath may be a directory or a file name; in either case the directory must exist
'
' Written by Rob van der Woude
' http://www.robvanderwoude.com
' Standard housekeeping
Dim i, objFile, objFSO, objHTTP, strFile, strMsg
Const ForReading = 1, ForWriting = 2, ForAppending = 8, TriStateTrue = -1
' Create a File System Object
Set objFSO = CreateObject( "Scripting.FileSystemObject" )
' Check if the specified target file or folder exists,
' and build the fully qualified path of the target file
If objFSO.FolderExists( myPath ) Then
strFile = objFSO.BuildPath( myPath, Mid( myURL, InStrRev( myURL, "/" ) + 1 ) )
ElseIf objFSO.FolderExists( Left( myPath, InStrRev( myPath, "\" ) - 1 ) ) Then
strFile = myPath
Else
WScript.Echo "ERROR: Target folder not found."
Exit Sub
End If
' Create or open the target file
Set objFile = objFSO.OpenTextFile( strFile, ForWriting, True, 0 )
' Create an HTTP object
Set objHTTP = CreateObject( "WinHttp.WinHttpRequest.5.1" )
' Download the specified URL
objHTTP.Open "GET", myURL, False
' Answers in german, please
objHTTP.SetRequestHeader "Accept-Language", "de-DE"
' Proxy
If Len(strProxyAddress) > 0 Then
objHTTP.SetProxy 2, "http://"; & strProxyAddress & ":" &strProxyPort
End If
objHTTP.Send
' Write the downloaded byte stream to the target file
For i = 1 To LenB( objHTTP.ResponseBody )
objFile.Write Chr( AscB( MidB( objHTTP.ResponseBody, i, 1 ) ) )
Next
' Close the target file
objFile.Close( )
End Sub
Ich habe es für meine Bedürfnisse noch etwas angepasst. Außerdem habe ich mir in Excel ein Makro geschrieben, dass die Daten noch "hübsch" macht :-)
Hallo Michael,
danke für deine Hilfe. Hat auf Anhieb funktioniert.
Und ich hab mir hier die letzten beiden Tage den Kopf heiß gemacht.
Muß jetzt auch mal schaun was ich da dann noch optimieren kann. Die Adressen können etwas eingekürzt werden.
Gruß Heiko
Unter der angegebenen Quelle wurde anscheinend Script aktualisiert, bei mir klappte es.
http://scheltowski.de/2012/06/opel-navi-900-integriertes-fahrtenbuch/