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
    S
    Habe mal "Claude" ausprobiert und das Skript überarbeiten lassen. ;-)
  • 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 :(
  • Scriptsammlung Vol. 2

    Angeheftet
    3
    3 Stimmen
    3 Beiträge
    7k Aufrufe
    NegaleinN
    Achtung: Diese Scripts sind teils auch ungetestet bzw. nur vom Ersteller getestet worden. Blockly diverse Scripte Schimpfwortgenerator (BananaJoe, Nikolai Radke) Ein Schimpfwortgenerator ioBroker-Forum-Thread: Schimpfwortgenerator Witze aus API (mading) Ein Witzegenerator ioBroker-Forum-Thread: Witzegenerator Bilder mittels LLM ChatGPT Vision ananalysieren (David G.) Bilder mit ChatGPT ananalysieren ioBroker-Forum-Thread: Bilder mittels LLM ChatGPT Vision ananalysieren Visualisierung Agentdvr-Aufnahmen in der Visualisierung darstellen (David G.) Agentdvr-Aufnahmen anzeigen ioBroker-Forum-Thread: Agentdvr-Aufnahmen in der Visualisierung darstellen Trash HTML Widget VIS2 (skvarel) Trash HTML Widget VIS2 ioBroker-Forum-Thread: Trash HTML Widget VIS2 GitHub GitHub
  • Scriptsammlung Vol. 2 -- Diskussion

    Angeheftet
    69
    1 Stimmen
    69 Beiträge
    25k Aufrufe
    NegaleinN
    @Ro75 sagte: Vielen Dank. Ro75. hab es soeben in die Sammlung aufgenommen :)
  • Anker Solix 4 Pro per Modbus regeln – 0-einspeisung mit ioB

    1
    0 Stimmen
    1 Beiträge
    26 Aufrufe
    Niemand hat geantwortet
  • NodeRed Iobroker Converter (WS Adapter kompatibel)

    node-red communication
    1
    0 Stimmen
    1 Beiträge
    71 Aufrufe
    Niemand hat geantwortet
  • Farbe bei Yahka(HomeKit) mit Yeelight

    javascript
    23
    0 Stimmen
    23 Beiträge
    3k Aufrufe
    AsgothianA
    Mir war schon klar was gemeint ist. Du musst folgendes testen: im Objektbaum, in den Datenpunkt der die Farbe steuert eine Zahl mit Nachkommastelle eingeben - stürzt der Yeelight Adapter dann ab ? an gleicher Stelle schnell, sprich 2 mal pro Sekunde jeweils einen anderen gültigen Wert eingeben. Stürzt der Yeelight Adapter dann ab ? an gleicher Stelle einen Wert ausserhalb der von Dir vorgegebenen Grenzen eingeben. Stürzt der Yeelight Adapter dann ab ? an gleicher Stelle Text eingeben. Stürzt der Yeelight Adapter dann ab ? A.
  • [Vorlage] Anwesenheitssimulation mit dauerhaftem Lernen

    javascript template security
    22
    2 Stimmen
    22 Beiträge
    2k Aufrufe
    G
    Moin, erstmal danke für diese Skript. Idee und Umsetzung ist hervorragend. ich habe mich in der vergangene Woche etwas an das ausprobieren gemacht. Meine Lampen habe ich über die Enums eingebunden dafür habe ich jeweils den direkten Schaltaktor der Lampe .on bzw. .state in das enum kopiert. Die Lampen werden erkannt und im Snapshot abgelegt (ich habe mir den Pfad nach javascript Verzeichniss const DP_STORAGE: string = 'javascript.0.Anwesenheitssimulation.Snapshot_DB'; abgelegt, finde ich persönlich etwas angenehmer den Datenpunkt dort liegen zu haben. Technisch sollte das egal sein. Dann ist mir ein Fehler aufgefallen. Ich habe angefangen mit 2 dimmbaren Lampen zu testen. Die erste ist über hue verknüpft und die zweite ist mittels zigbee verknüpft. Um es etwas übersichtlicher zu machen verzichte ich hier auf hue und beschreibe mein Problem mit dem Zigbee Leuchtmittel. Der Status (on/off) wurde immer korrekt vom Skript erkannt. Der Dimmwert wurde jedoch nicht erkannt. Das hat zu folgendem Snapshot geführt: ,"75":[{"zigbee2mqtt.0.0xxxxxxxxxxxxxxxcb.state":{"on":true}}] ,"76":[{"zigbee2mqtt.0.0xxxxxxxxxxxxxxxcb.state":{"on":true}}] ,"77":[{"zigbee2mqtt.0.0xxxxxxxxxxxxxxxcb.state":{"on":true}}] Also Fehlersuche durchgeführt. Das Ergebnis dann doch relativ simpel. Scheinbar ist Javascript (manchmal) CaseSensitiv. In der Zeile 93 werden die Namen des datenpunkte für den Dimmwert zusammengebaut. const briCandidates = ['LEVEL', 'ACTUAL', 'BRIGHTNESS', 'DIMMER', 'SET']; der von Zigbee angelegte Datenpunkt heißt jedoch .brightness also habe ich die Zeile entsprechend geändert und das .brightness mit eingefügt. const briCandidates = ['LEVEL', 'ACTUAL', 'BRIGHTNESS', 'brightness', 'bri', 'DIMMER', 'SET']; und schon wird der Dimmwert der Zigbeeleuchte erkannt. Der Snapshot sah dann wie folgt aus: ,"82":[{"zigbee2mqtt.0.0xf0d1b800001d0ccb.state":{"on":true}}] ,"83":[{"zigbee2mqtt.0.0xf0d1b800001d0ccb.state":{"on":true}}] ,"84":[{"zigbee2mqtt.0.0xf0d1b800001d0ccb.state":{"on":true,"bri":25}}] //Änderung mit .brightness aktiv ,"85":[{"zigbee2mqtt.0.0xf0d1b800001d0ccb.state":{"on":true,"bri":25}}] ,"86":[{"zigbee2mqtt.0.0xf0d1b800001d0ccb.state":{"on":true}}] //Rückgängig machen zur Verifizierung ,"87":[{"zigbee2mqtt.0.0xf0d1b800001d0ccb.state":{"on":true,"bri":25}}] ,"88":[{"zigbee2mqtt.0.0xf0d1b800001d0ccb.state":{"on":true,"bri":25}}] Anschließend habe ich noch .bri hinzugefügt. denn nun wird auch der Dimmwert der hue Lampe erkannt. Denn Hue verwendet den Namen .bri um das dimmen anzusteuern. Meine Zeile sieht nun so aus. const briCandidates = ['LEVEL', 'ACTUAL', 'BRIGHTNESS', 'brightness', 'bri', 'DIMMER', 'SET']; Die anderen Namen habe ich nicht in Verwendung. daher habe ich sie nicht angepasst. Ggf könne wir hier ja eine Sammlung erstellen die alle Schreibweisen enthält. .BRIGHTNESS lässt sich ja auch .Brightness schreiben. Warum scheint Javascript nur manchmal CaseSensitiv zu sein? in Zeile 84&85 wird der Pfad für den Status der Lampe gebaut. if (obj && obj.type === 'channel') { if (existsState(`${id}.STATE`)) powerId = `${id}.STATE`; else if (existsState(`${id}.ON`)) powerId = `${id}.ON`; } An dieser Stelle ist on und state ebenfalls als CapsLock geschrieben. hue verwendet die Bezeichnung .on und zigbee verwendet .state (beides vollständig klein geschrieben). An dieser Stelle funktioniert die Erkennung des Zustandes jedoch.
  • Blockly + Javascripte aus einer script.json extrahieren

    12
    5
    1 Stimmen
    12 Beiträge
    974 Aufrufe
    Michael SchmittM
    Hi, gern geschehen. Freu mich wenn es nützlich ist ;)
  • Dynamische SVG-Progress-Bar

    javascript multimedia monitoring
    7
    1
    0 Stimmen
    7 Beiträge
    2k Aufrufe
    Ro75R
    Version Version 1.0.4 !!!ACHTUNG WICHTIG!!! Wenn schon eine vorherige Version vom Script genutzt wurde, MÜSSEN mit dieser Version die Übergabewerte im Funktionskopf anpasst werden - kurz gesagt: die Reihenfolge hat sich geändert! *erweiterte Konfiguration: Neuer Parameter Zweck decimalPlaces Anzahl Nachkommastellen für das Hauptlabel fontWeight Schriftstärke (normal, bold, semibold, 400–700) fontStyle Schriftstil (normal, italic, oblique) leftLabelText Text für das linke Label (nur horizontal) rightLabelText Text für das rechte Label (nur horizontal) showMainLabel Hauptlabel ein-/ausschalten Aufgrund der neuen Parameter, wurde die Reihenfolge für die Übergabe der Parameter in der Funktion neu angeordnet Alle weiteren Informationen findest Du im Post #1. Das Script und der Beispielaufruf, sowie die Parameterbeschreibung sind aktualisiert. Ro75.
  • mqtt-Abruf WiCAN-OBD-Dongle mit mqtt-Adapter und Blockly

    15
    1
    0 Stimmen
    15 Beiträge
    4k Aufrufe
    K
    Nachtrag: Per Script (mit Hilfe von ChatGPT) kann ich mir auch die mobilen Daten herunterladen, wenn das Auto nicht im WLAN steht. Hatte dies ein paar Tage laufen - aber irgendwie benötigte ich die Daten noch immer nicht und deshalb habe ich es wieder deaktiviert. "Datensparsamkeit" :) Es bleibt dabei - ich hole mir die Daten nur über Wifi und MQTT.
  • [Vorlage] Anwesenheitssimulation - Script

    Verschoben
    272
    1
    1 Stimmen
    272 Beiträge
    90k Aufrufe
    S
    Hallo, ich weiß der Thread ist schon etwas älter. Seit kurzem funktioniert das Script leider nicht mehr, es hat sehr lange ohne Probleme funktioniert. Er kann wohl im Script laut Fehlermeldung nicht mehr die aktuelle Zeit bestimmen: Error: TypeError: Cannot read properties of null (reading 'getTime') Über eine Hilfe wäre ich sehr dankbar :) javascript.0 2026-07-15 14:00:29.083 error script.js.Licht.Anwesenheit_Simulator: at Script.runInContext (node:vm:149:12) javascript.0 2026-07-15 14:00:29.083 error script.js.Licht.Anwesenheit_Simulator: at script.js.Licht.Anwesenheit_Simulator:522:3 javascript.0 2026-07-15 14:00:29.083 error script.js.Licht.Anwesenheit_Simulator: at script.js.Licht.Anwesenheit_Simulator:147:1 javascript.0 2026-07-15 14:00:29.083 error script.js.Licht.Anwesenheit_Simulator: at Astrozeiten (script.js.Licht.Anwesenheit_Simulator:424:15) javascript.0 2026-07-15 14:00:29.083 error script.js.Licht.Anwesenheit_Simulator: at Array.forEach (<anonymous>) javascript.0 2026-07-15 14:00:29.083 error script.js.Licht.Anwesenheit_Simulator: at script.js.Licht.Anwesenheit_Simulator:425:18 javascript.0 2026-07-15 14:00:29.083 error script.js.Licht.Anwesenheit_Simulator: at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/build/lib/sandbox.js:1980:40) javascript.0 2026-07-15 14:00:29.083 error script.js.Licht.Anwesenheit_Simulator: Error: TypeError: Cannot read properties of null (reading 'getTime') javascript.0 2026-07-15 14:00:29.082 info script.js.Licht.Anwesenheit_Simulator: AWS-Logging: Astrokeyword nauticalDusk: Datum: 15:07 ----- Uhrzeit 23:17 javascript.0 2026-07-15 14:00:29.082 info script.js.Licht.Anwesenheit_Simulator: AWS-Logging: Astrokeyword dusk: Datum: 15:07 ----- Uhrzeit 22:08 javascript.0 2026-07-15 14:00:29.082 info script.js.Licht.Anwesenheit_Simulator: AWS-Logging: Astrokeyword sunset: Datum: 15:07 ----- Uhrzeit 21:21 javascript.0 2026-07-15 14:00:29.082 info script.js.Licht.Anwesenheit_Simulator: AWS-Logging: Astrokeyword sunsetStart: Datum: 15:07 ----- Uhrzeit 21:17 javascript.0 2026-07-15 14:00:29.082 info script.js.Licht.Anwesenheit_Simulator: AWS-Logging: Astrokeyword goldenHour: Datum: 15:07 ----- Uhrzeit 20:28 javascript.0 2026-07-15 14:00:29.082 info script.js.Licht.Anwesenheit_Simulator: AWS-Logging: Astrokeyword solarNoon: Datum: 15:07 ----- Uhrzeit 13:11 javascript.0 2026-07-15 14:00:29.082 info script.js.Licht.Anwesenheit_Simulator: AWS-Logging: Astrokeyword goldenHourEnd: Datum: 15:07 ----- Uhrzeit 05:54 javascript.0 2026-07-15 14:00:29.082 info script.js.Licht.Anwesenheit_Simulator: AWS-Logging: Astrokeyword sunriseEnd: Datum: 15:07 ----- Uhrzeit 05:05 javascript.0 2026-07-15 14:00:29.082 info script.js.Licht.Anwesenheit_Simulator: AWS-Logging: Astrokeyword sunrise: Datum: 15:07 ----- Uhrzeit 05:00 javascript.0 2026-07-15 14:00:29.082 info script.js.Licht.Anwesenheit_Simulator: AWS-Logging: Liste der gegenwärtigen Astrozeiten javascript.0 2026-07-15 14:00:29.081 info script.js.Licht.Anwesenheit_Simulator: AWS-Logging: Arrays scheinen konsistent angelegt worden zu sein. javascript.0 2026-07-15 14:00:29.081 info script.js.Licht.Anwesenheit_Simulator: AWS-Logging: Script: AWS Version 1.30 vom 02.08.2024 - DEBUG ist eingeschaltet javascript.0 2026-07-15 14:00:29.056 info script.js.Licht.Anwesenheit_Simulator: start JavaScript (Javascript/js) javascript.0 2026-07-15 14:00:29.009 info script.js.Licht.Anwesenheit_Simulator: Stopping script
  • Snapshot senden über email adapter

    Verschoben
    21
    0 Stimmen
    21 Beiträge
    8k Aufrufe
    jolicJ
    unsinn ;-(
  • [HowTo] Script Sticky Notes (PostIt) für VIS und Telegram

    164
    7
    7 Stimmen
    164 Beiträge
    39k Aufrufe
    holly200289H
    Mir ist auch aufgefallen das wenn der Satz eine gewisse länge hat das dann, im Telegramm nicht mehr das Löschmenü kommt, was immer automatisch mit erscheint wenn ich eine Nachricht verschicke. Liegt das vielleicht an der Text länge ?
  • [gelöst} NSPanel TypeScript v5.1.1.7 Fehler !!

    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    GregorSG
    Nein, habe das Script so übernommen und angepasst. Allerdings komme ich gerade aus dem Urlaub und sehe, dass das Display dunkel bleibt. Bei Berühren des Displays kommt der Screensaver und danach wird es wieder dunkel. alias.0.NSPanel.1.ScreensaverInfo.activeBrightness.ACTUAL =100 ActiveDimmodeBrightness und Trigger Dimmode gibt es nicht mehr War mein Fehler, gibt es doch. TriggerDimMode on, jetzt habe ich wieder eine Anzeige.
  • Wie? Solar Produktion über Json Monatlich berechnen

    16
    0 Stimmen
    16 Beiträge
    4k Aufrufe
    machamsterM
    Ok super. Vielen Dank. Werde mir das morgen mal in Ruhe anschauen 😎
  • MQTT Keepalive im Skript

    50
    0 Stimmen
    50 Beiträge
    14k Aufrufe
    FichtendickichtF
    Vielen Dank für die ausführlichen Informationen. Ich betreibe selbst eine Victron Anlage mit einer Cerbo GX, IOBroker als Docker in einem Synology NAS DS218+. Bisher habe ich immer mittels Modbus ausgelesen, MQTT scheint mir aber viel eleganter. Ich habe das Keepalive mittels Blocky so gelöst: [image: 1783069381056-9ac29698-7d99-40cc-9520-8e2d58a3dac5-image.jpeg] Leider muss ich feststellen, dass scheinbar alle Werte publiziert werden und nicht nur die unter ["battery/+/Dc/#"]. Die Übersetzung der Werte von JSON auf Dezimalwerte habe ich mittels eines ALIAS gelöst, da kann man als Read-Funktion eine Java-Script (JS) Funktion einfügen die JSON in ein FLOAT umwandelt und als Fallback "NULL" ausgibt: [image: 1783069574957-9ab03ccd-1244-42f8-b1e5-4aebeea11c31-image.jpeg] Hier die Ausgabe die dann auch mittels des Adapters sql0 in eine Datenbank archiviert werden kann: [image: 1783069712165-6bd23d7c-15ef-4e5c-92bf-1d83165ec61f-image.jpeg] EDIT: Ich habe noch eine Einschränkung festgestellt: Das Blockly Script funktioniert nur mit dem mqtt Adapter, mit dem mqtt-client Adapter funktioniert das nicht!
  • Alexa Shopping List mit Bring synchronisieren

    187
    0 Stimmen
    187 Beiträge
    58k Aufrufe
    LocosL
    @mcBirne danke für dein Feedback. habe das Skript nochmal etwas überarbeitet. Siehe vorherigen Post. Liebe Grüße
  • Blockly funktioniert plötzlich nicht mehr

    15
    1
    0 Stimmen
    15 Beiträge
    5k Aufrufe
    H
    @mickemup sagte: Aber generell...Adapter immer frisch starten ist nur Symptombekämpfung. Man sollte versuchen der Fehlerquelle auf den Grund zu gehen. ich weis, wenn ich mal etwas Zeit habe möchte ich sowieso alle Shelly Geräte auf mqtt umstellen. Dann dürfte das Problem behoben sein.
  • Shuttercontrol Sonnenschutz funktioniert nicht (Homematic)

    7
    6
    0 Stimmen
    7 Beiträge
    3k Aufrufe
    M
    Seit der Haken bei "Überprüfen des aktuellen Rollladenstatus" gesetzt ist geht es jetzt.
  • Abwesenheitszeiten für Behörden nachweisen

    6
    0 Stimmen
    6 Beiträge
    2k Aufrufe
    Dr. BakteriusD
    @horst-böttcher zwei Anregungen: Traccar - zeichnet alle Touren mit dem Auto (oder auch Handy) auf. Kann lokal gehostet werden. NFC und Handy-App. Beim Verlassen oder Betreten der Wohnung Handy kurz zu einem Button halten. Oder mit etwas mehr Aufwand einen Chip-Leser und entsprechende Schlüsselanhänger der per MQTT den Code des Anhängers an ioBroker sendet. Beim Verlassen und Betreten Schlüssel einfach kurz hinhalten. (Ich mache das so um die Alarmanlage zu steuern und die Türe zuzusperren - funktioniert seit Jahren, nach ein wenig Bastelei, sehr zuverlässig.)
  • Keylose API für offene Stadtdaten (DWD, Pegel, Strom)

    javascript
    1
    2 Stimmen
    1 Beiträge
    630 Aufrufe
    Niemand hat geantwortet

344

Online

33.0k

Benutzer

83.5k

Themen

1.3m

Beiträge