Hallo,
wollte gerade eine Shelly Bulb in Betrieb nehmen, die ich über MQTT2 eingebunden habe.
Wenn ich nun im Device das "set MQTT2_shellybulb_xxxx attrTemplate shellybulb" absetze, dann kommt die folgende Fehlermeldung:
MQTT2_shellybulb_xxxx: unknown attribute genericDeviceType. Type 'attr MQTT2_shellybulb_3CC29C ?' for a detailed list.
Wie kann ich das lösen?
Soll ich das Attribut genericDeviceType selbst einfügen? Auf welchen Wert soll ich es setzen?
Eigentlich ist alles am letzten Stand (fhem und Shelly firmware).
Danke, lg, Gerhard
Welche Version der attrTemplate-Datei hast du? (Bitte im Quelltext unter ./FHEM/lib/AttrTemplate/mqtt2.template nachsehen)
Bei den neueren sollte das nur gesetzt werden, wenn auch eine Sprachsteuerung aktiv ist. Wenn es da dann nicht klappt, stimmt mit den generellen Einstellungen was nicht...
Meinst Du diesen Eintrag in der mqtt2.template?
# $Id: mqtt2.template 22811 2020-09-21 12:24:28Z Beta-User $
Wenn ich das Template auswähle, erscheint auch die Meldung:
shellybulb using original firmware
Tested with 1.49
In der Datei steht in der Section shellybulb u.a. folgendes:
#attr DEVICE genericDeviceType light
attr DEVICE jsonMap brightness:pct
set DEVICE x_mqttcom announce
set DEVICE attrTemplate speechcontrol_type_light
Kann das das Problem sein?
Sprachsteuerung habe ich keine aktiv.
lg, Gerhard
Hmm, bin grade etwas ratlos, das sollte eigentlich passen...
Die Zeile mit dem #attr ist auskommentiert, wenn, dann kommt es aus der letzten Zeile (speechcontrol_type...).
Da wird aber auch nur was gemacht, wenn die Voraussetzungen passen, also (im Prinzip)
list TYPE=(siri|alexa|gassistant)
was auswirft. Sicher, dass da nichts kommt?
Das ,, list TYPE=(siri|alexa|gassistant)" brachte meine uralte Siri zu Tage, die ich 2017 mal ausprobiert habe.
Die ist aber deaktiviert.
Muss ich dann das ,,#" wegnehmen?
Oder ich lösch Siri einfach.
Wie ist das dann eigentlich, wenn ich mal eine Sprachsteuerung installieren will.
Übern Winter wollte ich da mal was versuchen.
Muss ich die Templates dann neu anwenden, zumindest bei den Shellys, die ich dann steuern will?
Danke, Lg, Gerhard
Da vermutlich zukünftig der eine oder andere über das Thema stolpert und dann ggf. hier landet etwas ausführlicher:
- attrTemplate unterscheidet derzeit nicht zwischen aktiven Sprachsteuerungen und deaktivierten. Es wird einfach davon ausgegangen, dass die dazu gehörenden Attribute gesetzt werden können. (Ergo: Entweder die Attribute allg. zulassen, oder das "historische" Sprachsteuerungs-Device löschen).
- Das "#" deaktiviert die Zeile. Die steht da auch nur noch aus historischen Gründen, vermutlich weil ich das mal als Merker "für später" dringelassen hatte, das ist aber überholt durch die Zeile, in der
set DEVICE attrTemplate speechcontrol_type_light
aufgerufen wird; das ist der Teil, der die fragliche Rückmeldung verursacht ;) . Bei Gelegenheit sollte ich mal aufräumen, dann fliegt die deaktivierte Zeile ganz raus (will sagen: vergiss die einfach).
- Wenn du die Sprachsteuerung dann mal installierst bzw. aktivierst, _kannst_ du das vollst. attrTemplate anwenden -was ggf. "gut" ist, wenn es updates gab, aber andererseits auch dazu führen kann, dass bewußte Abweichungen überschrieben werden bzw. ggf. auch Readings anders heißen usw. (je nach template) -, oder eben die entsprechenden Attribute händisch setzen, oder - und deswegen schreibe ich das hier etwas ausführlicher - nur den "Spracherkennungsteil" verwenden, um die passenden Attribute zu setzen.
set DEVICE attrTemplate speechcontrol_type_light
auf der Kommandozeile klappt nämlich nicht nur im Kontext von MQTT2_DEVICE, sonderen bei allen Device-TYPEs, die attrTemplate (bzw. SetExtensions) unterstützen, also z.B. auch bei HUEDevice, MAX und ZWave... Es gibt auch noch eine Reihe weiterer "speechcontrol-type-xyz"-templates, die man auf diese Weise verwenden kann, was genau, sieht man entweder, wenn man in den Quelltext (https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/lib/AttrTemplate/speechcontrol.template) schaut, oder ein passendes Device "speechrecognTesting" benennt- dann werden die nicht mehr weggefiltert und man sieht eine kleine desc:, die sich aber eher an (andere) template-Maintainer richtet, und eben die Kommandos, die gesetzt werden...
Perfekt. Danke!
Dann werde ich mein Siri wohl mal löschen und später wieder in das Thema einsteigen.
lg, Gerhard