d8b12da36d
Das Backend liegt jetzt als custom_components/audi_dashboard/ vor - eine normale Home-Assistant-Integration mit Config-Flow, einer sensor-Plattform und 18 Diensten. Damit ist die App über HACS installierbar; bis das Repo auf GitHub gespiegelt ist (HACS spricht ausschließlich mit GitHub), installiert homeassistant/installationspaket/install.ps1 denselben Ordner ohne HACS. Fünf Installationsschritte entfallen ersatzlos: der pyscript:-Block, der panel_custom:-Block, das Kopieren der Oberfläche nach www/, das langlebige Zugriffstoken (der Verlauf wird direkt über die recorder-API gelesen) und "pip install pypdf" (steht in manifest.json). Das Fahrzeugprofil legt die Integration beim ersten Start aus ihrer Vorlage an. Drei alte Schwächen sind dabei mit erledigt: - Die Nutzlast landet nicht mehr in der Recorder-Datenbank (_unrecorded_attributes - das kann nur eine echte Entität). - Eine laufende Fahrt überlebt einen Neustart (Store statt Arbeitsspeicher); fiel sie während eines Ausfalls ins Ende, schließt nach_neustart_fortsetzen() sie beim letzten aufgezeichneten Zeitpunkt. - Sensor-Zuordnungen wirken sofort - die Zustandsbeobachter werden neu gebunden, der Neustart-Hinweis und der Neustart-Dienst sind weg. Namensvertrag geändert, beide Oberflächen mitgezogen: pyscript.audi_dashboard_x -> sensor.audi_dashboard_x, pyscript.audi_dashboard_y -> audi_dashboard.y. Eine Companion-App vom alten Stand findet nach dem Umstieg nichts mehr und muss neu gebaut werden; das Panel liegt in der Integration und kann nicht driften. Der selbstgebaute Updater entfällt - HACS ist die Update-Mechanik, die Home Assistant kennt. Die Versionierung schrumpft auf eine Quelle: manifest.json. Geprüft am laufenden Testcontainer (Container byteweise identisch mit dem Repo): alle 18 Dienste, Panel, Config-Entry neu laden, Historienimport, echter Shell-Beleg in-process, Neuinstallation im Wegwerf-Container blank mit automatisch nachinstalliertem pypdf. Companion-App: tsc sauber, 112/112 Tests, beide Rauchtests gegen das laufende Backend grün. Belegparser 8/8. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
185 lines
7.8 KiB
JSON
185 lines
7.8 KiB
JSON
{
|
||
"_hinweis": "Vorlage ohne echte Fahrzeug-/Personendaten. Die Integration legt daraus bei der ersten Einrichtung /config/audi_dashboard/fahrzeugprofil.json an und fasst sie danach nie wieder an. Die Platzhalter (VIN, Kennzeichen, Erstzulassung, HU-Termin, Versicherung, Werkstatt, Servicebuch) werden in der App unter Einstellungen -> Fahrzeug einrichten ersetzt, nicht hier.",
|
||
|
||
"fahrzeug": {
|
||
"fin": "",
|
||
"kennzeichen": "",
|
||
"titel": "RS 4 Avant competition",
|
||
"zusatz": "Avant competition",
|
||
"untertitel": "quattro · 331 kW",
|
||
"details": "2.9 TFSI quattro competition · 331 kW · 450 PS",
|
||
"erstzulassung": "",
|
||
"hauptuntersuchung_faellig": "",
|
||
"tankvolumen_liter": 58,
|
||
"ausfuehrung": "competition"
|
||
},
|
||
|
||
"einstellungen": {
|
||
"nacht_von": "19:00",
|
||
"nacht_bis": "06:00",
|
||
"fahrten_pausenzeit_min": 15,
|
||
"uebersichtsbild": "Frontansicht",
|
||
"kraftstoffanbieter": "Shell",
|
||
"smartdeal": { "aktiv": false, "laeuft_ab": "" },
|
||
"oelwechsel_intervall": {
|
||
"modus": "hersteller",
|
||
"km": 15000,
|
||
"monate": 12,
|
||
"hersteller_km": 30000,
|
||
"hersteller_monate": 24
|
||
},
|
||
"backup_intervall": "aus",
|
||
"letztes_backup": null
|
||
},
|
||
|
||
"versicherung": {
|
||
"gesellschaft": "",
|
||
"vertrag": "",
|
||
"nummer": "",
|
||
"service": "",
|
||
"notfall": "",
|
||
"beitrag": 0,
|
||
"steueranteil": 0,
|
||
"steuersatz": "19 %",
|
||
"gueltigAb": "",
|
||
"zahlweise": "jährlich",
|
||
"teile": [
|
||
{ "bez": "Haftpflicht", "betrag": 0, "sf": "", "sfAlt": "", "satz": "", "satzAlt": "" },
|
||
{ "bez": "Vollkasko inklusive Teilkasko", "betrag": 0, "sf": "", "sfAlt": "", "satz": "", "satzAlt": "" },
|
||
{ "bez": "Schutzbrief Mobilität", "betrag": 0, "sf": null, "sfAlt": null, "satz": null, "satzAlt": null }
|
||
],
|
||
"selbst": [["Vollkasko", "0 €"], ["Teilkasko", "0 €"]],
|
||
"schutzbrief": {
|
||
"stand": "",
|
||
"gilt": "",
|
||
"versichert": "",
|
||
"ausloeser": [],
|
||
"entweder": [],
|
||
"gruppen": [],
|
||
"nicht": [],
|
||
"pflichten": [],
|
||
"rang": ""
|
||
},
|
||
"leistungen": []
|
||
},
|
||
|
||
"steuer": {
|
||
"betrag": 0,
|
||
"zeitraum": "jährlich",
|
||
"faellig": null,
|
||
"grundlage": "Hubraum und CO₂-Ausstoß",
|
||
"lastschrift": true,
|
||
"finanzamt": ""
|
||
},
|
||
|
||
"reifen": {
|
||
"aktiv": "sommer",
|
||
"anzugsmoment_nm": 120,
|
||
"wechsel": { "datum": "", "vereinbart": false },
|
||
"referenz_odo_km": null,
|
||
"saetze": {
|
||
"sommer": {
|
||
"km": 0,
|
||
"bild": "/local/bilder/rad-sommer.webp",
|
||
"marke": "",
|
||
"modell": "",
|
||
"dot": "",
|
||
"mass": "275/30 R20 97Y XL",
|
||
"druck_vorne": "2,5",
|
||
"druck_hinten": "2,4",
|
||
"kommentar": ""
|
||
},
|
||
"winter": {
|
||
"km": 0,
|
||
"bild": "/local/bilder/rad-winter.webp",
|
||
"marke": "",
|
||
"modell": "",
|
||
"dot": "",
|
||
"mass": "265/35 R19",
|
||
"druck_vorne": "2,6",
|
||
"druck_hinten": "2,5",
|
||
"kommentar": ""
|
||
}
|
||
}
|
||
},
|
||
|
||
"service": {
|
||
"vereinbart": {},
|
||
"autohaus": {
|
||
"name": "",
|
||
"adresse": "",
|
||
"tel": "",
|
||
"mail": "",
|
||
"pos": null
|
||
},
|
||
"buch": []
|
||
},
|
||
|
||
"technik": [
|
||
{ "gruppe": "Motor", "posten": [
|
||
["Bauart", "V6 Ottomotor, Direkteinspritzung, Biturbo"],
|
||
["Hubraum", "2 894 cm³"],
|
||
["Leistung", "331 kW / 450 PS bei 5 700–6 700 min⁻¹"],
|
||
["Maximales Drehmoment", "600 Nm bei 2 000–5 000 min⁻¹"],
|
||
["Abgasreinigung", "Katalysator, Lambdasonde, Ottopartikelfilter"],
|
||
["Abgasnorm", "EU6 AP"],
|
||
["Motormanagement", "vollelektronisch"]
|
||
]},
|
||
{ "gruppe": "Kraftübertragung", "posten": [
|
||
["Getriebe", "8-Gang tiptronic"],
|
||
["Antrieb", "quattro, permanent, selbstsperrendes Mittendifferenzial"],
|
||
["Kupplung", "hydraulischer Drehmomentwandler mit Überbrückung"]
|
||
]},
|
||
{ "gruppe": "Fahrleistungen", "posten": [
|
||
["0 auf 100 km/h", "3,9 s"],
|
||
["Höchstgeschwindigkeit", "290 km/h"],
|
||
["Effizienzklasse", "E"],
|
||
["Fahrgeräusch", "70 dB(A)"]
|
||
]},
|
||
{ "gruppe": "Fahrwerk, Lenkung, Bremsen", "posten": [
|
||
["Fahrwerk", "RS-Sportfahrwerk"],
|
||
["Vorderachse", "5-Lenker, Rohrstabilisator"],
|
||
["Hinterachse", "5-Lenker, Rohrstabilisator"],
|
||
["Lenkung", "elektromechanisch, geschwindigkeitsabhängig"],
|
||
["Wendekreis", "ca. 11,7 m"],
|
||
["Bremsanlage", "RS-Stahlbremse, Sättel rot glänzend"],
|
||
["Vorn", "Faustsattel, Scheibe innenbelüftet"],
|
||
["Hinten", "Faustsattel mit elektrischer Parkbremse, innenbelüftet"]
|
||
]},
|
||
{ "gruppe": "Räder und Reifen", "posten": [
|
||
["Räder", "Leichtmetall 9J × 20, Audi Sport"],
|
||
["Reifen", "275/30 R20 97Y XL"],
|
||
["Pannenhilfe", "Reifenreparaturset, kein Ersatzrad"],
|
||
["Radschrauben", "Standard"],
|
||
["Anzugsmoment", "120 Nm"]
|
||
]},
|
||
{ "gruppe": "Maße, Gewichte, Volumen", "posten": [
|
||
["Leergewicht", "1 820 kg"],
|
||
["Zulässiges Gesamtgewicht", "2 350 kg"],
|
||
["Dachlast / Stützlast", "90 / 80 kg"],
|
||
["Anhängelast gebremst", "2 100 kg bei 8 %, 1 900 kg bei 12 %"],
|
||
["Anhängelast ungebremst", "750 kg"],
|
||
["Gepäckraum", "495 / 1 495 l"],
|
||
["Tankinhalt", "58 l, erhöhtes Füllvolumen für quattro"]
|
||
]},
|
||
{ "gruppe": "Bordnetz", "posten": [
|
||
["Batterie", "420 A, 75 Ah"],
|
||
["Generator", "100–150 A"],
|
||
["Kältemittel", "R1234yf"]
|
||
]},
|
||
{ "gruppe": "Wartung", "posten": [
|
||
["Serviceanzeige", "30 000 km oder 2 Jahre, variabel"],
|
||
["Garantie", "Anschlussgarantie 3 Jahre, max. 100 000 km"]
|
||
]}
|
||
],
|
||
|
||
"ausstattung": [
|
||
{ "gruppe": "RS-Paket", "sonder": ["RS competition", "RS-Designpaket rot", "RS-Komfortpaket", "RS-Sportabgasanlage plus", "RS-Sportfahrwerk", "RS-Stahlbremsanlage, Sättel rot glänzend", "Bremssättel rot lackiert", "Anhebung der Höchstgeschwindigkeit auf 290 km/h", "Sicherheitsgurte schwarz mit rotem Rand", "RS-Einstiegsleisten"] },
|
||
{ "gruppe": "Außen", "sonder": ["Optikpaket schwarz plus", "Optikpaket schwarz glänzend", "Panorama-Glasdach", "Dachreling schwarz", "Anhängevorrichtung", "Gepäckraumklappe elektrisch öffnend und schließend", "Matrix-LED-Scheinwerfer mit dynamischer Lichtinszenierung", "LED-Heckleuchten mit dynamischer Lichtinszenierung", "Außenspiegel elektrisch, beheiz- und anklappbar, abblendend, mit Memory", "Außenspiegelgehäuse in Wagenfarbe", "Sonnenschutzverglasung abgedunkelt"] },
|
||
{ "gruppe": "Innen", "sonder": ["Mikrofaser Dinamica/Leder mit Wabensteppung und RS-Stickung", "Sportsitze plus vorn", "Vordersitze elektrisch mit Memory für den Fahrersitz", "Sitzheizung vorn und hinten", "Lendenwirbelstütze mit Massagefunktion", "Dekoreinlagen Carbon Köper matt", "Ambiente-Lichtpaket plus", "3-Zonen-Komfortklimaautomatik", "Lederlenkrad 3-Speichen mit Lenkradheizung", "Innenspiegel automatisch abblendend, rahmenlos", "USB-Ladeschnittstellen im Fond", "Sonnenschutzrollo hinten", "Fußmatten RS-Designpaket"] },
|
||
{ "gruppe": "Infotainment", "sonder": ["MMI Navigation plus mit MMI touch", "Audi virtual cockpit plus", "Head-up-Display", "Bang & Olufsen Premium Sound System mit 3D-Klang", "Audi phone box", "LTE-Unterstützung für Audi phone box", "Audi connect Navigation & Infotainment"] },
|
||
{ "gruppe": "Assistenz", "sonder": ["Assistenzpaket Tour", "Assistenzpaket Stadt mit Parken", "Audi adaptive cruise control", "Audi active lane assist", "Halteassistent", "Parkassistent mit Einparkhilfe plus", "Umgebungskameras", "Kamerabasierte Verkehrszeichenerkennung", "Audi pre sense rear und basic", "Garagentoröffner", "Komfortschlüssel mit sensorgesteuerter Heckklappe"] },
|
||
{ "gruppe": "Serie, ausgewählt", "sonder": ["Audi drive select", "Audi pre sense city", "Spurwechselwarnung", "Reifendruck-Kontrollanzeige", "Start-Stop-System", "Audi connect Notruf & Service mit Remote & Control", "Smartphone-Interface", "Kraftstoffbehälter mit erhöhtem Füllvolumen", "Pedalerie und Fußstütze aus Edelstahl"] }
|
||
]
|
||
}
|