Weiter zum Inhalt

Skripten / Logik

16.7k Themen 215.9k Beiträge

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

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    3k 50k
    3k Themen
    50k Beiträge
    G
    @gto Ich habe aus ästhetischen Gründen zwei Scripts gemacht. Ich mag große Monolithen nicht. Und da hier zwei einigermaßen deutlich unterscheidbare Zwecke zu sehen waren, habe ich auch zwei Scripte daraus gemacht. Technisch könnte man das auch in eins nehmen. Da nichts zu überwachen ist, wenn der Shelly nicht eingeschaltet wurde, braucht man auch beide Scripte aktiv. Der SwitchOnOff.ts behandelt die Anfangswerte, mit denen gestartet wird. Speichert den Zustand des Shelly und setzt die Annahmen an den Ist-Ladezustand und Soll-Ladezustand. Außerdem überwacht es, ob per IOBroker oder auf anderem Wege eingeschaltet wurde. Nach dem Einschalten könnte man dieses Script beenden. Aber warum sollte man das tun? Der Timer "BatteryMonitor.ts" schaltet aus, mit was immer zuerst erreicht wird: Der gewünschte Ladezustand oder das Absinken der Ladekennlinie. Man kann also derzeit auch keine 100% Füllzustand einstellen, fällt mir bei der Frage auf, da die Kennlinie das Laden ja vorher stoppt. Diese Möglichkeit muss ich wohl auch noch einbauen. Denn ab und zu soll ja eine LIB/LFP-Batterie zu hundert Prozent geladen werden, um dem BMS zu ermöglichen, den Füllstand sauber zu bestimmen. Ich habe aber das Einschalten des Ladevorgangs am Steckdosenschalter wieder ermöglicht. Man kann die Kontrolle darüber jetzt in den Uservariablen unter dem Namen ".AppControlledSwitchOn" ein bzw ausschalten. "True" bedeutet hier, Einschalten nur über IOBroker, "False" lässt das Schalten auch über den Stecker zu. BatteryMonitor.ts SwitchOnOff.ts EBikeAkkuSetup.ts
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    W
    erledigt
  • Hilfe für Skripterstellung mit Node-RED

    964 13k
    964 Themen
    13k Beiträge
    A
    @OliverIO Für mich als ex. Elektroninstallateur ist es eben vielfach einfacher in einer Maske zu sehen was der Code eigentlich machen sollte, als in einem strukturierten Text. Wir verwenden bei uns im Job auch sehr viel strukturierte Text für Steuerungsfunktionen, aber das ist in der Regel eine andere Abteilung, ich bin nur zuständig, dass die Elektropläne korrekt und vollständig für alle sind. Klar, dass interesse an den Möglichkeiten ist schon lange geweckt, aber wie bei allem, wenn man das nicht oft macht, vergisst man sehr vieles wieder. Bei mir ist entstehen solche Dinge eben manchmal aus "dummen" Ideen, oder eben aus "herausforderungen" die man nicht direkt sucht. Ich arbeite mich jetzt mal rund um und schaue was da raus kommt. Nochmals herzlichen Dank Gruss Andi (aus der überhitzten Schweiz)
  • –- Gelöst --- 2 Aktoren nach Rang schalten mit Blockly.

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    894 Aufrufe
    J
    Hallo Rantaplan. Funktioniert Super. Danke. :D
  • BLOCKLY Anfänger such Hilfe

    Verschoben
    6
    1
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    B
    Hi, Danke für die Hilfe ich hoffe so passt es jetzt: [image: 654_unbenannt.png] Gruß Lars
  • [Vorlage] Blockly "Kommt oder geht jemand" oder Reihenfolge Aktorschaltung

    Verschoben blockly template
    1
    1
    1 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet
  • Meine ersten schritte mit JavaScript

    Verschoben
    22
    0 Stimmen
    22 Beiträge
    5k Aufrufe
    R
    ähm ja bei meinen schaltern muss es so heisen bei der ccu weis ich gerade nicht. werd ich gleich mal reinschrieben Gesendet von meinem SM-G935F mit Tapatalk
  • Szene mit Astrofunktion steuern

    Verschoben
    14
    1
    0 Stimmen
    14 Beiträge
    3k Aufrufe
    A
    @rwolupo: javascript.0 2017-10-17 19:15:49.315 error script.js.MINE.Skript1: ReferenceError: sunriseEnd is not defined ` Das zeigt doch, das was mit den Astrozeiten nicht stimmt. Hast du in den Systemeinstellungen Längen und Breitengrad eingetragen? Wenn du willst, mit diesem Skript legt es dir Objekte an und schreibt die jeweilige Astrozeit rein…. ! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml"> ! <block type="create" id="y#~DPsi}j{sCoA_z[i!v" x="-112" y="-888"><field name="NAME">javascript.0.Astrozeit.Sonnenaufgang</field> ! <statement name="STATEMENT"><block type="create" id="%cx^a33?Dp:p9TWOj!,]"><field name="NAME">javascript.0.Astrozeit.Sonnenaufgangende</field> ! <statement name="STATEMENT"><block type="create" id="0B21)8IBncK+M)F)rXI@"><field name="NAME">javascript.0.Astrozeit.GoldenHourEnde</field> ! <statement name="STATEMENT"><block type="create" id="xm4-5V%IV/BEs{Nrp~OS"><field name="NAME">javascript.0.Astrozeit.Sonnenmittag</field> ! <statement name="STATEMENT"><block type="create" id="Oy#v^,%f{Kgs^dxlFAHa"><field name="NAME">javascript.0.Astrozeit.Goldenhour</field> ! <statement name="STATEMENT"><block type="create" id="]hSH07]YMdO,=?AeH1A"><field name="NAME">javascript.0.Astrozeit.Sonnenunterganganfang</field> ! <statement name="STATEMENT"><block type="create" id="Uj9_jCVd2Ix3%rVUknj"><field name="NAME">javascript.0.Astrozeit.Sonnenuntergang</field> ! <statement name="STATEMENT"><block type="create" id="(AQ2q4uJ7sFDP2by;b:%"><field name="NAME">javascript.0.Astrozeit.Abenddämmerung</field> ! <statement name="STATEMENT"><block type="create" id="3Q[ZAnjZ{|t(Y?N~hOI)"><field name="NAME">javascript.0.Astrozeit.nautischeAbenddämmerung</field> ! <statement name="STATEMENT"><block type="create" id="HyeZNE{eAm_hDr(dolc0"><field name="NAME">javascript.0.Astrozeit.Nacht</field> ! <statement name="STATEMENT"><block type="create" id="N2:|rWT300}SmWIM^|LH"><field name="NAME">javascript.0.Astrozeit.Nachtende</field> ! <statement name="STATEMENT"><block type="create" id="(y.%(kzC,RD%vmt^b4+p"><field name="NAME">javascript.0.Astrozeit.nautischeMorgendämmerung</field> ! <statement name="STATEMENT"><block type="create" id="0}I.KmG;CK?S#df#WeEJ"><field name="NAME">javascript.0.Astrozeit.Morgendämmerung</field> ! <statement name="STATEMENT"><block type="create" id="L8oHUSR5PyJx(S?{8!x"><field name="NAME">javascript.0.Astrozeit.Nadir</field></block></statement></block></statement></block></statement></block></statement></block></statement></block></statement></block></statement></block></statement></block></statement></block></statement></block></statement></block></statement></block></statement> ! <next><block type="astro" id="7]sH!+K4T,yGQOsjx8}N"><field name="TYPE">sunrise</field> ! <field name="OFFSET">0</field> ! <statement name="STATEMENT"><block type="control" id="GjzsL(RzXw]h)-or!#"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Astrozeit.Sonnenaufgang</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="time_get" id="=.f/T*4ETQ7F9:KT2Cs2"><mutation format="true" language="false"></mutation> ! <field name="OPTION">custom</field> ! <field name="FORMAT">MM.TT SS:mm</field></block></value></block></statement> ! <next><block type="astro" id="4YpS96e7q%x[;AA~(GzF"><field name="TYPE">sunriseEnd</field> ! <field name="OFFSET">0</field> ! <statement name="STATEMENT"><block type="control" id="wf*5U)cCpxx9Jx##dH|+"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Astrozeit.Sonnenaufgangende</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="time_get" id="dmJmUu@MUw#TXE@poL~j"><mutation format="true" language="false"></mutation> ! <field name="OPTION">custom</field> ! <field name="FORMAT">MM.TT SS:mm</field></block></value></block></statement> ! <next><block type="astro" id="BPZf?8M36kmwpt%Cc?p"><field name="TYPE">goldenHourEnd</field> ! <field name="OFFSET">0</field> ! <statement name="STATEMENT"><block type="control" id="j4pW!Dh.hV6S6LOBab]D"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Astrozeit.GoldenHourEnde</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="time_get" id="Y(?@qIH%q])m6O}=?,cq"><mutation format="true" language="false"></mutation> ! <field name="OPTION">custom</field> ! <field name="FORMAT">MM.TT SS:mm</field></block></value></block></statement> ! <next><block type="astro" id="Z+,#(I=/.PT~gStMH8L}"><field name="TYPE">solarNoon</field> ! <field name="OFFSET">0</field> ! <statement name="STATEMENT"><block type="control" id="~17Ep5Fu56Y@L@dM@j1x"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Astrozeit.Sonnenmittag</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="time_get" id="y/J:)+UNJE:me=qn[*Y"><mutation format="true" language="false"></mutation> ! <field name="OPTION">custom</field> ! <field name="FORMAT">MM.TT SS:mm</field></block></value></block></statement> ! <next><block type="astro" id="kh@N}k;p?!%p_|u}snnD"><field name="TYPE">goldenHour</field> ! <field name="OFFSET">0</field> ! <statement name="STATEMENT"><block type="control" id="hLDz?xnbOVUaA,!I/|p7"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Astrozeit.Goldenhour</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="time_get" id="RGJtgqnth:l_bxmdsy/R"><mutation format="true" language="false"></mutation> ! <field name="OPTION">custom</field> ! <field name="FORMAT">MM.TT SS:mm</field></block></value></block></statement> ! <next><block type="astro" id="+uy;B??Q7@_iyj@]f(Vb"><field name="TYPE">sunsetStart</field> ! <field name="OFFSET">0</field> ! <statement name="STATEMENT"><block type="control" id="ZX)Kto~ppW?wOCvBqfw@"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Astrozeit.Sonnenunterganganfang</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="time_get" id="i=[*z5n@xjLu1d2d;9j)"><mutation format="true" language="false"></mutation> ! <field name="OPTION">custom</field> ! <field name="FORMAT">MM.TT SS:mm</field></block></value></block></statement> ! <next><block type="astro" id="j_4#Ka#WV}dib7a;PxqI"><field name="TYPE">sunset</field> ! <field name="OFFSET">0</field> ! <statement name="STATEMENT"><block type="control" id="46a}F4Qz8Z293AxH-DH}"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Astrozeit.Sonnenuntergang</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="time_get" id=";px^FlvP^dcvCWJ!.|=A"><mutation format="true" language="false"></mutation> ! <field name="OPTION">custom</field> ! <field name="FORMAT">MM.TT SS:mm</field></block></value></block></statement> ! <next><block type="astro" id="gF7q=RL%q+Er(IG8/re"><field name="TYPE">dusk</field> ! <field name="OFFSET">0</field> ! <statement name="STATEMENT"><block type="control" id="0O7RkTRXBihU1.s;^%S~"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Astrozeit.Abenddämmerung</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="time_get" id="O^:O7@6nT:#):An!%|+R"><mutation format="true" language="false"></mutation> ! <field name="OPTION">custom</field> ! <field name="FORMAT">MM.TT SS:mm</field></block></value></block></statement> ! <next><block type="astro" id="~Eid6}=rF]/yGRhyt2E"><field name="TYPE">nauticalDusk</field> ! <field name="OFFSET">0</field> ! <statement name="STATEMENT"><block type="control" id="!;C{EYh6IqnQP/PJ*G1e"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Astrozeit.nautischeAbenddämmerung</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="time_get" id="9;[i^YpBm|lJ+V_?ToMR"><mutation format="true" language="false"></mutation> ! <field name="OPTION">custom</field> ! <field name="FORMAT">MM.TT SS:mm</field></block></value></block></statement> ! <next><block type="astro" id="crPVnYhV8iI/?s1JmccE"><field name="TYPE">night</field> ! <field name="OFFSET">0</field> ! <statement name="STATEMENT"><block type="control" id="hH-,[DhNKkpo|=35WC8"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Astrozeit.Nacht</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="time_get" id="5rj0V60h;_3GtGu6JED"><mutation format="true" language="false"></mutation> ! <field name="OPTION">custom</field> ! <field name="FORMAT">MM.TT SS:mm</field></block></value></block></statement> ! <next><block type="astro" id="~k!R6}JvzgN8wVLVtY"><field name="TYPE">nightEnd</field> ! <field name="OFFSET">0</field> ! <statement name="STATEMENT"><block type="control" id="x26(cn2u5rKhftXW%W?:"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Astrozeit.Nachtende</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="time_get" id="t+J:okmla#+0|I5WEg"><mutation format="true" language="false"></mutation> ! <field name="OPTION">custom</field> ! <field name="FORMAT">MM.TT SS:mm</field></block></value></block></statement> ! <next><block type="astro" id="5=r~?18H!OsGg-dW-)bv"><field name="TYPE">nauticalDawn</field> ! <field name="OFFSET">0</field> ! <statement name="STATEMENT"><block type="control" id="@}oDJ/dw)u-FYTBs)7qd"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Astrozeit.nautischeMorgendämmerung</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="time_get" id=":m@v9F)Ss]s.]o2m;X"><mutation format="true" language="false"></mutation> ! <field name="OPTION">custom</field> ! <field name="FORMAT">MM.TT SS:mm</field></block></value></block></statement> ! <next><block type="astro" id="X(yHsBM*.+n8NKLXn~3"><field name="TYPE">dawn</field> ! <field name="OFFSET">0</field> ! <statement name="STATEMENT"><block type="control" id="r}jqo01U/?K|1,@k:I=6"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Astrozeit.Morgendämmerung</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="time_get" id="Zohil)zd_#.-TY68_^S"><mutation format="true" language="false"></mutation> ! <field name="OPTION">custom</field> ! <field name="FORMAT">MM.TT SS:mm</field></block></value></block></statement> ! <next><block type="astro" id="bp1)h3|gZo}[ao)XnRD"><field name="TYPE">nadir</field> ! <field name="OFFSET">0</field> ! <statement name="STATEMENT"><block type="control" id="S_fG)!U(240H/by[oVv"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Astrozeit.Nadir</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="time_get" id="dF@oH!7C0327;;Tdymv"><mutation format="true" language="false"></mutation> ! <field name="OPTION">custom</field> ! <field name="FORMAT">MM.TT SS:mm</field></block></value></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></xml>
  • Grundverständnis Blockly

    Verschoben
    43
    1
    0 Stimmen
    43 Beiträge
    8k Aufrufe
    rantanplanR
    Hallo j.kowi Ich packe meine Blocklys weder in "Global" noch in "Common". [image: 147_beispiel.png] Grüße
  • Wie den Javascript Adapter nutzen?

    Verschoben
    40
    0 Stimmen
    40 Beiträge
    15k Aufrufe
    AlCalzoneA
    @klassisch: Habe jetzt mal NodeJS 6.11.4 LTS aufgespielt. Noch kein NPM. ` Da ist NPM mit dabei ;) Wird auch benötigt, um die Typisierungsdateien zu installieren. 4.8 kannste aufm Pi erst mal lassen, außer du willst einen Adapter installieren, der 6 oder höher benötigt.
  • Habe mich aus dem System geschossen ;)

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    738 Aufrufe
    DutchmanD
    @AST64: Top::: Bin wieder auf der Oberfläche und habe das Script gelöscht/deaktiviert. LÄUFT … Wahrscheinlich habe ich einen massiven Fehler im Script der die Kiste zum Glühen bringt. Ging gar nichts mehr, kein VIS Edit, Kein VIS und keine Adminansicht. Habe mehrmals neu gestartet. Dabei hat das Script wohl schneller als ich es wieder anhalten konnte seinen Dienst verrichtet ;-) Mit dem Stoppen des Adapters hast geklappt. Ihr seit SUPER .... Danke Andreas ` hoert sich nach ner endlos schleige an ;)
  • [Hilfestellung] Funktion: Increment / Decrement Code

    Verschoben
    2
    1
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    D
    Wenn Du die Zahl anschliessend wieder als String weitergeben willst, so z.B.: var string=msg.payload; var x=Number(string); var x=x+1; var msg.payload=String(x); als kleiner Denkanstoss :-) mfg dna909
  • Skripte Zusammenspiel mit Alexa

    Verschoben
    12
    2
    0 Stimmen
    12 Beiträge
    2k Aufrufe
    MatzebhvM
    Habe es jetzt fast so geändert. Allerdings nicht bei annerkant = true (das gibt es da ja nicht sondern einfach nur den Trigger auf wahr gelegt. Und jetzt funktioniert es auch. Jepp, das passiert wenn zwei Einäugige auf Dinge starren. Bin genau wie du am Anfang. Habe damit auch viel gelernt! Jepp. Ich auch. Und jetzt funktioniert es auch. Manchmal zählt das Ergebnis :D Matze
  • Gelöst: Wetterstation-Script, Werte runden

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    887 Aufrufe
    MatzebhvM
    Au man. Kaum denkt man ein wenig weiter und fragt auch mal die studierte Freundin. ;) :oops: :lol: Alles ein Problem mit der Anordnung der Klammern ! var dailyrainmm = getState(iddailyrainmm).val; var dailyrainin = Math.round((dailyrainmm * 0.0393701)*100)/100;  // Umwandlung mm in in ! Danke für das zuhören bei meinem Selbstgespräch. Matze
  • [Gelöst] Hex in Decimal umwandeln

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    713 Aufrufe
    BuZZyB
    var hex = '71433e8e'; log(parseInt(hex, 16)); Ergebnis: 19:08:15.531 [info] javascript.0 script.js.Testskripte.HexTest: 1900232334 Wo ist das Problem? :D Gruß
  • Blockly mit Bedingung und schedule

    Verschoben
    41
    1
    0 Stimmen
    41 Beiträge
    7k Aufrufe
    HomoranH
    Danke Paul, das hat dich aber einige Mühen gekostet!! …und mich hängst du erst mal wieder ab :( Je mehr ich weiß, desto mehr merke ich wie wenig ich weiß! Gruß Rainer
  • (Gelöst) Blocky Wert der Helligkeit in drei Stuffen herunterdimmen.

    Verschoben
    24
    1
    0 Stimmen
    24 Beiträge
    4k Aufrufe
    K
    Danke Dir vorerst… Habe zwischendurch den Timer Blockly weggelassen und probiere zu Hause so etwas aus... Müsste an sich ohne den Blockly Timer funktionieren. 1526_unbenannt3.png
  • [gelöst] Blockly: wenn letzte Änderung > X min

    Verschoben
    10
    0 Stimmen
    10 Beiträge
    3k Aufrufe
    K
    kann jemand kurze Funktiosweise des Timers aufschreiben? Ich sehe im Log nur ein "true" Wenn ich unter Objekt ID "Timer" ein "false" einhacke, kommt in Log für die eingestellte Zeit ein "false", danach ein "true" Scheint so zu funktionieren. Allerdings werden die Werte "true" & "false" unter Objekt ID "Timer" nicht aktualisiert… Muß es so sein? Oder mache ich irgendwo generell einen Fehler?
  • [GELÖST] Kurze Frage Blockly-Telegram

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    892 Aufrufe
    E
    danke, habs
  • Exec wget Skripte mit Verzögerungen etc

    Verschoben
    5
    1
    0 Stimmen
    5 Beiträge
    997 Aufrufe
    DutchmanD
    @schneidy76: Super Doku!!! Eine Frage habe ich noch: Wieviel "Blöcke" kann ich pro Script kreieren? Nur einen oder gehen da mehrere? ` Soviele du willst ;) –----------------------- Send from mobile device
  • [gelöst] Trigger kurzzeizig aussetzen

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    476 Aufrufe
    ldittmarL
    Ohh… denke ich zu kompliziert? Die einfachste Variante ist mir nicht eingefallen. :roll: Danke AlCalzone. Vor lauter Bäume habe ich den Wald nicht mehr gesehen. Ich habe es auch hinbekommen, aber meine Variante kann ich keinem zeigen... Hack hoch 10 :shock: :lol: function triggerPause(){ var trigger = on(......, function (obj) { unsubscribe(trigger); ... setTimeout(function () { triggerPause(); }, 1000); }); } triggerPause(); Grüße, ldittmar
  • Schedule - Licht an bei fester Zeit

    Verschoben
    9
    0 Stimmen
    9 Beiträge
    4k Aufrufe
    B
    von mir auch nochmal einen Dank an alle… So hab ich auch wieder etwas dazu gelernt :D
  • Fernsehautomatik (Licht dimmen)

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    984 Aufrufe
    S
    Danke erstmal für die rasche Rückmeldung. Dann bin ich erstmal nicht soweit entfernt ;) Edit: Diese Abfrage ist irgendwie quatsch: Code: obj.newState.val > 99 && obj.newState.val != 50 Hast Du vollkommen recht. Wollte damit nur abbilden, dass wenn man den Fernseher wieder ausschaltet die Lampe wieder auf 100% levelt. Geht eventuell auch so etwas, welche den Workaround einfacher gestalten? on({id: "hm-rpc.0.XYZ7654321.2.POWER", valLt: 3, oldValGe: 50}, function() { setState("hm-rpc.0.ABCDEFGHI.1.LEVEL", 100); //Lampe dimmen auf 100% fernseh = false; } on({id: "hm-rpc.0.ABCDEFGHI.1.LEVEL", valLt: 100, oldValGe: 0}, function() { if (night && fernseh) setState("hm-rpc.0.ABCDEFGHI.1.LEVEL", 50); //Lampe dimmen auf 50% dimmen = false; }

406

Online

33.0k

Benutzer

83.6k

Themen

1.3m

Beiträge