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
    M
    @maxclaudi Hey, danke für Deine schnelle Antwort trotz Zeitmangels. Gerne etwas ausführlicher wenn mehr Zeit ist. Das 30min Intervall bestätigt sich. Wenn ich es richtig verstehe vermutest Du einen Temp-Schutzmechansimus? Dafür ist die Temp doch eigentlich nicht hoch genug. Bei den Batterien ist diese unter 30°. Die Spannung ist bei mir auch bei 3,3xV [image: 1786034104836-58dd895f-c947-45d3-86e8-101e117a87aa-image.jpeg] Zum Zeitpunkt des Screenshots zeigt er einen SoC von 85% an
  • 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

    963 13k
    963 Themen
    13k Beiträge
    A
    @Marc-Berg sagte: @ak68 sagte: Wie kann ich den Adapter manuell updaten ? Gar nicht, du müsstest warten, bis der Adapter hochgezogen wird. Alternativ den sun-position Node downgraden, oder benötigst du das Update fachlich? Danke, habe jetzt down-gegraded :(
  • [Gelöst] Verständnisfrage Datenpunkt für setTimeout nutzen?

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    410 Aufrufe
    M
    @apollon77: Best practice ist es die timeout ids in dem Skript Lokal vorzuhalten zb in einem array oder Objekt wo sie gesetzt werden. ` Das macht Sinn! In Meinem Beispiel hätte ich erwartet das beim 2. Aufruf "StartTimer(0, false);" der Bereich "log("CLEAR " + Device[id][0]);" aufgerufen wird da ich beim ersten Aufruf den Timer dem Array Device[1][1] zugeordnet habe. Das geschieht aber nicht. Vermutlich habe ich da noch nen Hänger. Ich bin noch nicht so fit in Javascript, habe ich da was übersehen? Ich muss da mal mehr über die Gültigkeitsbereiche von Javascript lesen :-) Malc var Device = []; Device[0] = ['Device1', null, 0]; Device[1] = ['Device2', null, 0]; StartTimer(0, true); StartTimer(0, false); function StartTimer(id, on) { var d = Device[id][0]; var t = Device[id][1]; var Duration = 2; if (on) { log("Start TImer für " +d ); t = setTimeout(function (){ log("Expired " + d ); clearTimeout(t); t = null; }, Duration * 5 * 1000); } else { log("OFF " + d); if(t) { log("CLEAR " + d); clearTimeout(t); } } Edit: Wenn ich var t = Device[id][1]; (war nur wegen der Lesbarkeit) weglasse und direkt auf das Arrayelement gehe klappt es. Die Deklaration var t = De… ist wohl kein Zeiger, da scheint es doch im Javascript Eigenarten zu geben. var Device = []; Device[0] = ['Device1', null, 0]; Device[1] = ['Device2', null, 0]; Device[2] = ['Device3', null, 0]; StartTimer(0, true); StartTimer(0, false); function StartTimer(id, on) { // log(Device[id][0]); //var t = Device[id][1]; //var t = x; var Duration = 2; if (on) { Device[id][1] = setTimeout(function (){ log("Expired " + Device[id][0]); clearTimeout(Device[id][1]); Device[id][1] = null; }, Duration * 5 * 1000); } else { log("OFF " + Device[id][0]); if(Device[id][1]) { log("CLEAR " + Device[id][0]); clearTimeout(Device[id][1]); } } }
  • HM Wired Komponenten nicht vorhanden

    Verschoben
    19
    0 Stimmen
    19 Beiträge
    991 Aufrufe
    J
    nein… ist immernoch xml-rpc
  • Diverse Programmierung

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    1k Aufrufe
    apollon77A
    So meinte ich es ;-)) Gesendet vom Handy …
  • [gelöst] Bild wird nicht richtig gespeichert (EDIT) Jetzt nicht richtig versandt

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    794 Aufrufe
    Jeeper.atJ
    Hallo Paul, der Tipp war Gold wert. Nun funktioniert es so wie geplant. Vielen Dank Günther
  • Wie Object erzeugen für Abfrage nodered Variable

    Verschoben
    1
    1
    0 Stimmen
    1 Beiträge
    360 Aufrufe
    Niemand hat geantwortet
  • Probleme mit Hue-Scripten

    Verschoben
    10
    0 Stimmen
    10 Beiträge
    904 Aufrufe
    C
    Ok, jetzt scheint es zu funktionieren, ich danke dir vielmals <emoji seq="1f60d">😍</emoji>
  • Mehrfachstart vom Script verhindern.

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    H
    Ok jetzt bin ich wieder raus. Aber naja es funktioniert erstmal so.. Der rest kommt hoffe ich step by step. Danke.
  • In Blockly Variable in Homematic beschreiben?

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    974 Aufrufe
    J
    Der Datenpunkt des DWD wird bereits als String/Zeichenkette bereitgestellt und muss nicht umgewandelt werden. Leider liegen in meinem Gebiet keine Warnungen vor und ich kann es nicht testen, aber so müsste es klappen: [image: 6696_dwdtext.jpeg]
  • Szene mit true/false

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    554 Aufrufe
    Niemand hat geantwortet
  • Fehler beim Auslesen

    Verschoben
    13
    1
    0 Stimmen
    13 Beiträge
    2k Aufrufe
    Mr. BurnsM
    Hi, Einen Drucktransmitter 4..20mA, einen Wandler von 4..20mA auf 0..10V, Eingang auf das 12/14 Modul. Ich hab ein Röhrchen, welches bis zum Tankboden geht. Oben ist ein T-Stück, an welchem der Drucktransmitter sitzt. auf dem anderem Anschluss des T-Stücks ist eine Membranpumpe (alte Aquarium Luftpumpe) und ein Nadelventil. Nach der Einperlmethode messe ich den Druck am Boden des Tanks. Mittlerweile messe ich aber direkt über eine SPS und übergebe den Wert an den ioBroker. Parallel messe ich noch den Durchfluss über ein Braun Ölzähler, auch an direkt an der SPS… Gruß Thomas
  • Probleme mit Telegram in Scripten

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    423 Aufrufe
    apollon77A
    Diese Hellen Blöcke sind default Blöcke. Den text kannst Du aber an sich ändern. Sonst einfach einen Text-Block nehmen und an die gleiche Stelle hängen.
  • Daten aus einer URL in eine Variable schreiben

    Verschoben
    28
    0 Stimmen
    28 Beiträge
    7k Aufrufe
    R
    Danke ruhr70, so funktioniert es. (Besser später als nie bendanken ;-) )
  • [GELÖST] Skript ruft Skript auf (Blockly)

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    2k Aufrufe
    B
    Ich habe eine Lösung mit Blockly gefunden. Folgende Ausgangssituation: Der Block mit der Ansteuerung der Rollladen kommt mehrfach vor. [image: 5625_ursprung.jpg] Man klickt rechts oberhalb vom Fenster auf den Button "Code anzeigen" und kann sich dort den sich wiederholen Part rauskopieren. Nun fügt man einen Funktion-Block hinzu, gibt ihm einen Namen in meinen Fall "Rollladen" und fühlt in mit dem Code. [image: 5625_funktionsblock.jpg] Im Anschluss gibt es im Reiter der Funktion-Blöcken einen neuen Block der genau die Funktion enthält die man vorher als Code eingegeben hat. [image: 5625_funktion.jpg] Genau was ich wollte :)
  • Blockly "$('[state.id=.." Syntax

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    311 Aufrufe
    Niemand hat geantwortet
  • Begrüßung durch Echo Dot bei Haustüröffnung und Anwesenheit

    Verschoben
    9
    0 Stimmen
    9 Beiträge
    2k Aufrufe
    J
    oder man verbaut eben billige Türkontakte und fragt die als UND zur Anwesenheit ab, nimmt dann die durchschnittliche Zeit bis man in Hörweite des Echo steht und gibt die als Verzögerung zur Begrüßen dazu und schon ist die Frau überrascht, wenn sie nach hause kommt :lol:
  • Node-red Wemo Emulator -Zustände nach Neustart

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    MichaM
    Morgen, Um wieviel wemos handelt es sich ? Du kannst den letzten Zustand in eine Datei schreiben, dann hast du einen festen Speicherplatz dafür. Ist sicherlich nicht der schönste Weg aber es würde gehen. VG Micha
  • HTTP POST an CCU in Javascript

    Verschoben
    16
    0 Stimmen
    16 Beiträge
    3k Aufrufe
    K
    Hi, ich muss dass hier leider mal aufwärmen, da ich nicht durchsteige. Hintergrund: Ich möchte die Wochenprogramme meiner Heißkörperthermostate via ioBroker durchschalten. Wie? :-D okay hab da jetzt was zusammengepfluckt was zu funktionieren scheint: `// Konstanten für CCU Push var http = require('http'); var path = "/blabla.exe"; function setCCUscript (sDevice,wochenprog) { var data = 'object o1= devices.Get("' + sDevice + '");'; data +='string s2="";'; data +='if (o1) {'; data += 'xmlrpc.PutParamset (o1.Interface(), o1.Address(), "MASTER", "WEEK_PROGRAM_POINTER", '+ wochenprog.toString () +'); s2="SET";'; data += '} else { s2 = "NO DEVICE"; }'; return data } function setPushVar (data) { var options = { host: getObject('system.adapter.hm-rpc.0').native.homematicAddress, port: 8181, path: path, method: 'POST', headers: { 'User-Agent' : 'Mozilla/5.0', 'Content-Type': 'text/plain', 'Content-Length': data.length, } }; return options; } function httpPost (options,data) { var req = http.request(options, function(res) { var body=''; res.on('data', function(d) { body += d.toString (); }); res.on('end', function() { }); }); req.on('error', function(e) { log('ERROR: ' + e.message,"warn"); }); (data ? req.write(data) : log("Daten: keine Daten angegeben")); req.end(); } on ({id: "javascript.0.Heizung_Energiesparmodus", change: 'ne'}, function(obj) { if (getState ("javascript.0.Heizung_Energiesparmodus").val ==1) { var array = ["Wohnzimmer Heizung Gruppe", "Schlafzimmer Heizung Gruppe", "Küche Heizung Gruppe", "Büro Heizung Gruppe", "Kinderzimmer Heizung Gruppe", "Hauswirtschaftsraum Heizung Gruppe", "Badezimmer Wanne Heizung Gruppe", "Badezimmer Dusche Heizung Gruppe", "Flur Heizung Gruppe"]; var i; log ("Heizung_Energiesparmodus ist an"); for (i = 0; i < array.length; i++) { var script = setCCUscript (array[i], 2); httpPost (setPushVar (script),script); } } else { var array = ["Wohnzimmer Heizung Gruppe", "Schlafzimmer Heizung Gruppe", "Küche Heizung Gruppe", "Büro Heizung Gruppe", "Kinderzimmer Heizung Gruppe", "Hauswirtschaftsraum Heizung Gruppe", "Badezimmer Wanne Heizung Gruppe", "Badezimmer Dusche Heizung Gruppe", "Flur Heizung Gruppe"]; var i; log ("Heizung_Energiesparmodus ist aus"); for (i = 0; i < array.length; i++) { var script = setCCUscript (array[i], 0); httpPost (setPushVar (script),script); } } });` Grüße Kevin[/i][/i]
  • Blockly Zeitenstempel prüfen

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    522 Aufrufe
    Dr. BakteriusD
    Ich mache das so: [image: 6909_abfrage.png]
  • Mit Blocky übergeben

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    250 Aufrufe
    Q
    Funktioniert der Link, den du übergeben willst im Browser, wenn du ihn dort einfach eingibst und absendest? Hast du im javascript Adapter denn einen Haken excect und http request gemacht? Versuch mal den http request: https://github.com/ioBroker/ioBroker.j … equest-url Gesendet von iPhone mit Tapatalk
  • Grundsätzliche Frage zu Javascript bzw. Blockly

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    319 Aufrufe
    apollon77A
    Mal javascript Adapter neu gestartet? Oder server rebooted? Falls da noch was laufen sollte geht es damit weg.

293

Online

33.0k

Benutzer

83.5k

Themen

1.3m

Beiträge