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
  • Asynchron bzw mir fehlt der Lösungsansatz

    Moved
    7
    0 Votes
    7 Posts
    591 Views
    BlackmikeB
    thnx, wieder einiges gelernt…
  • [Frage] SQL-Abfrage und Zugriff auf einen Wert des results

    Moved
    13
    0 Votes
    13 Posts
    1k Views
    apollon77A
    JSON ist eine Textform der Datenstruktur, das heisst nacj JSON.stringify is es einfach ein Text-String. Da kannst Du auf nichts mehr zugreifen :-)
  • [Frage]Aufzählungen/Gewerke STATES nicht CHANNELS abfragen

    Moved
    3
    2
    0 Votes
    3 Posts
    873 Views
    andreaskosA
    > Frage: Wie muss ich den Selektor abändern, damit die States durchgezählt werden? Das würde mich auch interessieren! Wenn nämlich die Datem aus einer CCU übernommen werden, dann werden in den Gewerken (also den enum.functions) die Einträge als "channels" und nicht als "states" eingetragen. Manuell habe ich dazu aber noch keine Möglichkeit gefunden. Weiß hier jemand Abhilfe?
  • Sonoff skript als Taster "gelöst"

    Moved
    4
    0 Votes
    4 Posts
    1k Views
    N
    Geil! Dankeschön!!! Ich hab das ganze Wochenende probiert.
  • Node-Red abgeschossen, bekomme es nicht mehr zu laufen, wer kann Helfen

    Moved
    8
    0 Votes
    8 Posts
    2k Views
    HomoranH
    Zusätzliche npm-Module kannst du doch ganz einfach installieren, indem du sie in der Konfiguration der Instanz in das dafür vorgesehene Feld einträgst. Anschließend die Instanz neu starten und alles ist gut. Gruß Rainer
  • [FRAGE]Verbrauchsdaten aus Basis der Daten aus History Adapter

    Moved
    5
    0 Votes
    5 Posts
    2k Views
    E
    mir ist noch eingefallen, dass mein Skript ein paar, bei mir als global, definierte Funktionen nutzt: function datum_jahresanfang (date) { return (date).getFullYear()+"-01-01"; } function datum_monatsanfang (date) { var monat=1+date.getMonth(); return (date).getFullYear()+"-"+monat+"-01"; } function datum_tagesanfang (date) { var jahr=(date).getFullYear(); var monat=1+date.getMonth(); var tag = date.getDate(); return jahr+"-"+monat+"-"+tag; } function datum_wochenanfang(date){ var iDayOfWeek = date.getDay(); var iDifference = date.getDate() - iDayOfWeek + (iDayOfWeek === 0 ? -6:1); var woa=new Date(date.setDate(iDifference)); return woa.toISOString().slice(0,10); } function datum_gestern(datum){ var yesterday = new Date(datum.valueOf() - 1000*60*60*24); return yesterday.toISOString().slice(0,10); } function kalenderwoche (d){ // Copy date so don't modify original d = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate())); // Set to nearest Thursday: current date + 4 - current day number // Make Sunday's day number 7 d.setUTCDate(d.getUTCDate() + 4 - (d.getUTCDay()||7)); // Get first day of year var yearStart = new Date(Date.UTC(d.getUTCFullYear(),0,1)); // Calculate full weeks to nearest Thursday var weekNo = Math.ceil(( ( (d - yearStart) / 86400000) + 1)/7); // Return array of year and week number return weekNo; } function currentDate2() { var d = new Date(); return new Date(d.getFullYear(), d.getMonth(), d.getDate()); } function addDate(strDate) { var date = strDate.split('.'); var d = currentDate2(); d.setDate(date[0]); d.setMonth(date[1]-1); d.setFullYear(date[2]); return d; } function isDateInRange(strLower, strUpper) { var now = new Date(); var lower = addDate(strLower); var upper = addDate(strUpper); var inRange = false; if (upper > lower) inRange = (now >= lower && now <= upper) ? true : false; else log('isDateInRange meldet Fehler! "von"-Datum ist nicht früher als "bis"-Datum', 'error'); return inRange; } damit sollte das Skript dann auch funktionieren …..
  • Log Einträge von Require Node-Modulen sehen?

    Moved
    1
    0 Votes
    1 Posts
    347 Views
    No one has replied
  • Hilfe gesucht bei Werteänderung ohne Ausführung :)

    Moved
    2
    0 Votes
    2 Posts
    469 Views
    arteckA
    kannst du den Code in Code Tag reinschreiben.. dann ist es lesbarer
  • 0 Votes
    6 Posts
    972 Views
    R
    @MontgomeryB: 1. ist mit dem Script gesichert, dass der jeweilige 'Zeitplan' nur greift, wenn die oberen Bedingungen erfüllt sind? ` Es wird geschaltet, wenn die Zeit erreicht wird und die falls-Bedingungen bereits erfüllt sind! @MontgomeryB: 2. Schaltet das Script auch dann, wenn es erst aktiviert wird, während alle Bedingungen bereits erfüllt sind? Sprich: Ich möchte, dass das Script auch schaltet, wenn ich es erst aktiviere, nachdem die Sonne z.B. bereits vor 60 Min. untergegangen ist. ` Dann musst du noch ein, oder eben mehrere Scripte erstellen, wo der Trigger eben nicht die Zeit, sondern dein "Schalter" und die Zeit muss dann in den falls-Block! Als Zeitvergleich eignet sich z.B. der Block "aktuelle Zeit ist zwischen" da musst du dann z.B. 00:00 Uhr und "Morgendämmerung" abfragen! Enrico
  • [gelöst] Blockly-Frage: Skript1 triggert Skript 2

    Moved
    3
    3
    0 Votes
    3 Posts
    513 Views
    C
    @Matzebhv: Moin, trigger mal direkt auf den Datenpunkt und nicht auf den Wert. Und dann ändere nach "wurde aktualisiert" Gruß Matze ` Super, das war es, jetzt geht es. Vielen Dank! Gesendet von meinem SM-G920F mit Tapatalk
  • [Frage] Auslesen bestimmter States

    Moved
    6
    0 Votes
    6 Posts
    946 Views
    Z
    habe schonmal einen kleinen Teil hinbekommen. vielen dank euch beiden. var vrooms = ["Wohnzimmer", "Esszimmer", "Keller_Buero"]; var selectedIDs = []; var aussentemperatur = []; var selectedIDs_aussen = []; for (var f=0, j=vrooms.length; f jetzt möchte ich die selecteIDs nur erhöhen wenn die aussentemperatur <5°C ist. so gesehen ist das ja kein Problem, nur müsste ich irgendwie die alten Temperaturen speichern damit sich das system nicht hochschaukelt.
  • [Frage] Prüfen, ob Wert -1 ist

    Moved
    5
    2
    0 Votes
    5 Posts
    530 Views
    P
    Das wars :-) Vielen Dank!
  • [Gelöst] Blockly: Tür abschließen nach Abwesenheit mehr als 5 Minuten

    Moved
    10
    0 Votes
    10 Posts
    2k Views
    S
    Dann haben wir es. Danke ihr zwei. Gute Nacht. Stefan
  • Brauche Hilfe mit Blockly

    Moved
    18
    0 Votes
    18 Posts
    1k Views
    M
    @Matzebhv: Hier ist das Problem beschrieben: http://forum.iobroker.net/viewtopic.php … 6&start=20 Und das ist die Lösung dafür: ` > So, habe es herausgefunden. Warum auch immer das in dem einen DP nicht gestimmt hat. Bei dem funktionierendem DP -> "name": "javascript.0.TESTDP2", Bei dem nicht funktionierendem DP -> "name": "TESTDP", Der Name ist hier nicht vollständig. Nach abändern in -> "name": "javascript.0.TESTDP", lässt sich der DP korrekt einbinden. ` Gruß Matze ` Das war es. Ich habe einfach ne namen "Power" in "javascript.0.Power" umbenannt, auch wenn es kein Javascript ist. Nun konnte ich es auch in der Cloud hinzufügen und der Receiver geht per Sprachbefehl an und aus. Vielen Dank dafür! VG Modjo
  • ScriptEnabled unter Javascript.0 fehlt

    Moved
    6
    0 Votes
    6 Posts
    708 Views
    Paulchen67P
    Habe es hinbekommen. Habe einfach die Objektstruktur als JSON Datei heruntergeladen und ins neue System hochgeladen.
  • Blockly Zeitplan für URL - Hört nicht auf

    Moved
    4
    1
    0 Votes
    4 Posts
    796 Views
    R
    So könnte das klappen! :) @Highpressure: hab bislang blockly noch nie verwendet, bin ein copy&paste script kiddy im großen und ganzen wenns um javascript geht. ` Ein geübter Anwender oder gar Profi bin ich auch (noch) nicht, aber ich probiere halt viel aus, bevor ich nachfrage! :D Übung macht den Meister! Enrio
  • [gelöst] Trigger in Blockly verschwunden

    Moved
    6
    1
    0 Votes
    6 Posts
    934 Views
    C
    @rantanplan: @cstauch: Ja, aus GitHub installiert! ` Die 3.6.0 ist völlig buggy. Nimm die 3.5.1 oder früher. ` Super, geht jetzt, vielen Dank. Hatte das tatsächlich auch vorher schon versucht mit 3.4.5, aber vergessen, ioBroker neu zu starten. :?
  • Anzeige, welche states von Scripten genutzt werden

    Moved
    3
    0 Votes
    3 Posts
    391 Views
    R
    ich meinte eigentlich, ob man irgendwo sehen kann, ob ein State in irgendeinem Script (nicht in einem bestimmten) genutzt wird
  • Systemvariable in CCU2 mit Blockly setzen?

    Moved
    4
    3
    0 Votes
    4 Posts
    964 Views
    paul53P
    @totti: nehme ich das Feld "Zahl" aus Mathematik? ` Ja, aber nicht 1 bis 4, sondern 0 bis 3 - wie ich in meinem ersten Post geschrieben habe.
  • [Frage] Yamaha Receiver + WOL Script

    Moved
    2
    0 Votes
    2 Posts
    477 Views
    PeoplesP
    Hi Modjo, ich habe keinen Yamaha Adapter aber versuch mal folgendes: var wol = require('wake_on_lan'); // Lädt von ioBroker die das nötige Paket var myPC1 = "B8:AE:ED:75:C9:97"; // MAC definieren // Ab hier automatisch on({id: "javascript.0.PC1starten", change: 'any'}, function (obj) { wol.wake(myPC1); log("Script WOL - PC1 aufgeweckt", "info"); } ); on({id: 'yamaha.0.power', change: "ne"}, function (obj) { if (obj.state.val === true) { var wol = require('wake_on_lan'); // Lädt von ioBroker die das nötige Paket var myPC1 = "MACADRESSE"; // MAC definieren wol.wake(myPC1); log("Script WOL - PC1 aufgeweckt", "info"); } }); Und sag mal was dann passiert bzw. nicht passiert. Gruß Steffen

316

Online

32.7k

Users

82.4k

Topics

1.3m

Posts