Re: Timer Ablauf
Verfasst: 19. Jan 2022 10:19
Super Udo. Vielen Dank für die Erklärungen. Jetzt ist es aboslut verständlich.
Code: Alles auswählen
nChargeLevel = (RenaultZEServices_Zoe_ChargeLevel.state as Number).floatValue
Code: Alles auswählen
nChargeLevel = (RenaultZEServices_Zoe_Charging_Target.state as Number).floatValue
Code: Alles auswählen
Type mismatch: cannot convert from float to int(org.eclipse.xtext.xbase.validation.IssueCodes.incompatible_types)
Code: Alles auswählen
var float nChargeLevel = 0.0
Code: Alles auswählen
var nChargeLevel = 0
Code: Alles auswählen
var Number nChargeLevel = 0
Code: Alles auswählen
rule "schedule charging timer"
when
Item KebaState changed or
Item KebaPower changed
then
if(KebaPower.state > 0 && KebaState.state == 3 && tMyTimer === null){ // falls Timer nicht existiert und Zoe lädt
tMyTimer = createTimer(now.plusSeconds(1), [| // Timer anlegen und gleich starten
val tSched = if(myTime.state instanceof Number) (myTime.state as Number) else 0 // Zykluszeit in Minuten
val results_status = executeCommandLine(Duration.ofSeconds(30), "sudo", "-u", "openhabian", "/usr/local/bin/pyze", "status", "--km")
logInfo("charge", "results_Status Plugged {}", results_status)
val results_vehicle = executeCommandLine(Duration.ofSeconds(30),"sudo", "-u", "openhabian", "/usr/local/bin/pyze", "vehicles")
logInfo("charge", "results_Vehicle Plugged {}", results_vehicle)
if(tSched > 0)
logInfo("charge","Timer wird in {} Minuten erneut ausgeführt!",tSched)
tMyTimer.reschedule(now.plusMinutes(tSched))
else {
logInfo("charge","Timer wird nicht mehr ausgeführt!")
tMyTimer = null
}
])
}
end
Code: Alles auswählen
if(tSched > 0)
Code: Alles auswählen
else {
Code: Alles auswählen
val tSched = if(myTime.state instanceof Number) (myTime.state as Number).intValue else 0
^^^^^^^^
erklären?*.intValue