Hallo zusammen,
ich habe folgendes Phänomen bzw. folgenden Bug gefunden:
Wenn ich ein "Set xyz test" eingebe (großes S bei Set), passiert nichts (xyz muss auch nicht existieren). Der Befehl wird scheinbar nicht ausgeführt und es kommt auch keine Fehlermeldung.
Gebe ich danach ein "Set abc test" ein ist das Verhalten identisch zu dem "Set" davor. Ok, soweit auch logisch.
Aber jetzt kommts:
Ich habe ein paar notifys, die mir jeweils einen Timer (at) anlegen. Immer wenn jetzt ein notify ausgeführt wird, und ich einen Timer definiere (define 3.dg.treppe.bewegungsmelder.at at +00:00:32 setreading 3.dg.treppe.bewegungsmelder state motion_off), habe ich folgenden Log-Eintrag:
3.dg.treppe.bewegungsmelder.at: unknown attribute xyz. Type 'attr 3.dg.treppe.bewegungsmelder.at ?' for a detailed list.
3.dg.treppe.bewegungsmelder.at: unknown attribute abc. Type 'attr 3.dg.treppe.bewegungsmelder.at ?' for a detailed list.
Der Timer funktioniert trotzdem. Immer wenn ich jetzt einen Timer definiere, kommen die beiden Fehlermeldungen
Was ist da los. Ohne "shutdown restart" bekomme ich die Fehlermeldungen nicht mehr weg.
Viele Grüße
Felix
Die Loesung des Reatsels sieht man, wenn man "attr global verbose 5" verwendet:
2015.12.10 11:02:47.374 5: Cmd: >Set xyz test<
2015.12.10 11:02:47.374 5: Set => setdefaultattr
Da Set nicht existiert, geht fhem von einer Abkuerzung aus, und sucht nach Befehlen, die laenger als "Set" sind, und deren Praefix (Grossschreibung ignoriert) mit Set anfaengt.
Btw, es wird Zeit setdefaultattr als deprecated zu markieren, ich gehe davon aus, dass es nicht verwendet wird. Stoerte bisher nur selten.
Hallo Rudi,
es ist aber eigentlich auch nicht schön, wenn FHEM sowas stillschweigend macht, ohne ein feedback zu geben.
Abkürzungen können ja sehr angenehm sein :) , aber die sollte man sich m.E. doch explizit per cmdalias selbst anlegen.
Gruß Benni.
Da bin ich anderer Ansicht :)
Ich würde setdefaultattr ehrlich vermissen. Gerade bei der Neuanlage von mehrkanaligen Homematic devices ist das sehr hilfreich, wenn man plötzlich 10 Kanäle als eigene devices konfigurieren muss.
Dann bleibt setdefaultattr erhalten.
Danke.
Vermutlich haben wir beide was gemeinsam: Ich bin einer der wenigen, die mit setdefaultattr arbeiten und Du dürftest einer der wenigen sein, der die Kurzformen der Befehle benutzt 8)
Ich habe übrigens nichts gegen setdefaultattr, ganz im Gegenteil. Und jetzt, da ich das mit den Kurzbefehlen weiß, werde ich sie bestimmt auch nutzen, schließlich bin ich ja auch von Haus aus faul ;)
Es ging mir lediglich um das auf den ersten Blick willkürliche verhalten, gerade im ursprünglichen Beispiel dieses Threads, schließlich gäbe es bei "Set" ja durch aus mehrere mögliche alternativen, nämlich "set", "setdefaultattr", "setreading" und "setstate".