[Modul] Tesla

Bei genau das gleiche Problem, Statusprotokoll voll von den Meldungen…$result bleibt leer

Gruß, Michael

Ich musste im Splitter mein Fahrzeug neu auswählen. Seitdem wieder alles gut

Danke, hab’s grad probiert …funktioniert wieder

Gruß, Michael

Danke an Alle, das Fahrzeug war nicht mehr im Splitter.

Gruß, Peter

Zum Auswählen vom Fahrzeug ist ca. 2km weiter oben ein Skript.

das läuft bei mir einmal pro Stunde, konnte es nur im Log nach vollziehen das mein Auto gestern nacht kurz „rausgeflogen“ ist.

49812 = Splitter
Funkelblitz = Der Name von meiner Klapperkiste

$form =IPS_GetConfigurationform(49812);
$inst =IPS_GetConfiguration(49812);
$configform=json_decode($form);
$configinst=json_decode($inst);
$options = array();
foreach($configform->elements as $el) {
if($el->name == "Vehicles") {
$options = $el->options;
break;
}
}
foreach($options as $opt) {
if($opt->caption == "Funkelblitz") {
$VehicleIDForm= $opt->value;
$VehicleName = $opt->caption;
break;
}
}
if ($VehicleIDForm <> $configinst->Vehicles)
// Konfiguration falsch, neue auslesen und neu schreiben
$configinst->Vehicles = $VehicleIDForm;
$updatedConfig = json_encode($configinst,JSON_UNESCAPED_UNICODE);
IPS_SetConfiguration(49812,$updatedConfig);
IPS_ApplyChanges(49812);


1 „Gefällt mir“

Hallo Dustin781,
danke für den Code. Versuche den zu verstehen.
den ersten Teil habe ich verstanden und mal entsprechend verkürzt:

$form			= IPS_GetConfigurationform($id_splitter);
$configform		= json_decode($form);
echo $configform->elements[8]->options[1]->caption."\n";	
echo $configform->elements[8]->options[1]->value."\n";		

Den 2. Teil sehe ich mir morgen an.

HI,
ich kann gar nicht programmieren :stuck_out_tongue:
das hat @technologiezentrum gebaut.

Hier ist das:

so, habe das mal für meine Belange angepasst.
Ich weiss noch nicht, ob es richtig funktioniert, hat man mehrere TESLA’s muss man wieder anpassen.

$id_splitter	= 50916;	//Tesla-Splitter
$meldung		= "";

// Fahrzeug-Name und -ID aus Konfigurationsformular auslesen
$configform		= json_decode(IPS_GetConfigurationform($id_splitter));
$form_fz_name	= $configform->elements[8]->options[1]->caption;	// Fahrzeugname 
$form_fz_id		= $configform->elements[8]->options[1]->value;		// Fahrzeug-ID für Konfiguration

// Fahrzeug-ID aus Konfiguration auslesen
$config			= json_decode(IPS_GetConfiguration($id_splitter));
$config_fz_id	= $config->Vehicles;

// ID's vergleichen, bei ungleich Konfiguration neu schreiben
if($form_fz_id <> $config_fz_id)
{
	$config->Vehicles	= $form_fz_id;
	$config_up			= json_encode($config,JSON_UNESCAPED_UNICODE);
	IPS_SetConfiguration($id_splitter,$config_up);
	IPS_ApplyChanges($id_splitter);
	$meldung			= "Tesla-Splitter: Vehicles neu hinzugefügt";
}

Hab inzwischen auf meinem TeslaLogger-Raspi zusätzlich nach einem Linux-Update die neueste IPS-Version aufgespielt (ist 6.1 das zwangsweise 50 PHP-Threads einspielt auch wenn weniger eingestellt ist).
Ich kann bestätigen, dass IPS und Teslalogger gleichzeitig ohne Probleme auf einem Raspi betrieben werden können.
Für die verschiedenen Webseiten muss man jeweils die verschiedenen Ports eingeben.

Meine Frage war einfach „muß ich die Docker installieren um das IPS-ModulTESLA und den TeslaLogger gleichzeitig auf einem Raspi laufen zu lassen?“
Docker-Kenntnisse hab ich nicht.

Ich hab deshalb das IPS-ModulTESLA auf einem anderen Raspi mit IPS 6.1 installiert, der mit Bluetooth-Scan und Relais-Ansteuerung etwas unterbeschäftigt ist, bekomme es aber einfach nicht zum Laufen.

Seit 2 Tagen irre ich durch dieses Thema, hab erkannt, dass es schon im Feb21 Probleme gab und wohl neuerdings auch wieder vereinzelt. Es scheint aber Leute zu geben, bei denen es funktioniert.

Mein Problem ist, dass ich keine Eingaben für Client Secret, Access Token und Refresh Token machen kann. Der Author des Moduls verweist auf einen anderen Thread, dort finde ich aber auch keine Lösung. Hab den Link zu „PHP to Generate Refresh Token“ ausprobiert, bekomme aber mit dem dort hinterlegten PHP-Skript auch nur die dort von anderen Usern beschriebenen Fehlermeldungen.

„Client ID und Client Secret müsse man sich aus dem Internet besorgen“ schreibt der Author des Moduls. Ich verstehe nur nicht wie.

Kann mir jemand mit einem funktionierenden Modul einen Denk-Anstoss geben?

Viele Grüsse
Harald

PN (20 zeichen sollen es sein)

Danke @Dustin723.

Grüße,
Kai

1 „Gefällt mir“

mal ne (wahrscheinlich) blöde Frage …wie setzt ihr denn das Ladelimit zumr Tesla?

Gruß, Michael

Hi,
ich habe ein Skript in IPS View im Ablaufplan gemacht.

Ja …aber mir ist nicht klar welche Variable du genau anspricht und wie du den Update Request machst. Ich gehe davon aus, dass du das Tesla Modul nutzt … da gelingt es mir nicht aus dem Modul heraus das Ladelimit zu setzen … aus dem Webfront heruas klappt das Setzen der ‚Ladegrenze tägliche Nutzung‘ … aber wie übermittle ich die Variablenänderung an das Auto?
Sory, seh wahrscheinlich grad eden Wald vor lauter Bäumen ncht.

wenn du es nicht über das webfront machen willst, dann geht es via Script so:

Tesla_SetChargeLimit($id_tvc,86);

$id_tvc = ID von TeslaVehicleControl
86 = Wert in %

evtl. noch ein

Tesla_FetchData($id_tch);

hinterherschieben, um das Ergebnis zu sehen.
$id_tch = ID von TeslaCharging

Danke, da hätt ich natürlich selbst drauf kommen können …findet man unter ‚Befehle testen‘ im ‚TeslaVehicleControl‘ …ts…ts…ts

Danke für den Anstoß !

Macht es evtl. Sinn das Modul mal ein bisschen zu sortieren und weitere Funktionen fürs Webfront einzubauen? Da ich selbst keinen Tesla habe müsstet ihr Vorschläge posten, dann könnte man da etwas verbessern.

Grüße,
Kai

Moin,
ich bin glücklich. Ich habe mir das mit IPS View schon alles Zusammengebaut.

Schick! Schaut toll aus!

Das gefällt mir! Wenn ich unverschämt wäre würde ichfragen ob du den View teilst :wink:

Werd ich mir auch so ähnlich bauen.