Skip to content

Skripten / Logik

Hilfe zu JavaScript, Blockly, TypeScript, Node-RED, Scenes und text2command

16.4k Themen 211.8k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 48k
    2k Themen
    48k Beiträge
    A
    @psrelax Das sollte eigentlich nicht möglich sein. Ist im LOG davor im Programmablauf die Nr. 28 zu finden? Müsste gleich, nachdem dein Batterie SOC deinen eingestellten max SOC erreicht im LOG eingetragen sein. Immer wenn sich dein SOC ändert, wird geprüft, ob der max. SOC erreicht wurde und dann das Laden beendet. Überwacht wird hier sID_Batterie_SOC, was dem Objekt e3dc-rscp.0.EMS.BAT_SOC entspricht. Nachtrag: Habe gerade gesehen das diese Überwachung während dem Script Start deaktiviert ist. Wenn du das Skript neu startest und genau zu dem Zeitpunkt wird der max. SOC erreicht, könnte das passieren. Diesen Zeitpunkt aber genau zu erwischen, ist schon sehr unwahrscheinlich, aber möglich. Werde es in der nächsten Version korrigieren.
  • Hilfe für Skripterstellung mit Blockly

    6k 78k
    6k Themen
    78k Beiträge
    paul53P
    @Rudi-Ment sagte: Wie kann ich im Selektor die beiden Funktionen -mit einer geht es zu schalten- verknüpfen ? Im Selektor selbst geht es nicht. Man kann die IDs der zweiten Funktion mittels einer Schleife hinzufügen: Siehe hier
  • Hilfe für Skripterstellung mit Node-RED

    952 13k
    952 Themen
    13k Beiträge
    HomoranH
    @fiddle sagte in [Gelöst]: Adapter per {Node Red | JS} (de)aktivieren: Ok, nicht als "Wert" schreiben, sondern als "Befehl". Dann scheint ihn das zu beeindrucken. du zeigst ja nichts, aber es geht mit true/false [image: 1763416200051-screenshot_20251117-224854_firefox.jpg] gesteuert über eigenen DP vom typ Bool
  • Node-Red ändert Value, Schaltet aber nicht

    Verschoben
    12
    3
    0 Stimmen
    12 Beiträge
    4k Aufrufe
    K
    @Matzebhv: Einzig Scripte bekomme ich so nicht getriggert. Der Datenpunkt wird einwandfrei auf true oder false gesetzt, die zugehörigen Scripte triggern aber nicht. Setze ich den DP von Hand läuft das Script. Mir scheint es wird zwar true/false gesetzt, aber nicht als Logikwert. Hat jemand eine Idee? ` <u>Edit:</u> Mein Problem ist inzwischen behoben: im ioBroker-Ausgangsadapter stand bei Type value drin, dort muss aber command stehen. Dann ging es bei mir. Ich habe ein ähnliches Problem. Ich wollte die Lautstärke meines AV-Receivers per Alexa und Node-Red steuern. Habe ich den Wert im Datenpunkt manuell eingegeben, klappte es, aber nicht, wenn derselbe Wert über Alexa und Node-Red gesetzt wurde. Als workaround habe ich das jetzt so gelöst. Und zwar setze ich den Datenpunkt denon.0.zoneMain.volume über Node-Red, reagiere aber mittels Script nochmals darauf und setze den gleich Wert erneut. Klingt zwar unlogisch, aber anders bekomme ich es nicht zum laufen. on({id: 'denon.0.zoneMain.volume', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("denon.0.zoneMain.volume"/*Main Volume*/, getState("denon.0.zoneMain.volume").val); }); //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX2V4dCUyMiUyMGlkJTNEJTIyIVdhJTNGJTNGTzZVJTJCRCU0MDklMkMuM2hPVlklNUUlMjIlMjB4JTNEJTIyMzglMjIlMjB5JTNEJTIyMzglMjIlM0UlM0NtdXRhdGlvbiUyMGl0ZW1zJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFbmUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRDAlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJ+Z1JDUDVkYkVEKFlFJTJGeDYxQ19MJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFZGVub24uMC56b25lTWFpbi52b2x1bWUlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMiFQLVYlN0RBJTYwR3BZdyUzQTQlMjNMY0hJJTVEJTQwJTIyJTNFJTNDbXV0YXRpb24lMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VkZW5vbi4wLnpvbmVNYWluLnZvbHVtZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyJTQwNGNrUmxJXyklMjNobiUzQVIlM0ElN0REJTVCLiolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VkZW5vbi4wLnpvbmVNYWluLnZvbHVtZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ4bWwlM0U= 4630_2018-12-20_23_03_09-javascript_-_iobroker.png
  • [gelößt] Frage zu Rückgabewert/Callback nach request

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    373 Aufrufe
    SteffS
    Hier noch meine Lösung, falls jemand ein ähnliches Problem hat: ! ```` // Variablen deklarieren / ID´s einlesen var request = require ('request'); var bSetAusgang1 = "javascript.0.Netio230B.Set_Ausgang_1"; var bAusgang1 = "javascript.0.Netio230B.Ausgang_1"; ! // Ausgang 1 behandeln on({id: bSetAusgang1, val: true}, function() { log("1. Ausgang 1 soll geschaltet werden"); LeseStatus (1); setState(bSetAusgang1, false); // VIS-Variable wieder zurücksetzen }); ! // Status der Ausgänge lesen function LeseStatus (Out) { var url = "http://192.168.0.190/cgi/control.cgi?login=p:USER:PASSWORD&p=l"; var OutStatus; request(url, function (error, state, body) { if (body) { var abody = body.slice(6, 13).split(' '); // Status der 4 Ausgänge extrahieren und in Array splitten OutStatus = abody[Out-1]; // Übergebener Wert ist vom Typ string!! log("2. Ausgang " + Out + " hat Zustand " + OutStatus); if (OutStatus === "1") { log("3. Ausgang " + Out + " wird ausgeschaltet"); SchalteAusgang ("0uuu"); setState(bAusgang1, false); } if (OutStatus === "0") { log("3. Ausgang " + Out + " wird eingeschaltet"); SchalteAusgang ("1uuu"); setState(bAusgang1, true); } } }); } ! // Ausgänge schalten function SchalteAusgang (befehl) { var url = "http://192.168.0.190/cgi/control.cgi?login=p:USER:PASSWORD&p=" + befehl; log ("4. Sende Befehl: " + url); request(url, function(error, state, body) { log("5. Rückmeldung: " + state); }); } Gruß Steffen
  • [ VORLAGE ] Müll Warnung / Erinnerung via Telegram am Vorabend

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    2k Aufrufe
    T
    Hallo, das Skript ist leider nicht mehr wirklich zu nutzen. Zu der Zeit als ich es geschrieben habe, war der Adapter noch auf Version 1.4.2 und hatte eien HTML Formatierung, die nun nicht mehr uneingeshränkt so gilt. D.h. die Suchfunktion funktioniert nicht mehr zuverlässig. Der neue Ical Adapter im Stand Version 1.7 ht aber neue Events an Bord, die solch ein Skript ohnehin unnötig machen bzw vereinfachen. Du kannst dort als Event deinen Müll eingeben und dann täglich um 18h (oder wann auch immer) schauen, ob eins der Events auf 1 steht. Dan wäre dieses Event morgen dran und du kannst dir ein Telegram mit der jeweiligen Info schicken lassen
  • [gelöst] Wärmepumpe anbinden - Daten aus JSON einlesen

    Verschoben
    11
    0 Stimmen
    11 Beiträge
    2k Aufrufe
    khgK
    @mattgas: Danke paul, dein Vorschlag hat funktioniert: Ich werde nun versuchen, die Vairablen mit Datenpunkten zu verknüpfen…sollte ja nicht so schwierig sein :? . Vielen Dank für die schnelle und kompetente Unterstützung! Wenn ich fertig bin, stelle ich das Ergebnis hier zur Verfügung....im Forum hatten vor einger Zeit schonmal Leute nach einer Anbindung der Rotex HPSU gefragt, könnte also auch für andere interessant sein. ` Eine Anbindung der Rotex HPSU (nur zur Datendarstellung in iobroker) fehlt mir auch noch. Habe einen Raspi mit Canbus Interface und möchte darüber die Daten erfassen und für iobroker bereitstellen. Bin aber noch ganz am Anfang.
  • Müllabfuhr integrieren - Script erstellen

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    690 Aufrufe
    kmxakK
    Moin, cool. Ich probiere es im Januar mit der ICAL Datei und ansonsten muss ich mit dem Script nochmals auseinandersetzen.
  • Blockly-Rollladenscript funktioniert nicht

    Verschoben
    66
    1
    0 Stimmen
    66 Beiträge
    9k Aufrufe
    rasiegfrR
    hallo zusammen, wie ich zu anfang geschrieben habe, verfolge ich hier die ideen. nun ist es auch bei mir soweit dass die shellys verbaut sind. habe im wohnzimmer zurzeit einen xiaomi bewegungsmelder (sollen insgesamt drei werden) welche überpüfen sollen ob noch jemand aktiv ist. das ziel ist es wenn 30 minuten keine aktivität in einem gewissen zeitfenster ist, dass die rollos automatisch runtergefahren werden. dafür habe ich einen datenpunkt gesetzt (wz_rollos_bm_status) wo sämtlche bewegungsmelder bei erkannter bewegung ein "wahr" setzen. wenn dann 30 minuten keine bewegung erkannt wurde soll der wert auf "unwahr" gesetzt werden. wo ich nicht weiterkomme ist dass er ja den timer "30 minuten" hat und danach stumpf auf unwahr setzt. wie kann ich dort eine nachprüfung einbauen ob es zwischenzeitig eine neue aktivität gab und der timer dann wieder auf null gesetzt wird? komme an diesem punkt nicht weiter und wäre über hilfe dankbar. lg ralph <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="tz;D9#.+4p*3?FtR{4?(" x="63" y="38"><mutation items="4"></mutation> <field name="CONDITION">any</field> <value name="OID0"><shadow type="field_oid" id=";T`833RRx:ZOmW)gCmQR"><field name="oid">Werte_zwischenspeicher.0.wz_rollos_bm_status</field></shadow></value> <value name="OID1"><shadow type="field_oid" id="2x{Slmg1.2E/~y,DoO8Q"><field name="oid">mihome.0.devices.sensor_motion_aq2_158d00029c019e.state</field></shadow></value> <value name="OID2"><shadow type="field_oid" id="Zd|t!]om|=mpim*iVi9a"><field name="oid">mihome.0.devices.sensor_motion_aq2_158d000276d226.state</field></shadow></value> <value name="OID3"><shadow type="field_oid" id="T+%NOoZQ,P(W4Bs^ck3r"><field name="oid">mihome.0.devices.sensor_motion_aq2_158d0002752318.state</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="Y38R}w(/ZJE-Xao,=188"><value name="IF0"><block type="logic_operation" id="cY7X%s+VI:oWVnmOHVm6" inline="false"><field name="OP">OR</field> <value name="A"><block type="logic_operation" id="guHXnlf?.TTZa6nv:B~=" inline="false"><field name="OP">OR</field> <value name="A"><block type="logic_operation" id="IzMPn,@2t93WV=?3~DcQ" inline="false"><field name="OP">OR</field> <value name="A"><block type="logic_compare" id="i~{LKE2GRq!=CghO?bh="><field name="OP">EQ</field> <value name="A"><block type="get_value" id="_fg-3w|dQ,TjU6qZT6q9"><field name="ATTR">val</field> <field name="OID">mihome.0.devices.sensor_motion_aq2_158d00029c019e.state</field></block></value> <value name="B"><block type="logic_boolean" id="U(B.w*RkUPwV?ml,DFE1"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="a7{vPB`w5^]1+d8b:eQh"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="uVx6LOE|r0kvpIgHXW^D"><field name="ATTR">val</field> <field name="OID">mihome.0.devices.sensor_motion_aq2_158d0002752318.state</field></block></value> <value name="B"><block type="logic_boolean" id="MgbZ2ey!x(%IA`c3]S0L"><field name="BOOL">TRUE</field></block></value></block></value></block></value> <value name="B"><block type="logic_compare" id="j+CvzLb9q;N!0yP1WQ}6"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="Z3Jdw19D%#Xg4!*J=ljd"><field name="ATTR">val</field> <field name="OID">mihome.0.devices.sensor_motion_aq2_158d000276d226.state</field></block></value> <value name="B"><block type="logic_boolean" id="E+(%#YD5gMqiJhiOmv`p"><field name="BOOL">TRUE</field></block></value></block></value></block></value> <value name="B"><block type="logic_operation" id="@u9M]SIQ:4NUiHNgQA:B" inline="false"><field name="OP">OR</field></block></value></block></value> <statement name="DO0"><block type="control" id="U-;ov8(is!)A;b,}CWbu"><mutation delay_input="false"></mutation> <field name="OID">Werte_zwischenspeicher.0.wz_rollos_bm_status</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="a/hkdu[w8}W{Xk:McnL#"><field name="BOOL">TRUE</field></block></value></block></statement> <next><block type="comment" id="?g=#:O9,]UNw|6z3S/7z"><field name="COMMENT">Wert zurück setzen</field> <next><block type="controls_if" id="muP@A+k6JgyFmNX-Q/{B"><value name="IF0"><block type="logic_compare" id="qoO1CG_~v(ABV#(Xz_+K"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="/zdz!YCIQIy/j!l0k;+f"><field name="ATTR">val</field> <field name="OID">Werte_zwischenspeicher.0.wz_rollos_bm_status</field></block></value> <value name="B"><block type="logic_boolean" id="0Sh!Q~.?)GU)l#nuG._]"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO0"><block type="control" id="L7Xg/A]..w(FY}Eqf^9X"><mutation delay_input="true"></mutation> <field name="OID">Werte_zwischenspeicher.0.wz_rollos_bm_status</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">30</field> <field name="UNIT">min</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="%w!NIlru[79Gn06b-Uk="><field name="BOOL">FALSE</field></block></value></block></statement></block></next></block></next></block></statement></block></xml> 9191_skript_rollo.jpg
  • Philips Hue Szenen

    Verschoben
    13
    0 Stimmen
    13 Beiträge
    2k Aufrufe
    A
    @siggi85: Kann man das Script zum Import der in der Bridge gespeicherten Szenen nicht auch in den Hue Adapter einbauen? Ich denke dass viele Leute so etwas gebrauchen können. ` Das denke ich auch! Ich nutze das Skript auch. Richtig super! Ich schalte damit bestimmte hie Szenen wenn ich an meiner harmony Aktionen starte oder stoppe. Funktioniert auch wie gewünscht. Gibt es eine Möglichkeit, die Szenen langsam über zu blenden? Also aktuell wird die neue Szene einfach eingeschaltet. Ich möchte gerne dass die aktuelle Einstellung in die neue Szene überblendet. Innerhalb z.B. 3 Sekunden.
  • Flow Optimieren

    Verschoben
    27
    0 Stimmen
    27 Beiträge
    2k Aufrufe
    D
    Japp genau, das mache ich dann kurz vorm Zerteilen in die einzelnen Flows.. jetzt für alles auf einmal war es einfacher in einem Flow. Ich muss die ganzen Link`s auch noch beschriften und dann kommen später die Comments ;-)
  • Aktuellen Heizölpreis anzeigen?

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    503 Aufrufe
    B
    Ich nehme jetzt dieses Skript. viewtopic.php?f=8&t=3455&p=31964#p31964 Grüße und Danke
  • Node-red Flow zum Steuern von tuya

    Verschoben
    20
    0 Stimmen
    20 Beiträge
    3k Aufrufe
    R
    Sieht eigentlich alles richtig aus. Welcher Kalender? Wie schaltet denn der Kalender die Steckdose? Kann mir eigentlich nur denken, dass der state nicht gesetzt wird. Häng doch mal den debug-node an den iobroker-in-node und lass per Kalender schalten. Dann kannst du sehen, on und wenn ja welches Signal am state anliegt.
  • Rollladensteuerung mit Blockly

    Verschoben
    16
    1
    0 Stimmen
    16 Beiträge
    4k Aufrufe
    N
    Servus, und danke! Mittlerweile funktioniert alles wie es soll und ja, es war tatsächlich die Laufzeit. ;-) Ich hatte die vom HM-IP Accesspoint einfach übernommen und in die CCU eingetragen. Das hat nur um den Betrag von 3sec eben nicht gepasst. Ein Problem was ich ab und zu noch habe ist, dass bei erkanntem "IS OPEN" vom Türsensor der Rolladen erst runterfährt wenn die Tür geschlossen ist, aber dann der CCU - Duty Cycle auf 99% nach oben schnellt. Wenn ich zu Hause bin poste ich mal das skript. Viele Grüße
  • [gelöst] Lichtsteuerung mit zwei Türsensoren

    Verschoben
    5
    1
    0 Stimmen
    5 Beiträge
    512 Aufrufe
    paul53P
    @kaputtzich: funktioniert soweit wie angedacht, ` Dann markiere bitte das Thema im Betreff des ersten Beitrags als [gelöst].
  • Heizungssteuerung

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    387 Aufrufe
    B
    Danke für die schnelle Antwort. Was du sagst macht natürlich Sinn. Hab es jetzt geändert, wie im Anhang. Habe auch ausprobiert, ob die Reihenfolge eine Rolle spielt, aber scheinbar ist es egal –> Perfekt! Danke für die Hilfe :-) Ich habe devolo Z-Wave Heizkörper Thermostate im Einsatz: Weiß jemand, ob man diese auch gezielt wecken kann? 12469_heizung_bad_test.png
  • Thermometer auf dem Dashboard

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    309 Aufrufe
    R
    Da reicht es nicht, das flow zu kopieren ;-) Wenn du Pete Scargills Beispiel verwenden wills, musst du auch seine Lib installieren. Siehe https://tech.scargill.net/thermometers/ Und seine Lib, die du benötigst findest du hier: https://canvas-gauges.com/download/ Und wenn es dann immer noch nicht tut, kannst du mit dem ersten Link Pete direkt fragen.
  • I2C-Bus auslesen

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    579 Aufrufe
    M
    Herzlichen Dank für deine ausführliche Info!
  • [Gelöst] Uhrzeit aus Sekunden errechnen

    Verschoben
    15
    0 Stimmen
    15 Beiträge
    1k Aufrufe
    T
    Danke, das war die Lösung. Jetzt läuft es.
  • [gelöst]Einschalten mit Nachlauf

    Verschoben
    12
    0 Stimmen
    12 Beiträge
    2k Aufrufe
    R
    Ist zwar schon länger her aber falls jemand hier mal drüber stolpert: Klar wird nur der zweite Aktor geschaltet - du überschriebst ja auch die Variable mit dem zweiten Statement: var idAktor = "hm-rpc.0.OEQ0098506.2.STATE"/Poolpumpe.STATE/ ; var idAktor = "hm-rpc.0.OEQ0098506.3.STATE"/Clorinator.STATE/ ; Du musst dem zweiten Aktor dann schon eine eigene Variable spendieren: var idAktor1 = "hm-rpc.0.OEQ0098506.2.STATE"/Poolpumpe.STATE/ ; var idAktor2 = "hm-rpc.0.OEQ0098506.3.STATE"/Clorinator.STATE/ ;
  • Möglichkeit im tr-64 den Rundruf abzufragen

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    256 Aufrufe
    M
    Hi, Leute hat keiner eine Idee?
  • Mqtt Username und Password undefined [gelöst]

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    W
    [glöst]vielen Dank für die Info. Kann ich denn die Client[Namen] im mqtt-adapter vergeben? Wenn ich im Client keinen Namen vergebe sehe ich im iobroker-Log nicht ob sich ein von welchen Cilent etwas kommt. oder liege ich da jetzt neben der Spur?
  • LG Smart TV - Kanal ändern

    Verschoben
    5
    1
    0 Stimmen
    5 Beiträge
    770 Aufrufe
    T
    Hi, ist zwar kein blocky script, aber theoretisch eine Möglichkeit das ganze umzusetzen (in der Theorie, konnte leider nicht testen ob es funtkioniert, weil ich keine TV Sender an meinem LGTV hab). In der Senderliste müssen die Namen eingetragen werden, in der Reihenfolge, wie sie eingespeichert sind. Da Alexa ARD als a. r. d. versteht, muss es 1:1 übernommen werden. Das scirpt prüft dann, ob die Schlagworte gefallen sind in der Alexa Summery. Ist das der Fall, prüft das Script, ob in der Summery auch der Sendername vorkam und sollte dann auf den richten Sender schalten. Die Liste kann man beliebig erweitern. Da Alexa Zahlen nur ausgeschrieben versteht, tippe ich drauf, dass sie RTL2 beispielweise als "r. t. l. zwei" verstehen wird. Kannst mir gerne schreiben, ob es läuft. Evtl hab ich das falsche State rausgesucht, aber wie gesagt, leider kann ichs nicht testen. `var Senderliste = ["a. r. d.", "z. d. f.", "s. w. r.", "r. t. l."]; on({id: 'alexa2.0.History.summary', change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("alexa2.0.History.summary").val.includes('fernseher') && getState("alexa2.0.History.summary").val.includes('schalt') && getState("alexa2.0.History.summary").val.includes('auf')) { for(i = 0; i < Senderliste.length; i++) { if (getState("alexa2.0.History.summary").val.includes(Senderliste[i])) { setState("lgtv.0.channel"/*Select Channel*/, (parseInt(i) + 1)); console.log('Benutzer sagt, schalte auf ' + Senderliste[i] + ' (' + (parseInt(i) + 1) + ')'); } } } });`[/i][/i]

373

Online

32.4k

Benutzer

81.5k

Themen

1.3m

Beiträge