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
    D
    @Murphy-0 sagte: Der Kopplungsmodus benutzt Bluetooth. Danke für die Info. Ich habe leider kein Bt am PC. Muss ich dann über externen Stick machen
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    W
    @paul53 Bombe! Vielen Dank! Gleich die erste Version passt perfekt. Möchte nur um 11 Uhr entscheiden ob es sinnvoll ist die Klima einzuschalten. Brauch das nur im Sommer, drum interessiert Winterzeit nicht. Vielen Dank Dir
  • 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]
  • [Blockly] owntracks - Zone true oder false

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    497 Aufrufe
    X
    Ich weiß zwar nicht direkt ob es eine Integration vom Owntracks Adapter zum Places Adapter gibt, aber ich persönlich nutze den Places Adapter für die Interpretation von Standortdaten, da der Adapter darauf ausgelegt ist aus diversten Quellen mit Daten gefüttert zu werden und selbst wenn sich die Datenquelle ändern sollte braucht man keine Scripts anzupassen. Der Places Adapter bietet die Datenpunkte als Boolean (true/false) für die definierten Zonen.
  • (gelöst) [Blockly] Lampe soll mitgeschaltet werden…

    Verschoben
    4
    2
    0 Stimmen
    4 Beiträge
    569 Aufrufe
    E
    Ha, vielen Dank, das hat geholfen, warum auch immer :D
  • Stromsparscript für Media

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    311 Aufrufe
    K
    siehste alles nicht so schwer, zumindest die einfach Sachen :D Bei mir heißt nur eine Steckdose Subwoofer ^^ ich habe keinen Broadlink. Das einzige bei dem ich mir nicht sicher bin ob du das stop timeout und timeout überhaupt brauchst. Eigentlich schaltest du ja deine Steckdose eh mit einer Zeitverzögerung.
  • Variable Zeitsteuerung?

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    644 Aufrufe
    A
    Mit den Hinweisen in viewtopic.php?f=21&t=11060 scheine ich auch per Blockly zu meinem Ziel zu kommen.
  • If changed then if true…

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    714 Aufrufe
    1
    Ok, danke! MfG
  • Skript arbeitet obwohl gelöscht

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    241 Aufrufe
    F
    Hallo Danke werde ich testen. Danke Fränki
  • Z.B. Xiaomi Cube - Werte an Datenpunkt

    Verschoben
    2
    2
    0 Stimmen
    2 Beiträge
    348 Aufrufe
    C
    Es funktionieren jetzt alle Scripte… Ich musste den Javascript Adapter neu starten... Auf dem RPI3 habe ich 25% Ram frei. Kann es an so etwas liegen? Node 8.14.0 NPN 6.4.1
  • [gelöst] Klingelscript Problem mit Phantom JS

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    308 Aufrufe
    ChaotC
    :oops: :oops: Ich bin manchmal einfach blind. Mit dem richtigen Pfad /opt/iobroker/node_modules/iobroker.phantomjs/picture.png klappt das auch. Zur Vollständigkeit das komplette Klingelscript: ! ```` var sperre = false; ! on({id: 'sonoff.0.Eingang.POWER2', change: "any"}, function (obj) { if(!sperre) { sperre = true; sendTo('phantomjs.0', 'send', { url: 'http://192.168.XXX.XXX:8765/picture/2/current/?_username=admin&_signature=5xxxxxxxxxx65eeb8e3d5935741934ad', output: 'picture.png', // default value width: 800, // default value height: 600, // default value timeout: 2000, // default value zoom: 1, // default value ! 'clip-top': 0, // default value 'clip-left': 0, // default value 'clip-width': 800, // default value is equal to width 'clip-height': 600, // default value is equal to height 'scroll-top': 0, // default value 'scroll-left': 0, // default value ! online: true // default value }, function (result) { if (result.error) { console.error(JSON.stringify(result.error)); } if (result.stderr) { console.error(result.stderr); } if (result.stdout) { console.log(result.stdout); } console.log(result.output); }); timeout = setTimeout(function () { sendTo("email", "send", { text: '', to: 'XXXXXX@gmail.com', subject: 'Klingel', attachments:[ {path: '/opt/iobroker/node_modules/iobroker.phantomjs/picture.png', cid: "file1"}, ] }); }, 5000); setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "Neu/Tuer"}'); // oder //setState("vis.0.control.instance", 'FFFFFFFF'); //setState("vis.0.control.data", 'DemoView'); //setState("vis.0.control.command", 'changeView'); // muss immer letzte sein // Nach 10 Sekunden, zeige wieder Start View setTimeout(function () { setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "Neu/Info"}'); }, 60000); setState("tr-064.0.states.ring"/*ring*/, '**611, 15'); sendTo("pushover", "send", { message: 'Klingel', file: "/opt/iobroker/node_modules/iobroker.phantomjs/picture.png", sound: "" }); timeout = setTimeout(function () { setState("alexa2.0.Echo-Devices.G2A0P30774060LLE.Player.volume"/*volume*/, 90, true); }, 500); timeout = setTimeout(function () { setState("alexa2.0.Echo-Devices.G2A0P30774060LLE.Commands.speak"/*speak*/, 'Es ist jemand an der Tür'); }, 1000); timeout = setTimeout(function () { setState("alexa2.0.Echo-Devices.G2A0P30774060LLE.Player.volume"/*volume*/, 50, true); }, 1500); setTimeout(function() { sperre = false; }, 5000); } });
  • Beispiel: aktuelles Datum formatieren und ausgeben

    Verschoben
    14
    3
    1 Stimmen
    14 Beiträge
    25k Aufrufe
    R
    Ja, ist erst ab der JSONata 1.6.4 implementiert. Und die wird noch nicht in NR genutzt. Liegt also nicht am ioBroker.NR. Hab mal ein Issues auf Github hinterlassen https://github.com/node-red/node-red/issues/2023 Soll wohl ab NR 0.20 erfolgen. Kannst es natürlich auf der JSONata-Seite testen: http://docs.jsonata.org/date-time-functions#frommillis
  • Telegram Menü Übersicht

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    723 Aufrufe
    M
    Danke dir
  • Xml parsen die n-te

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    798 Aufrufe
    M
    oder und das weiss ich jetzt nicht genau var xml_data='blablub deine xml daten'; var xml_obj = new DOMParser().parseFromString(xml, "text/xml"); und dann die daten über die Nodes und getElement… laden....
  • Vbus funktioniert nicht, auslesen nicht möglich

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    241 Aufrufe
    Niemand hat geantwortet
  • Cannot find module 'csv-parse'

    Verschoben
    14
    0 Stimmen
    14 Beiträge
    2k Aufrufe
    T
    Noch jemand eine Idee, wie ich das csv-parse Modul eingebunden bekomme? Habe sogar schon den Javascript-Adapter neu installiert, sodass nun alles sauber ist. csv-parse ist nur noch unter folgenden Verzeichnissen zu finden: /opt/iobroker/node_modules/iobroker.javascript/node_modules/csv-parse /opt/iobroker/node_modules/iobroker.javascript/node_modules/csv-parse/samples/fs_read.csv Dennoch kommt folgender Fehler: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../../csv-parse' Ich weiß nicht, was er da mit dem lib-Ordner machen will? Ich hoffe, einer weiß noch eine Lösung oder Versuche, die man noch machen könnte. :|
  • PHP Skript aus Ip-Symcon übernehmen? Wer kann mir helfen?

    Verschoben
    5
    1
    0 Stimmen
    5 Beiträge
    696 Aufrufe
    M
    Wenn du mir sagst was du vor hast, so das ich das verstehen kann, kann ich dir vielleicht helfen. Was willst du mit der Datei machen und wo sollen die Daten hin…. Das RegEx war ja schon fertig und von daher müsste ich jetzt wissen ob es in einem Intervall laufen soll oder ähnliches. Es ist schneller programmiert wenn ich sowas bekomme: Alle 5 Minuten: LogDatei letzte Zeile lesen 2 Beispiel Zeilen Daten auswerten und in ein Objekt speichern. Beispiel wie es nachher aussehen soll..... Ich kann mit normalen javascript nicht löschen ausser über exec und dann ist es systemabhängig ob rm oder del. Oder aber mit NodeJS und fs weiss aber nicht ob das dann überall läuft, mein nodejs server in iobroker ist auch sehr buggy Siehe: viewtopic.php?f=21&t=20296 Dann kann ich das auch umsetzen :)
  • Alle Geräte eines Ordner selektieren für eine for Schleife

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    734 Aufrufe
    M
    Damit das Script selber nicht blockiert es einfach in einen Timeout reinsetzen, und es wird ein separater Thread erstellt…. und der läuft dann parallel. durch das function return function werden eigene variablen erst..... setTimeout( (function(a_klemmen){ return function(){ // Kann auch funktionieren wenn das hier einzelnd ist..... aklemmen.each(function(a_id, a_i) { return function(){ var dsid = a_id.replace("My_Devices.0.Digitalstrom.Klemmen.", "") console.log(dsid); console.log(getState(a_id).val); try { console.log(SessionToken = ${sessiontoken}); request({url: https://${dssip}:${dssport}/json/device/getOutputValue?dsid=${dsid}&offset=0, headers: {Cookie: token=${sessiontoken}}}, function(error, response, body) { console.log(body); }); } catch (e) { console.error(e); } }})(id, i); // Bis hier } })(klemmen),200);
  • Jalousie Steuerung / Rolladensteuerung • Z-Wave

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    609 Aufrufe
    M
    Kein Schwein ruft mich an, keine Sau interessiert sich für mich :) Push
  • Blockly Vorlagensammlung (?)

    Verschoben
    4
    1
    0 Stimmen
    4 Beiträge
    6k Aufrufe
    P
    Hallo stephan2k, es gibt ein paar Skripte in der iobroker-Doku. Wenn ich dich richtig verstehe, möchtest du verschiedene Projekte in einem Thread sammeln. Das geht allerdings - nach meiner Erfahrung - schief. :( Erwartungsgemäß werden dann Fragen zum Projekt gestellt und beantwortet. Es wird im Thread praktisch weiterentwickelt. Das ist auch gut so. Wenn nun aber mehrere Projekte in einem Thread vorkommen, gibt es schnell Chaos. Manchmall klappt es aber dennoch ganz ordentlich: viewtopic.php?f=30&t=1860 Man kann die Forum-User nicht zwingen, aber ein Hinweis auf Ordnung geht immer: Neues Thema -> neuer Thread Allgemeinere Frage -> neuer Thread und bei bestehendem evtl. passenden Thread verlinken, um dort die Diskussion nicht zu stören In der Frage schon möglichst viele Suchbegriffe einbauen, damit man das später findet (in deinem Eröffnungspost fehlt da zB der Begriff "blockly"). Gruß Pix EDIT: Oh, paul war mal wieder schneller :)
  • Homematic sprechenden Name verwenden

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    289 Aufrufe
    M
    OK eric, hast recht, die Benamung kommt schon aus HM raus. Blöd, dass man dort jeden Channel einzeln benamen muss..
  • WRGB flackert

    Verschoben
    1
    1
    0 Stimmen
    1 Beiträge
    132 Aufrufe
    Niemand hat geantwortet
  • [JS] Readfile cached ?

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    599 Aufrufe
    snadorS
    Hi, ich muss das Thema nochmal hochholen, denn auch ich habe den Effekt. Speichere ich eine JSON Datei im Adapter, dann wird diese korrekt in der Instanz abgelegt, also unter /iobroker-data/files/adaptername.0/. Ich kann mit readfile (aus der conn.js / wird z.B. im VIS Adapter verwendet) die JSON Datei auch lesen aber dann greift der Cache :-) Egal ob ich die Datei ändere / umbenenne oder sogar lösche - ich kann die Datei immer erfolgreich lesen. Nicht mal ein Adapter Neustart ändert das. Erst wenn ich ioBroker stoppe / starte bekomme ich beim lesen einen neuen State / Ergebnis. Hat jemand eine Idee? Ich weis nicht so recht wo ich weiter machen soll… Danke!

260

Online

33.0k

Benutzer

83.5k

Themen

1.3m

Beiträge