leider verursacht der Code folgenden ERROR und danach jede Menge Meldungen.
Code: Alles auswählen
2022-10-17 03:47:31.135 [ERROR] [y.mdns.internal.MDNSDiscoveryService] - bundle org.openhab.core.config.discovery.mdns:3.3.0 (162)[org.openhab.core.config.discovery.mdns.internal.MDNSDiscoveryService(122)] : The addMDNSDiscoveryParticipant method has thrown an exception
java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@3b02b1a0[Not completed, task = java.util.concurrent.Executors$RunnableAdapter@6fd5eef9[Wrapped task = javax.jmdns.impl.JmDNSImpl$1@b900506]] rejected from java.util.concurrent.ThreadPoolExecutor@7a11328e[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 2]
Auch ich habe inzwischen noch etwas recherchiert und bin zu folgendem, (hoffentlich) funktionierenden Ergebnis gekommen:
Code: Alles auswählen
var Long iPhoneStart = 0
rule "Gesprächsdauer messen"
when
Item fritzCallRinging changed from IDLE to DIALING
then
var Integer iSeconds = 0
if(newState.toString == "ACTIVE") {
iPhoneStart = ZonedDateTime.now.toEpochSecond
} else if(previousState.toString == "ACTIVE" && newState.toString == "IDLE") {
iSeconds = (ZonedDateTime.now.toEpochSecond - iPhoneStart).intValue
}
Flag_ADauer_00.postUpdate(iSeconds)
end
Bei diesem Code wird mir erstmals ein Wert angezeigt, nämlich "0". Weil jedoch das Gespräch zu diesem Zeit noch nicht beendet ist vermute ich, dass nach Beendigung des Telefonats noch ein Item-Update eingebaut werden.
Irgendwo habe ich schon einmal etwas darüber gelesen. Zur Zeit weiß ich allerdings nicht, wie dies zu realisieren ist. Vielleicht hast du ja noch einen Tipp dazu.