Skip to content

Skripten / Logik

16.6k Topics 214.3k Posts

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

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    3k 49k
    3k Topics
    49k Posts
    D
    Ich weiß aktuell gerade nicht was für eine scriptVersion ich laufen habe. Hatte aber meines Wissens nach keinerlei Fehlermeldung beim statt des scripts. Im Moment habe ich auch noch alles über mqtt laufen außer die smartMode Abfrage. Bin froh wenn gerade mal alles läuft und ich nichts basteln muss, da mir dazu auch die Zeit fehlt. Also habe ich das richtig interpretiert, das eine 8 Sekundenabfrage kein Problem darstellt und zwischen dem senden immer 5 Sekunden Pause sind?
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Topics
    80k Posts
    HumidorH
    @paul53 Danke, du triggerst eine Funktion Alarm1, die selbstständig alle 5min ausgeführt wird, außer der Trigger stoppt diese. [image: 1775796578011-bildschirmfoto-2026-04-10-um-06.49.28.png]
  • Hilfe für Skripterstellung mit Node-RED

    954 13k
    954 Topics
    13k Posts
    F
    Hallo ich habe ein Problem mit Nodered und Alexa Echo. Ich habe in Nodered die Wemo Emulation installiert und eine Wemo Steckdose emuliert um an einer Zigbeesteckdosenleiste einen Platz der Leiste zu schalten. "node-red-contrib-wemo-emulator" Das klappt auch wunderbar leider nicht länger als ein zwei Tage. Wenn ich dann den Echo der mit der emulierten Steckdose verbunden ist neu starte geht es wieder. Leider ist das sehr nervig. Hat schon mal jemand gehabt? Durch die Forumssuche habe ich leider nicht gefunden. Gruss Achim
  • [gelöst] Blockly in JS umwandeln

    blockly javascript
    3
    0 Votes
    3 Posts
    409 Views
    joergeliJ
    @ofbeqnpolkkl6mby5e13 Schande über mich - ich muss gestehen, daß ich den Blockly-Editor noch nie zuvor aufgerufen hatte Ich hatte bis dato versucht, die Blocklys mit einem Texteditor zu vergewaltigen. Danke! Jörg
  • Light-Mode / Dark-Mode

    javascript template
    2
    0 Votes
    2 Posts
    2k Views
    ice987I
    @mr_sans coole Geschichte! Der Mode wird aktuell gemäss einer fixen Zeit aus dem schedule erstellt. Eine Idee wäre auch, den Status des "dark modes" direkt aus dem Browser auszulesen, was meinst du?
  • Foto über 3D Druck Status per Telegram

    2
    0 Votes
    2 Posts
    299 Views
    HomoranH
    @kochen said in Foto über 3D Druck Status per Telegram: mit folgender Anleitung Ich nutze YouTube nicht, was sagt denn diese Anleitung dazu?
  • Bräuchte bitte mal Hilfe bei einer JS-Funktion bzw. Blockly

    4
    2
    0 Votes
    4 Posts
    328 Views
    nokxsN
    @jackdaniel Kein Problem und gerne :)
  • Anwesenheit "Simulation" - Steuerung über Datenbank

    1
    0 Votes
    1 Posts
    207 Views
    No one has replied
  • Dynamische Object ID möglich?

    blockly javascript
    5
    1
    0 Votes
    5 Posts
    1k Views
    S
    Sorry, das ich das alte Thema nochmal hervor hole. Im Zuge des 'textCommand'-Features des aktuellen Alexa2-Adapters (3.5.0) habe ich auf Basis der Vorschläge das nachfolgende Skript erstellt. Der grundsätzliche Ablauf des Skriptes funktioniert und kann mit allen Echo Shows bei uns genutzt werden. Allerdings wird das 'serialNumber'-Object während das Skript läuft mehrfach aktualisiert, sodass der gesamte Skript mehrfach getriggert wird und somit in Schleife läuft. Wie kann ich das verhindern? [image: 1610567115786-8538af05-24cd-4841-9fad-c7b2d886c7e8-image.png]
  • Text an Telegram senden

    3
    0 Votes
    3 Posts
    373 Views
    B
    @unclesam Vielen Dank für deine Rückantwort. Wenn ich den Code richtig intepretiere, dann wird die Nachricht mit dem Beispielcode zerstückelt in User und Nachricht. Das ist soweit auch was ich benötige - aber trotzallem sendet Telegram die Nachricht "Ich verstehe "..." nicht". Er "Telegram" soll aber auf jede Nachricht - mit Bsp. "OK, hab ich registriert!" antworten. Den extrahierten Text - möchte ich dann für meine "Pinwand" nutzen. Gruß
  • Blocky schaltet Tasmoto Steckdose nicht

    blockly javascript
    12
    3
    0 Votes
    12 Posts
    1k Views
    S
    Hallo zusammen nochmals, habe den Fehler zwischenzeitlich gefunden mein Full Tablet Control sendet nicht immer zuverlässig die Batteriewerte ab und zu sind ausetzter dann fängt das Skript an zu spinnen. Das Skript kann ich mittlerweile ausschließen. Die Verbindungsfehler muß ich nochmals überprüfen. Habe beide jetzt am laufen einmal Tablet Control und einmal Fully Browser. Danke nochmals . Bis dann Grüße
  • Curl einbinden? json danach abfragen

    javascript
    7
    0 Votes
    7 Posts
    989 Views
    B
    @unclesam ich habe die halbe Nacht gesucht und gemacht. Leider ohne Erfolg... dies wäre mein Ergebnis mit dem Log: const response: any = await axios.post(http://api.apsystemsema.com:8073/apsema/v1/ecu/getPowerInfo -d ecuId=<xxx> -d filter=power -d date=<date> -o <date>.json, { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }); const fs = require('fs'); // usage: node json2csv <file.json>, so filename is 3rd parameter let filename = process.argv[2]; // read and parse input JSON file let contents = fs.readFileSync(filename, 'utf8'); let data = JSON.parse(contents); let timestamps = JSON.parse(data.data.time); let values = JSON.parse(data.data.power); // iterate through two arrays and combine the i'th element of each into one CSV line for(let i = 0; i < timestamps.length; i++) { console.log(`"${timestamps[i]}","${values[i]}"`); } javascript.0 2021-01-12 08:22:54.566 error (758) at processTicksAndRejections (internal/process/task_queues.js:97:5) javascript.0 2021-01-12 08:22:54.566 error (758) at runMicrotasks (<anonymous>) javascript.0 2021-01-12 08:22:54.565 error (758) at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49 javascript.0 2021-01-12 08:22:54.564 error (758) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) javascript.0 2021-01-12 08:22:54.564 error (758) at /opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:616:17 javascript.0 2021-01-12 08:22:54.564 error (758) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1140:17 javascript.0 2021-01-12 08:22:54.563 error (758) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1559:17 javascript.0 2021-01-12 08:22:54.563 error (758) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1503:37) javascript.0 2021-01-12 08:22:54.563 error (758) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1280:28) javascript.0 2021-01-12 08:22:54.562 error (758) at Object.createScript (vm.js:261:10) javascript.0 2021-01-12 08:22:54.562 error (758) at new Script (vm.js:88:7) javascript.0 2021-01-12 08:22:54.562 error (758) SyntaxError: Missing initializer in const declaration javascript.0 2021-01-12 08:22:54.561 error (758) ^^^^^^^^ javascript.0 2021-01-12 08:22:54.561 error (758) const response: any = await axios.post(http://api.apsystemsema.com:8073/apsema/v1/ecu/getPowerInfo -d ecuId=<216000043804> -d filter=power -d date=<date> -o <date>.json, { javascript.0 2021-01-12 08:22:54.560 error at script.js.common.APSystem:1 javascript.0 2021-01-12 08:22:54.560 error (758) script.js.common.APSystem compile failed:
  • ARTNET DMX Script "...has an invalid value (int)"

    javascript
    4
    0 Votes
    4 Posts
    289 Views
    Q
    @paul53 Das Script funktioniert dank deiner Hilfe jetzt wie es soll und ich kann für jeden Farbkanal einen Wert von 0-255 vergeben. [image: 1610471748148-058fb632-3c3d-4868-9cad-f82432c59d11-image-resized.png] Was allerdings noch fehlt ist die Möglichkeit für z.B. die Kanäle 1-4, oder 5-8 (RGBW) einen Hex Wert angeben zu können, damit man Mischfarben darstellen kann bzw. mit Colorpicker Widgets, welche nahezu alle die Eingabe eines Hexwerts brauchen eine beliebige Farbe direkt anwählen zu können. Es müsste also folgende Möglichkeiten im Script geben: Kanalgruppen angeben z.B. 1-4 oder 9-12 je nachdem ob RGBW oder RGB für diese Kanalgruppen müsste dann ein zusätzlicher Datenpunkt angelegt werden, welcher dann die einzelnen RGB(W) Werte in einen Hexwert umrechnet und vice versa, also ein eingebauter Konverter wie z.B. hier https://ncalculators.com/digital-computation/rgb-to-hex-converter.htm Ähnlich wie beim artnet Adapter... der funktioniert allerdings leider nicht so gut, stabil und flüssig wie das Script [image: 1610471851273-8ad85db2-83b6-4bb0-adf0-f6ec29c5ff60-image-resized.png] Leider ist der Macher des Scripts seit mehreren Jahren im Forum nicht mehr aktiv. Lässt sich diese Funktionalität im Script entsprechend erweitern und falls ja, könntest du das eventuell machen ? Beste Grüße
  • Warnmeldung im Javascript/Blockly

    javascript blockly
    17
    0 Votes
    17 Posts
    2k Views
    D
    So kurz nach dem Test war Ende. Hab ein Update auf den JS-Skript Adapter gemacht und dass war es dann. Broker Tot. Kann den Broker.js nicht mehr finden ... komplettes Verzeichnis in dem die Datei sein soll ist leer... Bisher rund 4 Versuche ihn neu aufzusetzen sind fehl geschlagen, aber ich bleibe dran... Hab ja im Moment genug Zeit...
  • Werte on Objekten aktualisieren sich nicht

    javascript communication
    8
    0 Votes
    8 Posts
    687 Views
    C
    @paul53 Beten Dank für deine Rückmeldung und Hilfe, ist eine super Sache! Ich wünsche dir einen schönen Abend Gruss Chucky
  • Zeit im IP-Netz - Geburtsstunde eines Devices

    javascript monitoring blockly
    2
    0 Votes
    2 Posts
    229 Views
    liv-in-skyL
    @tomtom58 hilft das ? unixzeit=javascriptzeit/1000
  • 0 Votes
    12 Posts
    888 Views
    Bahadir ErgüllüB
    Anbei die fertige Version [image: 1610293586888-19ef0e46-d1dd-4119-8572-a6d6e5f12acd-image.png] <xml xmlns="https://developers.google.com/blockly/xml"> <block type="on" id="Rz/e+S[ZC(=g1B_{lnTP" x="-412" y="-512"> <field name="OID">unifi.0.default.clients.a4:50:46:75:3a:b7.sw_mac</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="fVgwL6#dsMO1#olcFhk%"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="?$U9dz)Q@v6tm.@h.pJZ" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="ffA!EVHMW/8LKtd!,h|A"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="#yF[Nu;l-KhikS|Bgv=^"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="s{{sepW3U`dzGbPbz{zw"> <field name="TEXT">74:ac:b9:19:8a:96</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="H_6?e)vc5|v:Y.4?Y}Z|"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="-(LaRz7+uY./1W5r5rc~"> <field name="ATTR">val</field> <field name="OID">unifi.0.default.clients.a4:50:46:75:3a:b7.is_online</field> </block> </value> <value name="B"> <block type="logic_boolean" id="bG8Lbf-W1FPG1qQ23Tt@"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="}SXgVo:3/o!9Z+!0UKcN"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="~IZ%o(H=BskfK|GH.P=/"> <field name="TEXT">Baha Büro Licht an</field> </shadow> </value> <next> <block type="control" id="3~x1V[=ava+w1Y;ZL:wM"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">knx.0.EG_Etage_.Licht_.Büro_Chef_Licht_an_aus</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="8lo;ZPPK2ug-_sHr{~Ty"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="control" id="JzGDGF^}Bn@|}D:8uf[F"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">knx.0.EG_Etage_.Licht_.Büro_Chef_Licht_an_aus</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="e~:jj*/~KxCt16Njv+9y"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="telegram" id="!:iLM3It!ue_*ExYe:Lu"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="_;kz]FGPc7^@zA6kApoO"> <field name="TEXT">Baha Büro Licht aus</field> </shadow> </value> </block> </next> </block> </statement> </block> </statement> </block> </xml>
  • Sonoff Bridge mit Portisch flashen

    heating
    3
    1
    0 Votes
    3 Posts
    546 Views
    M
    gerade erat gesehen.... bitte als Gerät die bridge vorher einstellen und nicht auf Standard stehen lassen.
  • KNX Zeit auf Bus senden

    blockly
    14
    3
    0 Votes
    14 Posts
    2k Views
    G
    @ChefSache hab das alles mal so gemacht keine Veränderung außer das er jetzt auf jeden MDT Glastaster 00:00 schreibt. hier mal der Log [image: 1610272363239-2021-01-10_10h51_12.png]
  • [Gelöst]Homematic IP Alarm mit An-und Abwesenheit steuern

    blockly
    9
    1
    0 Votes
    9 Posts
    2k Views
    Dr. BakteriusD
    @KingStylesDE sagte in [Gelöst]Homematic IP Alarm mit An-und Abwesenheit steuern: Schön wenn es jetzt funktioniert. Wenn jetzt ein handy raus geht, deaktiviert sich der alarm. Er soll sich aber aktivieren wenn BEIDE raus sind. Das verstehe ich aber nicht. Wenn beide nicht zuhause sind, soll sich die Anlage aktivieren und wenn einer nachhause kommt, deaktivieren. Oder habe ich das falsch verstanden und sie ist (auch) aktiv wenn ihr zuhause seid? Übrigens verwendest du unnötigerweise zwei 'falls'-Blöcke. Es würde reichen einen (wie oben gezeigt) zu verwenden und die 'sonst'-Funktion zu verwenden. Ansonst arbeitet deine Lösung genau wie meine. Warum du da andere Ergebnisse erzielt hast ist mir ein Rätsel. Außerdem schaltest du den Datenpunkt um. Sollte der aus irgendeinem Grund mal falsch stehen, wird er dann immer falsch gesetzt.
  • *GELÖST* HSV to RGB Script Frage/ Hilfe

    Moved
    10
    0 Votes
    10 Posts
    3k Views
    M
    @rom-wagner80 Math.Round(); würde ich sagen oder .Ceil() zum aufrunden oder .floor() zum abrunden
  • Dateiupload auf ext Server per SFTP

    javascript
    17
    0 Votes
    17 Posts
    2k Views
    UncleSamU
    @holgerwolf Dann bleibt dir wohl nur ein Batch mit allen Befehlen auf deinem System anzulegen und die -b Option zu verwenden: z.B. hier https://unix.stackexchange.com/a/105868
  • Wie kann ich Benachrichtigung ausschalten

    javascript blockly
    5
    3
    0 Votes
    5 Posts
    374 Views
    A
    @crunchip Danke für Deine Unterstützung. Wieder etwas gelernt. Dann entfällt ja auch der "falls mache" Block! Freundliche Grüße Michael

393

Online

32.8k

Users

82.7k

Topics

1.3m

Posts