Skip to content

Skripten / Logik

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

16.4k Themen 211.9k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 48k
    2k Themen
    48k Beiträge
    A
    Neue Version TibberSkript auf GitHub hochgeladen. Version: 2.2.0 Neue Funktionen: Kostenberechnung vor Peak-Phase Implementierung einer Funktion zur Ermittlung der Kosten, wenn vor einer Peak-Phase geladen wird. Gesamtkostenanalyse bei Wartezeit Neue Funktion zur Berechnung der Gesamtkosten, wenn bis zur optimalen Ladezeit gewartet wird. Peak-Phasen-Analyse Funktion zur Erkennung, ob Peak-Phasen zwischen zwei Zeitpunkten liegen. Netzstromkosten-Intervallberechnung Berechnung der Netzstromkosten auf Basis einzelner Preisintervalle. Exakte Ladekostenberechnung Detaillierte Kostenanalyse über mehrere Preisintervalle. Validierung Tibber-Daten Neue Funktion zur Prüfung der Preisdaten und Berechnung des Suchhorizonts. Optimierungen: Ladelogik Verbesserte Steuerung der Ladeentscheidungen unter Berücksichtigung von Peak-Phasen und Kostenoptimierung. Phasenwechsel Ignorieren von Phasenwechseln bei 15-Minuten-Intervallen für stabilere Ladeplanung. Logausgaben Überarbeitete und erweiterte Logmeldungen für bessere Transparenz. Zentrale Logging-Funktion Einführung einer neuen Objekt-ID für Log-Level-Steuerung: 0_userdata.0.TibberSkript.USER_ANPASSUNGEN.LogLevel Werte: 0 = aus, 1 = info, 2 = warn, 3 = error, 4 = debug1, 5 = debug2
  • Hilfe für Skripterstellung mit Blockly

    6k 78k
    6k Themen
    78k Beiträge
    S
    @ralla66 Ich komme nochmal auf das Thema zurück nachdem ich jetzt ewig rumprobiert habe und nicht wirklich einen Erfolg erzielen konnte. Also das Thema Buzzer ist klar und funktioniert auch. An den LEDs beiße ich mir die Zähne aus. Mittlerweile habe ich die TX Ultimates per Matter-Adapter eingebunden. Hiermit kann ich zwar die Beleuchtung des Schalters steuern, allerdings nur von allen LEDs. [image: 1765036683288-bildschirmfoto-2025-12-06-um-16.54.54-resized.png] Ich möchte die LEDs einzeln ansteuern können. Somit muss ich es per Aufruf der URL des Schalters machen. Die URL bekomme ich aber nicht zusammengesetzt.. :(
  • 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
  • Manuelles Schalten vs Automatisch Schalten

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    441 Aufrufe
    paul53P
    Man kann sich zu nutze machen, dass ein Schalten durch ioBroker immer mit ack = false erfolgen muss. Die Meldung vom Gerät kommt immer mit ack = true (allerdings auch die Rückmeldung bei Erfolg). Vorschlag: var auto = false; on({id: myDP}, function(dp) { if(dp.state.ack) { if(auto) log('Auto: ' + dp.state.val); else log('Manu: ' + dp.state.val); auto = false; } else auto = true; });
  • [Gelöst] Script bringt iobroker zum Absturz

    Verschoben
    5
    2
    0 Stimmen
    5 Beiträge
    399 Aufrufe
    MaufloM
    Danke für Deine Mühe. Ja das scheint das Problem gewesen zu sein. Durchgelaufen wurde eigentlich dauernd aufgerufen. Es hatte keine Bedingung oder auch Trigger.
  • Skript Aufbau so sauber ?

    Verschoben
    13
    1
    0 Stimmen
    13 Beiträge
    1k Aufrufe
    K
    @Georgius: Schau mal in die Punkte direkt rein was dort drinnen steht. Verwende Radar nicht. Liefert der wirklich war/unwahr? Und war die Erkennung richtig? Und wirf einmal die leeren Abfragen raus, könnte Probleme machen. OT: Wie bekommst Du diese Art von "oder"? ` Warum nicht Radar ? sieht bei mir alles plausibel aus ! Was wäre die Alternative (tr-064 geht für meine Zwecke nicht, da der in einem anderen WLAN hängt….) Und die Art von oder ... frag mich was, gestern ging es so... ich kann dir das auf Wunsch mal exportieren und hier ran hängen, wie ich das nun gestern hinbekommen habe, weiß ich gar nicht mehr :(...
  • JSON Daten auswerten und darauf reagieren

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    593 Aufrufe
    Niemand hat geantwortet
  • Timer 1 mal im Monat mit Blockly

    Verschoben
    10
    0 Stimmen
    10 Beiträge
    2k Aufrufe
    K
    @Hiltex: Warum nutzt Du denn nicht den eingebauten Cron-Wizard? Der funktioniert echt klasse. Da brauchst Du ja nur anklicken, welchen Tag, Monat, Stunde und Minute du haben willst. Ich würde es so machen: Bildschirmfoto 2019-01-11 um 15.41.11.png Das Blockly für den Import: <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="(T=DXb{BDS-y=f5W|0Y." x="-62" y="-12"><field name="COMMENT">Januar</field> <next><block type="schedule" id="*6pZTuZ3vt`IIh3+a.J9"><field name="SCHEDULE">55 23 28 1 *</field> <next><block type="comment" id="q6u2-LcDDgjMjnSXWd=%"><field name="COMMENT">Februar</field> <next><block type="schedule" id="%bJ[qk=D,Vfb)MLv-ct{"><field name="SCHEDULE">55 23 28 2 *</field> <next><block type="comment" id=",*yrh.[^!icv6O1#9od*"><field name="COMMENT">März</field> <next><block type="schedule" id="`=S%e8NrdTjG%0PPO,-`"><field name="SCHEDULE">55 23 28 3 *</field> <next><block type="comment" id="~^3E8fp@i8ll42]dw~=!"><field name="COMMENT">April</field> <next><block type="schedule" id="U:~o:Dbb4,B1|:mv~9e-"><field name="SCHEDULE">55 23 28 4 *</field> <next><block type="comment" id="5G4/C=:F#B~ehD-i[L{5"><field name="COMMENT">Mai</field> <next><block type="schedule" id="6AU0*`)`_!Ro3x{#l9SQ"><field name="SCHEDULE">55 23 28 5 *</field> <next><block type="comment" id="L3LpZ(J`VA50S%,GI[Im"><field name="COMMENT">Juni</field> <next><block type="schedule" id="aY{B9wbA+;.2LC}9i-oi"><field name="SCHEDULE">55 23 28 6 *</field> <next><block type="comment" id="pTbw.o#,KmBG#0ES~xKx"><field name="COMMENT">Juli</field> <next><block type="schedule" id="=swXHD}=kP+{Ot%PS(B@"><field name="SCHEDULE">55 23 28 7 *</field> <next><block type="comment" id="f[;WCaf8p.kvQ7}QIg/M"><field name="COMMENT">August</field> <next><block type="schedule" id=":S]VYc`o{{9iS0Y6ONw6"><field name="SCHEDULE">55 23 28 8 *</field> <next><block type="comment" id="m4m?1jIMi~mPOF1_#~9p"><field name="COMMENT">September</field> <next><block type="schedule" id="PYj+ovDZHURu*0GisSbb"><field name="SCHEDULE">55 23 28 9 *</field> <next><block type="comment" id="lr#[#f,Bdc5M}qPIgG/2"><field name="COMMENT">Oktober</field> <next><block type="schedule" id="VphsPHF6c0F@Lsg,C/Ne"><field name="SCHEDULE">55 23 28 10 *</field> <next><block type="comment" id="HRp9v^w~Qy*HppJ*m#@t"><field name="COMMENT">November</field> <next><block type="schedule" id="0BR;w2qgW^4(i!.hJwuw"><field name="SCHEDULE">55 23 28 11 *</field> <next><block type="comment" id="nA!/k)2}okDE~}uf=/9R"><field name="COMMENT">Dezember</field> <next><block type="schedule" id="bhp/cK266/N3NU!1_3(/"><field name="SCHEDULE">55 23 28 12 *</field></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></xml> ```` ` Hi, danke für die Antwort. Habe den es jetzt mit dem Cron Wizard probiert und es scheint zu funktionieren.
  • [gelöst] Verzögerungswert über VIS setzen

    Verschoben
    4
    1
    0 Stimmen
    4 Beiträge
    357 Aufrufe
    HiltexH
    @myol: Nimm doch den Block hier: 1.png Da kannst du für die Verzögerung jeden beliebigen Block einfügen. ` Schöne Lösung. jetzt nicht einen Wert von 600.000 in der Visualisierung eintragen zu müssen, damit man eine Verzögerung von 10 Minuten erhält, kann man ja noch ein wenig multiplizieren (Zahl aus VIS * 60.000 = Minuten)
  • [gelöst] snapshot vom flot/browser

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    389 Aufrufe
    H
    danke eigentlich schon, aber heißt das nun, dass es mit phantomjs gar nicht geht am rpi oder nur wenn ich das davor installiere? @Segway: Mal die readme gelesen ??? ` > Prerequire It is used prebuild package of phantomjs. If for your system the prebuild does not exist, you cannot use this adapter. On some linux systems the additional library "libfontconfig" is required. It can be installed as follow: sudo apt-get install libfontconfig
  • Javascript: String auf 3 enthaltene Punkte prüfen

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    302 Aufrufe
    R
    oder console.log("192.168.0.0".match(/\./g).length) // 3; let ip = "192.168.0.0"; if (ip.match(/\./g).length == 3) console.log('jupp');
  • IFTTT HTTP Post aus IOBroker kommt nicht an

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    152 Aufrufe
    Niemand hat geantwortet
  • Switch-Node und JSON

    Verschoben
    15
    3
    0 Stimmen
    15 Beiträge
    2k Aufrufe
    R
    Setz halt einen function-/change-node vor den Eingang des ui-switch, der dir den payload so aufbereitet, dass nur true/false drinsteht. Mach ich immer so
  • Exec Befehle hintereinander ausführen

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    580 Aufrufe
    K
    Wenn die Befehle hintereinander abgearbeitet werden sollen und auch die maximale Laufzeit der Befehle bekannt ist, dann könnte timeout() helfen setTimeout(function () { exec('iobroker stop viessmann.0', function (error, stdout, stderr) { console.log('stdout: ' + stdout); }, 1000); // wird nach einer Sekunde ausgeführt setTimeout(function () { exec(Befehl_SchaltzeitenMo, function (error, stdout, stderr) { console.log('stdout: ' + stdout); }, 2000); // wird nach zwei Sekunden ausgeführt Das ist zwar durch die Brust in's Auge. Aber JS kennt nun mal kein delay(), das an dieser Stelle kurz wartet.
  • Hilfe beim Script/Blocky Erstellung

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    307 Aufrufe
    paul53P
    Vorschlag, wenn die Schalterwerte tatsächlich "on" und "off" sind: const idSchalter = '...'; // Datenpunkt-ID eintragen ! on({id: idSchalter, change: 'ne', val: 'on'}, function() { setStateDelayed(idSchalter, 'off', 3000); // 3 s Einschaltdauer });
  • Datenpunkt steuert Hue Lampe allg. Frage dazu

    Verschoben
    7
    1
    0 Stimmen
    7 Beiträge
    737 Aufrufe
    A
    Also auch mit der Version 0.6.9 hab ich Fehler und somit wird die Lampe auch nicht geschalten. ! ```` host.DESKTOP-I1GBN43 2019-01-11 09:01:21.373 error instance system.adapter.hue.0 terminated with code 6 (uncaught exception) host.DESKTOP-I1GBN43 2019-01-11 09:01:21.373 error Caught by controller[0]: at Decoder.Emitter.emit (C:\iobroker\node_modules\iobroker.js-controller\node_modules\socket.io-client\node_modules\component-emitter\index.js:133:20) host.DESKTOP-I1GBN43 2019-01-11 09:01:21.373 error Caught by controller[0]: at Decoder. <anonymous>(C:\iobroker\node_modules\iobroker.js-controller\node_modules\component-bind\index.js:21:15) host.DESKTOP-I1GBN43 2019-01-11 09:01:21.373 error Caught by controller[0]: at Manager.ondecoded (C:\iobroker\node_modules\iobroker.js-controller\node_modules\socket.io-client\lib\manager.js:345:8) host.DESKTOP-I1GBN43 2019-01-11 09:01:21.373 error Caught by controller[0]: at Manager.Emitter.emit (C:\iobroker\node_modules\iobroker.js-controller\node_modules\socket.io-client\node_modules\component-emitter\index.js:133:20) host.DESKTOP-I1GBN43 2019-01-11 09:01:21.373 error Caught by controller[0]: at Manager. <anonymous>(C:\iobroker\node_modules\iobroker.js-controller\node_modules\component-bind\index.js:21:15) host.DESKTOP-I1GBN43 2019-01-11 09:01:21.373 error Caught by controller[0]: at Socket.onpacket (C:\iobroker\node_modules\iobroker.js-controller\node_modules\socket.io-client\lib\socket.js:244:12) host.DESKTOP-I1GBN43 2019-01-11 09:01:21.373 error Caught by controller[0]: at Socket.onack (C:\iobroker\node_modules\iobroker.js-controller\node_modules\socket.io-client\lib\socket.js:319:9) host.DESKTOP-I1GBN43 2019-01-11 09:01:21.373 error Caught by controller[0]: at Socket. <anonymous>(C:\iobroker\node_modules\iobroker.js-controller\lib\states\statesInMemClient.js:157:27) host.DESKTOP-I1GBN43 2019-01-11 09:01:21.373 error Caught by controller[0]: at C:\iobroker\node_modules\iobroker.js-controller\lib\adapter.js:4332:61 host.DESKTOP-I1GBN43 2019-01-11 09:01:21.373 error Caught by controller[0]: at C:\iobroker\node_modules\iobroker.hue\hue.js:54:72 host.DESKTOP-I1GBN43 2019-01-11 09:01:21.373 error Caught by controller[0]: TypeError: Cannot read property 'val' of null hue.0 2019-01-11 09:01:20.324 error TypeError: Cannot read property 'val' of null at C:\iobroker\node_modules\iobroker.hue\hue.js:54:72 at C:\iobroker\node_modules\iobroker.js-controller\lib\adapter.js:4332:61 at Socket.<ano hue.0/2019-01-11/09:01:20.324/error/uncaught/exception:/cannot/read/property/'val'/of/null<e=""></ano></anonymous></anonymous></anonymous> Es handelt sich dabei um eine LED-Stripe und diesen will ich per script ausschalten über if (wie === true) { if (compareTime('11:00', '22:50', "between", null)) { setState("javascript.0.PhilipsHue.Scenes.morgens.Qg9jXdqpJwgs6ib"/*Scene: morgens (Group: Leiste_alone )*/, wie); } } //if true else { setState("hue.0.Philips_hue.leiste.on"/*Philips_hue.leiste.on*/, wie); } //else } // if steuerung
  • Beschränkung bei Alexa local Geräten? node-red-contrib-alexa-local

    Verschoben
    8
    1
    0 Stimmen
    8 Beiträge
    1k Aufrufe
    V
    Super! Das funktioniert und er erkennt alle Geräte Vielen Dank!!
  • Fensterkontakt GS-WDS07 mit Sonoff RF Bridge(Tasmota)

    Verschoben
    5
    1
    0 Stimmen
    5 Beiträge
    2k Aufrufe
    Z
    und dein Trigger funktioniert ich glaube so wie du es gemacht hast auch nicht! Versuch es mal so: [image: 5087_unbenannt.jpg]
  • Datei von lokalem ftp-server lesen

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    407 Aufrufe
    A
    damit hatte ich sowas wie 'createWriteStream is not a function' ich nehme erstmal wget, brauche die Daten zum verarbeiten (nicht schön, aber funktioniert wenigstens)
  • Abschaltung der Rolläden Sonoff T2

    Verschoben
    14
    1
    0 Stimmen
    14 Beiträge
    1k Aufrufe
    R
    @Ju5t1n: Das Problem ist scheinbar, dass der Alexa local Baustein in Node Red anscheinend nur an und aus bzw. hoch und ab kennt. Kann ich dem irgenwie Abhilfe schaffen? ` Na z.B. in dem du ein 2tes Gerät mit dem Alexa-lokal Baustein (Rolladen stop) anlegst. Den triggerst du dann mit einer Alexa-Routine. Alexa-Routine Wenn ich sage "Rolladen stop" -> Schalte (Rolladen stop) aus Und den hängt du dann an deinen Powerstate der Rollade. Wenn der gerade fährt(true hat) bekommt er nun ein false und sollte stoppen.
  • Auslastung NUC (o.a.) auslesen - visualisieren

    Verschoben
    55
    0 Stimmen
    55 Beiträge
    10k Aufrufe
    S
    Sehr schön das freut mich [emoji4] Zum blockly: Jetzt Mal so aus dem Kopf weil unterwegs Ich hab den Wert den der Befehl liefert erstmal in in einer Programm variablen gespeichert evtl, da bin ich mir nicht sicher, in Zahl umgewandelt mit einem convert Block und dann den Block schreibe Objekt mit wert genutzt … Irgendwo dazwischen umgerechnet mit den Mathe Blöcken Wenn nötig Das ganze aber ohne Gewähr wie gesagt Gruss Stefan Gesendet von meinem Mi A2 Lite mit Tapatalk
  • Dynamische Tabelle

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    321 Aufrufe
    arteckA
    oder mit viel gefummel.. die Nachritcht die kommt ist ehh ein String.. String und noch einer und noch einer..
  • Ein Grosses oder viele kleine Scripte?

    Verschoben
    10
    0 Stimmen
    10 Beiträge
    1k Aufrufe
    apollon77A
    Cubietruck hat ein natives SATA interface … leider sonst nicht viele andere :-(

624

Online

32.5k

Benutzer

81.6k

Themen

1.3m

Beiträge