NEWS
BME280-Sensor
-
Moin,
hab in einem meiner Scripte einen Syntax-Fehler in folgender Zeile
const BME280 = require('bme280-sensor');
Der in der Require-Anweisung angegebene <bme280-sensor> ist mit dieser roten welligen Linie unterstrichen, der einen Syntaxfehler anzeigt und im ToolTip steht der Fehlerhinweis
Cannot find module 'bme280-sensor' or its corresponding type declarations.(2307)
Trotzdem werden die nachfolgenden Code-Zeilen erfolgreich ausgeführt und der Sensor liefert auch Werte.
const BME280 = require('bme280-sensor'); // The BME280 constructor options are optional. // const options = { i2cBusNo : 1, // defaults to 1 //i2cAddress : BME280.BME280_DEFAULT_I2C_ADDRESS() // defaults to 0x77 i2cAddress : 118 // my address to 0x76 }; const bme280 = new BME280(options); // Read BME280 sensor data, repeat // const readSensorData = () => { bme280.readSensorData() .then((data) => { // temperature_C, pressure_hPa, and humidity are returned by default. // I'll also calculate some unit conversions for display purposes. // log("polling Temperatur_Sensor"); data.temperature_F = BME280.convertCelciusToFahrenheit(data.temperature_C); data.pressure_inHg = BME280.convertHectopascalToInchesOfMercury(data.pressure_hPa);
Kann jemand sagen, wie ich diesen Syntaxfehler zu beseitigen kann.
Kann sein, dass es sinnvoller wäre den IC2-Adapter zu verwenden.
Leider bekomme ich diesen aber nicht parallel zu der Library <bme280-sensor> zum laufen-
Wenn ich den Adapter installiere, läuft obiges Script nicht mehr und der Adapter findet auch keine Geräte. Wenn ich den Adapter wieder deinstalliere und IOBroker neu starte läuft mein Script wieder ohne Probleme.Vielleicht kann ja jemand hierzu was sagen.
LG. Stefan -
@stefanh-0 Hast du das Modul im JavaScript Adapter eingetragen? Ist es denn richtig installiert?
cd /opt/iobroker npm ls bme280-sensor
-
Das Script zum abfragen des BME280-Sensors wird ja ohne Fehler ausgeführt und ich erhalte auch gültige Sensor-Werte. Ich verstehe aber nicht, warum der Befehl <const BME280 = require('bme280-sensor');> rot unterstrichen ist und einen Syntaxfehler signalisiert.
Gruß Stefan
-
@stefanh-0 Bekommst du das im JavaScript Adapter angezeigt?
-
@wendy2702
Ja, der Syntax-Fehler wir in meinem Script (JavaScript) angezeigt. -
@stefanh-0 OK.
Das ist zu 99% normal. Der Javascript Adapter interpretiert das schonmal "falsch".