Nodes and media
Locatieopdracht
Kort samengevat
location.getis een Node-opdracht die wordt aangeroepen vianode.invokeofopenclaw nodes location get.- Standaard uitgeschakeld.
- Android-builds van derden gebruiken een keuzelijst: Uit / Tijdens gebruik / Altijd. Play-builds blijven Uit / Tijdens gebruik gebruiken.
- Nauwkeurige locatie is een aparte schakelaar.
Waarom een keuzelijst (en niet alleen een schakelaar)
Locatiemachtigingen van het besturingssysteem hebben meerdere niveaus. Nauwkeurige locatie is ook een afzonderlijke machtiging van het besturingssysteem (iOS 14+ ‘Nauwkeurig’, Android ‘fijn’ versus ‘grof’). De keuzelijst in de app bepaalt de aangevraagde modus, maar het besturingssysteem beslist nog steeds welke machtiging daadwerkelijk wordt verleend.
Instellingenmodel
Per Node-apparaat:
location.enabledMode:off | whileUsing | alwayslocation.preciseEnabled: bool
Gedrag van de gebruikersinterface:
- Als
whileUsingwordt geselecteerd, wordt toestemming voor gebruik op de voorgrond aangevraagd. - Als
alwayswordt geselecteerd in de Android-build van derden, wordt eerst toestemming voor gebruik op de voorgrond aangevraagd, wordt de achtergrondtoegang toegelicht en worden vervolgens de Android-appinstellingen geopend voor de afzonderlijke machtiging Allow all the time. - Android Play-builds declareren geen machtiging voor locatiegebruik op de achtergrond en tonen
alwaysniet. - Als het besturingssysteem het aangevraagde niveau weigert, valt de app terug op het hoogste verleende niveau en toont deze de status.
Toewijzing van machtigingen (node.permissions)
Optioneel. De macOS-Node rapporteert location via de permissions-toewijzing in node.list/node.describe; iOS/Android kan dit weglaten.
Opdracht: location.get
Aangeroepen via node.invoke of met het CLI-hulpprogramma:
openclaw nodes location get --node <idOrNameOrIp>openclaw nodes location get --node <idOrNameOrIp> --accuracy precise --max-age 15000 --location-timeout 10000Parameters:
{ "timeoutMs": 10000, "maxAgeMs": 15000, "desiredAccuracy": "coarse|balanced|precise"}CLI-vlaggen worden rechtstreeks toegewezen: --location-timeout -> timeoutMs, --max-age -> maxAgeMs, --accuracy -> desiredAccuracy.
Antwoordpayload:
{ "lat": 48.20849, "lon": 16.37208, "accuracyMeters": 12.5, "altitudeMeters": 182.0, "speedMps": 0.0, "headingDeg": 270.0, "timestamp": "2026-01-03T12:34:56.000Z", "isPrecise": true, "source": "gps|wifi|cell|unknown"}Fouten (stabiele codes):
LOCATION_DISABLED: de keuzelijst staat op uit.LOCATION_PERMISSION_REQUIRED: de machtiging voor de aangevraagde modus ontbreekt.LOCATION_BACKGROUND_UNAVAILABLE: de app bevindt zich op de achtergrond, maar alleen Tijdens gebruik is toegestaan.LOCATION_TIMEOUT: niet op tijd een locatiebepaling verkregen.LOCATION_UNAVAILABLE: systeemfout of geen locatieproviders beschikbaar.
Gedrag op de achtergrond
- Android-builds van derden accepteren
location.getop de achtergrond alleen wanneer de gebruikerAlwaysheeft geselecteerd en Android locatietoegang op de achtergrond heeft verleend. De bestaande permanente Node-service voegt het servicetypelocationtoe en toontLocation: Alwayszolang deze actief is. - Android Play-builds en de modus
While Usingweigerenlocation.getwanneer de app zich op de achtergrond bevindt. - Andere Node-platforms kunnen zich anders gedragen.
Integratie met modellen en hulpmiddelen
- Agenthulpmiddel: de actie
location_getvan het hulpmiddelnodes(Node vereist). - CLI:
openclaw nodes location get --node <id>. - Richtlijnen voor agenten: alleen aanroepen wanneer de gebruiker locatie heeft ingeschakeld en de reikwijdte begrijpt.
UX-tekst (voorstel)
- Uit: ‘Locatie delen is uitgeschakeld.’
- Tijdens gebruik: ‘Alleen wanneer OpenClaw geopend is.’
- Altijd: ‘Sta aangevraagde locatiecontroles toe terwijl OpenClaw op de achtergrond actief is.’
- Nauwkeurig: ‘Gebruik de nauwkeurige GPS-locatie. Schakel dit uit om een geschatte locatie te delen.’