Using OH3.4-release.
I’m trying to send a POST-Request from an item, which doesn’t get fired and I just don’t know why!
use case: evcc is running on the same host and I’d like to force an vehicle-recognition on it.
So, my http-thing looks like this:
UID: http:url:evcc
label: HTTP-evcc
thingTypeUID: http:url
configuration:
authMode: BASIC
ignoreSSLErrors: false
baseURL: http://localhost:7070/api
delay: 0
ignoreSSLError: true
stateMethod: GET
refresh: 5
commandMethod: POST
contentType: text/plain
timeout: 3000
bufferSize: 4096
my channel looks like this:
channels:
- id: VehicleOn_0
channelTypeUID: http:number
label: Einfahrt erkanntes Fahrzeug
description: vehicle in LP1[0]
configuration:
mode: WRITEONLY
commandExtension: loadpoints/0/vehicle/%2$s
escapedUrl: false
- id: Zielenergie_0
channelTypeUID: http:number
label: Einfahrt Ziel Energie
description: targetenergy in LP1[0]
configuration:
mode: READWRITE
escapedUrl: false
stateExtension: state
commandExtension: loadpoints/0/targetenergy/%2$s
stateTransformation: JSONPATH:$.result.loadpoints[0].targetEnergy
as there’s no API-state giving back the ID of the recognized vehicle, I’m using “WRITEONLY” here
I set the http-binding to TRACE-logging and:
So, what happens is, if I change the item linked to “Zielenergie_0”:
2023-01-03 12:37:15.222 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'evcc_EinfahrtZielenergy' received command 1
2023-01-03 12:37:15.224 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'evcc_EinfahrtZielenergy' predicted to become 1
2023-01-03 12:37:15.243 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'evcc_EinfahrtZielenergy' changed from 0 to 1
...
2023-01-03 12:37:15.248 [TRACE] [.HttpDynamicStateDescriptionProvider] - returning new stateDescription for http:url:evcc:Zielenergie_0
2023-01-03 12:37:15.302 [TRACE] [nding.http.internal.HttpThingHandler] - Sending to 'http://localhost:7070/api/loadpoints/0/targetenergy/1': Method = {POST}, Headers = {Accept-Encoding: gzip, User-Agent: Jetty/9.4.46.v20220331, Content-Type: text/plain}, Content = {1}
2023-01-03 12:37:15.317 [TRACE] [p.internal.http.HttpResponseListener] - Received from 'http://localhost:7070/api/loadpoints/0/targetenergy/1': Code = {200}, Headers = {Content-Encoding: gzip, Content-Type: application/json; charset=UTF-8, Vary: Accept-Encoding, Date: Tue, 03 Jan 2023 11:37:15 GMT, Content-Length: 37}, Content = {{"result":1}
}
so, everything is good - evcc now also shows the new value for targetEnergy.
If I change the item linked to “VehicleOn_0”, there’s no POST-request:
2023-01-03 12:38:05.507 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'evcc_EinfahrtErkanntesAuto' received command 1
2023-01-03 12:38:05.510 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'evcc_EinfahrtErkanntesAuto' predicted to become 1
2023-01-03 12:38:05.513 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'evcc_EinfahrtErkanntesAuto' changed from 0 to 1
...
2023-01-03 12:38:05.514 [TRACE] [.HttpDynamicStateDescriptionProvider] - returning new stateDescription for http:url:evcc:VehicleOn_0
2023-01-03 12:38:08.131 [TRACE] [ttp.internal.http.RefreshingUrlCache] - Requesting refresh (retry=false) from 'http://localhost:7070/api/state' with timeout 3000ms
2023-01-03 12:38:08.133 [TRACE] [ttp.internal.http.RefreshingUrlCache] - Sending to 'http://localhost:7070/api/state': Method = {GET}, Headers = {Accept-Encoding: gzip, User-Agent: Jetty/9.4.46.v20220331}, Content = {null}
2023-01-03 12:38:08.140 [TRACE] [p.internal.http.HttpResponseListener] - Received from 'http://localhost:7070/api/state': Code = {200}, Headers = {Content-Encoding: gzip, Content-Type: application/json; charset=UTF-8, Vary: Accept-Encoding, Date: Tue, 03 Jan 2023 11:38:08 GMT, Content-Length: 611}, Content = {{"result":{"auth":{"vehicles":null},"batteryConfigured":true,"batteryPower":12,"batterySoC":5,"bufferSoC":75,"currency":"EUR","gridConfigured":true,"gridPower":1191,"homePower":2144,"loadpoints":[{"chargeCurrent":0,"chargeCurrents":[0,0,0],"chargeDuration":0,"chargePower":0,"chargeRemainingDuration":-1,"chargeRemainingEnergy":24444.444444444445,"chargeTotalImport":1542.569,"chargedEnergy":0,"charging":false,"connected":true,"connectedDuration":0,"enabled":false,"maxCurrent":16,"minCurrent":6,"minSoC":0,"mode":"pv","phaseAction":"inactive","phaseRemaining":0,"phasesActive":3,"phasesConfigured":null,"phasesEnabled":3,"pvAction":"inactive","pvRemaining":0,"targetEnergy":1,"targetSoC":100,"title":"Warp","vehicleCapacity":22,"vehicleDetectionActive":false,"vehicleFeatureOffline":true,"vehicleIcon":"car","vehiclePresent":true,"vehicleRange":0,"vehicleSoC":0,"vehicleTargetSoC":0,"vehicleTitle":"Fiat 500e"}],"prioritySoC":66,"pvConfigured":true,"pvPower":941,"residualPower":600,"savingsAmount":0,"savingsEffectivePrice":0.319,"savingsGridCharged":0,"savingsSelfConsumptionCharged":0,"savingsSelfConsumptionPercent":0,"savingsSince":1671801014,"savingsTotalCharged":0,"siteTitle":"Zuhause","sponsor":"binderth","tariffFeedIn":0.065,"tariffGrid":0.319,"vehicles":["Kia EV6","Fiat 500e"],"version":"0.110.1"}}
}
There’s nothing indicating, that http-binding even started POSTing the new value to the evcc-API? What do I miss here?