[patch] 98_dewpoint.pm

Begonnen von hotbso, 23 Oktober 2017, 10:43:18

Vorheriges Thema - Nächstes Thema

till24

bei mir kommt das:

2017.12.05 19:42:09 1: /usr/share/perl5/Math/Round.pm

hotbso

Zitat von: till24 am 05 Dezember 2017, 19:45:30
bei mir kommt das:

2017.12.05 19:42:09 1: /usr/share/perl5/Math/Round.pm
Das heißt ja dann wohl:

Wenn man ein Modul benutzt, das Math::Round importiert, torpediert das andere Module inklusive fhem.pl.


Gesendet von meinem Nexus 5X mit Tapatalk


mahowi

Bei mir ist es auch
/usr/share/perl5/Math/Round.pm


Math::Round wird von mehreren Modulen genutzt:
pi@raspberrypi:/opt/fhem/FHEM $ grep Math\:\:Round *
00_SIGNALduino.pm:#use Math::Round qw();
14_SD_WS09.pm:    #use Math::Round qw/nearest/;
31_MilightDevice.pm:#use Math::Round ();
31_MilightDevice.pm:  #return Math::Round::round($number);
31_MilightDevice.pm:  <p>Requires perl module Math::Round</p>
45_Plugwise.pm:#use Math::Round;
71_XiaomiSmartHome_Device.pm:use Math::Round qw/nearest/;
71_XiaomiSmartHome.pm:eval "use Math::Round";
98_MediaList.pm:use Math::Round qw/round/;


Meiner Meinung nach ist es etwas unglücklich, interne Funktionen genauso wie Perl-eigene zu benennen.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

hotbso

Bei den meisten ist es kommentiert,

Über bleiben
pi@raspberrypi:/opt/fhem/FHEM $ grep Math\:\:Round *
71_XiaomiSmartHome_Device.pm:use Math::Round qw/nearest/;
71_XiaomiSmartHome.pm:eval "use Math::Round";
98_MediaList.pm:use Math::Round qw/round/;


Die 71_Xiaomi* sind nicht Teil des "offiziellen" Release. Bleibt eigentlich nur 98_MediaList.pm .

@till24: Benutzt Du eins von diesen Modulen ?

till24

Ja, ich benutze die Xiaomi Module..

hotbso

Ich habe in den entsprechenden Foren einen Hinweis hinterlassen.

Gesendet von meinem Nexus 5X mit Tapatalk


mahowi

#36
Ich sehe es nach wie vor als problematisch, das intern eine Funktion eines offiziellen Perl-Moduls überschrieben wird. Da nirgendwo daraufhin gewiesen wird, kann es hier auch zu unvorhersehbaren Problemen mit eigenen Routinen in z.B. 99_myUtils.pm kommen.

Vielleicht kann Rudi was dazu sagen, er ist Maintainer der 99_Utils.pm.

Edit: Ich habe mal einen neuen Thread dazu aufgemacht: [99_Utils.pm] round() in Konflikt mit Math::Round
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

igami

Bei mir wird für dewpoint zwar ein Event erzeugt, jedoch werden die Werte in der Detailansicht nicht aktualisiert und DbLog bekommt davon auch nichts mit.
Das gleiche Problem gab es schon beim powerMap Modul. Die Lösung ist hier: Events aus X_Notify() heraus erzeugen
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

hotbso


hotbso

Hhm, das Modul lag ja lange Jahre ziemlich brach.
Die Funktion deviceEvents aus dem Zitat wird hier noch gar nicht verwendet (wollte ich demnächst mal einbauen). Von daher passt das Beispiel aus dem Link (glaube ich zumindest) nicht so ganz. Muss ich mir noch mal genau ansehen.

hotbso

Zitat von: igami am 14 Dezember 2017, 16:42:38
Bei mir wird für dewpoint zwar ein Event erzeugt, jedoch werden die Werte in der Detailansicht nicht aktualisiert und DbLog bekommt davon auch nichts mit.
Das gleiche Problem gab es schon beim powerMap Modul. Die Lösung ist hier: Events aus X_Notify() heraus erzeugen
Ich habe das Verfahren aus dem Link jetzt mal sinngemäß übernommen.
Events gibt es jetzt nur noch, wenn das Reading dewpoint durch die Filter event-on-(update|change)-reading durchgeht.

Updates im Webinterface sind bei mir seit einigen Wochen generell sehr problematisch und funktionieren nur sporadisch oder zeitlich um Minuten verzögert. Ich vermute, dass das Webinterface hier auch beteiligt ist.

DbLog benutze ich nicht, bitte teste die anhängende Version doch mal.

hotbso

Habe die Version soeben eingecheckt. Bei mir geht auch Dblog.

Mr. Flash

Hallo Holger,

vielen Dank für die neue Version von 98_dewpoint.pm

Leider scheint sich da ein kleiner Fehler eingeschlichen zu haben, bei mir steht im Logfile:

2017.12.30 11:04:47 3: dewpoint_notify: alarm OFF
2017.12.30 11:07:21 3: dewpoint_notify: alarm ON
Undefined subroutine &main::Logr called at ./FHEM/98_dewpoint.pm line 386.


In Zeile 386 von "98_dewpoint.pm" steht dann anstelle von "Log3" ein "Logr", diese Funktion wird natürlich nicht gefunden.
Könntest Du das bitte korrigieren und ein Update bereitstellen? Vielen Dank.

Grüße,
Nik
RPi 3B+; Buster; FHEM 5.9; S.USV basic; BME280; TSL25911.
HM: CFG-LAN (0.965),CFG-USB-2,CC-RT-DN,Dis-(EP-)WM55,ES-PMSw1-Pl,ES-TX-WM,LC-Dim1T-FM,LC-Sw1-FM,LC-Sw2-FM,MOD-RPI-PCB,OU-CFM-Pl,RC-Dis-H-x-EU,SCI-3-FM,Sec-MDIR-2,-RHS,-SD,-SC-2,-SCo,-Sir-WM,-TiS,-WDS-2,TC-IT-WM-W-EU,WDS10-TH-O,WDS30-OT2-SM

hotbso

Hallo Nik,

peinlich 8-( .

Habe das korrigiert und eingecheckt.

Gruss
Holger

Mr. Flash

RPi 3B+; Buster; FHEM 5.9; S.USV basic; BME280; TSL25911.
HM: CFG-LAN (0.965),CFG-USB-2,CC-RT-DN,Dis-(EP-)WM55,ES-PMSw1-Pl,ES-TX-WM,LC-Dim1T-FM,LC-Sw1-FM,LC-Sw2-FM,MOD-RPI-PCB,OU-CFM-Pl,RC-Dis-H-x-EU,SCI-3-FM,Sec-MDIR-2,-RHS,-SD,-SC-2,-SCo,-Sir-WM,-TiS,-WDS-2,TC-IT-WM-W-EU,WDS10-TH-O,WDS30-OT2-SM