NEWS
Auslesen Werte (longitude,latitude) aus Systemkonfiguration
-
Hallo zusammen
Für meinen Adapter "swiss-weather-api" möchte ich gerne longitutde und latitude aus der Systemkonfiguration lesen (https://github.com/baerengraben/iobroker.swiss-weather-api/issues/6). Kann mir da jemand weiterhelfen? Bisher habe ich dieses Beispiel im Forum gefunden
const config = getObject('system.config'); const lat = config.common.latitude; const long = config.common.longitude;
Das funktioniert auf meiner Entwicklungs-Umgebung aber nicht. getObject('system.config') liefert "undefined" zurück. Hat mir jemand einen Tip?
-
@baerengraben
Bin kein Adapterentwickler und js na ja, aber so macht das shuttercontrol:// +++++++++++++++++ Get longitude an latidude from system config ++++++++++++++++++++ function GetSystemData() { //get longitude/latitude from system if not set or not valid //do not change if we have already a valid value //so we could use different settings compared to system if necessary if (typeof adapter.config.longitude == undefined || adapter.config.longitude == null || adapter.config.longitude.length == 0 || isNaN(adapter.config.longitude) || typeof adapter.config.latitude == undefined || adapter.config.latitude == null || adapter.config.latitude.length == 0 || isNaN(adapter.config.latitude)) { adapter.log.debug("longitude/longitude not set, get data from system " + typeof adapter.config.longitude + " " + adapter.config.longitude + "/" + typeof adapter.config.latitude + " " + adapter.config.latitude); adapter.getForeignObject("system.config", (err, state) => { if (err) { adapter.log.error(err); } else { adapter.config.longitude = state.common.longitude; adapter.config.latitude = state.common.latitude; adapter.log.info("system longitude " + adapter.config.longitude + " latitude " + adapter.config.latitude); } }); } }
-
@baerengraben sagte:
getObject('system.config') liefert "undefined" zurück.
Das ist eine Funktion des Javascript-Adapters, die der js-controller so nicht kennt.
-
@FredF
Vielen Dank für den Tipp! So geht es