Seit Sommer diesen Jahres steht ein BMW I3 auf dem Hof. Dieser soll in Abhängigkeit der Restkapazität morgens um 2 Uhr nachgeladen werden, bis 60% erreicht sind.
Das Binding mybmw: https://www.openhab.org/addons/bindings/mybmw/ ist installiert, konfiguriert und holt sich die Infos von BMW.
things:
Code: Alles auswählen
Bridge mybmw:account:i3 "BMW Account" [userName="user@mail.net",password="xxxx",region="ROW"] {
Thing bev i3 "BMW i3 120h" [ vin="WxxxPxxxxxxKxxxxx",refreshInterval=5,vehicleBrand="BMW"]
}
hier die dazugehörigen items:
Code: Alles auswählen
Number:Dimensionless i3BatterySoc "Battery Charge [%.0f %%]" {channel="mybmw:bev:i3:i3:range#soc"}
Number i3Battery "Battery Charge in %" {channel="mybmw:bev:i3:i3:range#soc"} // Extra angelegt für den reinen Wert
String i3PlugConnection "Plug [%s]" {channel="mybmw:bev:i3:i3:status#plug-connection" }
String i3ChargingStatus "[%s]" {channel="mybmw:bev:i3:i3:status#charge" }
Mit einer kleinen rule wird der I3 abgefragt:
Code: Alles auswählen
rule "Test On"
when
Time cron " 0 0/1 * 1/1 * ? * "
then
logInfo( "Wallbox", "Batt Level: {}", i3BatterySoc.state )
logInfo( "Wallbox", " Plug: {}", i3PlugConnection.state )
logInfo( "Wallbox", " Status: {}", i3ChargingStatus.state )
end
Code: Alles auswählen
2022-10-11 20:11:00.249 [INFO ] [rg.openhab.core.model.script.Wallbox] - Batt Level: 61 %
2022-10-11 20:11:00.251 [INFO ] [rg.openhab.core.model.script.Wallbox] - Plug: Connected
2022-10-11 20:11:00.253 [INFO ] [rg.openhab.core.model.script.Wallbox] - Status: Not Charging
Das Ziel ist, der I3 soll bei unter 58% in der Zeit von 01:00 - 05:00 Uhr geladen werden, bis 60 % erreicht sind.
Und hier das rule, wo es schon am Anfang klemmt.

Code: Alles auswählen
rule " Charging Start"
when
Time cron " 10 0/1 * 1/1 * ? * "
then
if (i3PlugConnection.state != Connected)
return;
if (i3Battery.state > 60 )
return;
if (now.getHour > 0 || now.getHour < 6) {
sendHttpPutRequest( "http://10.0.60.10/cnf?cmd=override_device&dev_id=E1&flags=c&value=1" )
logInfo( "Wallbox", " Status: {}", i3ChargingStatus.state )
}
end
Code: Alles auswählen
2022-10-11 20:30:10.233 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'test-1' failed: The name 'Connected' cannot be resolved to an item or type; line 8, column 31, length 9 in test