NEWS
Woher globale Einheiten (°C / F), (mm / inch)?
-
ich würde gerne Code bauen, der mit Temperaturen korrekt umgeht und die Einheiten des Systems berücksichtigt. Dazu müsste es doch möglich sein auf die "Grundeinstellungen" zuzugreifen - wie geht das?
Und gibt es im ioBroker dafür Umrechnungsfunktionen oder baut man die selbst? -
ich würde gerne Code bauen, der mit Temperaturen korrekt umgeht und die Einheiten des Systems berücksichtigt. Dazu müsste es doch möglich sein auf die "Grundeinstellungen" zuzugreifen - wie geht das?
Und gibt es im ioBroker dafür Umrechnungsfunktionen oder baut man die selbst? -
ok - das alias-thema habe ich nicht verstanden - belibt auf meiner Liste der "mus ich noch ausprobieren/lesen" themen.
Die Eingangsfrage war: wo legt ioBroker die "Systemgrundeinstellungen" ab und wie komme ich per js da dran?@ltathome sagte in Woher globale Einheiten (°C / F), (mm / inch)?:
wo legt ioBroker die "Systemgrundeinstellungen" ab
Im Object "system.config".
@ltathome sagte in Woher globale Einheiten (°C / F), (mm / inch)?:
wie komme ich per js da dran?
var common = getObject('system.config').common; var tempUnit = common.tempUnit; // usw. -
@ltathome sagte in Woher globale Einheiten (°C / F), (mm / inch)?:
wo legt ioBroker die "Systemgrundeinstellungen" ab
Im Object "system.config".
@ltathome sagte in Woher globale Einheiten (°C / F), (mm / inch)?:
wie komme ich per js da dran?
var common = getObject('system.config').common; var tempUnit = common.tempUnit; // usw. -
das funktioniert prima in scripten - in einem eigenen Adapter rennt der auf Fehler, bzw. liefert nichts.
Es scheint auch noch andere "Nicklichkeiten" beim übertragen von Code in einen Adapter zu geben:
z.B. hatte ich mit:
subscribe({id: "fhem.0.AU_GA_TF_Garage.humidity", change:'any'}, ZimmermanTrackHumidity);nen subscribe auf nen Luftfeuchte-Sensor gesetzt und der Callback hat dann mit:
... function ZimmermanTrackHumidity(obj) { var ts = new Date(obj.newState.ts); var currenthour = ts.getHours(); var newstate = parseFloat(obj.newState.val); ...wie erwartet die Werte geliefert.
wenn ich nun im Adapter:
this.subscribeForeignStates("fhem.0.AU_GA_TF_Garage.humidity", this.trackHumidity);mache und der Callback so aussieht:
trackHumidity(obj) { var ts = new Date(obj.newState.ts); var currenthour = ts.getHours(); var newstate = parseFloat(obj.newState.val);dann bekomme ich:
Caught by controller[0]: TypeError: Cannot read property 'newState' of null
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden