Seite 5 von 5

Re: openHAB 2.2 iCloud Präsenzerkennung

Verfasst: 1. Dez 2018 12:30
von seppy
Die 0.0 wird über new PointType gesetzt. Hier die Funktion:

Code: Alles auswählen

import org.eclipse.xtext.xbase.lib.Functions

val String filename = "icloud.rules"
//API key for Google Maps API
val String GoogleAPIKey = "XXX"

//my home location
val PointType home = new PointType(new DecimalType(XX.641807), new DecimalType(7.180585))

//my work location
val PointType work = new PointType(new DecimalType(XX.705791), new DecimalType(7.144194))



// Function to transform location coordinates to address
val Functions$Function1<GenericItem, String> locationAddress= [ Coordinates |
	//Hack to use googles geocode funtion with openhabs PointType
	val geocodeURL = "https://maps.googleapis.com/maps/api/geocode/json?key=XXX&latlng=" + Coordinates.state.toString.replace(",0.0","") + "&language=german&sensor=true"
	//logInfo("iCloud",Coordinates.state.toString)
	//logInfo("icloud", geocodeURL)
	val String geocodeJson = sendHttpGetRequest(geocodeURL)
	var String formattedAddress = transform("JSONPATH", "$.results[0].formatted_address", geocodeJson)
	formattedAddress = formattedAddress.replace(", Germany", "")
	return formattedAddress
]
// Function called to calculate location distance
val Functions$Function4<GenericItem, PointType, String, Number, String> locationDistance= [ Coordinates, place, placeName, distance2 |
	val PointType location = Coordinates.state as PointType
	var int distance
	var String message
	// my home location
	distance = location.distanceFrom(place).intValue()
	    if (distance < distance2) {
	    //message = (String::format("%s (%dm) - %s", placeName, distance, "XXX"))
	    message = "home"
	  } else {
	    message = "unterwegs"
	    }
	 return message
]

Re: openHAB 2.2 iCloud Präsenzerkennung

Verfasst: 1. Dez 2018 15:56
von Joe
Hi seppy,
Danke Du ich war jetzt so am Verzweifeln, dass ich die ganze Kiste gelöscht habe und es erst mal mit dem Standard versuchen wollte. Das Ergebnis war leider ernüchternd viewtopic.php?f=15&t=948. Ich habe hierzu mal einen neuen Betrag aufgemacht. Ich weiß nicht was bei mir nicht funktioniert oder fehlt. Ich habe alles wie beschrieben und erklärt durchgeführt.

Re: openHAB 2.2 iCloud Präsenzerkennung

Verfasst: 7. Dez 2018 15:06
von Joe
Hi zusammen,
besteht auch die Möglichkeit mehrere Apple-Accounts zu verwalten?
Ich würde gerne auf die Familienfreigabe verzichten.
Das iCloud-Binding kann glaube ich nur einen Account verwalten oder liege ich hier falsch?

Wenn ich einfach einen zweiten Account zu meinem bestehenden hinzufüge funktioniert das ganze nicht mehr.

VG
Joe

Re: openHAB 2.2 iCloud Präsenzerkennung

Verfasst: 7. Dez 2018 15:09
von seppy
Hi,

nein das geht nicht, bzw. eben nur über die Familienfreigabe. Es handelt sich eben um ein iCloud Binding, nicht um ein iPhone oder iPad Binding ;-)

Grüße,
Seppy

Re: openHAB 2.2 iCloud Präsenzerkennung

Verfasst: 15. Jan 2019 13:48
von Lycos
Hallo zusammen,

ich habe leider auch das Problem das bei mir alle Funktionen wie Batterie Status, Find my Phone und auch der Standort auf der Map funktionieren. Nur die Koordinaten werden einfach nicht angezeigt.

Items:

Code: Alles auswählen

Location    	Lycos_iPhone_Location          				"Roland"										<map>														{channel="icloud:device:myaccount:Roland_iPhone:location"}
Number      	Lycos_iPhone_LocationAccuracy     			"Standortgenauigkeit [%.0f m]"                  <accuracy>													{channel="icloud:device:myaccount:Roland_iPhone:locationAccuracy"}
DateTime    	Lycos_iPhone_LocationLastUpdate   			"Letztes Update [%1$td.%1$tm.%1$tY, %1$tH:%1$tM]" <time>													{channel="icloud:device:myaccount:Roland_iPhone:locationLastUpdate"}
Switch			Lycos_iPhone_Home							"Lycos Phone Home"								<presence>
Sitemap:

Code: Alles auswählen

	Text item=Lycos_iPhone_LocationAccuracy
	Text item=Lycos_iPhone_LocationLastUpdate
	Text item=Lycos_iPhone_Location label="Koordinaten [%s]"
	Text item=Lycos_iPhone_Home
	
	Mapview item=Lycos_iPhone_Location height=8
Rule:

Code: Alles auswählen

rule "Lycos iPhone Home"
when
    Item Lycos_iPhone_Location changed
then
  // Heim Location
    val PointType home_location  = new PointType(new DecimalType(40.6), new DecimalType(18.2))
    val PointType phone_location = Lycos_iPhone_Location.state as PointType
    val int distance = phone_location.distanceFrom(home_location).intValue()
 // Radius (in Metern)
    if ( distance < 200) {
        Lycos_iPhone_Home.postUpdate(ON)
        
    } else {
        Lycos_iPhone_Home.postUpdate(OFF)
    }
end
Ich bitte um Hilfe weil schön langsam bin ich am verzweifeln.


LG

Re: openHAB 2.2 iCloud Präsenzerkennung

Verfasst: 15. Jan 2019 16:41
von seppy
Hi,
bitte stell ein paar Logfile Infos zu Verfügung!
Grüße,
Seppy

Re: openHAB 2.2 iCloud Präsenzerkennung

Verfasst: 16. Jan 2019 11:48
von Lycos
Hi,

mehr Logs finde ich leider nicht.

Code: Alles auswählen

eclipse.buildId=unknown
java.version=1.8.0_121
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE

!ENTRY org.openhab.binding.icloud 4 0 2019-01-16 11:17:26.549
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.icloud [257]
  Another singleton bundle selected: osgi.identity; type="osgi.bundle"; version:Version="2.4.0.201809191933"; osgi.identity="org.openhab.binding.icloud"; singleton:="true"

	at org.eclipse.osgi.container.Module.start(Module.java:444)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1634)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1614)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1585)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1528)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

LG

Re: openHAB 2.2 iCloud Präsenzerkennung

Verfasst: 16. Jan 2019 17:15
von seppy
Aus welchem Logfile kommt denn das?
Hast Du Dir meinen Beitrag hier viewtopic.php?f=15&t=465&start=30#p4908 mal angeschaut?
Grüße,
Seppy

Re: openHAB 2.2 iCloud Präsenzerkennung

Verfasst: 17. Jan 2019 16:54
von Lycos
Hallo Seppy,

vielen Dank erstmal für deine Hilfe! Deinen Beitrag hab ich natürlich gelesen, nur leider habe ich keine Ahnung wo ich deinen Hack bei mir einfügen soll. Ich arbeite ja mit der Rule von Openhab Doc vom Binding.

LG Lycos

Re: openHAB 2.2 iCloud Präsenzerkennung

Verfasst: 30. Jan 2019 11:52
von Lycos
Hat sich mit update auf 2.4 erledigt und läuft jetzt einwandfrei. Vielen lieben Dank aber für dir Hilfe!

LG