NEWS
[Problem] Dream btw. Enigma2 Adapter
-
Hallo!
Ich habe heute den Enigma Adapter installiert. Funktioniert wunderbar!
Was ich nicht ganz verstehe ist, wie ich die Lautstärke per Befehl, um zB 5% zu erhöhen.
Dazu muss ich den Volume Wert auslesen, um 5% erhöhen und diesen Wert dann an Set_level zu übergeben - aber wie mach ich das?Danke für jede Hilfe!
-
@rrroli
in diesem Beispiel sage ich Alexa, mach lauter. Hier wird überprüft welcher Echo angesprochen wurde (Wohnzimmer/Küche oder Schlafzimmer) und welches Gerät gerade an ist ( im Wohnzimmer ist noch ein Denon AVR mit im Spiel) und dann wird die Lautstärke um 5 erhöht. Mach leiser ist ein zweites Blockly, das arbeitet genau anders herum.Wobei die Trigger zwei selbst erstellte Datenpunkte sind (als Button) und in einer Routine angesprochen werden.
Im nächsten Beispiel kannst Du set volume direkt in iot einfügen. Hier z.B. Alexa, Lautstärke im Wohnzimmer auf xy %
(Hier wird dann nur die VU im Wohnzimmer angesprochen und die Lautstärke eingestellt) -
-
@dslraser Vielen Danke dafür.
Bin grade dabei mich mit Blockly vertraut zu machen.
Was ich noch nicht ganz verstehe ist, warum brauche ich das Falls Objekt wurde aktualisiert ganz oben?
Kann ich hier nicht einfach Objekt "Volume Lauter" nehmen und gut.
Das "Volume Lauter" sind die Buttons bei dir oder? Kannst du hierzu bitte auch einen Screenshot posten, das würde mir helfen.Vielen Dank!
lg
-
@rrroli sagte in [Problem] Dream btw. Enigma2 Adapter:
Was ich noch nicht ganz verstehe ist, warum brauche ich das Falls Objekt wurde aktualisiert ganz oben?
Kann ich hier nicht einfach Objekt "Volume Lauter" nehmen und gut.ja, kannst Du. Ich habe mich an diese gewöhnt, weil da eben auch mehrere Trigger gehen. Ist ja hier nicht nötig.
Das "Volume Lauter" sind die Buttons bei dir oder? Kannst du hierzu bitte auch einen Screenshot posten, das würde mir helfen.
Wovon meinst Du ? Diese hier ?
Die Datenpunkte werden mit dem Blockly mit erstellt, das ist dieser Teil hier
{ "common": { "name": "Volume lauter", "read": true, "write": true, "type": "boolean", "def": false, "role": "button", "smartName": "Alexa lauter" }, "native": { "name": "Volume lauter", "read": true, "write": true, "type": "boolean", "def": false, "role": "button", "smartName": "Alexa lauter" }, "type": "state", "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1559324157680, "_id": "javascript.0.Eigene_Datenpunkte.04Lautstaerke.lauter", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
-
@dslraser said in [Problem] Dream btw. Enigma2 Adapter:
Wovon meinst Du ? Diese hier ?
Ja, genau.
Was ich grade noch nicht verstehe ist, wo oder wie Werte dann erhöht werden. Also es gibt beim Button ja nirgends ein erhöhen oder verringern eines Wertes. Aber vielleicht steh ich grad nur auf dem Schlauch.Auf jeden Fall weiß ich schon, was ich heute Abend machen werde!
Danke!
-
@rrroli sagte in [Problem] Dream btw. Enigma2 Adapter:
Was ich grade noch nicht verstehe ist, wo oder wie Werte dann erhöht werden. Also es gibt beim Button ja nirgends ein erhöhen oder verringern eines Wertes.
Wenn dieser Button einmalig gedrückt(aktualisiert) wird, dann wird die aktuelle Lautstärke um 5 (den Wert bestimmst Du im Blockly selbst) geändert.
Im Fall von Alexa per Sprachbefehl, mit z.B. "Alexa, mach lauter" erledigt das eine von Dir zu erstellende Routine.Die drückt dann quasi einmal auf den Button.
-
-
verschoben...
-
...auch wenn ich ohne OWI leider außen vor bin...
-
@SBorg sagte in [Problem] Dream btw. Enigma2 Adapter:
...auch wenn ich ohne OWI leider außen vor bin...
Ich habe aber auch noch eine Idee wie ich das eventuell für alle User umsetzen kann...
-
Das wäre natürlich auch nice
Meine derzeitige Lösung (Ausführung per cronjob minütlich auf der Dream + per Simple-API):
#!/bin/sh #liefert die Anzahl der aktuellen Aufnahmen; bei "1" findet derzeit eine Aufnahme statt! if [ $(wget -O- -q http://127.0.0.1/web/timerlist | grep "e2state" | grep -c ">2<") = 1 ]; then curl http://192.168.1.30:8082/set/enigma2.0.enigma2.RECORDING?value=true else curl http://192.168.1.30:8082/set/enigma2.0.enigma2.RECORDING?value=false fi exit 0
-
-
https://github.com/Matten-Matten/ioBroker.enigma2.git
V1.2.1 (2019-08-07)
Gruß
Matten Matten -
-
Funktioniert leider nicht. Bezieht sich
if(xml.e2timerlist.e2timer[0].e2state[0] === 2 || xml.e2timerlist.e2timer[0].e2state[0] === '2'){
auf die gesamte Timerliste oder den aktuellen oder 1. Timer? Ich hatte nämlich kurzfristig einen Timer hinzugefügt und die Timerliste wird ja erst per Zwang oder beim herunterfahren neu sortiert. So stand der Timer zum Zeitpunkt der Aufnahme nicht als 1. Eintrag in der Timerliste.
Ich "grase" mit meinem Script die gesamten e2states der Timerliste ab ob da einer auf '2' steht. -
Ja OK, ich bin davon ausgegangen dass der Aktive Timer immer an erster Stelle steht, dann muss ich Mal schauen wie ich alle Timer Auslese egal wie viele...
-
Bin ich auch schon drauf reingefallen. Im Prinzip müsstest du eigentlich "nur" die gesamte XML nach einem Treffer für
<e2state>2</e2state>
(so aus dem Kopf heraus) durchsuchen.
...und ich habe bspw. eine 920UHD, da sind bis zu vier parallele Aufnahmen möglich. Da können die Timer in der Liste wo auch immer stehen -
https://github.com/Matten-Matten/ioBroker.enigma2.git
Changelog
1.2.2 (2019-08-08)
- (Matten-Matten) correction in
.enigma2.isRecording
check
nochmals vielen Dank an @SBorg!
Gruß
Matten Matten - (Matten-Matten) correction in