Hallo @technologiezentrum,
solange der Wagen schläft können grundsätzlich weder Werte abgefragt, noch geschrieben werden. Lediglich das Abfragen vom Status bringt hier entweder „Online“ oder „asleep“, bei „asleep“ ohne den Wagen zu wecken. Ist der Wagen online bewirkt jegliche Abfrage (auch die vom Status) ein Neustart des Timers im Wagen. Somit schläft dieser nicht mehr ein. Du musst also das Abfrageintervall dynamisch gestalten. Ich häng Dir mal meine Abfrage kurz dran.
// Status von Fahrzeug abrufen
$ResultState = Tesla_State(23439); // Rückgabewert = „online“ oder „asleep“
echo $ResultState. „\n“;
if ($ResultState == „online“) // Bei Status online, Daten abrufen.
{
Tesla_FetchData (16781); // TeslaClimate
Tesla_FetchData (32955); // TeslaDrive
Tesla_FetchData (16704); // TeslaVehicle
Tesla_FetchData (15766); // TeslaCharging
$ResultBenutzerAnwesend = (GetValueBoolean (49193));
echo $ResultBenutzerAnwesend."\n";
$ResultLadeklappeGeoeffnet = (GetValueBoolean (36451));
echo $ResultLadeklappeGeoeffnet."\n";
$ResultLadeStrom = (GetValueInteger (57177));
echo $ResultLadeStrom."\n";
$ResultKlimatisierung = (Getvalueboolean (29757));
echo $ResultKlimatisierung. "\n";
$ResultOffen = !(Getvalueboolean (57702));
echo $ResultOffen. "\n";
$ResultWächterModus = (Getvalueboolean (43982));
echo $ResultWächterModus. "\n";
// Bei unterschiedlichen Zuständen Abfrageintervall variieren
if (
$ResultBenutzerAnwesend
OR ($ResultLadeStrom > 1)
OR $ResultKlimatisierung
OR $ResultOffen
OR $ResultWächterModus
)
{
IPS_SetEventCyclic(42427, 2, 1, 0, 2, 1, 60); // Aufrufintervall dieses Skriptes 60 Sekunden
}
// Wenn Benutzer anwesend (Fahrt), dann Abfrageintervall alle 10 Sek.
elseif ($ResultBenutzerAnwesend)
{
IPS_SetEventCyclic(42427, 2, 1, 0, 2, 1, 10);
}
// Ansonsten Abfrageintervall auf 1800 Sek. zum Einschlafen
else
{
IPS_SetEventCyclic(42427, 2, 1, 0, 2, 1, 1800);
}
}
// Wenn eingeschlafen, Abfrageintervall auf 60 Sek.
else
{
IPS_SetEventCyclic(42427, 2, 1, 0, 2, 1, 60);
}
Bei Fragen einfach nochmal melden.
Gruß
Armin