TR-064 Binding und OH3

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
scotty
Beiträge: 676
Registriert: 28. Apr 2020 04:44
Answers: 0

TR-064 Binding und OH3

Beitrag von scotty »

Hallo,

inzwischen habe ich dieses Binding nahezu perfekt konfiguriert, so dass mir ausgehende wie eingehende Telefonate mit Namen, Rufnummern, Datum und Uhrzeit in OH3 anzeigt werden.
Komplett wäre diese Konstellation für mich allerdings erst, wenn auch noch die Gesprächsdauer ausgelesen oder anderswie errechnet werden kann. Daher würde mich interessieren ob es Anwender gibt, die sich schon einmal damit auseinander gesetzt oder vielleicht sogar einen Lösungsvorschlag haben.

Vielen Dank im Voraus.
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's

Benutzeravatar
udo1toni
Beiträge: 15241
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: TR-064 Binding und OH3

Beitrag von udo1toni »

Wird denn das Ende des Gesprächs signalisiert?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
scotty
Beiträge: 676
Registriert: 28. Apr 2020 04:44
Answers: 0

Re: TR-064 Binding und OH3

Beitrag von scotty »

Das ist eine gute Frage und ehrlich gesagt, da bin ich überfragt. Wir telefonieren über eine Fritz!Box 6591C und meine Recherchen sind diesbezüglich erfolglos.

Es ist nur so eine Idee, aber lässt sich vielleicht etwas über diese Log-Einträge bauen (natürlich nur mit deiner Unterstützung)?

Code: Alles auswählen

...
2022-10-14 01:50:41.439 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'fritzCallRinging' changed from DIALING to ACTIVE
...
2022-10-14 01:53:49.941 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'fritzCallRinging' changed from ACTIVE to IDLE
...
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's

Benutzeravatar
udo1toni
Beiträge: 15241
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: TR-064 Binding und OH3

Beitrag von udo1toni »

Ja, da hast Du ja die Signalisierung. ACTIVE wird eine bestehende Verbindung sein, IDLE dann der Zustand bei aufgelegt.
Die einfachste Variante wäre dann so:

Code: Alles auswählen

var Long lPhoneStart = 0

rule "Gesprächsdauer messen"
when
    Item fritzCallRinging changed
then
    var Integer iSeconds = 0
    if(newState == ACTIVE) {
        iPhoneStart = now.getEpochSecond
    } else if(previousState == ACTIVE && newState == IDLE) {
        iSeconds =  (now.getEpochSecond - iPhoneStart).intValue
    }
    Gespraechsdauer.postUpdate(iSeconds)
end
Wenn der Status nach ACTIVE wechselt, merkt sich die Rule den aktuellen Zeitpunkt in der globalen Variablen lPhoneStart.
Wenn der Status von ACTIVE nach IDLE wechselt, speichert die Rule die Differenz des aktuellen Zeitpunkts zum gemerkten Zeitpunkt.

Natürlich wird die Gesprächsdauer auf diese Weise erst nach Ende des Gesprächs angezeigt.
Ich gehe davon aus, dass IDLE und ACTIVE "echte" Status sind. Ist das nicht der Fall, muss man halt jeweils .toString dran hängen und "" drum herum machen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
scotty
Beiträge: 676
Registriert: 28. Apr 2020 04:44
Answers: 0

Re: TR-064 Binding und OH3

Beitrag von scotty »

Das klappt momentan noch nicht. Ich verwende derzeit diesen Code:

Code: Alles auswählen

var Long lPhoneStart = 0

rule "Gesprächsdauer messen"
when
    Item fritzCallRinging changed
then
    var Integer iSeconds = 0
    if(newState == "ACTIVE.toString") {
        iPhoneStart = now.getEpochSecond
    } else if(previousState == "ACTIVE.toString" && newState == "IDLE.toString") {
        iSeconds =  (now.getEpochSecond - iPhoneStart).intValue
    }

    var String callDauer = "-" 
    callDauer.postUpdate(iSeconds)
end
und bekomme die Fehlermeldung:

Code: Alles auswählen

2022-10-15 03:55:57.140 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'fritzbox_94-1' failed: An error occurred during the script execution: Could not invoke method: org.openhab.core.model.script.actions.BusEvent.postUpdate(java.lang.String,java.lang.String) on instance: null in fritzbox_94
Die Variable callDauer wird im weiteren Verlauf noch an ein Dummy-Item übergeben:

Code: Alles auswählen

Flag_ADauer_00.postUpdate(callDauer)
Ist das korrekt angelegt?

Außerdem, ohne den Zusatz .toString und die "" drum herum gab es noch weitere Fehlermeldungen.

Hast du noch eine Idee, wie die ERROR Meldung behoben werden kann?
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's

Benutzeravatar
udo1toni
Beiträge: 15241
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: TR-064 Binding und OH3

Beitrag von udo1toni »

Da habe ich vielleicht etwas missverständlich formuliert... Ich meinte es so:

Code: Alles auswählen

var Long lPhoneStart = 0

rule "Gesprächsdauer messen"
when
    Item fritzCallRinging changed
then
    var Integer iSeconds = 0
    if(newState.toString == "ACTIVE") {
        iPhoneStart = now.getEpochSecond
    } else if(previousState.toString == "ACTIVE" && newState.toString == "IDLE") {
        iSeconds =  (now.getEpochSecond - iPhoneStart).intValue
    }
    Gespraechsdauer.postUpdate(iSeconds)
end
State: ACTIVE
String: "ACTIVE"
previousState -> State
previousState.toString -> String

Es könnte auch sein, dass now.getEpochSecond nicht funktioniert, dann wäre meine Vermutung, dass es ZonedDateTime.now.getEpochSecond ist.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
scotty
Beiträge: 676
Registriert: 28. Apr 2020 04:44
Answers: 0

Re: TR-064 Binding und OH3

Beitrag von scotty »

Ich komme leider erst später dazu, deine Korrektur zu testen. Aber eine Frage noch zwischendurch: ist die Variable callDauer richtig erstellt bzw. kann das Ergebnis, wie beschrieben, anschließend von dem Dummy-Item "Flag_ADauer_00" so übernommen werden?
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's

Benutzeravatar
scotty
Beiträge: 676
Registriert: 28. Apr 2020 04:44
Answers: 0

Re: TR-064 Binding und OH3

Beitrag von scotty »

Auch der nächste Test brachte kein positives Ergebnis. Mit diesem Code...

Code: Alles auswählen

var Long lPhoneStart = 0

rule "Gesprächsdauer messen"
when
    Item fritzCallRinging changed
then
    var Integer iSeconds = 0
    if(newState.toString == "ACTIVE") {
        iPhoneStart = ZonedDateTime.now.getEpochSecond
    } else if(previousState.toString == "ACTIVE" && newState.toString == "IDLE") {
        iSeconds =  (ZonedDateTime.now.getEpochSecond - iPhoneStart).intValue
    }

    var String callDauer = "-" 
    callDauer.postUpdate(iSeconds)
end
ergaben sich folgende Fehlermeldungen...

Code: Alles auswählen

2022-10-15 18:15:57.921 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'fritzbox_94-1' failed: An error occurred during the script execution: Could not invoke method: org.openhab.core.model.script.actions.BusEvent.postUpdate(java.lang.String,java.lang.String) on instance: null in fritzbox_94
2022-10-15 18:15:58.586 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'fritzbox_94-1' failed: 'getEpochSecond' is not a member of 'java.time.ZonedDateTime'; line 9, column 23, length 32 in fritzbox_94
2022-10-15 18:16:03.592 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'fritzbox_94-1' failed: 'getEpochSecond' is not a member of 'java.time.ZonedDateTime'; line 11, column 22, length 32 in fritzbox_94
Leider komme ich ohne deine Hilfe nicht weiter, deshalb: hast du noch weitere Tipps?
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's

Benutzeravatar
udo1toni
Beiträge: 15241
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: TR-064 Binding und OH3

Beitrag von udo1toni »

ok, in einem anderen Thread sind wir auf .toEpochSecond gekommen. Sorry, ist auch für mich etwas Stochern im Nebel, da ich selbst bisher noch auf OH2.5 arbeite...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
scotty
Beiträge: 676
Registriert: 28. Apr 2020 04:44
Answers: 0

Re: TR-064 Binding und OH3

Beitrag von scotty »

Schade, auch dein letzter Hinweis hat nicht zum Erfolg geführt. Trotzdem noch einmal: Danke für die Unterstützung.
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's

Antworten