Skip to content

Skripten / Logik

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

16.6k Themen 214.0k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    azzkikrboyA
    @ArnoD sagte in E3DC Hauskraftwerk steuern: @azzkikrboy Verwendest du die Objekt-ID 0_userdata.0.Charge_Control.Allgemein.EigenverbrauchDurchschnitt ? Da sollten immer beide Werte angezeigt werden. Hallo, nur zur Info für alle. Ich musste das Widget tauschen. Mit einem "String-Widget" funktioniert es.
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    B
    @Murphy-0 Wieder was dazu gelernt, dachte immer man soll die Akkus nur ab und zu zum kalibrieren mal ganz voll laden. Der Spannungsverlauf kurz vor erreichen der 3,5V sah bei mir ähnlich aus. Auch die Akku Temperaturen lagen auch in dem Bereich wie bei dir. Die hyperTmp lag so knapp unter 40°C. Muss ich mal beobachten, denke bis 40°C kann ich noch ohne Lüfter auskommen. Danke noch mal für deine super hilfreichen Rückmeldungen und die Unterstützung! Habe sehr viel dabei gelernt.
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Themen
    13k Beiträge
    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

    Gesperrt Verschoben
    3
    0 Stimmen
    3 Beiträge
    437 Aufrufe
    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)

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    473 Aufrufe
    D
    @apollon77: Das obige versucht? Gesendet vom Handy … ` Hat funktioniert, es hatte eine längere ladezeit MfG Dario Casciato
  • Elektronische Rolladen programieren!

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    243 Aufrufe
    Niemand hat geantwortet
  • Funktionen und Räume stärker nutzen

    Verschoben
    9
    4
    0 Stimmen
    9 Beiträge
    939 Aufrufe
    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

    Verschoben
    48
    0 Stimmen
    48 Beiträge
    14k Aufrufe
    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

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    438 Aufrufe
    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

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    766 Aufrufe
    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

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    349 Aufrufe
    apollon77A
    Brauchst du nicht. Einfach das. CreateState block einfügen und fertig. Gesendet vom Handy …
  • Node-Red Lost connection to server, reconnecting…

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    455 Aufrufe
    Niemand hat geantwortet
  • TinkerBoard Daten nach CCU

    Verschoben
    8
    1
    0 Stimmen
    8 Beiträge
    611 Aufrufe
    HomoranH
    Dann bleibt noch die soc temp. Ist das vielleicht text? Gruß Rainer
  • Cron-Script läuft nicht

    Verschoben
    3
    2
    0 Stimmen
    3 Beiträge
    459 Aufrufe
    J
    Oh, Anfängerfehler. Danke für den Hinweis. Funktioniert nun.
  • Steuerung Funksteckdose mit Raspberry Pi

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    811 Aufrufe
    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

    Verschoben
    5
    1
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    K
    Ok, super! Vielen Dank dafür.
  • Scripte im Objektbaum importieren

    Verschoben
    7
    1
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    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

    Verschoben
    4
    2
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    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

    Verschoben
    8
    2
    0 Stimmen
    8 Beiträge
    628 Aufrufe
    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

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    253 Aufrufe
    Niemand hat geantwortet
  • Frage: Node-red tcp http POST, wie Connection behandeln?

    Verschoben
    2
    4
    0 Stimmen
    2 Beiträge
    2k Aufrufe
    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

    Verschoben
    15
    0 Stimmen
    15 Beiträge
    2k Aufrufe
    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)

    Verschoben
    1
    2
    0 Stimmen
    1 Beiträge
    606 Aufrufe
    Niemand hat geantwortet

555

Online

32.7k

Benutzer

82.5k

Themen

1.3m

Beiträge