Skip to content

Skripten / Logik

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

16.5k Topics 213.2k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    P
    @arnod Leider ist das Problem immer noch vorhanden. Welchen Hysteresewert muss ich denn bei mir anpassen, damit ich mein Problem abmindern kann? Ich habe gesehen, dass es mehrere Hysteresewerte im Script gibt.
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Topics
    79k Posts
    M
    Ich habe einen zweiten Statuspunkt (Briefkasten_State) dazu genommen, den ich über einen Button immer wieder zurücksetze. [image: 1769854217178-screenshot-2026-01-31-110831.png]
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Topics
    13k Posts
    S
    welche Palette hast du installiert, damit du den "AND" Baustein hast?
  • Variable Zeit/Schedule Funktion

    Moved
    7
    0 Votes
    7 Posts
    4k Views
    coyoteC
    Ja ich werde mir dein Script nochmal genauer ansehen. Hab da noch nicht so den Durchblick ;-) Ich probiere einfach mal aus Gesendet von meinem Nexus 5X mit Tapatalk
  • Probleme seit update

    Moved
    4
    0 Votes
    4 Posts
    1k Views
    N
    Ich würde erstmal node-red in der aktuellen Version drüber installierten. Unter Linux geht das mit den folgenden Kommandos cd /opt/iobroker/node_modules/iobroker.node-red iobroker stop node-red.0 npm install –unsafe-perm node-red iobroker start node-red.0 Gesendet von meinem SM-G900F mit Tapatalk
  • Länge/Breite in Javascript Adapter einbinden

    Moved
    25
    0 Votes
    25 Posts
    4k Views
    ruhr70R
    @Bluefox: Du hast es nicht ganz verstanden. Asynchron heißt: es wird als Auftrag gespeichert und irgendwann später ausgeführt. Und wenn es fertig ist, dann wird die ready Funktion ausgeführt. "Irgendwann später" heißt, wenn er nichts zu tun haben wird und bei dir muss er was tun, nämlich, log ausgeben. ` Ich danke Dir für Deine Erklärung. Das Ergebnis spielt sich ja auch im Log wieder. Das bedeutet aber doch, dass ich um eine setTimeout() Funktion nicht drumherum komme, wenn ich den geschriebenen Datenpunkt im weiteren Verlauf benötige oder? Mit setTimeout() habe ich das jetzt realisiert. Hatte die Hoffnung, dass es auch "eleganter" geht.
  • Funktion wird bei Scriptstart ausgeführt, warum?

    Moved
    3
    0 Votes
    3 Posts
    676 Views
    R
    dankeschön
  • Script beenden

    Moved
    4
    0 Votes
    4 Posts
    5k Views
    BluefoxB
    @paul53: Eine JS-Funktion kann mit https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Statements/break beendet werden. ` Mit break kann es nicht funktionieren. Weil break nur in den Schleifen funktioniert. ruhr70 hat gute Lösung vorgeschlagen.
  • Email bei Tür wird geöffnet

    Moved
    5
    0 Votes
    5 Posts
    867 Views
    C
    super danke , hat geklappt
  • [gelöst] Globale Scripte

    Moved
    9
    0 Votes
    9 Posts
    2k Views
    OstfrieseUnterwegsO
    Danke, so mache ich das.
  • Programmierphilosophie - wie geh ich's an?

    Moved
    10
    1
    0 Votes
    10 Posts
    2k Views
    P
    Eine Riesenerleichterung! Danke! :lol: Gruß Pix
  • Hilfe beim skripten

    Moved
    47
    0 Votes
    47 Posts
    7k Views
    R
    Ich meinte zum testen hatte ich eine true/false variable verwendet Gesendet von meinem HUAWEI CRR-L09 mit Tapatalk
  • oder Verknüpfung

    Moved Solved javascript
    6
    0 Votes
    6 Posts
    1k Views
    paul53P
    @stephan61: buegeleisen und trigger haben den Wert 0 oder 1 ` Dann sollte auch das funktionieren (implizite Typwandlung): if (buegeleisen || trigger) { setState(idSayIt, "Achtung Bügeleisen ist an "); }
  • Javascript.0.scriptEnable ?

    Moved
    2
    0 Votes
    2 Posts
    678 Views
    P
    Hallo Stephan, das ist richtig. Genau dafür ist das gedacht. Du kannst Skripte damit aktivieren/deaktivieren (zB aus VIS oder per Skript oder Szenenadapter). Beispiele: Skript zur Kontrolle des Rollladens Balkontür abschalten, während die Balkontür offen steht (Aussperrschutz). Skript zur Überwachung der Fenster und Türen einschalten, wenn Abwesenheit Theoretisch lässt sich das alles auch innerhalb des Skriptes programmieren. Für Einsteiger ist ScriptEnable aber sicher der übersichtlichere Weg, vor allem, da Skripte per VIS-Widget aktiviert/Deaktiviert werden können. Gruß Pix
  • Gelösst Ansage Fenster offen

    Moved
    3
    0 Votes
    3 Posts
    1k Views
    S
    habe den Fehler gefunden ich habe die text Datei vom Script Fenster zählen genommen in dieser Textdatei werden zwischen den textestellen ein als zeilenumbruch eingefügt das führte zu der komischen Ansage . Habe nun in dem Script Fenster eine 2 textdatei erzeugt mit einem Und als trenner und jetzt ist die Ansage in Ordnung Gruß Stephan
  • Widget schaltet HTTP GET Befehl

    Moved
    5
    0 Votes
    5 Posts
    2k Views
    BluefoxB
    @akamia: Geht. Setze ich zur direkten Steuerung meines DENON Verstärkers ein. Z.B.: http://192.168.xxx.yyy/goform/formiPhon … ?1+MuteOff Widget: jqui - Icon Http Get Die 433 MHz billig Funksteckdosen hatte ich auch über das Mediola Gateway gesteuert. ` Es sit empfohlen die Skriptversion zu nutzen, weil Widget Lösung funktioniert nur von zuhause. Falls man unterwegs ist, landen die HTTP Befehle in Nirvana. Und dann noch, falls man HTTPS einschaltet, kann man die Requests auch nicht machen, weil die Browser weigern von HTTPS auf HTTP zu greifen. Falls man von Zuhause und nur über HTTP vis laufen lässt, dann kann man die widgets auch benutzen.
  • [gelöst] Reaktion auf Kalendereintrag

    Moved
    13
    0 Votes
    13 Posts
    2k Views
    S
    Merci, Ich schaue morgen mal und werde berichten…danke!
  • Node-Red Deployment Probleme *** Gelöst ***

    Moved
    11
    0 Votes
    11 Posts
    6k Views
    T
    Hallo, hab nun die die aktuelle Node-red Version 0.13.2 installiert. Damit sind meine Deployment-Probleme mit "Error: connection to server lost" auch endlich gelöst. cd /opt/iobroker/node_modules/iobroker.node-red iobroker stop node-red.0 npm i --unsafe-perm node-red@0.13.2 iobroker start node-red.0 Es läuft nun alles stabil…. :) :) :)
  • Einschaltdauer

    Moved
    6
    1
    0 Votes
    6 Posts
    2k Views
    P
    Hey Pix, danke für die Tipps :D Ich bin für jeden Tipp dankbar. Gerade wenn diese einem das Leben langfristig erleichtern. Werde meine Scripte demnächst mal umbauen. Gruß Phantomio
  • [gelöst] String Inhalt durchsuchen

    Moved
    4
    0 Votes
    4 Posts
    1k Views
    P
    Danke euch beiden für die schnelle Antwort. Mit dem Code von Bluefox funktioniert es :) Hier noch einmal die Funktion falls es mal jemand brauchen kann. Soll die letzte Sprachausgabe wiedergeben :lol: ! function fSprachausgabeWiederholen (){ lastsay = getState("sayit.0.tts.text").val; if (lastsay.indexOf("Nerv") != -1){ // Nerv kommt vor }else{ if (lastsay.indexOf("Gut") != -1){ setState (idSayIt, "Nerv mich nicht. Ich habe mich bereits wiederholt. "); }else{ if (lastsay.indexOf("Ich") != -1){ setState (idSayIt, "Gut zuhören. Ich wiederhole mich nur noch einmal. " + lastsay); }else{ setState (idSayIt, "Ich habe gesagt: " + lastsay); } } } setStateDelayed ("javascript.0.SprachausgabeWiederholen", true, 14000); } ! Gruß Phantomio
  • [fixed] on ID - Ausführung doppelt ?

    Moved
    9
    0 Votes
    9 Posts
    3k Views
    P
    Da ich diese globale Funktion auch für andere Sachen benutze, und diese nur eine e-Mail senden würde ich das erst mal ausschließen. Die globale Funktion ist genau wie die Mail Funktion aufgebaut. Liegt halt nur in einem Globalen Script.
  • Per Skript widget ausführen

    Moved
    8
    0 Votes
    8 Posts
    3k Views
    BluefoxB
    @Konni: Jetzt bin ich es schon wieder, wenn ich es in mein vorhandenes Script einbaue, öffnet sich zwar der Dialog, schließt sich aber nicht mehr :( /* Bewegung zaehlen und in VIS anzeigen für hofi77 http://forum.iobroker.net/viewtopic.php?f=21&t=1703#p14520 Bitte anpassen mit eigener Seriennummer erstellt: 14.11.2015 von Pix */ var idSayIt2 = "sayit.2.tts.text"; var vol2 ="sayit.2.tts.volume"; createState('VIS.Klingel_zeigen', false, { read: true, write: true, type: 'boolean', name: 'Klingel im VIS Widget anzeigen', desc: 'Steuervariable für VIS Widget Sichtbarkeit' }); createState('VIS.Klingel_zaehlen', 0, { read: true, write: true, type: 'number', name: 'Klingel zählen', desc: 'Counter für Klingeln' }); var idKlingelsensor = "hm-rpc.0.MEQ0657356.1.PRESS_SHORT"/*HM-Sen-DB-PCB MEQ0657356:1.PRESS_SHORT*/, idCountKlingel = 'VIS.Klingel_zaehlen', idShowKlingel = 'VIS.Klingel_zeigen'; on({ id: idKlingelsensor, val: true }, function (obj) { var counter = getState(idCountKlingel).val; // bisherige Zahl aus Variable einlesen setState(idCountKlingel, ++counter); // eins hochzählen setState (vol2,99); setState (idSayIt2, "Es klingelt oben"); setState("vis.0.control.data", 'w00104'); // hier ist Widget-name setState("vis.0.control.instance", 'FFFFFFFF'); setState("vis.0.control.command", 'dialogOpen'); setStateDelayed("vis.0.control.command", 'dialogClose', 5000); //setState(idShowKlingel, true); // Steuerung VIS-Widget Sichtrbarkeit auf wahr //setStateDelayed(idShowKlingel, false, 5000); // nach 10.000 ms wieder ausblenden }); // Mitternacht Zähler zurücksetzen schedule('0 * * * *', function () { setState(idCountKlingel, 0); }); ```` ` Dann mach beim schlissen das gleiche: setStateDelayed("vis.0.control.command", {instance: 'FFFFFFFF', data: 'w00104', command: 'dialogOpen'}, 5000);
  • Scriptstart bei Aufruf einer URL

    Moved
    7
    0 Votes
    7 Posts
    6k Views
    M
    Super, klappt einwandfrei. Danke

498

Online

32.6k

Users

82.2k

Topics

1.3m

Posts