Newan / ioBroker.evcc

ioBroker Adapter to control your evcc instance
MIT License
10 stars 6 forks source link

Datenpunkt zur Auswahl mehrerer Fahrzeuge #7

Closed Uwe1984 closed 6 months ago

Uwe1984 commented 1 year ago

Wie im Iobroker Forum beschrieben, habe ich in der evcc.yaml mehrer Fahrzeuge angelegt, die in der evcc Oberfläche auswähöbar sind. Wäre super, wenn die Fahrzeuge über einen Datenpunkt in Iobroker auswählbar wären. Nachfolgend das debug log des Iobroker Adapters.

`

evcc.0 | 2023-03-14 11:14:22.488 | debug | Ladepunkt mit index loadpoint.1 gefunden... -- | -- | -- | -- evcc.0 | 2023-03-14 11:14:22.440 | debug | Get-Data from evcc:{"result":{"auth":{"vehicles":{"EQB":{"uri":"oauth/vehicles/1","authenticated":true}}},"auxPower":0,"availableVersion":"0.114.1","battery":[{"power":-4398,"soc":63,"capacity":0}],"batteryCapacity":0,"batteryConfigured":true,"batteryPower":-4398,"batterySoc":63,"bufferSoc":0,"currency":"EUR","greenShare":1,"gridConfigured":true,"gridPower":-883,"homePower":346,"loadpoints":[{"chargeCurrent":0,"chargeCurrents":[0,0,0],"chargeDuration":0,"chargePower":0,"chargeRemainingDuration":0,"chargeRemainingEnergy":0,"chargeTotalImport":9310.451463055531,"chargedEnergy":0,"chargerFeatureIntegratedDevice":false,"chargerIcon":null,"charging":false,"connected":false,"connectedDuration":52919961681747,"enabled":false,"maxCurrent":16,"minCurrent":6,"minSoc":0,"mode":"off","phaseAction":"inactive","phaseRemaining":0,"phasesActive":1,"phasesConfigured":0,"phasesEnabled":0,"planActive":false,"pvAction":"inactive","pvRemaining":0,"targetEnergy":0,"targetSoc":100,"targetTime":"0001-01-01T00:00:00Z","title":"Einfahrt","vehicleCapacity":0,"vehicleDetectionActive":false,"vehicleFeatureOffline":false,"vehicleIcon":"","vehicleIdentity":"","vehicleOdometer":0,"vehiclePresent":false,"vehicleRange":0,"vehicleSoc":0,"vehicleTargetSoc":0,"vehicleTitle":""}],"prioritySoc":0,"pv":[{"power":5627}],"pvConfigured":true,"pvPower":5627,"residualPower":0,"savingsAmount":16.524525128275123,"savingsEffectivePrice":0.1991164174506711,"savingsGridCharged":94.01073088550349,"savingsSelfConsumptionCharged":76.1605013124082,"savingsSelfConsumptionPercent":44.75521527859209,"savingsSince":"2023-02-22T20:35:13+01:00","savingsTotalCharged":170.1712321979117,"siteTitle":"","sponsor":"Uwe1984","tariffEffectivePrice":0.08,"tariffFeedIn":0.08,"tariffGrid":0.29,"vehicles":["EQB","Smart EQ"],"version":"0.114.0"}} evcc.0 | 2023-03-14 11:14:22.429 | debug | call: http://192.168.178.11:7070/api/state evcc.0 | 2023-03-14 11:14:12.505 | debug | Ladepunkt mit index loadpoint.1 gefunden... evcc.0 | 2023-03-14 11:14:12.441 | debug | Get-Data from evcc:{"result":{"auth":{"vehicles":{"EQB":{"uri":"oauth/vehicles/1","authenticated":true}}},"auxPower":0,"availableVersion":"0.114.1","battery":[{"power":-4391,"soc":63,"capacity":0}],"batteryCapacity":0,"batteryConfigured":true,"batteryPower":-4391,"batterySoc":63,"bufferSoc":0,"currency":"EUR","greenShare":1,"gridConfigured":true,"gridPower":-916,"homePower":356,"loadpoints":[{"chargeCurrent":0,"chargeCurrents":[0,0,0],"chargeDuration":0,"chargePower":0,"chargeRemainingDuration":0,"chargeRemainingEnergy":0,"chargeTotalImport":9310.451463055531,"chargedEnergy":0,"chargerFeatureIntegratedDevice":false,"chargerIcon":null,"charging":false,"connected":false,"connectedDuration":52919961681747,"enabled":false,"maxCurrent":16,"minCurrent":6,"minSoc":0,"mode":"off","phaseAction":"inactive","phaseRemaining":0,"phasesActive":1,"phasesConfigured":0,"phasesEnabled":0,"planActive":false,"pvAction":"inactive","pvRemaining":0,"targetEnergy":0,"targetSoc":100,"targetTime":"0001-01-01T00:00:00Z","title":"Einfahrt","vehicleCapacity":0,"vehicleDetectionActive":false,"vehicleFeatureOffline":false,"vehicleIcon":"","vehicleIdentity":"","vehicleOdometer":0,"vehiclePresent":false,"vehicleRange":0,"vehicleSoc":0,"vehicleTargetSoc":0,"vehicleTitle":""}],"prioritySoc":0,"pv":[{"power":5663}],"pvConfigured":true,"pvPower":5663,"residualPower":0,"savingsAmount":16.524525128275123,"savingsEffectivePrice":0.1991164174506711,"savingsGridCharged":94.01073088550349,"savingsSelfConsumptionCharged":76.1605013124082,"savingsSelfConsumptionPercent":44.75521527859209,"savingsSince":"2023-02-22T20:35:13+01:00","savingsTotalCharged":170.1712321979117,"siteTitle":"","sponsor":"Uwe1984","tariffEffectivePrice":0.08,"tariffFeedIn":0.08,"tariffGrid":0.29,"vehicles":["EQB","Smart EQ"],"version":"0.114.0"}}

`

LoPromise commented 1 year ago

kannst du dein 2tes Fahrzeug mal auswählen und den rest request posten? bei mir funktioniert die detection und der fahrzeugname wird unter vehicleTitle angezeigt. ich schätze das wäre das was zu schreiben wäre.

Uwe1984 commented 1 year ago

Jup, das ist korrekt. Der Fahrzeugname wird unter "vehicleTitle" definiert.

`

evcc.0 | 2023-03-22 15:15:16.221 | debug | Ladepunkt mit index loadpoint.1 gefunden... -- | -- | -- | -- evcc.0 | 2023-03-22 15:15:16.174 | debug | Get-Data from evcc:{"result":{"auth":{"vehicles":{"EQB":{"uri":"oauth/vehicles/1","authenticated":true}}},"auxPower":0,"availableVersion":"0.114.1","battery":[{"power":-624,"soc":47,"capacity":0}],"batteryCapacity":0,"batteryConfigured":true,"batteryPower":-624,"batterySoc":47,"bufferSoc":0,"currency":"EUR","greenShare":1,"gridConfigured":true,"gridPower":-36,"homePower":429,"loadpoints":[{"chargeCurrent":6,"chargeCurrents":[0.009999999776482582,0.012000000104308128,0.010999999940395355],"chargeDuration":21690000000000,"chargePower":0,"chargeRemainingDuration":0,"chargeRemainingEnergy":0,"chargeTotalImport":9393.593067222197,"chargedEnergy":14923.344612121582,"chargerFeatureIntegratedDevice":false,"chargerIcon":null,"charging":false,"connected":true,"connectedDuration":0,"enabled":true,"maxCurrent":16,"minCurrent":6,"minSoc":0,"mode":"minpv","phaseAction":"inactive","phaseRemaining":0,"phasesActive":1,"phasesConfigured":1,"phasesEnabled":0,"planActive":false,"pvAction":"inactive","pvRemaining":0,"targetEnergy":0,"targetSoc":100,"targetTime":"0001-01-01T00:00:00Z","title":"Einfahrt","vehicleCapacity":17.6,"vehicleDetectionActive":true,"vehicleFeatureOffline":false,"vehicleIcon":"car","vehicleIdentity":"560A30B1","vehicleOdometer":1153,"vehiclePresent":true,"vehicleRange":121,"vehicleSoc":100,"vehicleTargetSoc":0,"vehicleTitle":"Smart EQ"}],"prioritySoc":0,"pv":[{"power":1089}],"pvConfigured":true,"pvPower":1089,"residualPower":0,"savingsAmount":25.290953179944616,"savingsEffectivePrice":0.19429529001398482,"savingsGridCharged":135.29216562426038,"savingsSelfConsumptionCharged":117.9053967965498,"savingsSelfConsumptionPercent":46.56656077936207,"savingsSince":"2023-02-22T20:35:13+01:00","savingsTotalCharged":253.1975624208102,"siteTitle":"","sponsor":"Uwe1984","tariffEffectivePrice":0.08,"tariffFeedIn":0.08,"tariffGrid":0.29,"vehicles":["EQB","Smart EQ"],"version":"0.114.0"}}

`

LoPromise commented 1 year ago

sollte ein POST mit /api/loadpoints/1/vehicle/x sein... der name kommt dann von dem jeweiligen fahrzeug sprich bei dir 1 MQB 2 Smart. weiss leider auch nicht ob es möglich ist da ne funktion für den js adapter zu bauen... für übergang würde ich dir raten das in js zu machen.

const host = '127.0.0.1:7070';
const vehicle=1
function PostVehicleOnCharger(){
request.post({
        url: `http://${host}/api/loadpoints/1/vehicle/${vehicle}`,
    }, function(error, response, body) { 
       log("set State")
    }
);
}

die IEC norm ist scheisse, in dem normalen ladeprotokoll ist garkeine erkennung drin... das geht alles über Cloud... man hätte wenigstens nen identifier reinmachen können... streiche also meine aussage von vorher... falls mehr wissen willst https://www.vector.com/de/de/know-how/smart-charging/kommunikationsprotokolle/#c244337

Newan commented 1 year ago

Sehe keine Möglichkeit in Evcc das über die API zu realisieren?

https://docs.evcc.io/docs/reference/api/

LoPromise commented 1 year ago

naja mit dem flachen design das der iobroker möchte. ich meine wir könnten für jedes fahrzeug eine funktion ala mpd adaper einbauen sprich ähnlich mpd.play

Newan commented 1 year ago

Wir können alles einbauen, sehe aber den endpoint http://${host}/api/loadpoints/1/vehicle/${vehicle} in Evcc nicht? Woher kommt der api call?

LoPromise commented 1 year ago

hatte den mit firefox debugger aus website extrahiert. das ist der schalter der die autos umschaltet. undokumentiert bei evcc. ich commite meine findings grade bei doku wollte den mode switch auch noch replizieren

JulienZaul commented 1 year ago

Grüßt euch. Ich kann den targetSOC nicht per iob ändern. Ich habe nun schon gelesen, dass dies wohl nicht über "loadpoints" gemacht werden soll, sondern über Vehicle. Jedoch habe ich keine Vehicle Datenpunkte. Fehler im LOG: 5Request failed with status code 404

Marty56 commented 1 year ago

@JulienZaul: targetSOC geht über die Loadpoints. Allerdings benutze ich derzeit das API direkt ohne den Adapter, weil er noch zuviele API Calls nicht unterstützt.

poeoe79 commented 1 year ago

Hallo gibt es hier neue Erkentnisse? Ich wäre auch sehr interessiert, über die Api das ANgeschlossene Auto auswählen zu können.

Uwe1984 commented 1 year ago

Ich habe einen neuen Hinweis im Iobroker Forum bekommen, ( Siehe evcc Theat im Forum ). Über mqtt gibt es einen Datenpunkt: "mqtt.evcc.loadpoint.vehicle.set" 0=Gastfahrzeug 1=Fahrzeug 1 2=Fahrzeug 2

Dieser Datenpunkt ist über mqtt beschreibbar und damit wäre ein Fahrzeug zuweisbar.

ist es möglich diesen Datenpunkt auch im Adapter zu integrieren?

Newan commented 6 months ago

In der neuen API ist der nun Sichtbar, wird eingebaut.

Newan commented 6 months ago

Ich benötige Hilfe, ich bräuchte von der aktuellen API (also neueste EVCC Version) eine Debugausgabe oder einen Auszug aus:

http://192.168.178.XX:7070/api/state

Damit ich sehen kann wie mehrere Fahrzeuge ausgeben werden, da ich nur eins besitze. Danke!

Uwe1984 commented 6 months ago

Hi, hier ein Auszug von mir von der aktuellsten evcc Version. Ich habe 2 Fahrzeuge:

{"result":{"auth":{"vehicles":{}},"battery":[{"power":-110,"controllable":false}],"batteryCapacity":0,"batteryConfigured":true,"batteryDischargeControl":false,"batteryEnergy":0,"batteryMode":"unknown","batteryPower":-110,"batterySoc":0,"bufferSoc":0,"bufferStartSoc":0,"currency":"EUR","greenShareHome":1,"greenShareLoadpoints":1,"gridConfigured":true,"gridPower":-31,"homePower":527,"loadpoints":[{"chargeCurrent":0,"chargeCurrents":[0,0,0],"chargeDuration":0,"chargePower":0,"chargeTotalImport":12189.352766944374,"chargedEnergy":39200.30975341797,"chargerFeatureHeating":false,"chargerFeatureIntegratedDevice":false,"chargerIcon":null,"charging":false,"connected":false,"connectedDuration":9223372036854775807,"disableThreshold":0,"effectiveLimitSoc":100,"effectiveMaxCurrent":16,"effectiveMinCurrent":6,"effectivePlanSoc":0,"effectivePlanTime":"0001-01-01T00:00:00Z","effectivePriority":0,"enableThreshold":0,"enabled":false,"guardAction":"inactive","guardRemaining":0,"limitEnergy":0,"limitSoc":0,"maxCurrent":16,"minCurrent":6,"mode":"off","phaseAction":"inactive","phaseRemaining":0,"phasesActive":3,"phasesConfigured":0,"phasesEnabled":0,"planEnergy":0,"planProjectedStart":"0001-01-01T00:00:00Z","planTime":"0001-01-01T00:00:00Z","priority":0,"pvAction":"inactive","pvRemaining":0,"sessionCo2PerKWh":null,"sessionEnergy":39200.30975341797,"sessionPrice":11.36808982849121,"sessionPricePerKWh":0.29,"sessionSolarPercentage":0,"title":"Einfahrt","vehicleCapacity":0,"vehicleClimaterActive":null,"vehicleDetectionActive":false,"vehicleFeatureOffline":false,"vehicleIcon":"","vehicleName":"","vehicleOdometer":0,"vehiclePresent":false,"vehicleRange":0,"vehicleSoc":0,"vehicleTargetSoc":0,"vehicleTitle":""}],"prioritySoc":0,"pv":[{"power":668}],"pvConfigured":true,"pvEnergy":0,"pvPower":668,"residualPower":0,"siteTitle":"","smartCostActive":false,"smartCostLimit":0,"smartCostType":"pricestatic","sponsor":"Uwe1984","sponsorTokenExpires":0,"statistics":{"30d":{"avgCo2":0,"avgPrice":0.2612480908974402,"chargedKWh":290.8374499680649,"solarPercentage":13.691385286933235},"365d":{"avgCo2":0,"avgPrice":0.17308696016191044,"chargedKWh":2171.110186422213,"solarPercentage":55.672876113376},"total":{"avgCo2":0,"avgPrice":0.17308696016191044,"chargedKWh":2171.110186422213,"solarPercentage":55.672876113376}},"tariffFeedIn":0.08,"tariffGrid":0.29,"tariffPriceHome":0.08,"tariffPriceLoadpoints":0.08,"vehicles":{"EQB":{"title":"EQB (offline)"},"Smart":{"title":"Smart EQ"}},"version":"0.123.2"}}

Newan commented 6 months ago

pls testen der neuesten Version, dafür bitte einmal den Objektbaum komplett löschen

Uwe1984 commented 6 months ago

In der neuesten Version sehe ich jetzt einen neuen Ordner im Objektbaum.

image

Allerdings fehlt der Datenpunkt "loadpoint.vehicle.set", wie in ein paar Chats weiter oben beschrieben. Unterstütze gerne weiter beim testen :-)

Newan commented 6 months ago

In der neuesten Version sehe ich jetzt einen neuen Ordner im Objektbaum.

image

Allerdings fehlt der Datenpunkt "loadpoint.vehicle.set", wie in ein paar Chats weiter oben beschrieben. Unterstütze gerne weiter beim testen :-)

JA das muss ich aber am Ladepunkt einbauen, nicht am Fahrzeug. Schau ich noch bei!

Newan commented 6 months ago

Ist nun im letzten commit inkludiert, bitte testen.

Uwe1984 commented 6 months ago

Hi, erstmal ein gesundes und gutes Neues Jahr :-) Der Datenpunkt evcc.0.loadpoint.1.control.vehicleName lässt sich entsprechend beschreiben und meine Fahrzeuge sind jetzt wählbar. Vielen Dank dafür ;-) Der neue Ordner Vehicle im Objektbaum ist mir allerdings noch unklar. Dort ist nur mein EQB aufgeführt. Der Smart wird nicht als Vehicle aufgeführt. Eventuell kannst du das noch etwas optimieren, dass alle Fahrzeuge aufgeführt werden und entsprechend minSoc und limitSoc einstellbar sind.

Ich habe dir einen Kaffee spendiert ;-)

Newan commented 6 months ago

Bräuchte dann mal ein debuglog da ich nur ein Fahrzeug besitze.

Uwe1984 commented 6 months ago

Get-Data from evcc:{"result":{"auth":{"vehicles":{}},"availableVersion":"0.123.3","battery":[{"power":-2,"controllable":false}],"batteryCapacity":0,"batteryConfigured":true,"batteryDischargeControl":false,"batteryEnergy":0,"batteryMode":"unknown","batteryPower":-2,"batterySoc":0,"bufferSoc":0,"bufferStartSoc":0,"currency":"EUR","greenShareHome":1,"greenShareLoadpoints":0.00018926459656595993,"gridConfigured":true,"gridPower":10565,"homePower":492.0004196166992,"loadpoints":[{"chargeCurrent":16,"chargeCurrents":[15.145000457763672,15.604000091552734,15.50100040435791],"chargeDuration":2140000000000,"chargePower":10564.9995803833,"chargeTotalImport":12194.360072499929,"chargedEnergy":6008.15486907959,"chargerFeatureHeating":false,"chargerFeatureIntegratedDevice":false,"chargerIcon":null,"charging":true,"connected":true,"connectedDuration":0,"disableThreshold":0,"effectiveLimitSoc":100,"effectiveMaxCurrent":16,"effectiveMinCurrent":6,"effectivePlanSoc":0,"effectivePlanTime":"0001-01-01T00:00:00Z","effectivePriority":0,"enableThreshold":0,"enabled":true,"guardAction":"inactive","guardRemaining":0,"limitEnergy":0,"limitSoc":0,"maxCurrent":16,"minCurrent":6,"mode":"now","phaseAction":"inactive","phaseRemaining":0,"phasesActive":3,"phasesConfigured":0,"phasesEnabled":3,"planEnergy":0,"planProjectedStart":"0001-01-01T00:00:00Z","planTime":"0001-01-01T00:00:00Z","priority":0,"pvAction":"inactive","pvRemaining":0,"sessionCo2PerKWh":null,"sessionEnergy":6008.15486907959,"sessionPrice":1.218566998006742,"sessionPricePerKWh":0.2028188394873081,"sessionSolarPercentage":41.51483833937709,"title":"Einfahrt","vehicleCapacity":66.5,"vehicleClimaterActive":null,"vehicleDetectionActive":false,"vehicleFeatureOffline":true,"vehicleIcon":"","vehicleIdentity":"560A30B1","vehicleName":"EQB","vehicleOdometer":0,"vehiclePresent":true,"vehicleRange":0,"vehicleSoc":0,"vehicleTargetSoc":0,"vehicleTitle":"EQB (offline)"}],"prioritySoc":0,"pv":[{"power":494}],"pvConfigured":true,"pvEnergy":0,"pvPower":494,"residualPower":0,"siteTitle":"","smartCostActive":false,"smartCostLimit":0,"smartCostType":"pricestatic","sponsor":"Uwe1984","sponsorTokenExpires":0,"statistics":{"30d":{"avgCo2":0,"avgPrice":0.26100646119553667,"chargedKWh":281.8606547715317,"solarPercentage":13.80644704974443},"365d":{"avgCo2":0,"avgPrice":0.17308696016191044,"chargedKWh":2171.110186422213,"solarPercentage":55.672876113376},"total":{"avgCo2":0,"avgPrice":0.17308696016191044,"chargedKWh":2171.110186422213,"solarPercentage":55.672876113376}},"tariffFeedIn":0.08,"tariffGrid":0.29,"tariffPriceHome":0.08,"tariffPriceLoadpoints":0.2899602544347211,"vehicles":{"EQB":{"title":"EQB (offline)","limitSoc":100},"Smart":{"title":"Smart EQ"}},"version":"0.123.2"}}

Newan commented 6 months ago

@Uwe1984 Teste bitte mal den aktuellen commit. Wenn das passt mache ich eine neue Version!

Uwe1984 commented 6 months ago

Hi, das passt soweit. Beide Fahrzeuge wurden jetzt angelegt... Besten Dank