Autor Thema: 51_RPI_GPIO.pm: PERL WARNING: Use of uninitialized value in subtraction  (Gelesen 8470 mal)

Offline Burny4600

  • Hero Member
  • *****
  • Beiträge: 1635
Antw:51_RPI_GPIO.pm: PERL WARNING: Use of uninitialized value in subtraction
« Antwort #45 am: 06 November 2016, 19:47:28 »
Irgendwie bleibt bei einer Raspberry Pi 3 Installation gelegentlich mit den GPIO's etwas übrig.

Wieder einmal nach einer Neuinstallation folgende Meldungen im LOG wo ich nicht weiter weis.
2016.11.06 19:44:10.487 5: Cmd: >define INT RPI_GPIO 21<
2016.11.06 19:44:10.490 5: Loading ./FHEM/51_RPI_GPIO.pm
2016.11.06 19:44:10.635 4: RPI_GPIO: gpio directory exists: /sys/class/gpio
2016.11.06 19:44:10.642 4: INT: write access to file /sys/class/gpio/export, use it to export GPIO
2016.11.06 19:44:10.698 5: Cmd: >attr INT active_low yes<
2016.11.06 19:44:10.703 5: INT, in fileaccess: active_low 1
2016.11.06 19:44:10.706 5: INT: set attr active_low: yes
2016.11.06 19:44:10.710 5: Cmd: >attr INT alias RPI_GIPO 21 Interupt für MCP23017 Modul 1<
2016.11.06 19:44:10.714 5: Cmd: >attr INT devStateIcon EIN:control_on_off@lightgreen AUS:control_home@red<
2016.11.06 19:44:10.719 5: Cmd: >attr INT direction input<
2016.11.06 19:44:10.722 5: INT, in fileaccess: direction in
2016.11.06 19:44:10.726 5: INT: set attr direction: input
2016.11.06 19:44:10.729 5: Cmd: >attr INT eventMap on:EIN off:AUS<
2016.11.06 19:44:10.734 5: Cmd: >attr INT icon control_on_off<
2016.11.06 19:44:10.738 5: Cmd: >attr INT interrupt both<
2016.11.06 19:44:10.742 5: INT, in fileaccess: edge both
2016.11.06 19:44:10.747 5: Datei: /sys/class/gpio/gpio21/value, FH: IO::File=GLOB(0x2b9d418), EXCEPT_FD: 13, akt. Wert: 0

2016.11.06 19:44:10.750 5: INT: set attr interrupt: both
2016.11.06 19:44:10.753 5: Cmd: >attr INT pud_resistor up<
2016.11.06 19:44:10.765 1: PERL WARNING: Can't exec "-g": Datei oder Verzeichnis nicht gefunden at ./FHEM/51_RPI_GPIO.pm line 645, <$fh> line 87.
2016.11.06 19:44:10.769 1: stacktrace:
2016.11.06 19:44:10.772 1:     main::__ANON__                      called by ./FHEM/51_RPI_GPIO.pm (645)
2016.11.06 19:44:10.774 1:     main::RPI_GPIO_exuexpin             called by ./FHEM/51_RPI_GPIO.pm (386)
2016.11.06 19:44:10.778 1:     main::RPI_GPIO_Attr                 called by fhem.pl (3261)
2016.11.06 19:44:10.780 1:     main::CallFn                        called by fhem.pl (2620)
2016.11.06 19:44:10.782 1:     main::CommandAttr                   called by fhem.pl (1085)
2016.11.06 19:44:10.785 1:     main::AnalyzeCommand                called by fhem.pl (955)
2016.11.06 19:44:10.788 1:     main::AnalyzeCommandChain           called by fhem.pl (1218)
2016.11.06 19:44:10.792 1:     main::CommandInclude                called by fhem.pl (1085)
2016.11.06 19:44:10.794 1:     main::AnalyzeCommand                called by fhem.pl (955)
2016.11.06 19:44:10.796 1:     main::AnalyzeCommandChain           called by fhem.pl (1218)
2016.11.06 19:44:10.799 1:     main::CommandInclude                called by fhem.pl (519)
Mfg Chris

Raspberry Pi 2/2+/3/3+ / Betriebssystem: Jessie Stretch Lite
Schnittstellen: RFXtrx433E (Oregon) / SIGNALduino / nanoCUL 868MHz (FS20), nanoCUL 433 MHz (IT), LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, FS20, IT, WMR200, TEK603, YouLess, Resol VBUS & DL2, Fronius Datalogger Web 2

Offline klausw

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1895
Antw:51_RPI_GPIO.pm: PERL WARNING: Use of uninitialized value in subtraction
« Antwort #46 am: 07 November 2016, 16:35:34 »
Die Meldungen sind i.O.
Was geht nicht?
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Offline Burny4600

  • Hero Member
  • *****
  • Beiträge: 1635
Antw:51_RPI_GPIO.pm: PERL WARNING: Use of uninitialized value in subtraction
« Antwort #47 am: 07 November 2016, 18:23:32 »
Es funktioniert soweit.

Nur die Perl Warnung bekomme ich nicht weg.
PERL WARNING: Can't exec "-g": Datei oder Verzeichnis nicht gefunden at ./FHEM/51_RPI_GPIO.pm line 645, <$fh> line 87.
Mfg Chris

Raspberry Pi 2/2+/3/3+ / Betriebssystem: Jessie Stretch Lite
Schnittstellen: RFXtrx433E (Oregon) / SIGNALduino / nanoCUL 868MHz (FS20), nanoCUL 433 MHz (IT), LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, FS20, IT, WMR200, TEK603, YouLess, Resol VBUS & DL2, Fronius Datalogger Web 2

Offline klausw

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1895
Antw:51_RPI_GPIO.pm: PERL WARNING: Use of uninitialized value in subtraction
« Antwort #48 am: 07 November 2016, 21:52:29 »
ach, hab ich übersehen

vermutlich hast du wiringpi nicht installiert

das könnte ich noch abfangen

entfernen des Attributes "attr INT pud_resistor up" sollte aber auch die Fehlermeldung verschwinden lassen
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Offline Burny4600

  • Hero Member
  • *****
  • Beiträge: 1635
Antw:51_RPI_GPIO.pm: PERL WARNING: Use of uninitialized value in subtraction
« Antwort #49 am: 08 November 2016, 16:12:32 »
wiringpi ist doch bei den aktuellen FHEM Installationen automatisch dabei!?

Jedenfalls attr INT pud_resistor up hat keine Ändewrung bewirkt.
Mfg Chris

Raspberry Pi 2/2+/3/3+ / Betriebssystem: Jessie Stretch Lite
Schnittstellen: RFXtrx433E (Oregon) / SIGNALduino / nanoCUL 868MHz (FS20), nanoCUL 433 MHz (IT), LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, FS20, IT, WMR200, TEK603, YouLess, Resol VBUS & DL2, Fronius Datalogger Web 2

Offline klausw

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1895
Antw:51_RPI_GPIO.pm: PERL WARNING: Use of uninitialized value in subtraction
« Antwort #50 am: 08 November 2016, 17:18:13 »
wiringpi ist doch bei den aktuellen FHEM Installationen automatisch dabei!?

beim abgespeckten jessie nicht, soweit ich weiss

Jedenfalls attr INT pud_resistor up hat keine Ändewrung bewirkt.
poste bitte mal ein "list INT"
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Offline Burny4600

  • Hero Member
  • *****
  • Beiträge: 1635
Antw:51_RPI_GPIO.pm: PERL WARNING: Use of uninitialized value in subtraction
« Antwort #51 am: 08 November 2016, 17:35:55 »
list INT
Internals:
   CFGFN      /media/hdd/fhem/mycfg/AD_Controller/I2C_MCP23017_rasp05.cfg
   DEF        21
   EXCEPT_FD  13
   GPIO_Basedir /sys/class/gpio
   NAME       INT
   NR         242
   RPI_pin    21
   STATE      AUS
   TYPE       RPI_GPIO
   WiringPi_gpio
   Readings:
     2016-11-08 17:27:15   Pinlevel        low
     2016-11-08 17:27:15   state           off
   Fhem:
     interfaces switch
Attributes:
   active_low yes
   alias      RPI_GIPO 21 Interupt für MCP23017 Modul 1
   devStateIcon EIN:control_on_off@lightgreen AUS:control_home@red
   direction  input
   eventMap   on:EIN off:AUS
   icon       control_on_off
   interrupt  both
   pud_resistor up
   room       _GPIO,_IO
   userReadings get_int {fhem ("get mcp23017_B1_EG,mcp23017_B2_EG")}

Werde mal wiringpi zur Sicherheit nochmals nachinstallieren.


Es lag wirklich am wiringPi das bei Jessie lite nicht enthalten ist.
Danke für den Hinweis.
« Letzte Änderung: 08 November 2016, 18:01:20 von Burny4600 »
Mfg Chris

Raspberry Pi 2/2+/3/3+ / Betriebssystem: Jessie Stretch Lite
Schnittstellen: RFXtrx433E (Oregon) / SIGNALduino / nanoCUL 868MHz (FS20), nanoCUL 433 MHz (IT), LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, FS20, IT, WMR200, TEK603, YouLess, Resol VBUS & DL2, Fronius Datalogger Web 2

Offline Homalix99

  • Full Member
  • ***
  • Beiträge: 110
Hallo,
was ist eigentlich zu dem Problem von KölnSolar rausgekommen?
Ich habe ein fast identisches Problem mit meiner fhem Konfiguration.

VG

Alex
- RPI 3, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink, Arduino Nano
- GPIOs, 1-wire, HM-LAN
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überwachung Betriebstemperaturen der Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600

Offline Homalix99

  • Full Member
  • ***
  • Beiträge: 110
@Betateilchen:
Ich beziehe mich auf Deinen Hinweis: Antwort # 22 in diesem Pfad (siehe Anhang).
Gleich vorweg:
Weißt Du was die Nummer bei GEN bei Perl Warnings bedeutet? Habe nichts gefunden (FileHandler, Interrupt)???
Meine Probleme:
a) Viele Warnings aus zwei Modulen (OWX und OBIS)
b) Kontinuierlicher Speicherverlust
Angefangen mit OBIS, seit Installation im Juni (Modulautor dazu: Liegt vermutlich an nicht dekodierbaren msg. vom Stromzähler). Die Warnings treten seit Juni 'burstartig' auf. Seit Januar habe ich statt mit GPIO4 (1-wire) auf OWX umgestellt, mit kommerziellen USB-Adapter und mit dem Modul OWX erhalte ich jetzt massenhaft immer identische Warnings mit 2-3 unterschiedlichen <GEN-Typen>und (das ist das Rätselhafte):
1. Auf meinem alten RPI (der läuft noch mit der gleichen Konfig, wie der neue RPI3), treten die Warnings auch mit angehängtem OWX, samt Sensoren nicht auf. Der Unterschied: Hier sind keine GPIOs mehr angeschlossen, da auf das Produktivsystem umgehängt)
2. Nachts kaum Warnings im Log des Produktiv Systems.
3. Wenn ich ein bestimmtes Fenster öffne (via GPIO_8 angebunden), wird beim Schließen des Fensters (Flankenwechsel high->low)
u. a. ein Interrupt ausgelöst. Dies führt reproduzierbar zu einer Warning im OWX Modul mit der <GEN25>, aber erst, wenn OWX wieder einen dieser, mittlerweile 11 verschiedenen 1-Wire Sensoren abfrägt. Dies habe ich vor Tagen beobachtet. Hat scheinbar mit Interrupt zu tun.
Würde erklären, warum nachts nur wenige Warnings auftreten, da der Sensor, welcher am Gaszähler nach jeweils 10 Liter Gas einen Flankenwechsel durchführt (GPIO_16), nicht oft aktiviert wird (läuft ja nachts nur noch gelegentlich die GasWarmwassertherme). Der Heizungsbrenner und die HZ-Pumpe sind ebenfalls über GPIOs überwacht.
Das alles ist sehr seltsam und ich komm da kaum voran.
Aber immer die gleichen Warnings mit <GENxx> . Problem liegt vermutlich tiefer.


Ausserdem gefällt mir der kontinuierliche Speicherverlust (available bei free sinkt jeden Tag um 1-2 MB nicht. Könnte ein Zusammenhang bestehen. Möchte mich aber erstmal auf das Problem mit den vielen Warnings konzentrieren, die mir das Logfile zumüllen. Habe seit ein paar Tagen die Warnings im OWX Modul auskommentiert #use Warnings.

VG

Alex
- RPI 3, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink, Arduino Nano
- GPIOs, 1-wire, HM-LAN
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überwachung Betriebstemperaturen der Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600

 

decade-submarginal