Skip to content

Skripten / Logik

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

16.6k Themen 213.6k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    A
    @Dave69-CH Kannst du mir mal deinen Link zu der Proplanta Seite schicken. Ich denke das die Schweizer Version anders aufgebaut ist und deswegen die Zeit für die nächste Aktualisierung mit meinem Filter nicht gefunden wird. Auf der Seite werden diese Zeilen gesucht: [image: 1771532044543-1dd3b19e-1c7b-4586-814f-de0746287907-grafik.png] Entweder gibt es die in der Schweizer Version nicht, oder sind anders beschrieben.
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Themen
    79k Beiträge
    1
    @paul53 Hi, habe nun in einigen Räumen dein Skriptvorschlag so im Einsatz, allerdings noch eine Frage dazu: [image: 1771623904091-screenshot-2026-02-20-223333.jpg] Wenn jemand in dem Raum ist, dann bleibt das Licht bei dem Datenpunkt stehen, bzw. die Musik bleibt an o.ä. Wenn ich nun in dem Raum bin und das Licht, oder den Musikkanal in der Alexa manuell ändere, wie kann diese Einstellung dann übernommen werden, ohne dass bei erneutem "true" triggern vom Präsenzmelder wieder die ursprüngliche Einstellung übernommen wird?
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Themen
    13k Beiträge
    Marc BergM
    Es gibt in der Verson 1.3.0 einen neuen Node: iob-setObject (Stand 10.02.26 noch beta) Mit dem neuen Node kann man ioBroker-Objektdefinitionen (Metadaten) direkt schreiben und ändern. Hauptfunktionen: Instanz-Konfigurationen ändern - z.B. MQTT publish-Pattern, Intervalle, etc. Objekt-Eigenschaften aktualisieren - Namen, Rollen, Einheiten, Min/Max-Werte ändern es gibt zwei Modi: Merge-Modus : Ändert nur die angegebenen Eigenschaften, alle anderen bleiben erhalten Replace-Modus: Überschreibt das komplette Objekt Typischer Workflow: Objekt mit iob-getobject holen Mit Change-Node gewünschte Properties ändern Mit iob-setobject zurückschreiben
  • Statusmeldung abends welche Fenster/Türen noch offen sind

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    826 Aufrufe
    S
    Danke pix, puh ich glaub das ist noch nen Nr zu groß für mich :oops: . Wenn du von Gewerke redest, dann sind das alles Melder von der CCU2 oder? Ich habe auch andere Fenstersensoren im Einsatz (Xiaomi) und was meinst du mit: Dazu beim Einschalten der Alarmanlage oder durch Zeitplan den Text aus idAnsage in den text2speech Datenpunkt tts zu kopieren. Versteh nur Bahnhof :oops:
  • [gelöst] on/subscribe, zwei Adapter ausschließen

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    465 Aufrufe
    AlCalzoneA
    FYI: In der aktuellen Version auf GitHub (noch nicht veröffentlicht) funktionieren jetzt auch RegExp und Arrays für die meisten Parameter, inklusive fromNe. on({..., fromNe: /foo|bar/}, (obj) => { // sonstiger Trigger-Code }); und on({..., fromNe: ["foo", "bar"]}, (obj) => { // sonstiger Trigger-Code }); sind damit auch unterstützt.
  • Sonnenuntergang Blockly

    Verschoben
    13
    0 Stimmen
    13 Beiträge
    9k Aufrufe
    rantanplanR
    @smarti2015: Dann kann man auch verpasste Zeit-Situationen nachträglich aktivieren. So was fehlt mir hier; geht das irgendwie auch? ` Einfach eine Aktion/Button/Datenpunkt triggern und dann Zeitvergleich machen aktuelle Zeit > Sonnenuntergang. Man kann auch sowas einsetzen. viewtopic.php?f=21&t=4891&hilit=astro#p48209 Grüße
  • Blockly script import speichert nicht

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    887 Aufrufe
    C
    @Fraenki23: Hallo Ich habe das selbe Problem finde ab im Netz keine Antwort. Hast Du das Problem eingrenzen können und eine Antwort. Wenn ich ein Skript importiere kann ich es nicht speichern. Gruß und dank Fränki ` hab das Problem auch bei mir funktioniert es wenn ich eine neue Blocklydatei erstelle diese umbennen und speichere und dann das Script erst importieren, dann kann ich auf speichern klicken.
  • Enum tiefe

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    305 Aufrufe
    Niemand hat geantwortet
  • Gartenbewässerung [gelöst]

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    1k Aufrufe
    paul53P
    @Snake1024: funktioniert einwandfrei. ` Dann markiere bitte das Thema im Betreff des ersten Beitrags als [gelöst].
  • Anderen Raspberry ohne IOBroker steuern möglich?

    Verschoben
    11
    0 Stimmen
    11 Beiträge
    2k Aufrufe
    W
    @Dutchman: Hmm diese Script Schnipsel dürften JavaScript aber nicht crashen lassen. Was kommt im Log ` Dazu müsste ich das Plugin nochmal installieren. Die Log Anzeige ist bei mir mit MQTT Verbindungsfehlern vollgelaufen - die wiederholende Fehlermeldung bestand nur aus (wortlaut): "Konnte nicht verbinden" und "versuche es nochmal" :oops:
  • Senden an MQTT im (Blockly) Script?

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    504 Aufrufe
    Niemand hat geantwortet
  • [Gelöst] variablen Datenpunkt mit Blockly ansteuern

    Verschoben
    12
    0 Stimmen
    12 Beiträge
    7k Aufrufe
    C
    @Bongo: Eigentlich brauche ich noch so was: wert.png Nur mit variablen Datenpunkt. Also Datenpunkt-Pfad in einer Variable. Aber ich sehe so etwas nicht. ` Genau das suche ich auch. Schade, dann werde ich das in Java Script schreiben müssen. Cosmo
  • To many errors 95% scanned

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    440 Aufrufe
    cashC
    Danke werde Deine Tipps beherzigen
  • [Vorlage] Geofency-Skript: über PHP-Webspace an ioBroker

    Verschoben
    1
    2 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet
  • [gelöst] Fehler beim https post für ein Formular (Car-Net)

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    639 Aufrufe
    S
    Aber ich [emoji3] Problem war, dass das Python-Skript eine Session benutzt, um z.B. Cookies durchzureichen. Wenn man dem Request ein jar: request.jar() mit gibt, dann klappt es… Edit: Hier viewtopic.php?f=35&t=15308 ist das Skript.
  • Briefkasten abfrage mit Script?

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    2k Aufrufe
    D
    @tobih83: Nun kann ich mit der Programmfunktion in der CCU aber nicht wirklich das Abfragen wie ich es möchte. ` Das geht aber schon auch mit den Bordmitteln der CCU. https://homematic-forum.de/forum/viewtopic.php?f=31&t=26282&p=262394#p262394! Man kann sogar recht einfach die Einwürfe komplett ohne CCU und ioBroker per Raspi erfassen. https://homematic-forum.de/forum/viewtopic.php?f=18&t=43306#p431626 mein kleines Spaßprojekt dazu. Läuft seit Monaten absolut stabil. Ganz unten in dem Thread habe ich noch ein kleines Video mit meiner vis-Umsetzung gepostet.
  • Vordefinierte Werte

    Verschoben
    1
    1
    0 Stimmen
    1 Beiträge
    580 Aufrufe
    Niemand hat geantwortet
  • [GELÖST]Touchscreen aus Standby über exec ?

    Verschoben
    4
    1
    0 Stimmen
    4 Beiträge
    567 Aufrufe
    R
    hat sich erledigt… hab es jetzt Hardwaremäßig lösen können über HM Komponenten und geht echt super
  • Js wie in "Puffer" schreiben

    Verschoben
    36
    0 Stimmen
    36 Beiträge
    2k Aufrufe
    S
    nach sehr langem debuggen von node eiscp.js habe ich nun einen weg gefunden die Daten auszufiltern… on('data', function (data) { if(first) { xml = eiscp_packet_extract(data); first = false; var result = iscp_to_command(xml); result.iscp_command = xml; result.host = config.host; result.port = config.port; result.model = config.model; } else { xml = xml + data.toString('ascii', 18); // evtl. data.toString() ? self.emit('debug', util.format("DEBUG (XML) command %s", xml)); var result = iscp_to_command(xml); result.iscp_command = xml; result.host = config.host; result.port = config.port; result.model = config.model; if(xml.indexOf('') != -1) { self.emit('data', result); first = true if (typeof result.command !== 'undefined') { if (Array.isArray(result.command)) { result.command.forEach(function (cmd) { self.emit(cmd, result.argument); }); } else { self.emit(result.command, result.argument); } } } } if(result.command !== 'receiver-information' | result.command !== 'net-usb-list-info-allitems') { first = true; self.emit('debug', util.format("DEBUG (received_data) Received data from %s:%s - %j", config.host, config.port, result)); self.emit('data', result); // If the command is supported we emit it as well if (typeof result.command !== 'undefined') { if (Array.isArray(result.command)) { result.command.forEach(function (cmd) { self.emit(cmd, result.argument); }); } else { self.emit(result.command, result.argument); } } } }); da es nur zwei commands gibt, die eine xml als Anwort erhalten sollte das eigendlich funktionionieren. das ist sicher nicht der eleganteste Weg aber so komme ich auf jedenfall erst einmal weiter… (hoffe) ich
  • [gelöst] Verzöget Schalten

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    661 Aufrufe
    T
    Perfekt, danke fürs Helfen ! Gruß Thomas
  • [GELÖST]Blocky Tür auf/zu Meldung Telegra

    Verschoben
    7
    2
    0 Stimmen
    7 Beiträge
    760 Aufrufe
    M
    Super :D :D Danke so funktioniert es wunderbar ! Ich sehe ich muss mich unbedingt in das Thema Blocky einlesen… Aber trotzdem ist es schön zwischendurch einen Erfolg zu bekommen :) auch mit Hilfe von anderen Usern ... :D
  • [GELÖST] JSON String für Arduino aus ioBroker Objekten erstellen

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    659 Aufrufe
    rudikxR
    Ich hab die Lösung falls es jemanden interessiert ;) [ { "id": "5ec56b41.f215c4", "type": "serial out", "z": "aca75de6.d3a82", "name": "Pool", "serial": "c6e3ab46.9b7588", "x": 1417.773754119873, "y": 644.7422542572021, "wires": [] }, { "id": "70af1a43.93aee4", "type": "ioBroker in", "z": "aca75de6.d3a82", "name": "Change_KollektorStart", "topic": "admin.0.Eigene.Pool.Change_KollektorStart", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "x": 187.7736053466797, "y": 586.4064445495605, "wires": [ [ "5bd55717.1388d8" ] ] }, { "id": "45d396a5.ecbb98", "type": "ioBroker in", "z": "aca75de6.d3a82", "name": "Change_KollektorStop", "topic": "admin.0.Eigene.Pool.Change_KollektorStop", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "x": 187.02349853515625, "y": 649.0391654968262, "wires": [ [ "5bd55717.1388d8" ] ] }, { "id": "9406678e.0446a8", "type": "debug", "z": "aca75de6.d3a82", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "x": 1431.773494720459, "y": 739.7502040863037, "wires": [] }, { "id": "880909c2.bc7478", "type": "function", "z": "aca75de6.d3a82", "name": "Daten sammel", "func": "out=context.data ||{}\nnode.log(\"start\" + msg.payload);\nnode.log(\"start stored\" + context.data);\ntopic=msg.topic;\nnode.log(topic);\n\nif (msg.payload==\"send\")\n{\n msg.payload=context.data;\n msg.out=\"Sent data to \" +out.house;\n msg.topic=\"pool/settings\";\n context.data=null;\n return [msg];\n}\n\nelse \n{\n out[topic]=msg.payload;\n context.data=out;\n node.log(\"stored\" + context.data);\n return null;\n}\n\nreturn msg;", "outputs": 1, "noerr": 0, "x": 712.0234756469727, "y": 645.0391654968262, "wires": [ [ "c8d42c65.ffb99" ] ] }, { "id": "7c5156c5.da5478", "type": "inject", "z": "aca75de6.d3a82", "name": "", "topic": "pool/settings", "payload": "send", "payloadType": "str", "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "x": 587.0234298706055, "y": 1158.0392265319824, "wires": [ [ "880909c2.bc7478" ] ] }, { "id": "5bd55717.1388d8", "type": "change", "z": "aca75de6.d3a82", "name": "", "rules": [ { "t": "change", "p": "topic", "pt": "msg", "from": "admin/0/Eigene/Pool/Change_", "fromt": "str", "to": "", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 474.02344512939453, "y": 773.0391502380371, "wires": [ [ "880909c2.bc7478" ] ] }, { "id": "63fa34f5.6bc9cc", "type": "ioBroker in", "z": "aca75de6.d3a82", "name": "Change_Automatik", "topic": "admin.0.Eigene.Pool.Change_Automatik", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "x": 193.0234375, "y": 523.0390739440918, "wires": [ [ "5bd55717.1388d8" ] ] }, { "id": "cc0f415c.25d71", "type": "ioBroker in", "z": "aca75de6.d3a82", "name": "Change_P2PoolPumpe", "topic": "admin.0.Eigene.Pool.Change_P2PoolPumpe", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "x": 181.0234375, "y": 764.0390625, "wires": [ [ "5bd55717.1388d8" ] ] }, { "id": "18454efa.588f31", "type": "ioBroker in", "z": "aca75de6.d3a82", "name": "Change_PoolSollTemp", "topic": "admin.0.Eigene.Pool.Change_PoolSollTemp", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "x": 185.27333068847656, "y": 818.6717948913574, "wires": [ [ "5bd55717.1388d8" ] ] }, { "id": "4a86fdf1.13acb4", "type": "ioBroker in", "z": "aca75de6.d3a82", "name": "Change_P1SolarPumpe", "topic": "admin.0.Eigene.Pool.Change_P1SolarPumpe", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "x": 174.2732696533203, "y": 709.6717185974121, "wires": [ [ "5bd55717.1388d8" ] ] }, { "id": "39a7e1ea.0064ee", "type": "ioBroker in", "z": "aca75de6.d3a82", "name": "Change_minMessungenAnzahl", "topic": "admin.0.Eigene.Pool.Change_minMessungenAnzahl", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "x": 171.0234375, "y": 930.0390739440918, "wires": [ [ "5bd55717.1388d8" ] ] }, { "id": "630e44a.891eabc", "type": "ioBroker in", "z": "aca75de6.d3a82", "name": "Change_minimaldifferenz", "topic": "admin.0.Eigene.Pool.Change_minimaldifferenz", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "x": 185.27333068847656, "y": 986.6717948913574, "wires": [ [ "5bd55717.1388d8" ] ] }, { "id": "9ba23aa1.01fe68", "type": "ioBroker in", "z": "aca75de6.d3a82", "name": "Change_SollSperTakte", "topic": "admin.0.Eigene.Pool.Change_SollSperTakte", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "x": 194.2732696533203, "y": 870.6717643737793, "wires": [ [ "5bd55717.1388d8" ] ] }, { "id": "c8d42c65.ffb99", "type": "json", "z": "aca75de6.d3a82", "name": "", "property": "payload", "action": "str", "pretty": false, "x": 976.0195693969727, "y": 635.753927230835, "wires": [ [ "a1920200.7f4e4" ] ] }, { "id": "a1920200.7f4e4", "type": "function", "z": "aca75de6.d3a82", "name": "\\n - Line Feed anfügren", "func": "msg.payload = msg.payload+\"\\n\"; \nreturn msg;", "outputs": 1, "noerr": 0, "x": 1170.8906631469727, "y": 710.648458480835, "wires": [ [ "9406678e.0446a8", "5ec56b41.f215c4" ] ] }, { "id": "c6e3ab46.9b7588", "type": "serial-port", "z": "", "serialport": "/dev/ttyUSB0", "serialbaud": "19200", "databits": "8", "parity": "none", "stopbits": "1", "newline": "\\n", "bin": "false", "out": "char", "addchar": false } ]
  • Stromverbrauch "Smartmeter" -> SonOff -> Anzeige Vis

    Verschoben
    1
    4
    0 Stimmen
    1 Beiträge
    761 Aufrufe
    Niemand hat geantwortet

314

Online

32.7k

Benutzer

82.4k

Themen

1.3m

Beiträge