Fehler beim Speichern der fhem.cfg

Begonnen von baumeister, 09 Juli 2014, 20:24:39

Vorheriges Thema - Nächstes Thema

baumeister

Hallo,

seit heute erhalte ich immer nach dem Speichern der fhem.cfg folgende Fehlermeldung als Ausgabe in der Konsole:
Can't use an undefined value as an ARRAY reference at ./FHEM/10_CUL_HM.pm line 6561.

Fhem stürtzt dann ab und ich muss den Server von Hand neu starten. Der Start geht dann reibungslos ohne weitere Fehlerausgabe. Es existiert kein Eintrag im Logfile.

Irgendjemand eine Idee?

Puschel74

Hallo,

Zitatseit heute erhalte ich immer nach dem Speichern der fhem.cfg folgende Fehlermeldung als Ausgabe in der Konsole:
Wurde das schon erwähnt  :o

Finger weg von der fhem.cfg und du hast weniger bis keine Probleme  ;)

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

martinp876

wie hast du die vccu definiert? kannst du davon ein list schicken? In dem fall, wenn es schief gehen würde?

baumeister

Hallo,

wie soll ich das list machen? fhem ist dann aus und nicht mehr verfügbar.

Das ist mein immer reproduzierbarer Weg:
- fhem im Browser aufrufen
- Tab edit files auswählen
- fhem.cfg auswählen
- save klicken
- eventuelle Änderungen werden gespeichert, dann kommt die Fehlermeldung in der Konsole
- fhem Prozess ist weg
- händischer Neustart über Konsole ohne Fehler

Was wird in FHEM/10_CUL_HM.pm line 6561 gemacht? Kann es an einer nicht mehr kompatiblen Konfig Einstellung eines hm Devices liegen?

martinp876

Zitatwie soll ich das list machen? fhem ist dann aus und nicht mehr verfügbar.
nun - vorher

ZitatWas wird in FHEM/10_CUL_HM.pm line 6561 gemacht? Kann es an einer nicht mehr kompatiblen Konfig Einstellung eines hm Devices liegen?
da werden daten der vccu genutzt. Da fehlt etwas, das immer da sein sollte. Das will ich sehen, daher das List

baumeister

Hallo

ist wie folgt definiert:

#virtual ccu
define vccu CUL_HM F11234
attr vccu IODev CUL_0
attr vccu model CCU-FHEM
attr vccu subType virtual
attr vccu webCmd virtual:update


devices using vccu
current IO / preferred
  CUL_0 / --- Aktor_Garten_Terrasse
  CUL_0 / --- Aktor_Innenhof_Haus
  CUL_0 / --- Bad_OG_Fenster
  CUL_0 / --- Beet_Garten_Switch
  CUL_0 / --- Beet_Innenhof_Switch
  CUL_0 / --- Flur_EG_Lampe
  CUL_0 / --- Flur_OG_Lampe
  CUL_0 / --- Flur_Treppe_Lampe
  CUL_0 / --- WC_EG_Lampe

Ist es das?

frank

in die eingabezeile schreibst du:
list vccu
gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

baumeister

Danke!

Internals:
   DEF        F11234
   IODev      CUL_0
   NAME       vccu
   NR         32
   STATE      CUL_0:UAS,
   TYPE       CUL_HM
   assignedIOs CUL_0
   Readings:
   Helper:
     mId        FFF0
     rxType     1
     Io:
       prefIO
       vccu
       ioList:
     Mrssi:
       mNo
     Prt:
       bErr       0
       sProc      0
     Q:
       qReqConf
       qReqStat
     Role:
       chn        1
       dev        1
       vrt        1
Attributes:
   IODev      CUL_0
   model      CCU-FHEM
   subType    virtual
   webCmd     virtual:update

frank

spendier doch mal noch ein:
attr vccu IOList CUL_0
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

baumeister

Spendiert:-)

Internals:
   DEF        F11234
   IODev      CUL_0
   NAME       vccu
   NR         32
   STATE      CUL_0:ok,
   TYPE       CUL_HM
   assignedIOs CUL_0
   Readings:
   Helper:
     mId        FFF0
     rxType     1
     Io:
       prefIO
       vccu
       ioList:
         CUL_0
     Mrssi:
       mNo
     Prt:
       bErr       0
       sProc      0
     Q:
       qReqConf
       qReqStat
     Role:
       chn        1
       dev        1
       vrt        1
Attributes:
   IODev      CUL_0
   IOList     CUL_0
   model      CCU-FHEM
   subType    virtual
   webCmd     virtual:update

frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

baumeister

anbei der output der Konsole

# Use of uninitialized value in concatenation (.) or string at ./FHEM/98_HMinfo.pm line 220.
Illegal hexadecimal digit 't' ignored at ./FHEM/10_CUL_HM.pm line 4860.
substr outside of string at ./FHEM/00_CUL.pm line 711.
Use of uninitialized value $id in hash element at ./FHEM/00_CUL.pm line 712.
Use of uninitialized value $id in hash element at ./FHEM/00_CUL.pm line 585.
Use of uninitialized value $id in hash element at ./FHEM/00_CUL.pm line 586.
Illegal hexadecimal digit 't' ignored at ./FHEM/10_CUL_HM.pm line 4685.
Can't use an undefined value as an ARRAY reference at ./FHEM/10_CUL_HM.pm line 6568.

martinp876

da hast du aber jetzt
- eine andere Version der SW
- eine andere Aktion gemacht
muss ich raten?

es fehlt wohl ein automatischer update.

mache nach dem Setzen des IOList ein s
set vccu update
(wird morgen automatisch gehen)

was passiert dann?



Deudi

Zitat von: baumeister am 09 Juli 2014, 20:24:39
Can't use an undefined value as an ARRAY reference at ./FHEM/10_CUL_HM.pm line 6561.

Hallo ich klinke mich hier mal ein, denn die Fehlermeldung hat mir heute auch Kummer gemacht.

Bisher hatte ich drei HMLAN mit drei unterschiedlichen HMIDs. Dadurch nun viele "Unknown Code" Meldungen, die ich los werden wollte. Die virtuelle CCU schien mir außerdem wegen der Redundanzschaltung interessant.
Vor ca. einer Woche habe ich zwei meiner drei HMLAN auf die gleiche HMID (nennen wir sie mal HMID1) umgestellt und dann dafür eine CCU definiert. Den dritten HMLAN habe ich mit einer anderen HMID (HMID2) ohne CCU nebenher laufen lassen. Funktionierte bis heute morgen. Da standen alle HMLAN auf disconnected. Als sich das nicht besserte habe ich einen "shutdown restart" gemacht. Danach kam die obige Fehlermeldung und FHEM hat sich beendet. Da sich in besagter Zeile Code für die CCU befindet, habe ich die CCU in der fhem.cfg auskommentiert. Danach ist FHEM wieder gestartet, allerdings habe ich nun andere Fehlermeldungen und interessante Readings. Zum Beispiel sind zwei Lichtaktoren nun miteinander gepeert. Häh?
Ich habe heute morgen in einer 2 Stunden Aktion die restlichen noch auf der HMID2 laufenden Geräte auf HMID1 umgestellt. Eine CCU zu definieren traue ich mich nun zumindest dauerhaft nicht, da es demnächst in Urlaub geht und die Rollläden zuverlässig fahren sollen.
Ich poste heute Abend mal die Fehlermeldungen und die Daten zur CCU.


P.S.: Ich hatte ziemlich große Probleme die HMID von Geräten zu wechseln, z.B. bei einem Fenstergriffkontakt. Der konnte auch nach einem Reset auf Werkseinstellungen nicht mit FHEM gepairt werden. Ich habe dann per regSet die neue HMID in das Register schreiben müssen. Anlernen hatte nicht funktioniert.
Wenn man eine CCU definiert hat, macht man dann für neue Geräte das hmPairForSec mit der CCU oder einem der assigned HMLAN?
Gigabyte Brix, Ubuntu 16.04.3 LTS, Homematic, Z-Wave, EnOcean, Shelly@MQTT, SIGNALduino, JeeLink DAVIS-Sketch

martinp876

Zitat
Vor ca. einer Woche habe ich zwei meiner drei HMLAN auf die gleiche HMID (nennen wir sie mal HMID1) umgestellt und dann dafür eine CCU definiert.
wie immer du dein System aufsetzen willst:
mehrere (unterschiedliche) HMIds machen nur selten sinn. Du kannst damit mehrere virtuelle HM-Systeme aufziehen, die in FHEM zusammengefasst werden. Du kannst auch mehrere vccu definieren (was ich auch bei nur einem IO anrate)

ZitatDa standen alle HMLAN auf disconnected.
eine CCU macht kein connect/disconnect. habe die übrigen Parameter etwas ausgesagt? Gibt es irgendwelche logs?

ZitatDanach kam die obige Fehlermeldung und FHEM hat sich beendet.
sollte behoben sein. Habe gerade noch einen weiteren Check eingebaut.

ZitatDanach ist FHEM wieder gestartet, allerdings habe ich nun andere Fehlermeldungen und interessante Readings. Zum Beispiel sind zwei Lichtaktoren nun miteinander gepeert. Häh?
das peering steht im Attribut peerIDs und wird von  dort in das Reading übertragen (lesbar). Was also stand im Attribut? Hast du ein getConfig gemacht oder kam dies aus deine .cfg?

ZitatIch habe heute morgen in einer 2 Stunden Aktion die restlichen noch auf der HMID2 laufenden Geräte auf HMID1 umgestellt.
prinzipiell eine gute Idee
Zitat
P.S.: Ich hatte ziemlich große Probleme die HMID von Geräten zu wechseln, z.B. bei einem Fenstergriffkontakt. Der konnte auch nach einem Reset auf Werkseinstellungen nicht mit FHEM gepairt werden. Ich habe dann per regSet die neue HMID in das Register schreiben müssen. Anlernen hatte nicht funktioniert.
das macht HM 'gerne'. Wenn die Zentrale gesetzt ist, klappt das Anlernen in der gewohnten Form nicht. Ähnlich einem Device, das nur einen Peer hat (z.B. SD) Man muss erst löschen, dann setzen.
Das ist aber nicht immer so - nur meistens.
Dein Weg, es ins Register zu schreiben umgeht das Ganze - hätte ich auch so gemacht. Die aktuelle Zentrale darf nun einmal die Register schreiben/Ändern - und damit auch die "zentrale".

ZitatWenn man eine CCU definiert hat, macht man dann für neue Geräte das hmPairForSec mit der CCU oder einem der assigned HMLAN?
geht beides. Diese Funktionen haben m.e. nichts im IO zu suchen - daher empfehle ich, es in der CCU zu machen. Mein vorschlag ist, immer eine (oder mehrere) ccu zu definieren und die IOs darüber zu steuern. Die Kommandos im IO sind somit ein Auslaufmodell.
Das hätte dein Problem aber nicht gelöst, siehe oben.

Gruss Martin