Skip to content

Skripten / Logik

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

16.6k Topics 214.0k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    RoddiEFR
    Ok dann warte ich lieber und fang eine frische Installation an wenn die neue Version fertig ist. Wäre es möglich beim aktuallisieren vom ersten Beitrag auch die Versionsnummern zu ändern wie schon jemand Vorgeschlagen hatte? Das macht das es einfacher wenn Änderungen anliegen. Thx
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Topics
    80k Posts
    B
    @Murphy-0 Hatte noch nen kleinen Bug, jetzt sieht es schon viel besser aus.
  • 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
  • Funktionen für Xiaomi Cube

    Locked Moved
    3
    0 Votes
    3 Posts
    437 Views
    K
    @Bockwurst19: Guten Morgen und frohe Weihnacht. Wollte fragen ob es möglich ist mit dem Cube mit einen Befehl z.B. 180 flip das Licht Ein und wieder Aus zu schalten. Über einem Script oder so. Und ist es möglich wenn Ich den Cube Flip 90 nach links mache, das bei Alexa das vorige lied und bei Flip 90 rechts das nächste Lied kommt. Gruss ` Schimmermedia ;) https://youtu.be/hSDTP_OpYI4 Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk
  • Skript tab wird nicht angezeigt (Gelöst)

    Moved
    5
    0 Votes
    5 Posts
    473 Views
    D
    @apollon77: Das obige versucht? Gesendet vom Handy … ` Hat funktioniert, es hatte eine längere ladezeit MfG Dario Casciato
  • Elektronische Rolladen programieren!

    Moved
    1
    0 Votes
    1 Posts
    243 Views
    No one has replied
  • Funktionen und Räume stärker nutzen

    Moved
    9
    4
    0 Votes
    9 Posts
    939 Views
    DutchmanD
    Auch Dan könnte man doch die Funktion des selectors beim Script Start ausführen und das Resultat als Variable im Trigger verarbeiteten oder hab ich jetzt nen Denkfehler zur blockly Logic im Vergleich mit Javascript? Ich würde den selector als Funktion bauen in blockly und daraus mit Rückgabe die gewünschte Routine auslösen. Hmm alles Theorie muss Mal testen sollte aber so gehen Sent from my iPhone using Tapatalk
  • [gelöst] Blockly Licht über Bewegungsmelder, Dauerlicht über Taster

    Moved
    48
    0 Votes
    48 Posts
    14k Views
    S
    Moin Zs & frohe Weihnachten :) tolles Skript & super Idee! Da ichs grad nachgebaut habe, hier der komplette Code zum kopieren: <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="6pd/xciykWrf#,/RkX%W" x="-1688" y="-963"><mutation items="1"></mutation> <field name="CONDITION">true</field> <value name="OID0"><shadow type="field_oid" id="jpxnz})h~8%*H1Tfe!G|"><field name="oid">zigbee.0.00158d00023f34e1.occupancy</field></shadow> <block type="logic_operation" id=",MsXJd2F67!F=dtje9aq"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="m72*Le8d:a7pB}+#oaJ3"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="}%d-3jEZm:=UcMSKgCo."><field name="ATTR">val</field> <field name="OID">zigbee.0.00158d00023f34e1.occupancy</field></block></value> <value name="B"><block type="logic_boolean" id="oTD8^~ndr6:Mb(v6,5I6"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="time_compare_ex" id="+{@VLL|:gi~#k/j0pWk?"><mutation end_time="true" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">not between</field> <value name="START_TIME"><shadow type="text" id="1[(WPy+={:AiX{b?hvgd"><field name="TEXT">12:00</field></shadow> <block type="time_astro" id="J!|CySOfjSiq5M,hi^%d"><field name="TYPE">sunrise</field> <field name="OFFSET">0</field></block></value> <value name="END_TIME"><shadow type="text" id="`QEn)Bq-kHk`*tVUG,Z5"><field name="TEXT">18:00</field></shadow> <block type="time_astro" id="hZc00OWZ6qAf~16x;92@"><field name="TYPE">sunset</field> <field name="OFFSET">0</field></block></value></block></value></block></value> <statement name="STATEMENT"><block type="controls_if" id="}[l(7.}CP@g:G9x6aFEg"><value name="IF0"><block type="logic_compare" id="VPjAhD]`.0]1lK5lJvU+"><field name="OP">EQ</field> <value name="A"><block type="variables_get" id="DrWHe%XUh9Nnk,`aaY{)"><field name="VAR">Kueche_Licht_manuell</field></block></value> <value name="B"><block type="logic_boolean" id="x9cCshY.w:Ws/^-3T}FR"><field name="BOOL">FALSE</field></block></value></block></value> <statement name="DO0"><block type="procedures_callnoreturn" id="Tb|#Q@!7T;z#n{0gefM="><mutation name="LeuchteSchalten"><arg name="x"></arg></mutation> <value name="ARG0"><block type="logic_boolean" id="(F;{6ygml~3cw22**5rd"><field name="BOOL">TRUE</field></block></value> <next><block type="timeouts_settimeout" id="II3lv;mVPw+j|5f9,Ts6"><field name="NAME">timeout</field> <field name="DELAY">120000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"><block type="controls_if" id="^Yh#3=Q:c|bL2yV6Y3,|"><value name="IF0"><block type="logic_compare" id="=|;WdiP;`t}~_NPS~ppj"><field name="OP">EQ</field> <value name="A"><block type="variables_get" id="jK25Gn0s*5#}O,88ki`T"><field name="VAR">Kueche_Licht_manuell</field></block></value> <value name="B"><block type="logic_boolean" id="{WLO|B20tt!=Kv{^v4d}"><field name="BOOL">FALSE</field></block></value></block></value> <statement name="DO0"><block type="procedures_callnoreturn" id="C|gBFV;|H0G0kiX.sos%"><mutation name="LeuchteSchalten"><arg name="x"></arg></mutation> <value name="ARG0"><block type="logic_boolean" id="Op97M]g;p!(?2qX{5Zmu"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement></block></next></block></statement></block></statement></block> <block type="variables_set" id="4`Ix7sE|REGj#F`.Iv|h" x="-1088" y="-888"><field name="VAR">Kueche_Licht_manuell</field> <value name="VALUE"><block type="logic_boolean" id="o+p;z5wf,^W~ybsF)Jyt"><field name="BOOL">FALSE</field></block></value></block> <block type="on_ext" id="y;21U{a(QUd~zbz7P4=n" x="-1062" y="-838"><mutation items="1"></mutation> <field name="CONDITION">true</field> <value name="OID0"><shadow type="field_oid" id="Ig[)B3B`(*w;p5_9,(K["><field name="oid">sonoff.0.Küchenlicht.POWER</field></shadow></value> <statement name="STATEMENT"><block type="variables_set" id="[0vqh:][W%?un-`kB%3d"><field name="VAR">Kueche_Licht_manuell</field> <value name="VALUE"><block type="logic_negate" id="z6r+!7{eC?2{e8Ak@Bax"><value name="BOOL"><block type="variables_get" id="ikrlXZk_+?(UvBLj}o}f"><field name="VAR">Kueche_Licht_manuell</field></block></value></block></value> <next><block type="controls_if" id="oQ/8VZ_VR8W3=a*Cz1/a"><mutation else="1"></mutation> <value name="IF0"><block type="logic_compare" id="l-Kq.C,:NZ})Mo7?88gx"><field name="OP">EQ</field> <value name="A"><block type="variables_get" id="P_b9AhEv|DUNbUCnD~V9"><field name="VAR">Kueche_Licht_manuell</field></block></value> <value name="B"><block type="logic_boolean" id="+q53(0dE^F4YZ(6,UFdG"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO0"><block type="procedures_callnoreturn" id="S_+q~E~?i8y*R1Ybo9bY"><mutation name="LeuchteSchalten"><arg name="x"></arg></mutation> <value name="ARG0"><block type="logic_boolean" id="^6|UBhjwwQs0JEwBJx8]"><field name="BOOL">TRUE</field></block></value></block></statement> <statement name="ELSE"><block type="procedures_callnoreturn" id="AV}Jzk[*c?bs@.y)_9Z^"><mutation name="LeuchteSchalten"><arg name="x"></arg></mutation> <value name="ARG0"><block type="logic_boolean" id="_T5.%nC.;76l:NEc(m%x"><field name="BOOL">FALSE</field></block></value></block></statement></block></next></block></statement></block> <block type="procedures_defnoreturn" id="-Ts^et}f~sjE_@F_b@Zr" x="-1738" y="-562"><mutation><arg name="x"></arg></mutation> <field name="NAME">LeuchteSchalten</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"><block type="comment" id="*6FI2{TA*|L*sW+,L(}?"><field name="COMMENT">Funktion Leuchte ein- oder ausschalten</field> <next><block type="controls_if" id="9?aGD0/BVm_Gr=?2ms+r"><value name="IF0"><block type="logic_compare" id="Yv]yu9}8NM]KwDy7Dkc5"><field name="OP">NEQ</field> <value name="A"><block type="get_value" id="7DWzNGXN52r-5ejij|N%"><field name="ATTR">val</field> <field name="OID">sonoff.0.Küchenlicht.POWER</field></block></value> <value name="B"><block type="variables_get" id="WOJ,=X],[ZWF1cE5o.B#"><field name="VAR">x</field></block></value></block></value> <statement name="DO0"><block type="control" id="*B4#g]93@QAUExJcA+k4"><mutation delay_input="false"></mutation> <field name="OID">sonoff.0.Küchenlicht.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="L}Bsm|]1G@6~G)e^!?(i"><field name="VAR">x</field></block></value></block></statement></block></next></block></statement></block></xml> Ich habe lediglich noch eine Funktion für Dunkelheit eingefügt da mein Bewegungsmelder (Occupancy) nur triggern soll wenn es Dämmert und bis es hell wird und die Zeit auf 2 Min. geändert.
  • Script für Tastaturabfrage

    Moved
    2
    0 Votes
    2 Posts
    438 Views
    MicM
    "Anti-Programmierer" wird eine Herausforderung :) Bekommst Du die Tastendrücke in Datenpunkte im ioBroker? Falls ja, dann könntest Du dieses Script als Hilfestellung nehmen, es wertet Tastendrücke vom VIS aus: viewtopic.php?f=30&t=19871 In diesem Teil könntest Du dann Deine eigene Aktion durchführen: /******************************** * Wird bei erfolgreicher Pin-Eingabe ausgeführt * @param {string} viewName Name der View ********************************/ function onSuccess(viewName){ // Change View setState("vis.0.control.instance", getPresetElement(viewName, 'instance')); setState("vis.0.control.data", getPresetElement(viewName, 'project') + '/' + viewName); setState("vis.0.control.command", 'changeView'); } Müsstest aber das Script ziemlich anpassen…
  • [Gelöst] Telegram Nachricht auslesen

    Moved
    3
    1
    0 Votes
    3 Posts
    766 Views
    X
    Oder auf den Datenpunkt in dem die Nachricht ankommt einen Trigger legen und nach dem auslösen prüfen was drinnen steht. Das mache ich so (zentral) und rufe dann unterschiedliche Funktionen mit Parametern auf, aber ich habe handgeschriebenes JS. Wie genau das in Blockly aussieht kann ich dir nicht zeigen.
  • Kontrolle und erstellen von objekten

    Moved
    2
    0 Votes
    2 Posts
    347 Views
    apollon77A
    Brauchst du nicht. Einfach das. CreateState block einfügen und fertig. Gesendet vom Handy …
  • Node-Red Lost connection to server, reconnecting…

    Moved
    1
    0 Votes
    1 Posts
    455 Views
    No one has replied
  • TinkerBoard Daten nach CCU

    Moved
    8
    1
    0 Votes
    8 Posts
    603 Views
    HomoranH
    Dann bleibt noch die soc temp. Ist das vielleicht text? Gruß Rainer
  • Cron-Script läuft nicht

    Moved
    3
    2
    0 Votes
    3 Posts
    459 Views
    J
    Oh, Anfängerfehler. Danke für den Hinweis. Funktioniert nun.
  • Steuerung Funksteckdose mit Raspberry Pi

    Moved
    7
    0 Votes
    7 Posts
    811 Views
    M
    Hallo zusammen Ich bin auch neu hier und habe schon jede Menge im Forum gelernt. Aber an dieser Stelle komme ich nicht so richtig weiter. Wenn ich im Verzeichnis: pi@ioBroker-RasPi:/opt/raspberry-remote den Befehl: Sudo ./send 11111 1 1 eingebe, schaltet die Steckdose. Was muss ich eingeben wenn ich es, aus dem Skript ( was ich von robert822 nachgebaut habe) aufrufen möchte? Viele Grüße
  • Aktualisierung der Stati im Dashboard

    Moved
    5
    1
    0 Votes
    5 Posts
    1k Views
    K
    Ok, super! Vielen Dank dafür.
  • Scripte im Objektbaum importieren

    Moved
    7
    1
    0 Votes
    7 Posts
    1k Views
    D
    Hi Ihr, Ich hole mal diesen alten Post wieder hoch. Also habe nen neuesn Raspi und wollte alles über SSD neu frisch aufsetzen. Alles schön und gut wenn man routiene hat, aber nach einem Jahr ruhe ist es wie 10 Jahre nicht hin geschaut. Mein Problem, Installation neu Raspi3+ auf dem alten alles Ok, Nun habe ich die Scripte aus Java ( als Blockly mit Version 3.6.4 ) raus gezogen ( also den Baum ) und OK Nun Dachte Ich mir, drücke den Button Importieren und … nix. Es passiert nix. Ich "OK", laut update wurde alles ein bisschen verändert, probierst mal auf nächsten raspi mit der 3.6.4 aus und tadaa Feld taucht auf und ich kann einpflegen / importieren. Na gut, alle Explorer an 3 Geräten durchgetestet aber Problem bleibt. Also dachte ich mir, mach auf dem einen ein update auf die 4 Version und tadaaa nun auch da das selbe Problem. Daher wohl ein kleiner Bug. Jetzt wollte ich die kleine 3.6 Version installieren um wenigstens den Haufen von Scripte nicht alle neu kopieren zu müssen, aber auch das geht nicht. Egal welche Version, Ich bekomme immer wieder diesen Fehler: Adapter "javascript" is not in the repository and cannot be updated. upgrade javascript@3.6.4 könnt ihr mir da helfen ? Lg Desa
  • Tradfri, Shelly, normaler Schalter

    Moved
    4
    2
    0 Votes
    4 Posts
    1k Views
    A
    so habs jetzt gelöst, zwar nicht sicher ob 2 Trigger ein Problem sind, aber bis jetzt gibt es keine Fehler und tut was es soll, alles andere hat nicht funktioniert…. 13163_bildschirmfoto_2018-12-20_um_16.52.52.png
  • Unterschiedlicher Variable Inhalt unter Blocky und Objecte

    Moved
    8
    2
    0 Votes
    8 Posts
    625 Views
    C
    Der Fehler war wohl der Trigger. Nehme ich das ringing vom Adapter TR-064, dann spinnt das Skript. Nehme ich aber das ringing vom FritzboxAdapter geht's zunächst erstmal ohne diese Fehler. Seltsamerweise wiederholt der bei dem alten DOT die Ansage nicht beim neuen schon. Egal wie ich die Schleife mache. Denke mal damit könnte ich leben. [image: 1867_unbenannt.jpg]
  • Telegram Inline-Keyboard Untermenüs mit identischen Namen

    Moved
    1
    0 Votes
    1 Posts
    252 Views
    No one has replied
  • Frage: Node-red tcp http POST, wie Connection behandeln?

    Moved
    2
    4
    0 Votes
    2 Posts
    2k Views
    M
    Hallo, bin auf der Suche nach Anwesenheitserkennung mit Node Red und Geofency auf deinen Beitrag von 2015 gestoßen. Ich hab genau das gleiche Problem "TCP IN" Node hat eine Connection, doch dann kommt ein Timeout von Geofency. Hast Du inzwischen eine Lösung gefunden. Gruß mozarella
  • [gelöst] Raumname ermitteln

    Moved
    15
    0 Votes
    15 Posts
    2k Views
    paul53P
    @Wlad: enumNames vom Compiler unterstrichen wird, wenn ich mit der Maus darüber fahre, wird mit folgendes angezeigt ` Die Objekt-Eigenschaft enumNames wird erst zur Laufzeit erzeugt. Der Parser / Compiler kann sie daher nicht kennen.
  • RF Bridge mit intertechno (RFRaw)

    Moved
    1
    2
    0 Votes
    1 Posts
    606 Views
    No one has replied

490

Online

32.7k

Users

82.5k

Topics

1.3m

Posts