Skip to content

Skripten / Logik

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

16.6k Topics 213.6k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    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 Topics
    79k Posts
    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 Topics
    13k Posts
    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
  • Frage nach Skripten für DashButton

    Moved
    1
    1
    0 Votes
    1 Posts
    380 Views
    No one has replied
  • Ergebnis von Level keine Ganzzahl

    Moved
    4
    0 Votes
    4 Posts
    585 Views
    M
    Meine Lösung ist jetzt hier. http://www.forum.iobroker.org/forum/vie … eb48f4566a Allerdings gibt es noch ein kleines Begrenzungsproblem.
  • Licht Timer nur zu bestimmten Uhrzeiten

    Moved
    3
    0 Votes
    3 Posts
    1k Views
    A
    So zum Beispiel…. Du musst noch in dem Trigger bei "default" und bei steuere "Object ID" deinen Treppenhaus Aktor eintragen. [image: 1586_2018-01-08_06_43_12-iobroker.admin.jpg] ! ```` <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="pd#X~DUqP5=FD5q7=mho" x="-587" y="288"><mutation items="1"></mutation> <field name="CONDITION">true</field> <value name="OID0"><shadow type="field_oid" id="Q*0:O*N9DTgc5edAg`Z:"><field name="oid">default</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="}p_?eWzl4i-Av8aa=Rsy"><value name="IF0"><block type="time_compare_ex" id="-sNo?ZWU3,LuYof}]Hb,"><mutation end_time="true" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">not between</field> <value name="START_TIME"><shadow type="text" id="V2f|.I]-GRH2q#N/Sjpf"><field name="TEXT">6:30</field></shadow></value> <value name="END_TIME"><shadow type="text" id="k!?0J;]`^JI/zt!TQ*4R"><field name="TEXT">21:00</field></shadow></value></block></value> <statement name="DO0"><block type="control" id="p1*hK@,d|cBia^f;%dw2"><mutation delay_input="true"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">5</field> <field name="UNIT">min</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"><block type="logic_boolean" id="@m:S=8azC0rI{5JtT4:3"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement></block></xml>
  • Nach Update Scripte gelöscht??!!

    Moved
    4
    3
    0 Votes
    4 Posts
    512 Views
    L
    Hallo Bluefox, da ich nicht viel Scripte hatte habe ich diese nochmal neu geschrieben und anschließend IOBroker neu gestartet. Und plötzlich hatte ich das Problem das bei mir die Objekte nicht mehr sichtbar waren. Zum Glück bin ich dann nach gefühlt 20h :D auf diesen Thread gestoßen: http://forum.iobroker.net/viewtopic.php?f=22&t=9869 Inzwischen läuft jetzt gerade wieder alles wie es soll, allerdings kann ich die "variable1" nicht löschen. Hast du eine Idee woran das liegt? Und in dem Thread hat noch jemand geschrieben dass er die "objects.json.bak" gelöscht hat, soll ich das auch noch machen?! Vielen Dank! 4707_script.png
  • Scripten -> Waschmaschine - Steckdose ausschalten

    Moved
    4
    0 Votes
    4 Posts
    1k Views
    rantanplanR
    Leistungssensor in Watt.
  • [gelöst] TV + Receiver + NUC (Libreelec) an / aus

    Moved
    5
    0 Votes
    5 Posts
    1k Views
    M
    Habe es nun wie folgt gelöst: on({ id: "javascript.0.scriptEnabled.TV.ein_aus", change: 'any' }, function(obj) { var current_state = getState("javascript.0.scriptEnabled.TV.ein_aus").val; // "An"-Status für Alexa generieren if (current_state === true) { // Yamaha-Receiver über Szene 1 einschalten (startet gleichzeitig den TV via HDMI-CEC) setState('yamaha.0.scene', 1); // Starte den NUC mit WOL-Befehl mit 5 Sekunden Versatz setTimeout(function() { exec('sudo etherwake -i eth0 MACADRESSE'); }, 7000); // Schalte am Receiver auf Profil "KODI" mit 30 Sekunden Versatz setTimeout(function() { setState('yamaha.0.inputEnum', "KODI"); }, 30000); log("Geräte sind gestartet mit Status, " + current_state, "info"); } else { //Kodi in den Sleep Modus versetzen setState('kodi.0.system.Suspend', true); //Yamaha-Receiver ausschalten setState('yamaha.0.power', false); // TV prüfen ob an/aus setState('samsung.0.Power.checkOn', true); //TV ausschalten setState('samsung.0.Power.off', true); log("Geräte sind heruntergefahren mit Status, " + current_state, "info"); } }); Fehler war, dass ich gar keinen Datenpunkt generieren musste, sondern den des Scriptes selbst der auf "true" und "false" bei an / aus wechselt. VG
  • Wasserzähler Projekt, Script funktioniert nicht

    Moved
    7
    2
    0 Votes
    7 Posts
    1k Views
    Lenny.CBL
    @hg6806: Muss ich über den Poti noch was einstellen? ` Kann ich leider nicht sagen, kann mir aber vorstellen, dass man an solchen Modulen noch die Empfindlichkeitverstellen kann. @hg6806: Delay kann ich nur auf Min. 1 Sek. stellen. Bei 0 springt er auf 60 Sek. ` 0 wird nicht gehen. Der Counter zählt die Impulse und gibt diese dann nach Ablauf des eingestellten Delay zurücksetzt, setzt "Count" auf 0 und von vorn beginnt. Bei meinem Gaszähler habe ich 60sec. Das reicht mir.
  • Weather.json mit Blokly auslesen

    Moved
    1
    2
    0 Votes
    1 Posts
    444 Views
    No one has replied
  • Datenpunkte - nur bestimmten Wert zulassen

    Moved
    4
    0 Votes
    4 Posts
    639 Views
    R
    Du wirst wohl zwei Widgets brauchen, z.B. html-State, beide genau übereinander. Da kannst du dann einen Wert vorgeben, der in die Objekte geschrieben wird. Über die Sichtbarkeit kann du dann das eine oder eben das andere Sichtbar haben. Oder nur bei einem mit der Sichtbarkeit arbeiten und dieses per z-Index über das andere legen. Enrico
  • Harmony Neustart Skript

    Moved
    15
    0 Votes
    15 Posts
    2k Views
    M
    Die Zeile var obj = getObject("system.adapter.harmony.0"); kann / muss ich dann komplett raus löschen? Gruß Markus Gesendet von meinem HUAWEI NXT-L29 mit Tapatalk
  • 0 Votes
    35 Posts
    4k Views
    R
    @rantanplan: Gut aufgepasst RappiRN :!: :!: ` Kennst du die Geschichte vom blinden Huhn?? :lol: :lol: Enrico
  • 0 Votes
    12 Posts
    2k Views
    A
    Von den JS Skripten hier hab ich mir ja die Idee abgeschaut ;-)
  • Absolute Basics für Blockly und/oder node-red

    Moved
    6
    0 Votes
    6 Posts
    6k Views
    HomoranH
    Enn da noch alte links von iobroker net sind muss nach iobroker.net/docu/ eingefügt werden Oder unter iobroker.net/docu/ einfach die suche bemühen. Die ist gar nicht so schlecht. Gruß Rainer
  • Deaktivierte Scripte werden trotzdem ausgeführt

    Moved
    12
    0 Votes
    12 Posts
    1k Views
    F
    Hallo zusammen, ein kleines Update. Nachdem ich unter Javascript.0 auch das Script noch einmal deaktiviert hatte, wurde es weiterhin ausgeführt. Ich hatte dann eine neue Java-Instanz angelegt und dann alle meine vorhandenen Scripte dieser Instanz zugeordnet und nun funktioniert es. Das deaktivierte Script wird nicht mehr ausgeführt. Irgendetwas muss sich in der Javascript.0 verhakt haben.
  • Nach Stromausfall automatisch einschalten?

    Moved
    6
    0 Votes
    6 Posts
    3k Views
    BuZZyB
    @buscet: […]In iobroker Node-Red erkenne ich dann den GPIO Pin und fahre den Raspberry 'geordnet :!: ' runter. (mit exec: sudo poweroff) […] Grüße Buscet ` Hallo Buscet, darf ich fragen wie du den Raspberry dann wieder startest? Man muss ja die Stromzufuhr unterbrechen und wieder herstellen um den Raspi zu starten - oder nicht? Gruß
  • Sql query Rückgabewert verwenden

    Moved
    8
    0 Votes
    8 Posts
    5k Views
    D
    Hi ich verzweifel. Finde keine Lösung Alle Themen die ich gefunden habe helfen nicht das Thema umzusetzen. EDIT: Habe nun eine Lösung gefunden http://forum.iobroker.net/viewtopic.php … 20#p109828 Gruß Jürgen
  • [auf Umweg gelöst] Fritzbox-LEDs via Telnet steuern

    Moved
    2
    0 Votes
    2 Posts
    533 Views
    F
    Problem gelöst, wenn vielleicht auch mit Umweg Expect-Pakete lokal nachinstalliert ("apt-get install expect") Für jede der 4 Stati jeweils ein Script geschrieben. Script des Beispiels "Zuhause" (Abgelegt als "/home/pi/Documents/PresetZuhause"): ! ```` spawn telnet 192.168.100.3 set timeout 10 expect "Fritz!Box web password:" send "<pass>\r" expect "# " send "echo 13,4 >/var/led\r" expect "# " send "echo 14,1 >/var/led\r" expect "# " send "echo 4,1 >/var/led\r" expect "# " send "echo 7,1 >/var/led\r" expect "# " send "exit\r"</pass> - Den Aufruf des Scripts dann in Blockly-Script als "Aktionen"-"exec" (Kommando="expect -f /home/pi/Documents/PresetZuhause") Komplettes "Blockly"-Script: >! ```` on({id: "javascript.0.Homewizard.Preset.PresetHome"/*PresetHome*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("javascript.0.Homewizard.Preset.PresetHome").val == 0) { exec('expect -f /home/pi/Documents/PresetZuhause'); } else if (getState("javascript.0.Homewizard.Preset.PresetHome").val == 1) { exec('expect -f /home/pi/Documents/PresetAbwesend'); } else if (getState("javascript.0.Homewizard.Preset.PresetHome").val == 2) { exec('expect -f /home/pi/Documents/PresetSchlafen'); } else if (getState("javascript.0.Homewizard.Preset.PresetHome").val == 3) { exec('expect -f /home/pi/Documents/PresetUrlaub'); } else { setState("sayit.0.tts.text", "de-DE_CLOUD_Male;" + 'Fehlerhafter Preset Status'); console.error("sayIt[de-DE_CLOUD_Male]: " + 'Fehlerhafter Preset Status'); } }); Es scheint so zu tun wie es soll. Weitere Tests werden es zeigen. Vielleicht hat jemand noch eine bessere Lösung… (Als direktes Javascript/o.ähnl.) Gruß Florian
  • In Node Red Informationen aus einen Script empfangen und auswerten

    Moved
    14
    0 Votes
    14 Posts
    5k Views
    N
    Hallo Habe es mal mit var get = require('simple-get'); get('http://192.168.2.87:1880/test?temperature=22', function (err, res) { if (err) throw err; console.log(res.statusCode); // 200 res.pipe(process.stdout); // `res` is a stream }); versucht. Geht viel schneller. Start braucht auch ca 2sek., danach ist das Script sofort durchgelaufen und Node Red reagiert auch sofort danach. var request = require('request'); braucht wohl so lange. Das ganze läuft auf einem RPi Zero W. Gruß NetFritz
  • [gelöst] Werte ändern am Objekte z.B. obj.common.summe

    Moved
    3
    0 Votes
    3 Posts
    740 Views
    T
    Hallo Dutchman, vielen Dank für deinen Hinweis. Die Funktion var obj = getObject ('adapter.N.objectName'); obj.native.settings = 1; hat bei mir nie funktioniert. Nur mit dem zusätzlichen Befehl setObject('adapter.N.objectName', obj, function (err) { if (err) log('Cannot write object: ' + err); }); wird der Wert geschrieben. Ich dachte immer, das dies nicht erforderlich ist, da ich keine Fehlerabfrage benötige. Gruß Thomas
  • Blocky, Timeout

    Moved
    7
    0 Votes
    7 Posts
    973 Views
    rantanplanR
    @ludino: Wobei es ja eigentlich ganz einfach ist. ahh! ` Ist es eigentlich auch ;) Die Bausteine werden von oben nach unten abgearbeitet. Einfach mal das Blockly, sich selbst, von oben nach unten vorlesen. Und bedenken das das Script genau das macht was da steht. Grüße

320

Online

32.7k

Users

82.4k

Topics

1.3m

Posts