Distanz des iPhones von einem Ort ausgeben

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
kgwaldi
Beiträge: 6
Registriert: 16. Jun 2018 15:17

Distanz des iPhones von einem Ort ausgeben

Beitrag von kgwaldi »

Hallo in die Runde,

ich habe das iCloud Binding installiert und aus dem "Full Example" die icloud.items, icloud.sitemap und icloud.rules für mein Smarthome angepasst und übernommen, was alles funktioniert! :D
Ich möchte zudem den Wert "distance = phone_location.distanceFrom(home_location).intValue()" in der Sitemap anzeigen lassen und bekomme es nicht hin :o .

Beste Grüße Peter

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

Re: Distanz des iPhones von einem Ort ausgeben

Beitrag von udo1toni »

Hast Du denn die Heimatposition festgelegt?
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

kgwaldi
Beiträge: 6
Registriert: 16. Jun 2018 15:17

Re: Distanz des iPhones von einem Ort ausgeben

Beitrag von kgwaldi »

ja hab ich:

Code: Alles auswählen

rule "Peter_kommt_zum WiWe"

when
    Item PeterIPhoneX_Location changed
then
    // specify your home location
    //my home location
    val PointType wiwe34a_location = new PointType(new DecimalType(51.357484), new DecimalType(6.563360))
    //my work location
    //val PointType mvz_location = new PointType(new DecimalType(51.332303), new DecimalType(6.567933))
   
    val PointType phone_location = PeterIPhoneX_Location.state as PointType
    val int distance_PeterIPhoneX_wiwe34a = (phone_location).distanceFrom(wiwe34a_location).intValue()
    //val int distance_work = phone_location.distanceFrom(mvz_location).intValue()
    //val PeterIPhoneX_Distance_WiWe34a = distance_PeterIPhoneX_wiwe34a
    // specify your preferred radius (in meters)
    if (distance_PeterIPhoneX_wiwe34a < 200) {
        PeterIPhoneX_Home.postUpdate(ON)
        logInfo("PeterIPhoneX Home", "PeterIPhoneX ist auf dem WiWe34a.") 
            } 
    else {
        PeterIPhoneX_Home.postUpdate(OFF)
        logInfo("PeterIPhoneX Home", "PeterIPhoneX is unterwegs.")
            }
end

kgwaldi
Beiträge: 6
Registriert: 16. Jun 2018 15:17

Re: Distanz des iPhones von einem Ort ausgeben

Beitrag von kgwaldi »

in den Items steht bei mit :
Number distance_PeterIPhoneX_WiWe34a "Entfernung IPhone - WiWe34a [%.0f m]" (IC_Iphone, gIphone)
der Text in Klammer erscheint, aber es wird kein wert angegeben
Die rule funktioniert einwandfrei

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

Re: Distanz des iPhones von einem Ort ausgeben

Beitrag von udo1toni »

In der Rule verwendest Du eine innerhalb der Rule definierte Konstante distance_PeterIPhoneX_wiwe34a, speicherst diese aber nirgends in ein Item, auch nicht in das Item distance_PeterIPhoneX_WiWe34a.
:) Ich nutze selbst bisher keine Lokalisierung, deshalb frage ich mal ganz blöd: ist Das Item direkt mit irgendwas verknüpft, damit es gefüllt wird, oder handelt es sich am Ende um ein ungebundenes Item, welchem Du dann natürlich über die Rule den Wert geben musst (per .postUpdate)?
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

kgwaldi
Beiträge: 6
Registriert: 16. Jun 2018 15:17

Re: Distanz des iPhones von einem Ort ausgeben

Beitrag von kgwaldi »

Danke für die Info Udo,
das item ist mit keinem Channel verknüpft
werde heute abend dem somit ungebundene Item, über die Rule per .postUpdate einen Wert zu geben

kgwaldi
Beiträge: 6
Registriert: 16. Jun 2018 15:17

Re: Distanz des iPhones von einem Ort ausgeben

Beitrag von kgwaldi »

Super Udo, jetzt läufts, Daaanke

Habe folgende Zeile eingefügt
PeterIPhoneX_Distance_WiWe34a.postUpdate(distance_PeterIPhoneX_wiwe34a)


rule "Peter_kommt_zum WiWe"

when
Item PeterIPhoneX_Location changed
then
// specify your home location
//my home location
val PointType wiwe34a_location = new PointType(new DecimalType(51.357484), new DecimalType(6.563360))
val PointType phone_location = PeterIPhoneX_Location.state as PointType
val int distance_PeterIPhoneX_wiwe34a = (phone_location).distanceFrom(wiwe34a_location).intValue()
PeterIPhoneX_Distance_WiWe34a.postUpdate(distance_PeterIPhoneX_wiwe34a)
// specify your preferred radius (in meters)
if (distance_PeterIPhoneX_wiwe34a < 200) {
PeterIPhoneX_Home.postUpdate(ON)
logInfo("PeterIPhoneX Home", "PeterIPhoneX ist auf dem WiWe34a.")
}
else {
PeterIPhoneX_Home.postUpdate(OFF)
logInfo("PeterIPhoneX Home", "PeterIPhoneX is unterwegs.")
}
end

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

Re: Distanz des iPhones von einem Ort ausgeben

Beitrag von udo1toni »

Prima! Aber bitte Code immmer mit Code-Tags versehen (im vollständigen Editor den </> Knopf drücken oder alternativ die Tags direkt hinschreiben:
[code\]Hier kommt der Code[/code\] (ohne die \)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

kgwaldi
Beiträge: 6
Registriert: 16. Jun 2018 15:17

Re: Distanz des iPhones von einem Ort ausgeben

Beitrag von kgwaldi »

Code: Alles auswählen

rule "Peter_kommt_zum WiWe"

when
Item PeterIPhoneX_Location changed
then
// specify your home location
//my home location
val PointType wiwe34a_location = new PointType(new DecimalType(51.357484), new DecimalType(6.563360))
val PointType phone_location = PeterIPhoneX_Location.state as PointType
val int distance_PeterIPhoneX_wiwe34a = (phone_location).distanceFrom(wiwe34a_location).intValue() 
PeterIPhoneX_Distance_WiWe34a.postUpdate(distance_PeterIPhoneX_wiwe34a)
// specify your preferred radius (in meters)
if (distance_PeterIPhoneX_wiwe34a < 200) {
PeterIPhoneX_Home.postUpdate(ON)
logInfo("PeterIPhoneX Home", "PeterIPhoneX ist auf dem WiWe34a.") 
} 
else {
PeterIPhoneX_Home.postUpdate(OFF)
logInfo("PeterIPhoneX Home", "PeterIPhoneX is unterwegs.")
}
end

Antworten