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": [] } ]
  • Anwesenheitscontrol basierend auf TR64 Adapter - Script

    Verschoben
    118
    1
    2 Stimmen
    118 Beiträge
    36k Aufrufe
    D
    @cephalopod Ja .. aktuell auf 8.21 .. ist aber schon eine Weile so
  • Verbesserung erfahren Blockly/Javascript/KI/AI

    48
    1 Stimmen
    48 Beiträge
    4k Aufrufe
    crunchipC
    @Meister-Mopper und weils interessant ist, was die verschiedenen KI´s so ausspucken Fehleranalyse & Ressourcen-Check Dein Script hat 1 kritischen Fehler und 3 Performance-Probleme, ist aber grundsätzlich solide aufgebaut. Kritische Fehler ❌ createState() fehlt komplett States wie Tagesverbrauch, Netzbezug etc. existieren beim ersten Start nicht → Script crasht mit "State not found". ioBroker erstellt States NICHT automatisch bei setState(). Ressourcenverschwendung Problem Impact Fix getState() in Schleife Blockiert 10-50ms bei jedem Trigger (4x/Sekunde = 200ms CPU-Last!) Cache in Variable speicherMax statisch Änderungen der Speichergröße erst nach Script-Neustart Trigger hinzufügen Tagesverbrauch ohne Cache Liest State bei jedem Update (360x/Stunde) Global cachen 7 setState() pro Trigger ~420 DB-Writes/Stunde bei 10s-Updates Akzeptabel, aber debounce möglich Formel-Validierung javascript hausverbrauch = pvPower + netPower - batPower Korrekt NUR WENN Victron-Konvention: batPower = +Laden (Energie geht rein), -Entladen (Energie kommt raus). Teste mit log("Bat: " + batPower) beim Laden/Entladen! ​
  • Bestandsliste für Filament

    2
    1 Stimmen
    2 Beiträge
    160 Aufrufe
    NegaleinN
    @Mirtl sagte in Bestandsliste für Filament: Vielen Dank schon mal. versuchs mit Hilfe von ChatGPT https://chatgpt.com/c/6989d273-c148-8333-83ce-d8e5a22ee001
  • Anwesenheitssimulation - Standalone-Version?

    3
    0 Stimmen
    3 Beiträge
    229 Aufrufe
    B
    Ich stelle mir das event. so vor. Ist mein erstes Projekt auf github. Das ist noch alles "Beta". https://github.com/Kenaschon/aws-anwesenheitssimulation Ist noch nicht getestet. Komme ich erst jetzt am WE dazu.
  • Timeout bei Event wieder stoppen, dynamische Instanz

    7
    0 Stimmen
    7 Beiträge
    337 Aufrufe
    S
    Und den Bug mit den counts habe ich noch gar nicht realisiert. In Java wäre das gegangenen :) ein zweites mal vielen Dank!
  • Biowetter aus WetterOnline (wie Pollenflug)

    Verschoben javascript
    62
    1
    0 Stimmen
    62 Beiträge
    12k Aufrufe
    jvfleJ
    Vielen Dank für die zusätzliche Arbeit, die du dir extra gemacht hast. Die Anzeige funktioniert jetzt. BG
  • [gelöst] Funktion on({id: …. - Value Übergabe....?

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    L
    verschoben auf später...
  • Schalter Skript zur mehrfach Nutzung (gelöst)

    13
    0 Stimmen
    13 Beiträge
    833 Aufrufe
    D
    Perfekt! Vielen Dank! Mit dem Events Datenpunkt geht's dann auch! Vielen Dank für die Geduld! Mit dem oben gepostet Skript hatte es auch mit der Funktion Switch funktioniert. Aber so ist es natürlich besser.
  • [gelöst] fehlermeldung skript ns-panel

    34
    1
    0 Stimmen
    34 Beiträge
    1k Aufrufe
    HomoranH
    @Armilar sagte in fehlermeldung skript ns-panel: Es kopieren sich aber nur globale Skripte vor "jedes" Skript... Und das würde die Dublette erklären.. und das hat mich so lange zögern lassen. Da auch Pferde, Apotheke und so, könnte ja auch ein weiteres Skript zufällig doppelte Einträge verursachen
  • 4 Packs je 16 Zellspannungen, Diff V max ausgeben?

    6
    2
    0 Stimmen
    6 Beiträge
    276 Aufrufe
    HumidorH
    OK, danke dir.
  • Fully browser starten

    javascript
    3
    0 Stimmen
    3 Beiträge
    219 Aufrufe
    M
    @arteck sagte in Fully browser starten: schau dir die apps tasker oder automate Moin ich habe es jetzt mit Tasker gelöst ;-)
  • Minuten in Stunden umwandeln

    blockly
    6
    1
    0 Stimmen
    6 Beiträge
    329 Aufrufe
    L
    @haus-automatisierung sagte in Minuten in Stunden umwandeln: @ltsalvatore sagte in Minuten in Stunden umwandeln: dann hatte ich aber das Gefühl, dass es mir nicht so wirklich weiterhilft. Du implementierst gerade exakt die gleichen Funktionen des Bausteins manuell. Dein Script könnte man aber noch optimieren. Du zählst ja manuell die Minuten hoch. Warum nicht einfach den Startzeitpunkt einmalig merken und dann die Differenz zum aktuellen Zeitpunkt berechnen? guter punkt 🤔
  • Wetterdaten abrufen per API-Call mit dem Javascript Adapter

    43
    1
    1 Stimmen
    43 Beiträge
    7k Aufrufe
    B
    Hallo Frage an die Gemeinde: Ich habe den One Call API 3.0. Wenn ich direkt im Broser aufrufe kommen auch stündliche Werte. Ist auch laut Beschreibung richtig. Kann ich das Script so erweitern dass hier für heute und morgen stündliche Werte angezeigt werden? Brauche Temp, Windstärke, Luftfeuchte, Bewölkung, Regen in mm pro Stunde und Regenwahrscheinlichkeit. Das SOLAR Paket ist je extra. LG Robert [image: 1767535947800-api-3.0.png] PS: Bin nun durch vielfaches probieren weitergekommen. ABER: Nun stehe ich wieder mal an. In den hourly Bereich gibt es den timestamp als UNIX timestamp (1767603600). Den kann ich anzeigen. Ich möchte diesen nun als "lesbaren" string anzeigen. ZB "Stunde:Minute Tag.Monat" Wie kann ich dies lösen? Eigenartig ist auch dass die Reihenfolge der Ausgabe nicht der Reihenfolge im script entspricht LG Robert
  • Visualisierung der Schalter beim Sonoff TX Ultimate

    1
    4
    1 Stimmen
    1 Beiträge
    96 Aufrufe
    Niemand hat geantwortet
  • iobroker.philips-air

    9
    0 Stimmen
    9 Beiträge
    2k Aufrufe
    DerSchattenloseD
    Hallo ich verwende seit neuestem auch den Adapter und habe das Problem dass ich, eigentlich bei allen, mir wichtigen Datenpunkte keine Werte bekomme im Protokoll steht zwar dass Typ number erwartet und string geliefert wird aber dieser Datenpunkt ist einer der wenigen die Werte liefern... State value to set for "philips-air.0.device.uptime" has to be type "number" but received type "string" was muss ich ändern damit ich auch Daten für die restlichen Punkte erhalte? PS nutze den Air Purifier 3400 [image: 1767171310598-5e89e094-b4d9-46f6-9606-49ba552a2907-image.png]
  • Javascript für Import wird nicht gefunden

    19
    2
    0 Stimmen
    19 Beiträge
    942 Aufrufe
    R
    @paul53 Danke für den Tipp.
  • Mit Blockly eine Scene aktivieren oder deaktivieren

    blockly
    7
    1
    0 Stimmen
    7 Beiträge
    349 Aufrufe
    hananH
    Starten, stoppen, aktivieren, deaktivieren, was ist was? Ich habe ein Blockly welches den Szenezustand einer Szene auf true oder false (nennen wir dieses start, stop) stellt, doch ich möchte mit einem anderen Blockly verhindern das diese Szene funktioniert und auch wieder funktioniert (nennen wir es deaktivieren, aktivieren). Szene deaktiviert: [image: 1766685667452-99145574-fefb-404d-9c4e-4997e02af7e9-image.png] Szene aktiviert: [image: 1766685704823-19ca4daf-46f0-47ea-8c8a-9a99a2b19af6-image.png]
  • eCharge Hardy Barth Wallbox: eCB1 REST API Werte einlesen

    5
    2
    0 Stimmen
    5 Beiträge
    2k Aufrufe
    D
    @ThHa sagte in eCharge Hardy Barth Wallbox: eCB1 REST API Werte einlesen: Die Steurung mache ich momentan über die Wallbox Oberfläche in einen iFrame. Hey zur Steuerung gibt es natürlich auch API Endpunkte, hier meine JS Funktionen die ich benutze für: ECO/SCHNELL/MANUAL Start/Stopp AI AN/AUS function wbSetPvMode(mode) { // mode: 'eco' | 'quick' | 'manual' wbPostForm( '/api/v1/pvmode', { pvmode: mode }, 'PvMode=' + mode ); } function wbSetEcoAutostart(on) { wbPostForm( '/api/v1/chargecontrols/01/mode/eco/startstop', { autostartstop: on ? 'true' : 'false' }, 'Eco-Autostart=' + on ); } function wbStart() { wbPostJson('/api/v1/chargecontrols/01/start', 'Start'); } function wbStop() { wbPostJson('/api/v1/chargecontrols/01/stop', 'Stop'); }
  • Programm oder Befehl über Vis starten bzw. ausführen

    19
    0 Stimmen
    19 Beiträge
    383 Aufrufe
    M
    nein, aber ich habe den Fehler gefunden. Es hing mit den Rechten zusammen Danke für Deine Unterstützung
  • VS Code + Cline + Devstral 2 (aktuell kostenlos)

    1
    3 Stimmen
    1 Beiträge
    251 Aufrufe
    Niemand hat geantwortet

440

Online

33.0k

Benutzer

83.4k

Themen

1.3m

Beiträge