Autor Thema: Übergabe komplexeres HOMEBRIDGEMAPPING an speechcontrol_gdt_and_mapping  (Gelesen 427 mal)

Offline mferstl

  • New Member
  • *
  • Beiträge: 3
Ich entwickle ein attrTemplate für einen Roon Server als MQTT2_DEVICE.

Ich brauche für die Sprachsteuerung ein komplexes homeBridgeMapping aus mehreren Zeichenketten, z.B:

On:cmdOn=Play,cmdOff=Stop PlaybackController:playback,values=Play;Pause;Stop;Previous;Next

Wie kann ich das z.B. an das attrTemplate speechcontrol_gdt_and_mapping übergeben?

Egal wie ich versuche das zu quoten, z.B. mit

set DEVICE attrTemplate speechcontrol_gdt_and_mapping  GENERICDEVTYPE=media HOMEBRIDGEMAPPING="On:cmdOn=play,cmdOff=stop PlaybackController:playback,values=play;pause;stop;previous;next"
es wird nur der Wert bis zum ersten Leerzeichen "On:cmdOn=play,cmdOff=stop übernommen.

Wahrscheinlich muss ich das homeBridgeMapping dich selber setzen und kann es nicht an das andere Template übergeben.

Hat jemand eine Idee?

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 20224
  • schon mal restore trainiert?
    • Otto's Technik Blog
Ja.
https://fhem.de/commandref_DE.html#perl
In der Kommandozeile musst Du ; generell verdoppeln ;; damit sie als ein ; übernommen werden. Ansonsten wird ; als Befehlstrenner gewertet.

Ob das als Übergabe ins attrTemplate geht kann ich allerdings nicht sagen.

Gruß Otto
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 24908
Das attrTemplate set ist ein FHEM set der alten Schule, da hilft weder " noch anderweitiges Wunschdenken.
Mir faellt z.Zt. nur cmdAlias ein:
defmod ca_stopPC cmdalias set (.*) stopPlaybackController AS set $EVTPART0 stop PlaybackControllerOhne Homebridge Erfahrung bin ich aber nicht sicher, ob es funktoniert.

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16884
Habe mir jetzt mal den Code von AttrTemplate (ab Zeile 244) nochmal angesehen.

@Rudi: Wäre es nicht (hoffentlich) nebenwirkungsfrei möglich, an der Stelle erst wieder alle "split"-Elemente wieder mit "join ' '" zusammenzukleben und dann ein parseParams drüberlaufen zu lassen? Im Anschluss müsste es doch dann möglich sein zu schauen, ob es $named->{param} gibt, oder übersehe ich was?
Server: HP-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}