Schema Erweiterte Programme
MyHomeFit: XML-Import-Anleitung für Erweiterte Programme
Mit MyHomeFit kannst du benutzerdefinierte Trainingsprogramme im XML-Format importieren (.mhf).
Diese Anleitung beschreibt den Aufbau der XML-Datei sowie die gültigen Werte für bestimmte Felder.
1. Grundstruktur
Die Datei beginnt mit dem Root-Tag <ExtProgram>
und enthält mehrere Felder sowie eine Liste von Trainingsabschnitten (ProgramItem
):
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="ExtProgram">
<xs:complexType>
<xs:sequence>
<xs:element name="AppName" type="xs:string"/>
<xs:element name="AppVersion" type="xs:string"/>
<xs:element name="ExportDate" type="xs:string"/>
<xs:element name="ExportVersion" type="xs:string"/>
<xs:element name="ProgramName" type="xs:string"/>
<xs:element name="ProgramNotice" type="xs:string"/>
<xs:element name="ProgramHasLevel" type="xs:boolean"/>
<xs:element name="ProgramHasIncline" type="xs:boolean"/>
<xs:element name="Program">
<xs:complexType>
<xs:sequence>
<xs:element name="ProgramItem" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="SectorType" type="xs:string"/>
<xs:element name="SectorValue" type="xs:float"/>
<xs:element name="TargetType" type="xs:string"/>
<xs:element name="TargetValue1" type="xs:float"/>
<xs:element name="TargetValue2" type="xs:float" minOccurs="0"/>
<xs:element name="BaseLevel" type="xs:float" minOccurs="0"/>
<xs:element name="BaseIncline" type="xs:float" minOccurs="0"/>
<xs:element name="BaseWatt" type="xs:float" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
2. Erklärung der Felder
- AppName: Muss
MyHomeFIT
sein - ProgramHasLevel, ProgramHasIncline:
true
oderfalse
- SectorType: Gibt den Trainingsbereich an (z. B. Zeit oder Distanz)
- TargetType: Gibt das Trainingsziel für diesen Bereich an (z. B. Watt, Puls, etc.)
- BaseLevel / BaseIncline / BaseWatt: Startwerte für Geräte mit Unterstützung
3. Gültige Werte für SectorType
Wert | Bedeutung |
---|---|
Time | Zeit (in Sekunden) |
Distance | Distanz (z. B. in Metern) |
Calorie | Kalorien |
Stroke | Ruder-/Trittzyklen |
4. Gültige Werte für TargetType
Wert | Bedeutung |
---|---|
Level_Incline | Stufe oder Neigung |
RPM | Umdrehungen pro Minute |
SPM | Schläge pro Minute (bei Rudergeräten) |
Watt | Leistung in Watt |
HRC | Herzfrequenzsteuerung (Heart Rate Control) |
Speed | Geschwindigkeit (in km/h) |
WarmUp | Aufwärmphase (Zeit in Sekunden) |
CoolDown | Abkühlphase (Zeit in Sekunden) |
5. Tipps
- Stelle sicher, dass deine XML-Datei gut formatiert ist (UTF-8, keine Tippfehler)
- Benutze gültige Werte für alle Pflichtfelder
- Teste dein XML-Programm mit einer kleinen Datei und nur einem
ProgramItem
, bevor du größere Programme importierst
6. Beispiele
Bike
<?xml version="1.0" encoding="UTF-8"?>
<ExtProgram>
<AppName>MyHomeFit</AppName>
<AppVersion>1.0.0</AppVersion>
<ExportDate>2025-05-05</ExportDate>
<ExportVersion>1.0</ExportVersion>
<ProgramName>Beispielprogramm Bike</ProgramName>
<ProgramNotice>Dies ist ein Beispiel.</ProgramNotice>
<ProgramHasLevel>true</ProgramHasLevel>
<ProgramHasIncline>false</ProgramHasIncline>
<Program>
<ProgramItem>
<SectorType>WarmUp</SectorType>
<SectorValue>60.0</SectorValue>
<TargetType>Time</TargetType>
<TargetValue1>300.0</TargetValue1>
<TargetValue2>0.0</TargetValue2>
<BaseLevel>2.0</BaseLevel>
<BaseIncline>0.0</BaseIncline>
<BaseWatt>0.0</BaseWatt>
</ProgramItem>
<ProgramItem>
<SectorType>Time</SectorType>
<SectorValue>120.0</SectorValue>
<TargetType>Level_Incline</TargetType>
<TargetValue1>0.0</TargetValue1>
<TargetValue2>0.0</TargetValue2>
<BaseLevel>10.0</BaseLevel>
<BaseIncline>0.0</BaseIncline>
<BaseWatt>0.0</BaseWatt>
</ProgramItem>
<ProgramItem>
<SectorType>Time</SectorType>
<SectorValue>120.0</SectorValue>
<TargetType>Distance</TargetType>
<TargetValue1>1500.0</TargetValue1>
<TargetValue2>0.0</TargetValue2>
<BaseLevel>5.0</BaseLevel>
<BaseIncline>0.0</BaseIncline>
<BaseWatt>0.0</BaseWatt>
</ProgramItem>
</Program>
</ExtProgram>
Laufband
<?xml version="1.0" encoding="UTF-8"?>
<ExtProgram>
<AppName>MyHomeFit</AppName>
<AppVersion>1.0.0</AppVersion>
<ExportDate>2025-05-05</ExportDate>
<ExportVersion>1.0</ExportVersion>
<ProgramName>Beispielprogramm Laufband</ProgramName>
<ProgramNotice>Dies ist ein Beispiel.</ProgramNotice>
<ProgramHasLevel>true</ProgramHasLevel>
<ProgramHasIncline>true</ProgramHasIncline>
<Program>
<ProgramItem>
<SectorType>WarmUp</SectorType>
<SectorValue>60.0</SectorValue>
<TargetType>Time</TargetType>
<TargetValue1>300.0</TargetValue1>
<TargetValue2>0.0</TargetValue2>
<BaseLevel>2.0</BaseLevel>
<BaseIncline>1.0</BaseIncline>
<BaseWatt>0.0</BaseWatt>
</ProgramItem>
<ProgramItem>
<SectorType>Time</SectorType>
<SectorValue>120.0</SectorValue>
<TargetType>Level_Incline</TargetType>
<TargetValue1>0.0</TargetValue1>
<TargetValue2>0.0</TargetValue2>
<BaseLevel>10.0</BaseLevel>
<BaseIncline>5.0</BaseIncline>
<BaseWatt>0.0</BaseWatt>
</ProgramItem>
<ProgramItem>
<SectorType>Time</SectorType>
<SectorValue>120.0</SectorValue>
<TargetType>Distance</TargetType>
<TargetValue1>1500.0</TargetValue1>
<TargetValue2>0.0</TargetValue2>
<BaseLevel>1.0</BaseLevel>
<BaseIncline>10.0</BaseIncline>
<BaseWatt>0.0</BaseWatt>
</ProgramItem>
</Program>
</ExtProgram>
Viel Erfolg beim Erstellen deiner Trainingsprogramme!