NEWS
Prüfung mehrerer Bedingungen
-
@apachelance sagte in Prüfung mehrerer Bedingungen:
Ich hab es jetzt so umgebaut:
Nimm @paul53 's Beispiel.
-
@apachelance sagte: immer nur rot anzeigt.
Dann muss das Wort "Horror" im Wert von "Genres" enthalten sein. Logge mal den Wert von "Genres".
-
Gehe mal dem Tipp von @Codierknecht nach und setze da mal ein paar Debugs rein...
Dann siehst du, wo der Unterschied der Werte ist und dann sende mal das Log mit beiden Schalt-Varianten
-
@paul53 Wie bekommst du in deinem Beispiel den Und-Block mit 2 Abzweigen hin?
-
@apachelance sagte: den Und-Block mit 2 Abzweigen hin?
Rechte Maustaste über dem Block und "externe Eingänge" auswählen.
-
Ich gehe mal davon aus, dass der Umbau des Blockly's keine nennenswerten Änderungen bringt.
Ich denke, das Geheimnis wird der Trigger sein
Wahrscheinlich ändert sich der Wert beim Wechsel nicht... oder es tauchen unterschiedliche Strings auf
Ggfs. hilft da schon ein Umstellen von "wurde geändert" auf "wurde aktualisiert"
-
@paul53 Ok, ist umgebaut, wird aber nur rot, egal welches Genre bei Wiedergabe vom Mediaplayer. Beim PC funktioniert es korrekt.
Dabei ändere ich nur den "State of the Client":
PC:
{ "type": "state", "common": { "name": "State of the Client", "role": "media.state", "type": "string", "read": true, "write": true, "states": { "idle": "Idle", "paused": "Paused", "playing": "Playing" } }, "native": {}, "from": "system.adapter.emby.0", "user": "system.user.admin", "ts": 1700241954913, "_id": "emby.0.0625f91c9e5aa817d97f3c2df711452c.media.state", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Mediaplayer:
{ "type": "state", "common": { "name": "State of the Client", "role": "media.state", "type": "string", "read": true, "write": true, "states": { "idle": "Idle", "paused": "Paused", "playing": "Playing" } }, "native": {}, "from": "system.adapter.emby.0", "user": "system.user.admin", "ts": 1700242129505, "_id": "emby.0.9978dbe503e74d4ab65de44921021f49.media.state", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
@apachelance
Was steht in "Wert"?
Und was in "Genres" -
@armilar "ist aktualisiert" funktioniert am PC, am Mediaplayer nicht korrekt. Scheint also irgendwo an diesem State of the Client nicht zu passen, unabhängig von aktualisiert oder geändert.
-
-
Ich bin für heute raus.
GN8 -
@armilar Ist eingebaut, kenn mich aber mit Debug nicht aus. Wo finde ich die Outputs?
-
gN8
der Baustein heißt so
Unten im Log des Editors tauchen dann beim Schalten entsprechend die Werte auf
und da sollten dann die Werte auf der rechten Seite drin stehen
-
@armilar Es kommt das für den Mediaplayer State:
-
nicht den Debug Mode im oberen Bereich einschalten. Nur den Blockly Baustein verwenden...
Und Logs immer in
diesen Code-Tags senden -
@armilar Hier einmal ein Film aus dem Horror-Genre und danach ein anderes Genre, beides auf dem Mediaplayer. Ich teste gleich selbiges auf dem PC:
22.11.2023, 23:34:54.559 [info ]: javascript.0 (348) Stop script script.js.common.Emby_Lichtsteuerung 22.11.2023, 23:34:54.604 [info ]: javascript.0 (348) Start javascript script.js.common.Emby_Lichtsteuerung 22.11.2023, 23:34:54.615 [info ]: javascript.0 (348) script.js.common.Emby_Lichtsteuerung: subscribe: {"pattern":{"id":"emby.0.9978dbe503e74d4ab65de44921021f49.media.state","change":"ne","q":0},"name":"script.js.common.Emby_Lichtsteuerung"} 22.11.2023, 23:34:54.616 [info ]: javascript.0 (348) script.js.common.Emby_Lichtsteuerung: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 22.11.2023, 23:35:00.340 [info ]: javascript.0 (348) script.js.common.Emby_Lichtsteuerung: idle 22.11.2023, 23:35:09.816 [info ]: javascript.0 (348) script.js.common.Emby_Lichtsteuerung: playing 22.11.2023, 23:35:09.816 [info ]: javascript.0 (348) script.js.common.Emby_Lichtsteuerung: getState(id=emby.0.0625f91c9e5aa817d97f3c2df711452c.media.genres, timerId=undefined) => {"val":"Drama,Horror","ack":true,"ts":1700692187381,"q":0,"from":"system.adapter.emby.0","user":"system.user.admin","lc":1700692187104} 22.11.2023, 23:35:09.817 [info ]: javascript.0 (348) script.js.common.Emby_Lichtsteuerung: setForeignState(id=hue.0.Wohnzimmer.scene_rotes_licht, state={"val":true,"ack":false,"ts":1700692509817,"q":0,"from":"system.adapter.javascript.0","lc":1700683023856,"c":"script.js.common.Emby_Lichtsteuerung"}) 22.11.2023, 23:35:18.575 [info ]: javascript.0 (348) script.js.common.Emby_Lichtsteuerung: idle 22.11.2023, 23:35:27.638 [info ]: javascript.0 (348) script.js.common.Emby_Lichtsteuerung: playing 22.11.2023, 23:35:27.639 [info ]: javascript.0 (348) script.js.common.Emby_Lichtsteuerung: getState(id=emby.0.0625f91c9e5aa817d97f3c2df711452c.media.genres, timerId=undefined) => {"val":"Drama,Horror","ack":true,"ts":1700692187381,"q":0,"from":"system.adapter.emby.0","user":"system.user.admin","lc":1700692187104} 22.11.2023, 23:35:27.639 [info ]: javascript.0 (348) script.js.common.Emby_Lichtsteuerung: setForeignState(id=hue.0.Wohnzimmer.scene_rotes_licht, state={"val":true,"ack":false,"ts":1700692527639,"q":0,"from":"system.adapter.javascript.0","lc":1700683023856,"c":"script.js.common.Emby_Lichtsteuerung"})
-
@Armilar und so schauts auf dem PC aus, wo auch die Farbschalte richtig funktioniert:
22.11.2023, 23:36:43.860 [info ]: javascript.0 (348) Stop script script.js.common.Emby_Lichtsteuerung 22.11.2023, 23:36:43.904 [info ]: javascript.0 (348) Start javascript script.js.common.Emby_Lichtsteuerung 22.11.2023, 23:36:43.907 [info ]: javascript.0 (348) script.js.common.Emby_Lichtsteuerung: subscribe: {"pattern":{"id":"emby.0.0625f91c9e5aa817d97f3c2df711452c.media.state","change":"ne","q":0},"name":"script.js.common.Emby_Lichtsteuerung"} 22.11.2023, 23:36:43.908 [info ]: javascript.0 (348) script.js.common.Emby_Lichtsteuerung: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 22.11.2023, 23:36:48.637 [info ]: javascript.0 (348) script.js.common.Emby_Lichtsteuerung: playing 22.11.2023, 23:36:48.638 [info ]: javascript.0 (348) script.js.common.Emby_Lichtsteuerung: getState(id=emby.0.0625f91c9e5aa817d97f3c2df711452c.media.genres, timerId=undefined) => {"val":"Drama,Horror","ack":true,"ts":1700692608624,"q":0,"from":"system.adapter.emby.0","user":"system.user.admin","lc":1700692187104} 22.11.2023, 23:36:48.638 [info ]: javascript.0 (348) script.js.common.Emby_Lichtsteuerung: setForeignState(id=hue.0.Wohnzimmer.scene_rotes_licht, state={"val":true,"ack":false,"ts":1700692608638,"q":0,"from":"system.adapter.javascript.0","lc":1700683023856,"c":"script.js.common.Emby_Lichtsteuerung"}) 22.11.2023, 23:36:51.488 [info ]: javascript.0 (348) script.js.common.Emby_Lichtsteuerung: idle 22.11.2023, 23:36:54.665 [info ]: javascript.0 (348) script.js.common.Emby_Lichtsteuerung: playing 22.11.2023, 23:36:54.665 [info ]: javascript.0 (348) script.js.common.Emby_Lichtsteuerung: getState(id=emby.0.0625f91c9e5aa817d97f3c2df711452c.media.genres, timerId=undefined) => {"val":"Drama,Liebesfilm,Historie,Kriegsfilm","ack":true,"ts":1700692614648,"q":0,"from":"system.adapter.emby.0","user":"system.user.admin","lc":1700692614648} 22.11.2023, 23:36:54.666 [info ]: javascript.0 (348) script.js.common.Emby_Lichtsteuerung: setForeignState(id=hue.0.Wohnzimmer.scene_blaues_licht, state={"val":true,"ack":false,"ts":1700692614666,"q":0,"from":"system.adapter.javascript.0","lc":1700585319481,"c":"script.js.common.Emby_Lichtsteuerung"}) 22.11.2023, 23:36:58.077 [info ]: javascript.0 (348) script.js.common.Emby_Lichtsteuerung: idle
-
Auch wenn Genre noch nicht im eigenen Debug-Baustein ist und Debug irgendwie immer noch angehakt, würde ich das mal so interpretieren:
playing und idle wechseln sich häufiger mal ab --> ist aber kein Problem, da nur bei playing geschaltet wird.
Aber der Inhalt von media.genres springt auch hin und her - oder?
-
@armilar Im Beispiel oben waren es 2 verschiedene Filme, daher auch unterschiedliche Genres. Das Springen von Idle/Playing kommt vom Starten und Stoppen der 2 Filme.
-
@apachelance sagte: danach ein anderes Genre
Auch dort steht "Horror" drin. Wurde offenbar nicht geändert.