Skip to content

Skripten / Logik

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

16.4k Themen 211.8k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 48k
    2k Themen
    48k Beiträge
    A
    @as Welches Diagramm verwendest du? Es gibt drei Diagramme, eins für heute, eins für Morgen und eins wo beide Tage drauf sind. Das Skript berücksichtig beide Tage.
  • Hilfe für Skripterstellung mit Blockly

    6k 78k
    6k Themen
    78k Beiträge
    M
    Hallo, ich möchte die go-e Wallbox in den Überschusslademodus ( Eco) per Script schalten. Den http Befehl habe ich im Browser getestet und dieser funktioniert immer wenn ich im Browser es teste. Beim Script ändert sich in der Wallbox App leider nicht der Zustand obwohl der Befehl soweit ich sehen kann abgesetzt wird. Hier das Script: ![Bild Text]([image: 1764177607106-screenshot-2025-11-26-181634.png] Bild Link) Kann mir hier jemand dabei weiterhelfen? Vielen Dank Michael
  • Hilfe für Skripterstellung mit Node-RED

    952 13k
    952 Themen
    13k Beiträge
    HomoranH
    @fiddle sagte in [Gelöst]: Adapter per {Node Red | JS} (de)aktivieren: Ok, nicht als "Wert" schreiben, sondern als "Befehl". Dann scheint ihn das zu beeindrucken. du zeigst ja nichts, aber es geht mit true/false [image: 1763416200051-screenshot_20251117-224854_firefox.jpg] gesteuert über eigenen DP vom typ Bool
  • [geloest] Blockly: Lautstärke mit Taste erhöhen von Spotify/Alexa über Fernbedienung

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    M
    Cool danke schön. Hat einwandfrei funktioniert. Hier meine Lösung, falls es jemandem hilft: ! var var_Int_Volume, var_Volume; ! var_Int_Volume = 3; ! on({id: 'fakeroku.0.ioBroker.keys.Right', change: "ne"}, function (obj) { ! var value = obj.state.val; ! var oldValue = obj.oldState.val; ! var_Volume = getState("alexa.0.echo-devices.Commands.volume").val; ! var_Volume = var_Volume + var_Int_Volume; ! setState("alexa.0.echo-devices.Commands.volume", var_Volume); ! }); ! on({id: 'fakeroku.0.ioBroker.keys.Left', change: "ne"}, function (obj) { ! var value = obj.state.val; ! var oldValue = obj.oldState.val; ! var_Volume = getState("alexa.0.echo-devices.Commands.volume").val; ! var_Volume = var_Volume - var_Int_Volume; ! setState("alexa.0.echo-devices.Commands.volume", var_Volume); ! });
  • [erledigt] Javascript Erklärung erbeten (Codeschnipsel aus Lüftungsempfehlungsskript)

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    373 Aufrufe
    T
    Danke, ich setze mal auf gelöst. Habe den entscheidenden Teil gerade gefunden und bewundere nun die Eleganz der Programmierung.
  • Aktion bei Öffnen der Tür

    Verschoben
    23
    1
    0 Stimmen
    23 Beiträge
    2k Aufrufe
    G
    Hi zusammen, nachdem das Skript bisher ohne Probleme funktioniert ergeben sich im Daily Doing doch noch ein paar Anforderungen. Wenn Helligkeit unter 90 liegt usw geht ja Licht an bei Öffnen der Tür und bleibt dann für 3 Minuten in der Küche und im Garten für 7 (+4) an. Wenn ich jetzt jedoch den Müll raus bringe, dauert 30Sek zB. und gehe dann wieder rein. Dann sind die Lampen ja durch vorheriges Raus gehen bereits an. Entsprechend bleiben die an und der Timeout greift nicht. Gibt es dazu noch etwas um zB zu sagen wenn die Tür innerhalb 1 Min. 2 Mal geöffnet wurde dann schalte Lichter nach Timer aus? Gruß Stefan 3449_2018-03-06_08_53_03-iobroker.admin.png
  • Status Abfrage

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    I
    Hey Danke die Idee mit dem SonOFF POW ist klasse ! Danke
  • URL Adresse mit Befehl von WEMO oder Alex-local ausführen.

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    744 Aufrufe
    Ralla66R
    Neuen Wemo reinziehen mit Stop bezeichnen und switch nur mit true und request. Gerätesuche…. Alexa Stop An ist dann true. Rennt das, entferne mal switch und true. Obwohl mit Stop Aus könntest du über false mit request wieder einschalten. :mrgreen:
  • Mini web service

    Verschoben
    10
    0 Stimmen
    10 Beiträge
    533 Aufrufe
    S
    hab jetzt Javascript neu gestartet… jetzt bekomme ich am Client das "Echo Server", aber alles was ich am Client eintippe, kommt nicht am Server an... server.on('data', function(data){ log(data.toString); textChunk = data.toString('utf8'); log(textChunk); server.write(textChunk); }); müßte doch jetzt die Zeichen vom Client ausgeben…?
  • Wie warn-Meldungen bei nicht gesetztem Selector vermeiden

    Verschoben
    11
    0 Stimmen
    11 Beiträge
    2k Aufrufe
    D
    Das sollte die Lösung dafür sein oder? http://forum.iobroker.net/viewtopic.php … 37#p130837 nur der vollständigkeithalber.
  • Zugriff auf eine JSON Tabelle

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    907 Aufrufe
    paul53P
    @fuchs1978: anrufname = JSON.stringify(obj[0].extName); anrufnummer = JSON.stringify(obj[0].extRufNr); anrufdatum = JSON.stringify(obj[0].datum); anrufzeit = JSON.stringify(obj[0].startZeit); ```` ` Das JSON.stringify wird wahrscheinlich nicht benötigt, da die 4 Eigenschaften des Objektes sicherlich Strings enthalten. JSON.stringify(obj) wird nur benötigt, wenn man ein Objekt in einen JSON-String wandeln will (z.B., um das Objekt anzuzeigen).
  • CSS ändern Javascript

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    UhulaU
    @senger1985: Ja und ich weiß nicht warum? Weil der JS Code so normalerweise richtig ist. ` Der Code wäre korrekt, wenn er denn auf dem Client, also im Browser ausgeführt werden würde. Wird er aber nicht. Er wird auf dem Server ausgeführt - und dort kann er nicht funktionieren, weil es keinen Browser, keine DOM Objekte gibt. Andere Lösung: (a) Eine javascript.0 Variable anlegen, dort via Script die jeweilige Farbe reinschreiben, Bsp: javascript.0.mycolor (b) in VIS, beim Widget w00027 in der Background-Color-Eigenschaft dann den Zugriff auf diese Variabel per ioBroker-Binding, in dem man dort {javascript.0.mycolor} eingibt Dein Script ändert die Variable, ioBroker reicht dieses durch seine Binding-Fähigkeit an das Widget weiter.
  • Kein Update auf Nodered 1.5.1 und Probleme mit Nodered

    Verschoben
    9
    0 Stimmen
    9 Beiträge
    837 Aufrufe
    B
    Danke Bin komplett am Holzweg gewesen! :oops: Das hat jetzt Funktioniert DANKE. Werde dann mal versuchen ob die Synchronisation funktioniert. Melde mich.
  • Telegramm im IoBroker

    Verschoben
    2
    1
    0 Stimmen
    2 Beiträge
    496 Aufrufe
    wendy2702W
    Kannst du zum Probieren mal den rot markierten Block an die Pfeil Position verschieben: [image: 999_blockly_trigger.jpg]
  • Die Taste next x mal drücken (Sonos Random Alternaitve)

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    211 Aufrufe
    Niemand hat geantwortet
  • Fehler beim Versenden von 2 attachments per mail

    Verschoben
    2
    1
    0 Stimmen
    2 Beiträge
    245 Aufrufe
    D
    Ok, sieht so aus als sei dies ein Fehler von Blocky: Kopiere ich den ganzen Blocky Source script und füge alles als neues Javascript ein, ändere dann: attachwments:[ {path: '/tmp/garage1.jpg', cid: "file1"} {path: '/tmp/garage2.jpg', cid: "file2"} ] in attachments:[ {path: '/tmp/garage1.jpg', cid: "file1"}[color],[/color] {path: '/tmp/garage2.jpg', cid: "file2"} ] gibt's keine Fehler mehr. Speichere ich dann ab, will iobroker das ganze als Blocky umwandeln. Bestätige ich dies, wird das Komma wieder entfernt, und ein Fehler angezeigt. MOD-Edit by eric2905; siehe oben
  • Jalousiesteuerung (Zeitautomatik, Sonnen-, Aussperrschutz)

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    7k Aufrufe
    S
    Hatte ich nicht, ich hatte den Thread gebookmarked. Danke für den Hinweis, dann muss ich wohl Geduld haben und meinen Abend anders verbringen :-)
  • Probleme mit Change Node Module als Inverter

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    864 Aufrufe
    C
    Danke, der ist genial.
  • Blockly lernen, frage

    Verschoben
    8
    1
    0 Stimmen
    8 Beiträge
    903 Aufrufe
    MatzebhvM
    Kurze Antwort: Nein - Ja - Ja :D Matze
  • Wie GPOI-Ausgang mit Blockly "blinken" lassen ?

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    882 Aufrufe
    E
    Vielen Dank für Deine Hilfe und Mühe! Es funktioniert. Ich hätte jedoch nicht gedacht, dass solcher Aufwand notwendig ist. Trotzdem super. LG emblitz
  • Javascript aus einem Javascript aufrufen und ausführen

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    327 Aufrufe
    blauholstenB
    @pafra: Hallo zusammen, wie kann ich aus einem Javascript ein weiteres Javascript aufrufen? Im konkreten Fall möchte ich aus Javascript #1 das Javascript #2 aufrufen und ausführen lassen. Gruß Franz ` Sorry, aber das ist alles andere als konkret. Möchtest du eine Funktion aufrufen? Das komplette Skript? Willst du Variablen verwenden…..usw
  • MiHome Gateway LED automatischer Farbwechsel Fade

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    0
    Ja genau, das muss per Script erfolgen… ich hab mir mal was dazu zusammengebastelt: var state1 = "javascript.0.Allgemein.RGB_Farbwechsel"; var dev1_power = "mihome.0.devices.gateway_7811dcdae11a.on"/*Light*/; var dev1_rgb = "mihome.0.devices.gateway_7811dcdae11a.rgb"; var dev2_power = "wifilight.0.192_168_0_212.on"; var dev2_rgb = "wifilight.0.192_168_0_212.rgb"; var bri = "mihome.0.devices.gateway_7811dcdae11a.dimmer"; var interval; var debug = true; function farbwechsel() { var min = 0; var max = 255; var R = Math.round(Math.random() * (max - min)) + min; var G = Math.round(Math.random() * (max - min)) + min; var B = Math.round(Math.random() * (max - min)) + min; if (debug) log(R + ' ' + G + ' ' + B); if (debug) log ('#' + toHex(R) + toHex(G) + toHex(B)); setState(dev1_rgb, '#' + toHex(R) + toHex(G) + toHex(B)); setState(dev2_rgb, '#' + toHex(R) + toHex(G) + toHex(B)); } function toHex(number) { if (number < 0) number = 0xFFFFFFFF + number + 1; var n = number.toString(16).toUpperCase(); if (n.length == 1) { n = '0' + n; } return n; } on({id: state1, val: true, change: "ne"}, function() { if (debug) log ("Starte LED Farbwechsel"); interval = setInterval(farbwechsel, 120000); setState (dev1_power, true); setState (dev2_power, true); farbwechsel(); setState(dev1_rgb, '#FFFFFF'); setState(dev2_rgb, '#FFFFFF'); setStateDelayed(bri, 20, 1000); }); on({id: state1, val: false, change: "ne"}, function() { if (debug) log ("Beende LED Farbwechsel"); setState (dev1_power, false); setState (dev2_power, false); clearInterval(interval); }); Funktioniert soweit besten, sogar mit dem wifilight Adapter. Jetzt bekomme ich durch Zufall eine Farbe ausgewählt welche dann im Intervall von 2min geändert wird. Damit bin ich soweit auch zufrieden, aber eigentlich wollte ich einen weichen Farbübergang, wie es beim faden so üblich ist. Hierzu müsste ich aber irgendwie dieses Vordefinieren, wo ich allerdings absolut keine Idee zu habe.
  • [gelöst] Delta von zwei Werten

    Verschoben
    10
    1
    0 Stimmen
    10 Beiträge
    2k Aufrufe
    D
    Vielen Dank für eure Hilfe! Es hat jetzt geklappt, anscheinend hatte ich mit dem Blockly zuviel "gespielt". Nachdem ich das Blockly gelöscht und neu erstellt habe, funktioniert es jetzt! Nicht einmal der Debug- Output wollte funktionieren :-( Gruß David

883

Online

32.4k

Benutzer

81.5k

Themen

1.3m

Beiträge