Fehlermeldung im 98_HMinfo.pm Modul

Begonnen von maxritti, 23 Oktober 2013, 18:51:55

Vorheriges Thema - Nächstes Thema

maxritti

U.a. Fehler bekomme ich wenn ich folgende Eintragungen in meiner fhem.cfg habe:

Zitatdefine hm HMinfo
attr hm sumERROR battery:ok,sabotageError:off,powerError:ok,overload:off,overheat:off,reduced:off,motorError:no,error:none,uncertain:yes,smoke_detect:none,cover:closed
attr hm sumStatus battery,sabotageError,powerError,motor
attr hm webCmd update:protoEvents short:rssi:peerXref:configCheck:models

Wobei ich gar nicht weiss, wann und weshalb die in meine Config gekommen sind.

Fehler:

ZitatUse of implicit split to @_ is deprecated at ./FHEM/98_HMinfo.pm line 961, <$fh> line 87.

Nach Hinweis von rudolfkoening habe ich das mal hier als Baustelle für Martin eröffnet.

http://forum.fhem.de/index.php/topic,15453.msg101910.html#msg101910

Wenn das falsch war, oder Infos fehlen, einfach melden  ;)

betateilchen

Bist Du sicher, dass Du die aktuellste Version von HMInfo verwendest?

@martin kannst Du bei Gelegenheit der HMInfo eine $Id in SVN verpassen? Das erleichtert Vergleiche :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

maxritti

N'Abend,

sicher bin ich mir da nicht.

So sieht die Datei aus:

60265 Oct 23 20:46 98_HMinfo.pm

Vor dem ls -la 98_HM*.pm habe ich ein update gemacht.
Sollte damit die aktuellste Datei sein.

Fehler bleibt.

Need help martin ;-)

martinp876

Hi maxritti
du hast sicher ein define hm HMinfo gemacht - danach save. Dann werden einige defaults gesetzt um es erst einmal zum laufen zu bekommen.
Attribute sind im Commandref erklärt.

Der Fehler in Zeile 961 ist mir nicht klar. Hat nichts mit den Attributen oben zu tun. machst du etwas mit HMinfo templates? da müsste irgendwo ein aufruf gemacht werden - der kommt nicht automatisch - und auch nicht beim normalen booten/restart

Gruss Martin

maxritti

Wenn ich so recht überlege kann das sein mit einem "define hm HMinfo".
Dann aber wohl eher aus Unwissenheit.

Für was soll das denn hilfreich sein?

/EDIT:

Und von HMinfo tempaltes habe ich noch keinen Plan.
Das einzige was ich mal mit templates gemacht habe, war aus dem Post hier wo es um meine Steckdose in Verbindung mit dem Bewegungsmelder ging.

http://forum.fhem.de/index.php/topic,15497.msg100769.html#msg100769

Schau mal einer an. Da kam ja genau der Tip von Dir mit "define hm HMInfo"  :)
Dann werde ich den wohl ziemlich genau danach eingetippert haben.

martinp876

nun - HMInfo halte ich für hilfreich. Es gibt doku in kommandref - und auch anhand der Kommandos kannst du sehen, wozu es gut sein könnte. siehe auch "help"

nun - kannst du noch erklären, wann der Fehler bei dir auftritt? Irgend eine Aktion vorher ? booten? Wenn es booten ist wäre interessant, was im fhem.cfg steht



maxritti

Okay, ich werde mal in der Referenz vorbeischauen.

Wenn ich via ssh console den fehm Server mit /etc/init./fhem stop gestoppt habe und dann mittels /etc/init.fhem start wieder starte, kommt direkt die Meldung.

Hier mal eine fhem.cfg

attr global autoload_undefined_devices 1
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global motd none
attr global sendStatistics onUpdate
attr global statefile ./log/fhem.save
attr global uniqueID ./FHEM/FhemUtils/uniqueID
attr global updateInBackground 1
attr global userattr devStateIcon devStateStyle icon sortby webCmd
attr global verbose 3

define telnetPort telnet 7072 global

define WEB FHEMWEB 8083 global
attr WEB stylesheetPrefix darktouchpad

define WEBphone FHEMWEB 8084 global
attr WEBphone stylesheetPrefix smallscreen

define WEBtablet FHEMWEB 8085 global
attr WEBtablet stylesheetPrefix touchpad

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog

define autocreate autocreate
attr autocreate autosave 1
attr autocreate filelog ./log/%NAME-%Y.log

define eventTypes eventTypes ./log/eventTypes.txt

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create

# HM LAN Adapter
include /opt/fhem/hmlan.cfg

define dg_zirkpumpe CUL_HM 20C7F0
attr dg_zirkpumpe .devInfo 010100
attr dg_zirkpumpe .stc 10
attr dg_zirkpumpe autoReadReg 4_reqStatus
attr dg_zirkpumpe expert 2_full
attr dg_zirkpumpe firmware 1.12
attr dg_zirkpumpe icon light_light_dim_100
attr dg_zirkpumpe model HM-LC-SW1-PL2
attr dg_zirkpumpe peerIDs 00000000,1F868501,
attr dg_zirkpumpe room CUL_HM
attr dg_zirkpumpe serialNr KEQabcdef
attr dg_zirkpumpe subType switch
attr dg_zirkpumpe webCmd toggle:on:off:statusRequest
define FileLog_dg_zirkpumpe FileLog ./log/dg_zirkpumpe-%Y.log dg_zirkpumpe:off.*|dg_zirkpumpe:on.*
attr FileLog_dg_zirkpumpe logtype text
attr FileLog_dg_zirkpumpe room CUL_HM

define wc_bewegungsmelder CUL_HM 1F8685
attr wc_bewegungsmelder .devInfo 810100
attr wc_bewegungsmelder .stc 81
attr wc_bewegungsmelder actCycle 000:10
attr wc_bewegungsmelder actStatus unknown
attr wc_bewegungsmelder autoReadReg 4_reqStatus
attr wc_bewegungsmelder expert 2_full
attr wc_bewegungsmelder firmware 1.6
attr wc_bewegungsmelder model HM-SEC-MDIR
attr wc_bewegungsmelder peerIDs
attr wc_bewegungsmelder room CUL_HM
attr wc_bewegungsmelder serialNr KEQ123456
attr wc_bewegungsmelder subType motionDetector
define FileLog_wc_bewegungsmelder FileLog ./log/wc_bewegungsmelder-%Y.log wc_bewegungsmelder
attr FileLog_wc_bewegungsmelder logtype text
attr FileLog_wc_bewegungsmelder room CUL_HM
define ActionDetector CUL_HM 000000
attr ActionDetector actCycle 600
attr ActionDetector event-on-change-reading .*
attr ActionDetector room CUL_HM
define FileLog_ActionDetector FileLog ./log/ActionDetector-%Y.log ActionDetector
attr FileLog_ActionDetector logtype text
attr FileLog_ActionDetector room CUL_HM
define hm HMinfo
attr hm sumERROR battery:ok,sabotageError:off,powerError:ok,overload:off,overheat:off,reduced:off,motorError:no,error:none,uncertain:yes,smoke_detect:none,cover:closed
attr hm sumStatus battery,sabotageError,powerError,motor
attr hm webCmd update:protoEvents short:rssi:peerXref:configCheck:models
define SVG_FileLog_dg_zirkpumpe_1 SVG FileLog_dg_zirkpumpe:SVG_FileLog_dg_zirkpumpe_1:CURRENT
define a_dg_zirkpumpe at +*01:00 {addLog("dg_zirkpumpe","state")}
attr a_dg_zirkpumpe room 99_System


Eingebunden wird noch die Config für den HM LAN Adapter, die so aussieht:


#####################################
##                                 ##
## HomeMatic LAN Adapter           ##
##                                 ##
#####################################

define myHMLAN HMLAN 192.168.178.23:1000
attr myHMLAN hmId 123ABC
attr myHMLAN hmLanQlen 1_min
attr myHMLAN wdTimer 25

martinp876

also die Einträge in fhem.cfg sind normal.
der Fehler tritt bei mir nicht auf. Irgendetwas anderes passiert bei dir noch.
kannst du einmal einen update force machen - nur zur sicherheit

Gruss Martin

maxritti

Ein update force ist durch.
Da scheint sich auch etwas getan zu haben:

2013-10-24 09:46:10 Global global update 1092 file(s) have been updated.

Allerdings nach wie vor die Meldung in der 98_HMinfo.pm

martinp876

immer noch Zeile 961? kann ich beim besten willen nicht nachvollziehen.
gibt es irgend einen sonstigen code, den du ausführen lässt?

maxritti

#10
Nein, die Zeile hat sich nun verändert.

Use of implicit split to @_ is deprecated at ./FHEM/98_HMinfo.pm line 912, <$fh> line 78.

Sonstige Skripte lasse ich nicht laufen.

Das Start-Stop-Skript ist original aus dem deb Packet und dann updates:

#!/bin/sh
# description: Start or stop the fhem server
# Added by Alex Peuchert

### BEGIN INIT INFO
# Provides:             fhem.pl
# Required-Start:       $local_fs $remote_fs
# Required-Stop:        $local_fs $remote_fs
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    FHEM server
### END INIT INFO

set -e
cd /opt/fhem
port=7072

case "$1" in
'start')
        echo "Starting fhem..."
        perl fhem.pl fhem.cfg
        RETVAL=$?
        ;;
'stop')
        echo "Stopping fhem..."
        perl fhem.pl $port "shutdown"
        RETVAL=$?
        ;;
'status')
        cnt=`ps -ef | grep "fhem.pl" | grep -v grep | wc -l`
        if [ "$cnt" -eq "0" ] ; then
                echo "fhem is not running"
        else
                echo "fhem is running"
        fi
        ;;
*)
        echo "Usage: $0 { start | stop | status }"
        RETVAL=1
        ;;
esac
exit $RETVAL


Ich habe ja ein zusätzliches Modul integriert, damit ich in meinen Plots Abrisse vermeiden kann:

define a_dg_zirkpumpe at +*01:00 {addLog("dg_zirkpumpe","state")}
attr a_dg_zirkpumpe room 99_System


Aber selbst, wenn ich die beiden Zeilen auskommentiere, kommt die Meldung nach wie vor.

Erst wenn ich die HMInfo Zeilen aus der Config rausnehme, ist ruhe. Dann kommt keine Meldung mehr.

define hm HMinfo
attr hm sumERROR battery:ok,sabotageError:off,powerError:ok,overload:off,overheat:off,reduced:off,motorError:no,error:none,uncertain:yes,smoke_detect:none,cover:closed
attr hm sumStatus battery,sabotageError,powerError,motor
attr hm webCmd update:protoEvents short:rssi:peerXref:configCheck:models


Aber las mal gut sein.
Es scheint ja soweit alles zu laufen.
Wenn mal wieder etwas nicht klappen sollte, kann ich mich ja noch mal daran erinnern.
Möglicherweise findet man (Du) dann etwas.