Weiter zum Inhalt

Skripten / Logik

16.7k Themen 215.6k 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
    maxclaudiM
    @T-147 sagte: ...zwischen Laden und Entladen gewechselt werden soll, um die Relais zu schonen.... Wer zusätzliche Sicherheit möchte: Blockly – Einfache DPL-Regelung (Nulleinspeisung & AC-Laden) für Einsteiger in Verbindung mit dem Steuerungs-Script dieses Threads Post update 18.07.2026; 15:30h Version wie zuvor inkl. kritische Verbraucher + Neu: intervalSec_change_acModeAllowed intervalSec_change_acModeAllowed: acMode-Wechsel nur alle x Sekunden erlaubt. Schont Relais und verhindert häufiges Umschalten zwischen Laden und Entladen. 0 oder 10-60 sec. Auch > 60 möglich. Darf jede(r) für sich entscheiden. Je höher der Wert, desto später erfolgt der Wechsel zwischen Laden und Entladen. Da das Blockly im Inneren wieder sehr ausführlich kommentiert ist, verzichte ich hier auf eine lange Erklärung. Bitte die Hinweise direkt im Skript lesen. Import-Anleitung: Wie man ein Blockly importiert, ist in diesem Post hier beschrieben. Das Skript ist standardmäßig für einen Zendure 1600AC+ vorkonfiguriert. Bitte prüft vor dem ersten Start unbedingt die folgenden Variablen und passt sie an euer eigenes System an: max_outputLimit: 1600 max_inputLimit: 1600 criticalGridPower: 600 criticalOutputLimit: 1600 Urheberrechtshinweis Bitte respektiert die Arbeit, die in diesem Projekt steckt, und beachtet den Urheberhinweis direkt im Skript. Wenn ihr auf Basis dieses Skripts (oder Teilen davon) eigene Modifikationen veröffentlicht, fügt bitte eine kurze Verlinkung zu diesem Thread und / oder die Nennung meines Namens maxclaudi hinzu. Vielen Dank! Datei: maxclaudi_dpl_acMode_kV.zip enthält nur maxclaudi_dpl_acMode_kV.xml Datei herunterladen und Virenscan. maxclaudi_dpl_acMode_kV.zip entpacken in iobroker neues, leeres Blockly erstellen maxclaudi_dpl_acMode_kV.xml importieren. Download: maxclaudi_dpl_acMode_kV.zip Viel Spaß damit!
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    A
    @paul53 sagte: @andreas7712 [sagte]: als Taster funktioniert Also nur kurz einschaltet? Super so funktioniert es!!!! Vielen Dank!!!!!!
  • Hilfe für Skripterstellung mit Node-RED

    961 13k
    961 Themen
    13k Beiträge
    P
    Der "normale" TCP Request kann auch Rohdaten. Zumindest habe ich darüber damals mit einem Pioneer AVR gesprochen. Den Flow habe ich nicht mehr. Zum Testen / Probieren ein Grundgerüst: Spoiler [ { "id": "telnet_flow_group", "type": "group", "style": { "label": true }, "nodes": [ "inject_trigger", "change_add_newline", "tcp_telnet_request", "debug_response" ], "x": 34, "y": 79, "w": 712, "h": 122 }, { "id": "inject_trigger", "type": "inject", "z": "b59f3d99b19bc9e5", "g": "telnet_flow_group", "name": "Befehl senden", "props": [ { "p": "payload", "v": "help", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "x": 150, "y": 140, "wires": [ [ "change_add_newline" ] ] }, { "id": "change_add_newline", "type": "change", "z": "b59f3d99b19bc9e5", "g": "telnet_flow_group", "name": "Zeilenumbruch (\\r\\n)", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "$msg.payload & \"\\r\\n\"", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 360, "y": 140, "wires": [ [ "tcp_telnet_request" ] ] }, { "id": "tcp_telnet_request", "type": "tcp request", "z": "b59f3d99b19bc9e5", "g": "telnet_flow_group", "server": "localhost", "port": "23", "out": "time", "splitc": "0", "name": "Telnet Server", "ret": "string", "newline": "", "tls": "", "x": 570, "y": 140, "wires": [ [ "debug_response" ] ] }, { "id": "debug_response", "type": "debug", "z": "b59f3d99b19bc9e5", "g": "telnet_flow_group", "name": "Antwort", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 720, "y": 140, "wires": [] } ]
  • 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 :)
  • 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
    87k 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
    7k Aufrufe
    jolicJ
    unsinn ;-(
  • [HowTo] Script Sticky Notes (PostIt) für VIS und Telegram

    164
    7
    7 Stimmen
    164 Beiträge
    37k 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
    13k 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
    57k 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.
  • Alle Blockly + Javascripte aus einer script.json extrahieren

    1
    5
    1 Stimmen
    1 Beiträge
    584 Aufrufe
    Niemand hat geantwortet
  • 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
    616 Aufrufe
    Niemand hat geantwortet
  • Script NP-Regelung HMS-800-2t (ODTU) + HM 1950AC (KI)

    1
    0 Stimmen
    1 Beiträge
    561 Aufrufe
    Niemand hat geantwortet
  • Heizstab per %-Werte flexibel schalten je nach Einspeisung

    13
    0 Stimmen
    13 Beiträge
    4k Aufrufe
    paul53P
    @rtwl [sagte]: eventuell sind 55° auch schon ausreichend. Davon bin ich überzeugt. Ich habe es im letzten Vorschlag angepasst.
  • mein Kampf mit true und false

    14
    0 Stimmen
    14 Beiträge
    4k Aufrufe
    HomoranH
    @OliverIO sagte: leider ist es bei vis1 so das die meisten datenpunkte immer als string ankommen Ääähm, nein! @OliverIO sagte: egal welcher typ man am datenpunkt konfiguriert hat. Das, ja! Der Typ des DP hat keinen Einfluss auf das Format des Widgets
  • VCF Datei auslesen

    2
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    M
    Thema hat sich erledigt. War am Ende total easy. http://"user":"passwort"@xxx.xxx.xxx.xxx:5000/carddav/"user"/"adressbuch-id"/"kontakt-id".vcf war die Lösung. Jetzt sind auch die Anrufbilder verfügbar.

473

Online

33.0k

Benutzer

83.4k

Themen

1.3m

Beiträge