NEWS
iot Alexa level.volume
-
Hallo zusammen,
ich möchte gerne meine soundanlage mit einem IR-Remote ( Broadlink2.0) steuern.
An/Aus geht, indem ich dem ich den Type in iot auf Switch stelle.
das klappt gut per sprachbefehl.das gleiche Gerät soll auch per Alexa-Sprachbefehl lauter/leiser verarbeiten können.
hierzu habe ich einen Node in den Objekten angelegt type Number mit den min und max-werten der Soundanlage.
ich überwache den Node per javascript On(id:xxx)... und schicke entsprechende IR-Befehle.Ich finde leider keinen geeignete TYP in der iot-Instanz. Entsprechend funktioniert es auch nicht.
Wenn ich in der iot-instanz den Typ "LIGHT" hierfür benutze, klappt es mit den Kommandos heller/dunkler,
aber so möchte man ja nicht seine Lautstärke setzen.Ein direktes setzen der lautstärke läßt die Soundanlage nicht zu.
Nur lauter oder leiser sind real schaltbar.Hat das schon jemand gelöst und/oder kann mir einen tipp geben ?
viele grüße
-
@sir0drake sagte in iot Alexa level.volume:
das gleiche Gerät soll auch per Alexa-Sprachbefehl lauter/leiser verarbeiten können
Dp anlegen, blockly und den Dp in ne Routine packen, wäre ne Möglichkeit
-
Danke für dein feedback.
Aber das interne in ioBroker ist nicht mein problem.
Das problem ist, welchen geräteTyp muss ich in IOT deklarieren,
das ich mit den sprachkommandos lauter / leiser in alexa arbeiten kann.Deklariere ich zb ein gerät als LIGHT kann ich mit den Kommandos
heller / dunkler in alexa arbeiten und der entsprechenden dp wird geändert.
Gleiches versuche ich mit laut/leiser zu basteln.
klappt aber nicht wie ich es will.eventuell muss ich bis zum payload v3 warten.
gruß
-
ich habe es so wie @crunchip schreibt.
BeispielBeispiel eines Datenpunktes als RAW
{ "common": { "name": "lauter", "type": "boolean", "read": false, "write": true, "role": "button", "def": true, "smartName": { "de": "13mach_lauter", "smartType": "SWITCH" } }, "native": {}, "type": "state", "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1628370450580, "_id": "0_userdata.0.TV_System_mit_Alexa.VU.Lautstaerke.lauter", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
EDIT:
Damit könnte ich auch zusätzlich die Lautstärke in Prozent steuern.
Alexa, Lautstärke im Wohnzimmer auf xy Prozent (ohne Smarttype)EDIT2:
An den Symbolen rechts kannst Du erkennen was dieser Datenpunkt unterstützt (an/aus/%/lauter/leiser)
-
ich beginne zu verstehen.
du erstellst ein dp boolean und den rest erledigst du in der amazon/alexa-steuerung
in dem du eine routine um das gerät herum erstellst.habt beide dank für den neuerlichen hinweis !
ich schaue mal was ich da nachbauen kann.
laut amazon ( https://developer.amazon.com/de-DE/docs/alexa/device-apis/alexa-stepspeaker.html )
gibt es schon einen direkten weg zum ziel, jedoch erst mit payloadVersion 3.hat da jemand einen stand wann die payloadVersion 3 kommen soll hier in iob ?
das letzte upload im iot adapter für alexaSmartHomeV3.js ist schon länger her. 15 Monate um genau zu sein.
gruß
-
@sir0drake sagte in iot Alexa level.volume:
hat da jemand einen stand wann die payloadVersion 3 kommen soll hier in iob ?
Nein..., aber wurde schon mehrfach angesprochen. Andere Dinge hatten wohl höhere Priorität
-
-
-
@sir0drake sagte in iot Alexa level.volume:
ja. ich versuchs mal
danke
In Deiner Überschrift steht level.volume
Wenn Dein Gerät so einen Datenpunkt in ioBroker hat (so wie z.B. mein Denon oder auch meine VU's), dann kannst Du die auch direkt in iot einbinden. Siehe hier unter dem EDIT: -
so dachte ich anfangs auch.
role = level.volume und alles wird gut.
leider ist dem nicht so.
Alexa sagt dann immer wenn ich das kommando gebe gerätx lauter
Das Gerätx unterstützt das nicht.Nachdem ich jetzt etwas tiefer gegraben habe, sehe ich in der alexa app,
das der dp als GerätTyp Licht angelegt wird.Und entsprechend funktionieren die Befehele Alexa gerätx heller/dunkler wunderbar.
Ich kann also meine soundanlage mit heller/dunkler steuernhier meine def des dp
{ "common": { "name": "lautsstärke", "type": "number", "role": "level.volume", "read": true, "write": true, "min": 1, "max": 79, "def": 30, "smartName": { "de": "lautstärke onkyo", "byON": "30" } }, "native": {}, "type": "state", "_id": "0_userdata.0.Zimmer.Wohnzimmer.TV.onkyo_level", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1644602217532 }
und so sieht das in der alexa-app aus
-
@sir0drake
Was für ein „Kommando“ gibst Du denn genau ?Edit: Das mir Licht in der Alexa App ist bei mir auch so, macht aber nix. Der reine Befehl lauter/leiser funktioniert natürlich so nicht. Über Blockly und Routine (und einen für Alexa nicht verständlichen Namen, also keine Verwechslungsgefahr) funktioniert z.B. bei mir: Alexa, mach lauter. Oder: Alexa, mach leiser.
Über den level.volume (also Dein Onkyo) in iot sollte analog zu meinem Datenpunkt mit dem SmartNamen Lautstärke im Wohnzimmer folgende Befehle bei Dir funktionieren.
Alexa, Lautstärke Onkyo (das ist Dein SmartName) auf 30 (eventuell Prozent dazu sagen)
Alexa, Lautstärke Onkyo aus( das ist dann level 0)
usw. usw. usw.
-
Alexa, Onkyo lauter <geht nicht> Antwort von Alexa: "Onkyo unterstützt das nicht"
Alexa, Onyko heller <geht>
Alexa, Onkyo 10% <geht>mein iot-adapter ist die v1.8.24
-
@sir0drake sagte in iot Alexa level.volume:
Alexa, Onkyo lauter <geht nicht> Antwort von Alexa: "Onkyo unterstützt das nicht"
Alexa, Onyko heller <geht>
Alexa, Onkyo 10% <geht>mein iot-adapter ist die v1.8.24
Ich habe meinen Beitrag über Deinem eben noch editiert, gesehen ?
-
ja. eben gesehen, das sich das etwas überschnitten hat.
danke dir !Mit % Befehl klappt es sogar ganz gut.
Der Sync zwischen ioB Werten und ggfs manuell gesetzten Werten stimmt natürlich nie 100% überein.
Aber das ist ein anderes Thema.
Ist ne uralt Anlage von Onkyo.
Die nächste sollte über LAN ansprechbar sein.
IR ist ok aber der teufel steckt im detail.Auf jeden Fall bin ich ein ganzes Stück weitergekommen.
Muchas gracias
-
@sir0drake
ich habe LAN und WLAN im Denon und in den VU‘s.
Über Blockly oder JS könntest Du Deine Prozentwerte auch umgerechnet anpassen.
Ich habe bei mir im Denon den max DB Wert nach unten angepasst und im DP leve.volume von 0-100, so muss ich nix umrechnen und im iot bei an 50%, so bleiben selbst bei einem Befehl wie: Alexa, Lautstärke im Wohnzimmer an die max Lautstärke erstmal auf 50% und die Lautsprecher explodieren nicht.
Mein Beispiel Blockly von oben unterscheidet übrigens ob ich gerade den Denon und die VU an habe, oder nur die VU und regelt dann entsprechend das passende Gerät. -
Auch eine gute Idee die Umrechnung von % in Real-Range selbst vorzunehmen.
Wird morgen erledigt.
Für heute genug gebastelt