mqtt2.speech.template:TINT GU-10 white

Begonnen von TomLee, 03 Februar 2020, 18:34:44

Vorheriges Thema - Nächstes Thema

TomLee

Hallo,

aufgrund dieses Threads ist u. a. Definition entstanden.
Damit wird der Slider und Schalter in der Alexa App angezeigt, der Status von brightness (Alexa App/FHEM) stimmt auch überein , allerdings nur mit zusätzlichem userreadings.
Wenn man nur das jetzt vorgesehene homebridgemapping anwenden würde, gibts keinen Slider, keinen Schalter und auf 100% in der App entsprechen 100 von 254 im Device.

Wenn niemand einen besseren Vorschlag hat oder sagt das ist völliger Quatsch würd ich gerne das Beispiel als Grundlage für ein Template vorschlagen:


defmod MQTT2_zigbee_gu10_1 MQTT2_DEVICE 0x00158d0003274a6c
attr MQTT2_zigbee_gu10_1 IODev MQTT2_Server
attr MQTT2_zigbee_gu10_1 alexaName decke1
attr MQTT2_zigbee_gu10_1 devStateIcon {zigbee2mqtt_devStateIcon255($name)}
attr MQTT2_zigbee_gu10_1 genericDeviceType light
attr MQTT2_zigbee_gu10_1 group Wohnzimmer
attr MQTT2_zigbee_gu10_1 homebridgeMapping Brightness=abrightness,cmd=brightness,max=255,minValue=0,maxValue=100
attr MQTT2_zigbee_gu10_1 icon light_control
attr MQTT2_zigbee_gu10_1 imageLink /fhem/deviceimages/mqtt2/404006-404008-404004.jpg
attr MQTT2_zigbee_gu10_1 model L_02a_zigbee2mqtt_light_dimmer
attr MQTT2_zigbee_gu10_1 readingList zigbee2mqtt/0x00158d0003274a6c:.* { json2nameValue($EVENT) }
attr MQTT2_zigbee_gu10_1 room MQTT2_DEVICE
attr MQTT2_zigbee_gu10_1 setList on:noArg zigbee2mqtt/0x00158d0003274a6c/set {"state":"ON"}\
off:noArg zigbee2mqtt/0x00158d0003274a6c/set {"state":"OFF"}\
brightness:colorpicker,BRI,0,5,255 zigbee2mqtt/0x00158d0003274a6c/set {"state":"on","$EVTPART0":"$EVTPART1"}
attr MQTT2_zigbee_gu10_1 setStateList on off
attr MQTT2_zigbee_gu10_1 userReadings abrightness {int(ReadingsNum("$name","brightness",0)/254*100)}
attr MQTT2_zigbee_gu10_1 webCmd brightness:toggle:on:off


Gruß

Thomas

Beta-User

Klinke mich mal ein...

Aus dem anderen Thread habe ich gelernt, dass man wohl noch mehr festlegen sollte...:

Da ist zum einen "factor", damit sähe das so aus, oder (?):
Brightness=brightness::brightness,minValue=0,maxValue=100,max=255,factor=2.55
Wenn wir wirklich ein userReadings brauchen, hätte ich gerne einen sauberen Trigger (brightness) und eine Erklärung, warum wir durch 2.54 teilen und nicht durch 2.55.

Weiter ist in dem anderen Thread die Rede davon, dass man bei den zigbee2mqtt-Dingern (oder allg. wohl allem, das Großschreibung im state liefert?), noch was weiteres braucht: On=state,valueOn=ON,valueOff=OFF Ist das zwischenzeitlich überholt oder der Grund, warum das Icon nicht paßt?
Oder betrifft das nur eine der Sprachsteuerungsvarianten?

Zu guter Letzt im Vorgriff auf weitere Varianten:
Da ist auch die Rede davon, dass man color_temp irgendwie gesteuert bekommen könnte. Da die Geräte teilweise sehr unterschiedliche Wertebereiche zu nutzen scheinen: Es müßte möglich sein, da "etwas Perl" beizugeben und den jeweiligen Wertebereich des Sliders auszuwerten. "Man" müßte nur wissen, was die jeweiligen Schranken sind und wie man das am besten berechnet...

Fragen über Fragen, aber Danke für den Start, es ist sicher ein guter Anfang bzw. eine gute Anknüpfung für eine sinnvolle Diskussion, was es denn jetzt braucht...

(Und auch hier der Hinweis: ich nutze das nicht und bin auf Zuarbeit angewiesen...!)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TomLee

Mein Stand ist nach wie vor der von damals in dem verlinkten Thread, mir fiel das Beispiel einfach nur direkt ein nachdem ich gelesen habe das es ab Morgen die speech-Templates geben wird, die Lösung mit userReadings eventuell nicht der
optimale (aber funtionierende) Weg ist und hier dann der richtige Ort zum finden der korrekten Lösung ist.


Ich weiß nicht mehr wie das genau war mit factor=2.55, hatte damals halt doch nicht geklappt nachdem Andre das vorgeschlagen hatte, habs jetzt nicht nochmal ausprobiert.


Bei der Frage zum Trigger komm ich nicht mit, es gibt das Reading brightness das wäre dann der Trigger ???


durch 2.54 zu teilen hab ich gemacht weil von z2m immer 254 zurückkommt und nicht 255, keine Ahnung ob das so richtig ist die Status in der Alexa-App stimmen auf jedenfall immer überein.


zu
On=state,valueOn=ON,valueOff=OFF

Hab mir das eben (das erste mal) auch mal in der Home-App angeschaut, hier passt auch alles, warum sollte man es dann angeben ?

Beta-User

Hmmm, bin mal gespannt, was sonst noch an Rückmeldung kommt, wie gesagt: ich kann das alles nicht testen oder nachvollziehen, und die Aussagen in dem anderen Thread sind irgendwie - zumindest - in meiner Wahrnehmung widersprüchlich und vermutlich unvollständig...

userReadings wäre schon eine mögliche Lösung, aber zum einen ist das auf dem attrTemplate-Weg nicht ganz so einfach, weil man dann ggf. was ergänzen muß und nicht einfach überschreiben kann. Jedenfalls sollte die Berechnung wg. 255/254 keine großen Unterschiede liefern, evtl. muß man halt statt int runden, und das Reading auch nur aktualisieren, wenn ein update für brightness kommt... Kurz: Wenn es einen anderen Weg gibt, würde ich gerne darauf verzichten, userReadings zu nutzen.

Das mit "On=..." habe ich nur an der anderen Stelle gelesen und dann nachgefragt, weil du hier angemerkt hattest, dass mit den jetzt vorgeschlagenen Vorgaben kein Slider oder Schalter da wäre.

Wäre super, wenn Du ggf. mal austesten könntest (einfach mit einer Kopie eines deiner Devices), was man denn jetzt als Minimal-Lösung benötigt?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TomLee

defmod MQTT2_zigbee_gu10_Test MQTT2_DEVICE 0x00158d0003274a6c
attr MQTT2_zigbee_gu10_Test IODev MQTT2_Server
attr MQTT2_zigbee_gu10_Test alexaName anton
attr MQTT2_zigbee_gu10_Test devStateIcon {zigbee2mqtt_devStateIcon255($name)}
attr MQTT2_zigbee_gu10_Test genericDeviceType light
attr MQTT2_zigbee_gu10_Test group Wohnzimmer
attr MQTT2_zigbee_gu10_Test homebridgeMapping Brightness=brightness::brightness,minValue=0,maxValue=100,max=255,factor=2.55
attr MQTT2_zigbee_gu10_Test icon light_control
attr MQTT2_zigbee_gu10_Test imageLink /fhem/deviceimages/mqtt2/404006-404008-404004.jpg
attr MQTT2_zigbee_gu10_Test model L_02a_zigbee2mqtt_light_dimmer
attr MQTT2_zigbee_gu10_Test readingList zigbee2mqtt/0x00158d0003274a6c:.* { json2nameValue($EVENT) }
attr MQTT2_zigbee_gu10_Test room Homekit,MQTT2_DEVICE,Test
attr MQTT2_zigbee_gu10_Test setList on:noArg zigbee2mqtt/0x00158d0003274a6c/set {"state":"ON"}\
off:noArg zigbee2mqtt/0x00158d0003274a6c/set {"state":"OFF"}\
brightness:colorpicker,BRI,0,5,255 zigbee2mqtt/0x00158d0003274a6c/set {"state":"on","$EVTPART0":"$EVTPART1"}
attr MQTT2_zigbee_gu10_Test setStateList on off
attr MQTT2_zigbee_gu10_Test webCmd brightness:toggle:on:off

setstate MQTT2_zigbee_gu10_Test ON
setstate MQTT2_zigbee_gu10_Test 2020-02-04 11:06:28 brightness 100
setstate MQTT2_zigbee_gu10_Test 2020-02-04 11:06:28 linkquality 5
setstate MQTT2_zigbee_gu10_Test 2020-02-04 11:06:28 state ON


Die Sprach-Templates werden mir nach update und restart nicht angezeigt.

Ich verstehe filter (schon gestern) nicht, wieso sollte speechrecognTesting in der CID stehen ?
Kannst du mir bitte filter nochmal erklären hab mich lange nicht mehr mit beschäftigt und wieder alles vergessen.

Müssten sie nicht spätestens angezeigt werden wenn
{my @devices=devspec2array("TYPE=(siri|alexa|gassistant)");;return 1 if $devices[0];;return 0}
1 zurückgibt ?

Aber händisch das Template zuweisen klappt  :)

Es wird mit dem o. a. Device in der Home und Alexa-App der Slider und Schalter angezeigt, 100% in den Apps entsprechen dem Wert 100 im Reading brightness, factor=2.55 greift also nicht.

Beta-User

Hmmm, kannst du dann bitte nochmal die vorherige Variante ausprobieren? Also
attr DEVICE homebridgeMapping Brightness=brightness::brightness,minValue=0,maxValue=255

Dass die templates nicht angezeigt werden, ist genau die Absicht hinter der irritierenden Filterangabe ;) . Man soll sie notfalls alleine anwenden können, aber nicht isoliert sehen; sonst hätte ich weitere desc: aufnehmen müssen usw.. Das machen wir ggf. dann, wenn alles funktioniert bzw. einen Eintrag im Wiki, wie es funktioniert...

Der option:-Ausdruck (und die folgenden) verhindert nur, dass die folgenden Zeilen im template ausgeführt werden in einem Umfeld, das die Attribute nicht kennt bzw. dienen der Vorbereitung, falls einzelne Sprachsteuerunglösungen was spezielles brauchen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TomLee

Hab das schonmal erwähnt, Licht ist nicht so mein Ding, aber das mit max 255 brightness interessiert mich jetzt und sollte auch geklärt werden.
Wenn ich aus FHEM auf 255 stelle und 254 zurückkommt, dann ist doch 255 falsch ?
Dann müsste das zigbee-Template entsprechend angepasst werden.

TomLee

ohne factor wird kein Schalter und kein Slider in der Alexa-App angezeigt, in der Home App hat sich nichts geändert (Slider und Schalter vorhanden, 100% in der App entsprechen brightness 100.

Beta-User

Hmm, spekulier.... ist es evtl. umgekehrt herum gemeint, also so:Brightness=brightness::brightness,minValue=0,maxValue=255,max=100,factor=2.55
und ggf. testweise:
Brightness=brightness::brightness,minValue=0,maxValue=255,factor=1.00
Was diese seltsame 255 angeht: Das ist irritierend, dass was anderes zurückgemeldet wird wie gesetzt. Ich vermute, dass da intern 2x gerundet wird. Aber der Wertebereich an sich geht ziemlich sicher bis 255 (intern zum Senden an die Leuchtmittel dürfte das ein HEX-Wert sein). Von daher ist auch eine Division mit 2.55 m.E. "richtiger" als eine mit 2.54 (obwohl sich das auf das Ergebnis nur um Ausnahmefall auswirken wird).

Mir ist im Prinzip egal, was an der Stelle als setter in den attrTemplates steht; wäre ggf. besser, das in den zigbee2mqtt-Thread zu plazieren (ich habe meine eigenen Devices nach deCONZ umgezogen => testen ist schwierig). Aber unabhängig davon muß es möglich sein, ein passendes homebridgeMapping hinzubekommen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

KölnSolar

Ich kann ehrlich gesagt der Diskussion nicht ganz folgen, weil das bei mir schon so lange her ist...
Ich hab damals "irgendein" template übernommen und dann irgendwie an meine tint colored/color_temp angepasst. Es funktioniert seitdem blendend(ich hab auch kein update mehr von zigbeemqtt gemacht u. damals selber lokale Anpassungen vorgenommen !)

Mich wundert aber, dass das template so kompliziert ist.  :-\ Mein define sieht so aus
define Deckenlamped MQTT2_DEVICE zigbee_tint-Id
attr Deckenlamped userattr lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0 room_map structexclude
attr Deckenlamped IODev MQTT_FHEM_Server
attr Deckenlamped devStateIcon {zigbee2mqtt_devStateIcon255($name,"")}
attr Deckenlamped getList state:noArg state zigbee2mqtt/tint-Id/get {"$EVTPART0"}\
  brightness:noArg brightness zigbee2mqtt/tint-Id/get {"$EVTPART0"}\
  color_temp:noArg zigbee2mqtt/tint-Id/get {"$EVTPART0"}\
  color:noArg color zigbee2mqtt/tint-Id/get {"$EVTPART0"}\
  scene:noArg scene zigbee2mqtt/tint-Id/get {"$EVTPART0"}
attr Deckenlamped icon light_control
attr Deckenlamped model L_02b_zigbee2mqtt_colorbulbWithoutColorTemp
attr Deckenlamped readingList zigbee2mqtt/tint-Id:.* { json2nameValue($EVENT) }\
  zigbee2mqtt/tint-Id/availability:.* availability
attr Deckenlamped room Wohnzimmer
attr Deckenlamped setList on:noArg zigbee2mqtt/tint-Id/set {"brightness":"150","transition":10}\
  off:noArg zigbee2mqtt/tint-Id/set {"brightness":"0","transition":10}\
  brightness:colorpicker,BRI,0,12,255 zigbee2mqtt/tint-Id/set {"$EVTPART0":"$EVTPART1","transition":10}\
  color_temp:colorpicker,CT,153,10,556 zigbee2mqtt/tint-Id/set {"$EVTPART0":$EVTPART1,"transition":10}\
  hex:colorpicker,HEX,0,15,255 zigbee2mqtt/tint-Id/set {"color":{"$EVTPART0":"#$EVTPART1","transition":10}}\
scene:1,2,3,4,5,6 zigbee2mqtt/tint-Id/set {"$EVTPART0":$EVTPART1}\
param:1,2 zigbee2mqtt/tint-Id/set {"$EVTPART0":20}\
alert:noArg zigbee2mqtt/tint-Id/set {"$EVTPART0":"0x01"}
attr Deckenlamped stateFormat {lc ReadingsVal($name,"state",0)}
attr Deckenlamped webCmd toggle:on:off:brightness:color_temp:hex


Vielleicht hilft es ja..... :-\
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Beta-User

Äh, (ratlos): ich kann da gar keine spracherkennungsspezifischen Dinge erkennen...

Ist das am Ende eine völlig unnötige Diskussion, weil die Reading-Namen schon sowieso passen und man damit wohl nur den "genericDeviceType light" setzen müßte?

[OT]
scene, param und alert sieht interessant aus...
k.A., was das bewirkt, aber wenn jemand "sowas" auch haben will, bau' ich's gerne noch mit ein.

(Bitte aber nicht hier weiter diskutieren, das gehört nach zigbee2mqtt)
[/OT]
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

KölnSolar

dann nur kurz zur Auflösung der von mir verursachten Verwirrung
Zitatich kann da gar keine spracherkennungsspezifischen Dinge erkennen...
Ich spreche nicht mit den tints  ;D; ich kommuniziere über alexa/FHEM/Fb mit ihnen  :-[

Zitatscene, param und alert sieht interessant aus...
das sind eher "meine" individuellen Entwicklungen und nicht allgemeiner zigbee2mqtt-Standard(soweit ich weiß)

sorry  :-[

RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Beta-User

Schon, aber Alexa muß ja auch irgendwoher wissen, dass es sich um eine Lampe handelt und nicht um einen Rollladen oder eine Jalousie usw.  ;D ...
Nur weil man eine "brightness" einstellen kann, kann alexa vielleicht gut raten, aber mehr ist nicht, oder? (Lustiger wird es dann mit pct...).

(Im Ernst: Es war die Anregung von justme1968, den genericType zu setzen, siehe Diskussion hier: https://forum.fhem.de/index.php/topic,99195.0.html)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TomLee

Brightness=brightness::brightness,minValue=0,maxValue=255,max=100,factor=2.55
100% in der App sind 15 im Reading

Brightness=brightness::brightness,minValue=0,maxValue=255,factor=1.00
100% in der App sind 100 im Reading

HaHa. kurios, nach einer Gerätesuche mit
Brightness=brightness::brightness,minValue=0,maxValue=100,max=255
wurde mir kurz ein Slider und Schalter angezeigt,der nach kurzer Zeit wieder verschwunden ist, in dieser Zeit hab ich auf 100 % in der Alexa-App gestellt dann steht das im Alexa-Log:

2020-02-04 13:01:47 caching: MQTT2_zigbee_gu10_Test-brightness: set 255
[2020-2-4 1:01:47 PM] [FHEM]     caching: Brightness: set 255 (as string; from 'set 255')
  2020-02-04 13:01:47 caching: MQTT2_zigbee_gu10_Test-brightness: 255
[2020-2-4 1:01:47 PM] [FHEM]     caching: Brightness: 255 (as string; from '255')
  2020-02-04 13:01:47 caching: MQTT2_zigbee_gu10_1-abrightness: 100
[2020-2-4 1:01:47 PM] [FHEM]     caching: Brightness: 100 (as string; from '100')
  2020-02-04 13:01:47 caching: MQTT2_zigbee_gu10_Test-brightness: 254
[2020-2-4 1:01:47 PM] [FHEM]     caching: Brightness: 254 (as string; from '254')


Alles korrekt in der APP und FHEM :)
Ich hab die ganze Zeit nur auf den Slider und Schalter geachtet und gar nicht per Sprache geschalten ::)
Nachdem der Slider nicht zurückkommt bleibt ja nur per Sprache zu steuern, ein Anton auf 100% ergibt ebenfalls mit dem vorgesehenen homebridgemapping (ohne factor):

2020-02-04 13:27:59 caching: MQTT2_zigbee_gu10_Test-brightness: set 255
[2020-2-4 1:27:59 PM] [FHEM]     caching: Brightness: set 255 (as string; from 'set 255')
  2020-02-04 13:27:59 caching: MQTT2_zigbee_gu10_Test-brightness: 255
[2020-2-4 1:27:59 PM] [FHEM]     caching: Brightness: 255 (as string; from '255')
  2020-02-04 13:28:00 caching: MQTT2_zigbee_gu10_Test-brightness: 254
[2020-2-4 1:28:00 PM] [FHEM]     caching: Brightness: 254 (as string; from '254')


Auch in der Home-App passt alles, am Ende gibts mit dem homebridgemapping nur das Manko das das kein Slider und Schalter in der Alexa-App angezeigt wird, sry.

Beta-User

Hmm, mysteriös, das alles...

Kannst du bitte mal testen, ob das auch ohne das homebridgeMapping geht? (Klingt danach, als würde das aus dem setter extrahiert, wenn nichts angegeben ist => unnötig => weglassen...?!?)

Und dann mal bitte noch das mit "On=..." wg. der Großschreibung, ich hege immer noch den Verdacht, das mag die App nicht und wir müssen an der Stelle nachregeln (sofern "ON" bzw. "OFF" zurückgemeldet wird; wenn es das sein sollte, wäre auch das mMn. besser in den allg. Automatismen aufgehoben).

Danach bitte jeweils die Gerätesuche durchführen, das scheint wichtig zu sein.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files