Skip to content

Skripten / Logik

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

16.5k Topics 213.4k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    S
    @Berny-K oh sorry, da habe ich das irgendwie überlesen das es bei dir um ein 800 Pro ging.... Sorry!! Du kannst es testen, theoretisch sollte es auch funktionieren, würde nur interessant werden was bei Überschuss am Netzpunkt passiert... ob der 800pro anfängt dann über AC zu laden... Aber da "stecke" ich gar nicht im Thema
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Topics
    79k Posts
    M
    @schweiger2 Übergabe der Daten an command? z.B. DP: hue.0.Hue_Bridge.Schubladen.command {"on":true,"bri":128,"r":255,"g":0,"b":0,"transitiontime":0}
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Topics
    13k Posts
    Marc BergM
    Es gibt in der Verson 1.3.0 einen neuen Node: iob-setObject (Stand 10.02.26 noch beta) Mit dem neuen Node kann man ioBroker-Objektdefinitionen (Metadaten) direkt schreiben und ändern. Hauptfunktionen: Instanz-Konfigurationen ändern - z.B. MQTT publish-Pattern, Intervalle, etc. Objekt-Eigenschaften aktualisieren - Namen, Rollen, Einheiten, Min/Max-Werte ändern es gibt zwei Modi: Merge-Modus : Ändert nur die angegebenen Eigenschaften, alle anderen bleiben erhalten Replace-Modus: Überschreibt das komplette Objekt Typischer Workflow: Objekt mit iob-getobject holen Mit Change-Node gewünschte Properties ändern Mit iob-setobject zurückschreiben
  • MQTT: publish via Javascript

    Moved
    3
    0 Votes
    3 Posts
    2k Views
    S
    Danke!!
  • [Hilfe] Mit einem Blockly Status von Tür und Fenster abfragen.

    Moved
    6
    1
    0 Votes
    6 Posts
    2k Views
    R
    Deine Ansagen kannst du so abändern, dass du für jedes Fenster und jede Tür einen neuen falls-Block nimmst und die entsprechende Ansage ausführst, das wird aber dann dazu führen, dass die Ansagen fast zeitgleich ankommen werden. Das wird auf die Schnelle nicht so einfach. Ganz grob würde ich sagen, dass du da mit ein paar Variablen arbeiten musst, die du für jedes Fenster setzt und dann einen Text zusammenstellst, der entsprechend den aktivierten Variablen, die offenen Fenster ansagt. Hast du dir dieses Zählen-Script schon mal angesehen? Ich habe auch überhaupt keine Ahnung von "normalem" Javascript, der Thread dazu ist aber schon so, dass man da ne Menge rauslesen kann, auch als Noob. Und geholfen wird dir da auch, das bekommst du hin! :D Enrico
  • Sleep-Befehl mit Blockly

    Moved
    2
    1
    0 Votes
    2 Posts
    2k Views
    R
    Ne Pause gibt's nicht im Blockly, da würde nur ein timeout, oder eben diese Verzögerung in den "steuere" Blöcken. Bei Verwendung von timeouts unbedingt sicherstellen, dass diese sicher beendet werden und auch nicht in einer Endlosschleife vielfach gestartet werden, das hat schon bei so Manchem Probleme verursacht! Enrico
  • Wie exec Ergebnis mit Blockly nutzen? (gelöst)

    Moved
    11
    0 Votes
    11 Posts
    7k Views
    N
    @wendy2702: Nur mal so… ist das kein AVR für den es einen fertigen Adapter gibt? ` hmm das müsste ich nochmal checken. Ist ein Pioneer VSX921. @Bluefox: Dafür braucht man kleinen Trick. Erst muss die Variable mit dem Namen "result" erzeugt werden und dann kann man die im Ergebnis abfragen: ` vielen Dank, das war die Lösung
  • [Gelöst] Nachtlicht mit Rollo und Astro schalten

    Moved
    12
    1
    0 Votes
    12 Posts
    904 Views
    L
    Die Lösung ist, das ich den Rollo einfach raus genommen hab und das Script nur noch über die Tageszeit steuere. [image: 5495_screenshot_20180315-172801.jpg] Gruss Michi
  • Msg.payload werte extrahieren

    Moved
    10
    2
    0 Votes
    10 Posts
    19k Views
    G
    Cool. Gesehen habe ich den Menüpunkt schon mal. Da muss ich den Subflow wohl mal austesten. Danke für die Info
  • [Gelöst] Wie On Funktion zusammen fassen

    Moved
    4
    0 Votes
    4 Posts
    436 Views
    Paulchen67P
    Funktioniert, Vielen Dank.
  • Nicht den Wert sondern den anzeigten Text übernehmen?

    Moved
    2
    2
    0 Votes
    2 Posts
    295 Views
    paul53P
    Das wird wohl mit Blockly nichts, aber mit https://forum.iobroker.net/viewtopic.php?f=21&t=6418&p=66212#p66212 kann man es machen.
  • [gelöst]Script ausführen mit Dashbutton

    Moved
    2
    3
    0 Votes
    2 Posts
    394 Views
    S
    Vermutlich habe ich den Fehler gefunden, ich darf die Lichter, etc. nicht gleichzeitig ein-, bzw. ausschalten lassen, sondern muss immer eine paar "ms" Verzögerung, zwischen den jeweiligen Schaltungen, einfügen.
  • [gelöst] Blockly Alarmanlage

    Moved
    4
    2
    0 Votes
    4 Posts
    1k Views
    lobomauL
    Zum Scharf- und Unscharfstellen kann ich das Blockly von rantanplan empfehlen: viewtopic.php?f=21&t=4769&hilit=rantanp … =20#p49863
  • Blockly, Lesen eines Wertes mit String Parameter

    Moved
    5
    0 Votes
    5 Posts
    966 Views
    H
    Hallo, ich möchte ein Objekt beschreiben (und lesen), welches ich über eine Variable referenziere z.B. im folgenden Beispiel möchte ich per Variable "item" myObject_1 bis myObject_10 mit "0" beschrieben [image: 544_ohne_titel.jpg] Leider kann "control" keine Variablen verwenden
  • 0 Votes
    7 Posts
    871 Views
    S
    Jetzt hab ichs eigentlich so hinbekommen, dass wenn das Fenster offen ist alle 5 min (zum test sek) abgefragt wird ob die Luftfeuchtigkeit z.B. unter 50% liegt. Ist das nach 30 min nicht der Fall kommt nach 32 min immer eine Meldung. Wie könnte ich es machen, dass wenn eine Meldung gesendet wurde oder das Fenster geschlossen wird das Skript abgebrochen wird? 6377_blockly_9.jpg
  • [gelöst] Licht bei Bewegung will nicht so recht…

    Moved
    5
    1
    0 Votes
    5 Posts
    1k Views
    M
    ! ```` <xml xmlns="http://www.w3.org/1999/xhtml"><block type="create" id="f/h+q}5V%y]EUJ;a=!VW" x="-437" y="-388"><field name="NAME">Kueche_State</field> <next><block type="create" id="Uzkta:J2#p(pK#gZWHts"><field name="NAME">Lichtautomatik_Kueche</field> <next><block type="variables_set" id="U,v}AxcbrG,o}/9r)R!"><field name="VAR">licht_Kueche</field> <value name="VALUE"><block type="get_value" id="7.:eScCos^))#So/]I7"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ1148284.1.STATE</field></block></value> <next><block type="comment" id="bl5[_A@=Q=VNvb.TPlA"><field name="COMMENT">ID Bewegung</field> <next><block type="on" id="^E4sfXy;J%7%N7!~KYN"><field name="OID">javascript.1.Hue.2.Bewegung_Kueche</field> <field name="CONDITION">ne</field> <statement name="STATEMENT"><block type="debug" id="5jySf};|1KIOz|-x5.4Z"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="fHy%l4TaB=O@7CVB%u0b"><field name="TEXT">Motion hat sich geändert</field></shadow></value> <next><block type="controls_if" id="lZ(wkj5=qNXN;_`3W3EM"><mutation elseif="2"></mutation> <value name="IF0"><block type="logic_operation" id="E=HM_HQk,dla`gsD4{H:" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_operation" id="=cIP!7w_p]G^(AgluL[v" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="Yh%8NG*Nuwjr^aKM=,nt"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="#K|]ht@w0d_Zr~6.T2~E"><field name="ATTR">val</field> <field name="OID">javascript.1.Hue.2.Bewegung_Kueche</field></block></value> <value name="B"><block type="logic_boolean" id="~y`_6?d~o4)_]EyZ4J;u"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="D55i4j~OO6*Hm9PfVjm="><field name="OP">NEQ</field> <value name="A"><block type="variables_get" id="}cCg)yznc~0`#7APGIT)"><field name="VAR">licht_Kueche</field></block></value> <value name="B"><block type="logic_boolean" id=";EV32f,;q=g1]+O8c)g2"><field name="BOOL">TRUE</field></block></value></block></value></block></value> <value name="B"><block type="logic_operation" id="@TpyiC./.ECP0lF-~1?w" inline="false"><field name="OP">AND</field> <value name="A"><block type="get_value" id="Y(b=sP`q47riGyA,XksN"><field name="ATTR">val</field> <field name="OID">javascript.1.Hue.2.Helligkeit_Kueche</field></block></value> <value name="B"><block type="get_value" id="HxQ1+yJnLg==AA(b^I,["><field name="ATTR">val</field> <field name="OID">javascript.1.Lichtautomatik_Kueche</field></block></value></block></value></block></value> <statement name="DO0"><block type="debug" id="TKfC_ji*Hm6VcZj*f0}Y"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="(oL_uo[8==.Z}qCFEfA."><field name="TEXT">Alle Bedingungen OK, Licht an</field></shadow></value> <next><block type="control" id="uE]kwP%Z?J[RCFy42a,7"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ1148284.1.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="a6o!G0N:bhTy-.[j1666"><field name="BOOL">TRUE</field></block></value> <next><block type="control" id="zYhzvwa{q{Q1;,[31^#C"><mutation delay_input="false"></mutation> <field name="OID">javascript.1.Kueche_State</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="?7AV-q45SnEA*.4nNt:6"><field name="BOOL">TRUE</field></block></value></block></next></block></next></block></statement> <value name="IF1"><block type="logic_operation" id="Y~.i/Pt44SuP|V}YcK|E" inline="false"><field name="OP">AND</field> <value name="A"><block type="variables_get" id="S5lo2]3s*YpRhW:VD/p4"><field name="VAR">licht_Kueche</field></block></value> <value name="B"><block type="logic_operation" id="J5`Gld]}n*j10oxbS_?8" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="rNA:N3@NZ/-^dGkL{Z%u"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="Ir,D1K,f_535w~SEt0hZ"><field name="ATTR">val</field> <field name="OID">javascript.1.Hue.2.Bewegung_Kueche</field></block></value> <value name="B"><block type="logic_boolean" id="qpW(m3)RxeTh?O5(O+L!"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="get_value" id="Q#8EVw/^yor:Ihj=[r_c"><field name="ATTR">val</field> <field name="OID">javascript.1.Lichtautomatik_Kueche</field></block></value></block></value></block></value> <statement name="DO1"><block type="timeouts_cleartimeout" id="~qHp3o*Wab.XYgl%rn#g"><field name="NAME">timeout</field> <next><block type="debug" id="@hNr3:jd6:lD:ehN19DA"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="RRyZEBWQ+9-D,P.D-Dd`"><field name="TEXT">Bewegung erkannt:Licht ist schon an</field></shadow></value></block></next></block></statement> <value name="IF2"><block type="logic_operation" id="|)+-]QQFMd2kz=~VB:))" inline="false"><field name="OP">AND</field> <value name="A"><block type="variables_get" id="y8LC=t/!+2P5:OUS3t@2"><field name="VAR">licht_Kueche</field></block></value> <value name="B"><block type="logic_operation" id="Bm3Pez`%ZLJG4O{Ru5B+" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="C?YcLvjR8lVZpl.rcpv^"><field name="OP">NEQ</field> <value name="A"><block type="get_value" id="v#(Lfeg)d%*D{eJ25OAT"><field name="ATTR">val</field> <field name="OID">javascript.1.Hue.2.Bewegung_Kueche</field></block></value> <value name="B"><block type="logic_boolean" id="Si}n@@VC@PmZhrx1i^Rl"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="get_value" id="diSen57XIb(F:wZQU.4_"><field name="ATTR">val</field> <field name="OID">javascript.1.Lichtautomatik_Kueche</field></block></value></block></value></block></value> <statement name="DO2"><block type="debug" id="L|}GJ8=gE|QE+9=_uQp1"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="OAG4qE^{qe/?ibyjauXE"><field name="TEXT">Keine bewegung timer starten</field></shadow></value> <next><block type="timeouts_cleartimeout" id="GM7ujBrSBNOMga4_(?Gv"><field name="NAME">timeout</field> <next><block type="timeouts_settimeout" id="F3Tex_`gJ**]n(K(Ua86"><field name="NAME">timeout</field> <field name="DELAY">3</field> <field name="UNIT">min</field> <statement name="STATEMENT"><block type="controls_if" id="M60^Ic]cp0Mf2p9HbTir"><value name="IF0"><block type="logic_operation" id="_,O3L2RQ2,xI2|{|vz}Y"><field name="OP">AND</field> <value name="A"><block type="variables_get" id="1WQ7~2dm_.*+H)L(O5@{"><field name="VAR">licht_Kueche</field></block></value> <value name="B"><block type="logic_compare" id="w{.nM^Kf_iMRR0#tfRjE"><field name="OP">NEQ</field> <value name="A"><block type="get_value" id="`|/cV^AQND=!;Ly){42("><field name="ATTR">val</field> <field name="OID">javascript.1.Hue.2.Bewegung_Kueche</field></block></value> <value name="B"><block type="logic_boolean" id="/(O?--g7uMK7C{qYo{mZ"><field name="BOOL">TRUE</field></block></value></block></value></block></value> <statement name="DO0"><block type="control" id="*n8yTg,vzGkKwO`;srp."><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ1148284.1.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="aNXp7_a?dXcb]%{2)IVi"><field name="BOOL">FALSE</field></block></value> <next><block type="control" id="(u}jL-fI~[Fr8l?83;b8"><mutation delay_input="false"></mutation> <field name="OID">javascript.1.Kueche_State</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="7fg}SH%TtJ2QQl|iJkJH"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></statement></block></next></block></next></block></statement></block></next></block></statement> <next><block type="comment" id="PlNbAyN^w;+~0DlYraf?"><field name="COMMENT">ID Licht</field> <next><block type="on" id="Qvir^Iyye;}YSbLTY*En"><field name="OID">hm-rpc.0.OEQ1148284.1.STATE</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION">true</field> <statement name="STATEMENT"><block type="variables_set" id="8u+DfM@(Gb|Gpa*5V%gb"><field name="VAR">licht_Kueche</field> <value name="VALUE"><block type="on_source" id="*z`p%tJ(Mc`=dl6(%0Q%"><field name="ATTR">state.val</field></block></value></block></statement> <next><block type="on" id="E/h^XM2HRwrs0EAm(~.~"><field name="OID">hm-rpc.0.OEQ1148284.1.STATE</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION">true</field> <statement name="STATEMENT"><block type="controls_if" id="Qu|38ncZ=aV_FiJ|{6B4"><value name="IF0"><block type="logic_compare" id="],+dP__za,Y^P.Ta|/St"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="*2`@L{}7PKr)=(fAPlO7"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ1148284.1.STATE</field></block></value> <value name="B"><block type="logic_boolean" id="}F{URw/H6b0^AHM1%:im"><field name="BOOL">FALSE</field></block></value></block></value> <statement name="DO0"><block type="control" id="91r7zNW@!0LKaft8J-fU"><mutation delay_input="false"></mutation> <field name="OID">javascript.1.Kueche_State</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="on_source" id="L~AmN}EsEF#5mRDa7^dP"><field name="ATTR">state.val</field></block></value></block></statement></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block> <block type="comment" id="2aV7tF/;%?p=WCSi2.Nl" x="-62" y="-312"><field name="COMMENT">ID Licht</field></block></xml> Ich habe es jetzt nochmal umgebaut.. da waren doch noch ein bisschen Denkfehler drin…. Nun funktioniert es perfekt. Einschaltbedingung, erkennen ob Bewegung, wenn Licht schon an ist (timer stoppen, falls schon einer gestartet) und Timer zum ausschalten, wenn licht an und keine Bewegung mehr... [4885_kueche-neu.jpeg](/assets/uploads/files/4885_kueche-neu.jpeg)
  • Einfacher Timer mit Blockly

    Moved
    9
    1
    0 Votes
    9 Posts
    4k Views
    P
    @UweRLP: Sicher das dein Blockly nicht ausgeführt wird? ` Wie könnte ich das Testen? @UweRLP: Vermutlich entspricht das Ergebnis nicht deinen Erwartungen. ` Das mit Sicherheit denn ich möchte ja das der Timer funktioniert :lol: Ich habe im Skript mehrere Blöcke mit Timer könnte das ein Problem sein? Wenn ich die Lampen manuel schalte, klicken diese immer wieder so blöd, ganz kurz schaltet das Relais für ein Bruchteil von einer Sekunde. Auf welche Zeit bezieht sich der Timer? die vom Rechner? Gestern Punkt 20:00 Uhr ist eine Lampe an gegangen. Pünktlich eine Stunde zu spät aber nur eine. Ist zum Beispiel beim Astrotimer der Sonnenaufgang bei mir in der Region? Irgendwie überzeugt mich die Timerfunktion noch nicht ganz. Oder ich habe wirklich etwas falsch gemacht oder falsch verstanden. Was ich sicher nicht ausschliessen möchte. ;)
  • [Frage] Fensterkontakt macht Snapshot von Onvif IP-Cam Stream

    Moved
    6
    0 Votes
    6 Posts
    1k Views
    Z
    Hallo deine cam sollte wie die siri sp020 sein kannst das hier versuchen: https://shinobi.video/docs/cameras/Sricam#JPEGhttp://
  • Node Red funktioniert nichtmehr (missing nodes)

    Moved
    3
    0 Votes
    3 Posts
    3k Views
    T
    Ich hab einfach die Nodes gelöscht und jetzt funktioniert wieder alles. Aber ich musste die Broadlink Nodes löschen die vorher funktioniert haben und jetzt kann ich meinen Broadlink RM Pro nichtmehr damit nutzen … Wie kann das sein das die auf einmal ärger machen?
  • Blockly Erklärung von debug

    Moved
    3
    0 Votes
    3 Posts
    3k Views
    S
    Danke enrico ich werd es mal in ruhe ausprobieren. Vielleicht check ich es dann dabei…
  • Verhalten von getState, setState im Zusammenhang mit Homematic

    Moved
    4
    0 Votes
    4 Posts
    509 Views
    R
    Viel Spaß beim Scripten! Wenn Fragen dann fragen! Ich kann dir bei "normalem" Javascript nicht mal ansatzweise helfen, aber dafür tummeln sich hier genug Profis, die auch gern helfen! Enrico
  • Script keine Logprints bei 'globalen' Scripten

    Moved
    6
    0 Votes
    6 Posts
    419 Views
    BuZZyB
    Ist in dem Sinne ja kein Problem, sondern so gewollt.. Dafür sind die globalen Scripte da. Da kann man z.B. Funktionen erstellen und diese dann in jedem Script verwenden ohne den Code der Funktion selber in jedes Script zu kopieren. ;) Gruß
  • [solved] Simples Skript als Tageszähler

    Moved
    5
    1
    0 Votes
    5 Posts
    873 Views
    M
    Funktioniert! Danke, jetzt habe ich viel gelernt! :)

686

Online

32.6k

Users

82.3k

Topics

1.3m

Posts