Skip to content
jxnxtxanPublic

About

Tampermonkey-Userscript für mobile.de: Ausstattung hervorheben, technische Daten anzeigen & Gebrauchtwagen-Preise ausstattungsbereinigt bewerten. Userscript for mobile.de used-car price rating.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Repository files navigation

mobile.de Ausstattungssuche & Preisbewertung (Tampermonkey-Userscript)

Release Lizenz: MIT Tampermonkey Violentmonkey

Gebrauchtwagen auf mobile.de schneller bewerten: Das kostenlose Userscript hebt auf jeder Fahrzeugseite die Ausstattung hervor, die dir wichtig ist (z. B. Anhängerkupplung, Standheizung, Head-up-Display, Matrix-LED), zeigt ausgewählte technische Daten kompakt an und bewertet den Preis ausstattungsbereinigt im Vergleich zu ähnlichen Inseraten — direkt auf der Detailseite und in der Suchergebnisliste.

In Tampermonkey installieren  ·  Quellcode ansehen  ·  Projektseite  ·  Änderungen  ·  Fehler melden

Gefundene Ausstattung und technische Daten auf einer mobile.de-Fahrzeugseite

🇬🇧 English: A free userscript for mobile.de, Germany's largest used-car marketplace. It highlights the equipment you care about on every listing, shows key technical data at a glance and rates the asking price against comparable cars, adjusted for equipment differences. Works with Tampermonkey and Violentmonkey in Chrome, Firefox, Edge and Safari.

Kein offizielles Produkt von mobile.de. „mobile.de“ ist eine Marke der mobile.de GmbH; dieses Projekt steht in keiner Verbindung zu ihr.

Installation

  1. Einen Userscript-Manager installieren: Tampermonkey (Chrome, Firefox, Edge, Safari) oder Violentmonkey.
  2. mobile-ausstattungssuche.user.js installieren — der Userscript-Manager öffnet den Installationsdialog.
  3. Eine Fahrzeugseite auf suchen.mobile.de öffnen. Über den Button Konfiguration im Aktionsbereich passt du Begriffe, Farben und die Preisbewertung an.

Updates kommen automatisch über den Userscript-Manager. Chrome: Für Tampermonkey muss unter Umständen in den Erweiterungs-Details „Nutzerskripts zulassen“ aktiviert sein.

Funktionen

  • Ausstattung hervorheben: Token-basierte Suche mit Wortgrenzen, optional „Nur Ausstattungsliste“ und „Wortteil-Suche“, eigene Farben und Favoriten.
  • Merge-Gruppen: Zusammengehörige Treffer werden zu einer Zeile zusammengefasst (z. B. „Außenspiegel elektr. verstellbar, beheizbar, anklappbar“).
  • Technische Daten als kompakte Zeilen im Ergebnisbereich.
  • Preisbewertung (siehe eigener Abschnitt): ausstattungsbereinigte Einordnung des Preises auf Detailseite und Suchergebnisliste.
  • Automodus (Config-Tab, standardmäßig aus): Zeigt alle Einträge aus der Ausstattungsliste und strukturierter Komma-Beschreibung in einer Liste. Treffer aus deiner Ausstattungs-Konfiguration werden farbig hervorgehoben; übrige Zeilen erscheinen grau. Per + Konfig lässt sich ein unbekannter Eintrag im Popup vorausgefüllt anlegen.
  • Komfort: Standort als Google-Maps-Link, Listen-Reihenfolge (alphabetisch oder manuell per Drag & Drop) und Standard-Sortierung für die Suchergebnisseite (z. B. Preis aufsteigend).
  • SPA-tauglich (Observer + gedrosseltes Nachladen nach DOM-/URL-Wechsel).
  • Konfigurations-Popup mit Filter, Bulk-Aktionen, Drag-and-Drop, Undo, Hilfe-Tabs, Validierungshinweisen und Import/Export (JSON) zum Sichern und Teilen.

Preisbewertung

Auf der Fahrzeugdetailseite (neben dem Preis) und in der Suchergebnisliste zeigt das Skript eine ausstattungsbereinigte Preisbewertung als Balkenanzeige mit Label.

  • Vergleichsbasis (Kohorte): ähnliche Fahrzeuge (Marke/Modell, optional Baureihe, Kilometerstand, Erstzulassung und Leistung innerhalb konfigurierbarer Toleranzen). Die Daten stammen aus besuchten Suchergebnisseiten; ohne ausreichend Vergleichsfahrzeuge erscheint „zu wenig Vergleichsdaten“ bzw. ein Hinweis, die Vergleichssuche manuell zu öffnen (ⓘ).
  • Ausstattungsbereinigung: Unterschiede in der Ausstattung werden anhand deiner Ausstattungs-Konfiguration (Gewichte, optional nur Favoriten) in den Vergleichspreis eingerechnet. Jeder Punkt Ausstattung über dem Median der Vergleichsfahrzeuge hebt den erwarteten Preis standardmäßig um 3 % des Basispreises (bei 20.000 € also 600 €, bei 60.000 € 1.800 €); alternativ ist ein fester Euro-Betrag je Punkt einstellbar. Die maximale Korrektur ist begrenzt (Standard 20 %).
  • Fallback: Ohne Kohorte kann der native mobile.de-Marktpreis herangezogen werden.
  • Stufen: Sehr guter, Guter, Fairer, Erhöhter und Hoher Preis (Schwellen im Popup anpassbar).
  • Unsichere Vergleichsgruppe: Liegen die Vergleichspreise sehr eng beieinander (Streuung unter 5 %, typisch nach einer preissortierten oder preisgefilterten Suche) oder gibt es weniger Vergleichsfahrzeuge als das eingestellte Minimum, zeigt die Ergebnisliste „unsicher“ statt einer Stufe (die rechnerische Stufe steht im Tooltip) und die Detailseite einen Hinweis. Für eine verlässliche Einordnung die Vergleichssuche ohne Preisfilter öffnen.
  • Caching: Die fertige Bewertung wird kurz im localStorage (ca. 3 Minuten, tabübergreifend) und im sessionStorage gehalten; Kohorten- und Ausstattungsdaten bleiben ca. 20 Minuten im localStorage. Nach einem Browser-Neustart wird die Bewertung daher in der Regel neu berechnet.
  • Konfiguration und Debug: Schwellen, Toleranzen, Aufschlag je Punkt (% oder €), Mindestanzahl Vergleiche, Cache-Schritte sowie Debug-Karten/Log sind im Popup einstellbar; Änderungen mit starker Auswirkung fragen vorher nach.

Entwicklung (Build)

Quellcode liegt unter src/. Einstieg ist src/main.js → src/app.js (Verdrahtung). Aufteilung:

Verzeichnis Inhalt
src/config/ Defaults, Persistenz, Feature-Flags, Migration, Laufzeit-State
src/core/ Match-Engine, DOM-Selektoren, Suchpipeline, Automodus, Merge-Gruppen
src/lifecycle/ Observer, Scheduler, URL-Wechsel, inkrementelle SRP-/Maps-Refreshes
src/features/ Preisbewertung (VIP + SRP), SRP-Sortierung, Debug-Karten
src/ui/results/ Ergebnis- und Tech-Rendering samt Render-Cache
src/popup/ Konfigurations-Popup

Die installierbare Datei mobile-ausstattungssuche.js im Repo-Root wird per Build erzeugt:

npm install
npm run build
  • npm test führt die Node-Tests in test/ aus (node --test): Parsing-, Match-Engine- und Preisbewertungslogik ohne DOM (kein jsdom). npm run build läuft nur durch, wenn Lint und Tests grün sind (lint && test && vite build).

  • npm run lint prüft mit ESLint; no-undef ist scharf geschaltet und läuft auch als Gate vor jedem npm run build. Beim Herauslösen der Module aus dem früheren Monolithen sind mehrfach Bezeichner ohne Import stehengeblieben — das Bundle läuft in 'use strict', solche Stellen werfen erst zur Laufzeit.

  • Version in vite.config.js (USERSCRIPT_VERSION) und package.json pflegen.

  • npm run dev startet den Vite-Dev-Server von vite-plugin-monkey (Tampermonkey-Test mit lokalem Build).

  • Ausgabe: dist/mobile-ausstattungssuche.user.js → wird nach mobile-ausstattungssuche.js kopiert.

  • Releases laufen automatisch: Landet auf main eine neue Version in package.json, legt die Action release.yml Tag vX.Y.Z und ein GitHub-Release mit mobile-ausstattungssuche.user.js und den Commits seit dem letzten Release an.

  • Die Projektseite unter site/ wird per pages.yml auf GitHub Pages veröffentlicht.

Screenshots

Ergebnis auf der Detailseite

Über dem Aktionsbereich erscheinen „Technische Daten:“ und „Gefundene Begriffe:“ mit den Farben aus deiner Konfiguration. Kursive Einträge mit * wurden nur im Beschreibungstext gefunden (geringere Sicherheit); im Automodus heißt der Block „Ausstattung (vollständig):“.

Technische Daten und gefundene Begriffe auf einer Fahrzeugseite

Preisbewertung neben dem Preis

Unter dem Preis steht die eigene Einordnung, ausstattungsbereinigt und mit Anzahl der Vergleichsfahrzeuge. Die Balken lesen sich wie bei mobile.de: mehr Balken = besserer Preis. Im Beispiel wertet mobile.de „Sehr guter Preis“; nach Abgleich mit 15 vergleichbaren Fahrzeugen und ihrer Ausstattung bleibt ein „Guter Preis“ (erwartet ~21.248 €). Das ? erklärt die Rechnung im Detail.

Ausstattungsbereinigte Preisbewertung unter dem Preis

Aktionsbereich mit Konfigurations-Button

Der Button Konfiguration sitzt unter „E-Mail schreiben“, „Parken“ und „Teilen“ in der rechten Spalte.

Aktionsbereich mit Button Konfiguration

Popup: Ausstattung

Links die Liste aller Einträge mit Schalter, Favoriten-Stern, Farbe und Preisgewicht (⚖), rechts der Detail-Editor: Anzeigetext, Suchbegriffe und verbotene Begriffe als Chips, Preisgewicht, Farbe und Optionen. Oben Filter (nur aktive / Favoriten / mit Verboten / mit Gewicht), Sortierung, Alle Ein/Aus und + Neu.

Konfigurations-Popup, Reiter Ausstattung

Popup: Merge-Gruppen

Mehrere Treffer mit gleicher Basis werden zu einer Zeile zusammengefasst. Die Chips legen die Reihenfolge fest und lassen sich am ⠿ ziehen; grün umrandete Chips treffen einen Ausstattungs-Eintrag. Vorschläge aus dem Reiter Ausstattung erscheinen unter den Chips, das Beispiel zeigt das Ergebnis mit echten Einträgen.

Konfigurations-Popup, Reiter Merge-Gruppen

Popup: Config → Preisbewertung

Im Reiter Config sind die Skript-Optionen nach Bereichen gegliedert (Allgemein, Listen & Sortierung, Suchergebnisse, Preisbewertung). Für die Preisbewertung lassen sich Anzeige, Vergleichsgruppe und Toleranzen einstellen.

Konfigurations-Popup, Config-Bereich Preisbewertung

Suchkriterien anpassen

  1. Auf der Detailseite Konfiguration öffnen.
  2. Unter Ausstattung Begriffe, Anzeigetext und Optionen pflegen oder Tech-Daten, Merge-Gruppen und Import/Export nutzen.
  3. Mit Speichern dauerhaft in Tampermonkey-Speicher schreiben; Abbrechen verwirft Änderungen im aktuellen Dialog.

Import / Export

  • Export: Im Popup Export aktualisieren – JSON ablegen oder kopieren.
  • Import: JSON ins Feld einfügen und Import durchführen bestätigen.

Lizenz

MIT © Jonathan Nitzsche. Kein offizielles Produkt von mobile.de.

About

Tampermonkey-Userscript für mobile.de: Ausstattung hervorheben, technische Daten anzeigen & Gebrauchtwagen-Preise ausstattungsbereinigt bewerten. Userscript for mobile.de used-car price rating.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages