Modul zur Nutzung der Raspberry Pi GPIO

Hallo Leute,

ich habe mal wieder etwas „aufgeräumt“.

In den letzten Wochen waren hier neue Instanzen in Verbindung mit dem PCF8583 entstanden. Neben der „Natur-Version“ gab es „Spin-Offs“ für den Eltako Windsensor, den RG11-Regensensor und für Durchfluss-Sensor. Diese wurden nun in der „Natur-Version“ des PCF8583 integriert.
Ich werde nun also diese drei Instanzen löschen:

  • IPS2GPIO_PCF8583_Durchfluss
  • IPS2GPIO_PCF8583_EltakoWS
  • IPS2GPIO_PCF8583_RG11

Da diese erst in den letzten Wochen entstanden sind und hier keinerlei Dialog zu diesen war, gehe ich nicht davon aus dass hier viele diese Ableger genutzt haben. Falls doch bitte die „Natur-Version“ nutzen und innerhalb dieser die entsprechende Funktion auswählen.

Joachim

Hi,
nach dem Modul Update bekomme ich ständig den folgenden Fehler ins Log:

IPSymcon-Err-PHP            2021-04-06 13:13:56.580  Warning: Logging ist für diese Variable nicht verfügbar     Error in Script C:\ProgramData\Symcon\modules\SymconModules\IPS2GPIO_BME280\module.php on Line 604    137 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)     37 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)        in IPSLogger_PhpErrorHandler    604 in modules\SymconModules\IPS2GPIO_BME280\module.php (call AC_GetLoggedValues)    415 in modules\SymconModules\IPS2GPIO_BME280\module.php (call PressureTrend)    5167 in scripts\__generated.inc.php (call Measurement)      1 in C:\Windows\System32\- (call I2GBME_Measurement)

Kann damit jemand etwas anfangen?

Hallo Luca,

schaue ich mir heute Abend mal an. Habe da neulich etwas gelöscht, vermute da sind noch Reste zurückgeblieben, melde mich…

Joachim

Hallo Luca,

in der Zeile 604 steht:

  $LoggingArray = AC_GetLoggedValues(IPS_GetInstanceListByModuleID("{43192F0B-135B-4CE7-A0A7-1475603F3060}")[0], $this->GetIDForIdent("Pressure"), time()- (3600 * $interval), time(), 0); 

Ist die Variable „Pressure“ eventuell nicht geloggt? Wundere mich trotzdem das dieses zu einem Fehler führt…

@all: Was sollte AC_GetLoggedValues denn eigentlich im Fehlerfall zurückgeben damit ich es abfangen kann?

Joachim

Hi,
das scheint es gewesen zu sein. Der Luftdruck abs war nicht geloggt, da ich bei den Sensoren immer nur Temperatur und Luftfeuchtigkeit abgegriffen hatte. Habe das Logging für Luftdruck abs jetzt manuell aktiviert und bekomme seitdem keine Fehler mehr - danke dir. Macht es ggf. Sinn eine Funktion zum deaktivieren der Luftdruck Trend Funktion einzubauen? Ich nutze das bei mir tatsächlich nicht und könnte dann durch das Deaktivieren des Loggings ggf. etwas Festplattenkapazität sparen - sind aber Luxusprobleme.

Gruß

…das könnte man so machen - ich würde den Fehler gerne abfangen. Muss ich wohl mal ein bißchen testen…

Joachim

Hallo, ich nutze das Modul zum auslesen von 1Wire Temperatursensoren an über 10 Raspis.
Nun habe ich den SSH-Port von 22 auf z.B. 222 geändert, was leider dazu führt, dass keine Werte mehr kommen.

Kann man den ssh-Port irgend wo für dein Modul definieren?

Oder wäre da Joey-1970/IPS2OWFS sowieso besser geeignet?

Hallo Jürgen,

das kommt darauf an…

Ich verwende beides, den IPS2OWFS kannst Du auch mit Port 222 benutzen, das meiste von IPS2GPIO auch, nur für wenige Dinge - die aber gerade zum Start notwendig sind - wird der Port 22 genutzt. Es wäre möglich das zu ändern bzw. flexibler zu gestalten.
Schaue Dir doch bitte zunächst einmal an wie Du mit IPS2OWFS zurechtkommst…

Joachim

Hallo Joachim,
ich habe das Modul IPS2GPIO_BME280 unter Raspberry Pi OS Bullseye Lite nach einigen probieren zum laufen bekommen, aber leider bekomme ich immer die folgende Meldung

12.01.2022, 16:07:36 | TimerPool | IPS2GPIO_BME280 (Messzyklus): PHP-Error-Warning: Logging ist für diese Variable nicht verfügbar
Error in Script /var/lib/symcon/modules/SymconModules/IPS2GPIO_BME280/module.php on Line 636

Hast du dazu eine Lösung?

Gruß Lutz

Hallo Lutz,

da wird versucht auf die geloggten Werte für den Luftdruck zuzugreifen. Hast das Logging für diese Variable aktiviert?

Joachim

Ja habe ich gemacht, die Meldung ist dann weg.

Gruß Lutz

Hallo Joachim,

ich habe die DS18B20 direkt an einem GPIO des Raspi. Soweit ich das verstanden habe, ist OWFS etwas für 1-Wire USB-Sticks und nicht für die GPIO’s.
Liege ich da richtig? Ich wollte keine extra USB-Adapter verwenden.

Oder geht GPIO über I2C?

OWFS geht auch direkt mit GPIO mit dem w1 driver, siehe z.B. 1-wire Temperatursensor DS1820 am Raspberry Pi (GPIO-direkt)

Hallo Joachim,
bei meinem Raspi arm64 bekomme ich die folgende Meldung:

Fehler beim Übernehmen der Änderungen
PHP-Error-Warning: NaN/INF Werte werden nicht unterstützt
Error in Script /var/lib/symcon/modules/SymconModules/IPS2GPIO_BME280/module.php on Line 365

hast du dazu eine Idee?
Gruß Lutz

Hallo Lutz,

bleibt der Fehler?

Der Code ist in dem Bereich so:

if (is_numeric($td)) {
	SetValueFloat($this->GetIDForIdent("DewPointTemperature"), round($td, 2));
}
else {
	SetValueFloat($this->GetIDForIdent("DewPointTemperature"), 0);
}

Bedeutet das $td schon dahingehend überprüft wir ob es numerisch ist…

Joachim

Der Chip liefert keine Werte für die Luftfeuchtigkeit, vielleicht hängt es damit zusammen. Die Fehlermeldung ist immer noch da.

Habe jetzt einen anderen BME280 genommen, dann kommen die Werte. Alles jetzt i.O.

Lutz

Hallo Lutz,

oben war die ChipID 88, unten ist sie korrekt 96. Keine Ahnung was 88 für ein Bauteil ist…

Joachim

könnte ein BMP280 sein

MfG
Peter

Hi. Funktioniert der VL53L0X/ VL53L1X auch direkt über das Modul am Pi?
Oder vielleicht auch der CQRobot Ocean (CQRSENYW002)