FHEM Forum

FHEM => Sonstiges => Thema gestartet von: KernSani am 29 Dezember 2018, 17:20:56

Titel: [Gelöst] Popup bei HM_CUL-Geräten - skipTrigger wird in fhem.pl als "Fehler"
Beitrag von: KernSani am 29 Dezember 2018, 17:20:56
Hallo Rudi,

ich habe seit kurzem das seltsame Phänomen, dass ich beim schalten von CUL_HM ein Popup mit Inhalt 1 zurück bekomme, auch DOIFs etc... liefern einen Log-Eintrag mit der "1". FHEM wurde vorgestern aktualisiert. Ich habe das mal analysiert, CUL_HM gibt aus der setFn "skipTrigger" zurück:

return ("",1);# no not generate trigger out of command
.

in fhem.pl DoSet:
my ($ret, $skipTrigger) = CallFn($dev, "SetFn", $hash, ...
wird dann $ret statt $skipTrigger mit der 1 belegt und als Fehler zurückgegeben. Ich habe mir eine Log-Meldung die fhem.pl eingebaut um das zweifelsfrei zu belegen... Komisch ist nur dass sich - soweit ich das nachvollziehen konnte - an der Stelle seit langem nichts geändert hat... (Auch bei CUL_HM nicht).

Hast du eine Ahnung, was da schief stehen könnte?

Danke,

Grüße,

Oli

Titel: Antw:Popup beim HM_CUL-Geräten - skipTrigger wird in fhem.pl als "Fehler" erkannt
Beitrag von: rudolfkoenig am 29 Dezember 2018, 17:49:27
Ich hab das versucht nachzustellen, ohne Ergebnis (sprich Problem).
Wenn ich helfen soll, brauche ich
- "list -r" Output vom IODev
- "list -r" Output von einem betroffenen Geraet
- Befehl, was du absetzt
- wie genau setzt Du den Befehl ab (click auf icon, link, Auswahl aus Menu, etc).
Titel: Antw:Popup beim HM_CUL-Geräten - skipTrigger wird in fhem.pl als "Fehler" erkannt
Beitrag von: KernSani am 29 Dezember 2018, 18:04:07
Hi Rudi,

es ist egal, wie ich den Befehl (also ein set <device> on) absetze, Kommandozeile, direkt im Device, über DOIF/Notify oder über webCmd bzw. Icon, Verhalten ist immer nahezu das selbe.
* Webcmd/Icon --> Popup mit "1" (bzw... dem Wert, den ich in 10_CUL_HM als skipTrigger mitgebe)
* DOIF --> Eintrag im Log
* Kommandozeile/Device --> Anzeige von "1" im Webinterface (kein Popup)
Der Befehl wird in allen Fällen korrekt ausgeführt (für set xy off, on-for-timer etc... gilt dasselbe)

IODev:
define hmusb HMLAN 127.0.0.1:1234
attr hmusb group HomeMatic
attr hmusb hmId XXXXXX
attr hmusb hmLanQlen 1_min
attr hmusb loadLevel 0:low,40:batchLevel,90:high,99:suspended
attr hmusb room IODevices


Device

define EG_AZi_Licht CUL_HM 50A4E2
attr EG_AZi_Licht userattr consumers consumers_map floor floor_map structexclude
attr EG_AZi_Licht IODev hmusb
attr EG_AZi_Licht IOgrp vccu:hmusb
attr EG_AZi_Licht alexaName arbeitszimmer lampe
attr EG_AZi_Licht alexaRoom arbeitszimmer
attr EG_AZi_Licht alias EG Arbeitszimmer Licht
attr EG_AZi_Licht autoReadReg 4_reqStatus
attr EG_AZi_Licht expert 1_allReg
attr EG_AZi_Licht firmware 2.8
attr EG_AZi_Licht floor st_eg
attr EG_AZi_Licht genericDeviceType light
attr EG_AZi_Licht group Licht
attr EG_AZi_Licht model HM-LC-Sw1PBU-FM
attr EG_AZi_Licht peerIDs 00000000,50A4E201,50A4E202,
attr EG_AZi_Licht room Alexa,Erdgeschoss->Arbeitszimmer,Homekit,Übersicht
attr EG_AZi_Licht serialNr NEQ1645071
attr EG_AZi_Licht siriName Arbeitszimmer Licht
attr EG_AZi_Licht structexclude st_eg:.*
attr EG_AZi_Licht subType switch
attr EG_AZi_Licht verbose 2
attr EG_AZi_Licht webCmd on:off
Titel: Antw:Popup beim HM_CUL-Geräten - skipTrigger wird in fhem.pl als "Fehler" erkannt
Beitrag von: KernSani am 29 Dezember 2018, 18:07:52
Viellecht noch als Ergänzung, ich habe in fhem.pl folgendes gemacht:

  my ($ret, $skipTrigger) = CallFn($dev, "SetFn", $hash,
                $modules{$hash->{TYPE}}->{parseParams} ? parseParams(\@a) : @a);
  Log3 undef,1, "-->$dev | $ret | $skipTrigger" if ($dev eq "EG_AZi_Licht");                        ## hinzugefügt zum debuggen
  return $ret if($ret);


im Log steht dann:

2018.12.29 17:59:55 1: -->EG_AZi_Licht | 1 |

Titel: Antw:Popup beim HM_CUL-Geräten - skipTrigger wird in fhem.pl als "Fehler" erkannt
Beitrag von: rudolfkoenig am 29 Dezember 2018, 18:28:22
Wenn ich deine Definition anwende, kriege ich im Log:
Zitat2018.12.29 18:22:46 1: configfile: wrong syntax: hmId must be 6-digit-hex-code (3 byte)
EG_AZi_Licht: unknown attribute alexaName. Type 'attr EG_AZi_Licht ?' for a detailed list.
EG_AZi_Licht: unknown attribute alexaRoom. Type 'attr EG_AZi_Licht ?' for a detailed list.
EG_AZi_Licht: unknown attribute genericDeviceType. Type 'attr EG_AZi_Licht ?' for a detailed list.
EG_AZi_Licht: unknown attribute siriName. Type 'attr EG_AZi_Licht ?' for a detailed list.

2018.12.29 18:22:46 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/10_CUL_HM.pm line 4114.
2018.12.29 18:22:46 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/10_CUL_HM.pm line 4115.
Beim Schalten (Klick auf on oder off im Raum Alexa) keine Fehler.

Ich gehe davon aus, dass CUL_HM in deinem Fall anders reagiert, als bei mir.
Wenn CUL_HM fuer $ret 1 zurueckliefert, dann ist das Problem da zu suchen.
Um es eindeutig zuordnen zu koennen, wuerde ich vor "Log3..." ein stacktrace() einbauen.

Titel: Antw:Popup beim HM_CUL-Geräten - skipTrigger wird in fhem.pl als "Fehler" erkannt
Beitrag von: KernSani am 29 Dezember 2018, 18:47:27
Schande über mich... stacktrace war ein guter Tipp... Der Freezemon ist schuld  :-[ :-[ :-[