Weiter zum Inhalt

Skripten / Logik

16.7k Themen 215.8k 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
    maxclaudiM
    @Daniel-8 bei mir wurde vor 2 min schon wieder auf 70% socSet und inverseMaxPower: 200 umgeschrieben ohne mein Script und ohne dass App aktiv ist! Bin echt überrascht und genervt. @Daniel-8 sagte: Was meinst du mit IP umschreiben? Das er nicht mehr auf die Cloud zugreift? Ja, damit meine ich dass das Gerät komplett nur mit lokalem Broker statt mit Cloud verbindet (Cloud-Ersatz). Dann hat man unreglementiertes, schnelles MQTT, garantiert offline und alles was über MQTT von der Cloud möglich war kann dann vom lokalen Broker gesteuert werden. Damit funktioniert natürlich kein HEMS und keine App mehr. Mir fehlt ein neues Gerät zum mitnehmen und testen, wenn ich oft nicht vor Ort bin. Spenden werden gerne angenommen :-) Reverse Engineering ist sehr zeitraubend und langwierig... meine Nerven liegen öfters blank... jetzt nervt mich gerade socSet und inverseMaxPower.
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    M
    @oliverio Ja, genauso ist meine Installation (MariaDB, phpmyadmin und jeweils im Docker Container). Der SQL läuft bereits und ist mit ioBroker über den SQL Adapter verbunden.
  • Hilfe für Skripterstellung mit Node-RED

    962 13k
    962 Themen
    13k Beiträge
    Marc BergM
    @Thomas-Braun sagte: In der Konfigurationsdatei von Node Red, also in der settings.js, kann durch hinzufügen der Zeitzone das Problem behoben werden. Wenn man den Adapter nutzt, werden Änderungen in der settings.js immer wieder überschrieben. Das bringt nichts. @taddy81 Was konkret ist denn das Problem? Lösen die inject Nodes falsch aus? Oder geht es nur um diese Meldung, bei der niemand weiß, woher sie kommt? @Taddy81 sagte: Auszug: 7/26/2026, 11:15:23 AMnode: debug 3msg.payload : string[24]
  • Foto über 3D Druck Status per Telegram

    2
    0 Stimmen
    2 Beiträge
    420 Aufrufe
    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 Stimmen
    4 Beiträge
    489 Aufrufe
    nokxsN
    @jackdaniel Kein Problem und gerne :)
  • Anwesenheit "Simulation" - Steuerung über Datenbank

    1
    0 Stimmen
    1 Beiträge
    231 Aufrufe
    Niemand hat geantwortet
  • Dynamische Object ID möglich?

    blockly javascript
    5
    1
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    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 Stimmen
    3 Beiträge
    455 Aufrufe
    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 Stimmen
    12 Beiträge
    2k Aufrufe
    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 Stimmen
    7 Beiträge
    1k Aufrufe
    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 Stimmen
    4 Beiträge
    340 Aufrufe
    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 Stimmen
    17 Beiträge
    3k Aufrufe
    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 Stimmen
    8 Beiträge
    913 Aufrufe
    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 Stimmen
    2 Beiträge
    281 Aufrufe
    liv-in-skyL
    @tomtom58 hilft das ? unixzeit=javascriptzeit/1000
  • [gelöst] Mit der Switch MAC von Unifi Licht einschalten

    blockly javascript monitoring
    12
    1
    0 Stimmen
    12 Beiträge
    1k Aufrufe
    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 Stimmen
    3 Beiträge
    627 Aufrufe
    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 Stimmen
    14 Beiträge
    2k Aufrufe
    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 Stimmen
    9 Beiträge
    2k Aufrufe
    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

    Verschoben
    10
    0 Stimmen
    10 Beiträge
    3k Aufrufe
    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 Stimmen
    17 Beiträge
    2k Aufrufe
    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 Stimmen
    5 Beiträge
    536 Aufrufe
    A
    @crunchip Danke für Deine Unterstützung. Wieder etwas gelernt. Dann entfällt ja auch der "falls mache" Block! Freundliche Grüße Michael
  • Text schreiben und in VIS übergeben

    blockly
    1
    1
    0 Stimmen
    1 Beiträge
    225 Aufrufe
    Niemand hat geantwortet
  • Parsen wenn http nicht existent

    javascript
    10
    0 Stimmen
    10 Beiträge
    989 Aufrufe
    I
    @OliverIO Fehler finde ich immer blöd. So oder so. Ich bin mir nun mal nicht ganz sicher, ob sich dieser "Fehler" nicht wo anders bemerkbar macht. Immerhin versucht der Parser die Adresse aufzurufen. Klar habe ich noch andere "Warnungen". Da versuche ich erst mal selber dahinter zu kommen was sie bedeuten und wie ich sie am besten weg bekomme...

424

Online

33.0k

Benutzer

83.5k

Themen

1.3m

Beiträge