Skip to content

Skripten / Logik

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

16.5k Topics 213.2k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    P
    @arnod Leider ist das Problem immer noch vorhanden. Welchen Hysteresewert muss ich denn bei mir anpassen, damit ich mein Problem abmindern kann? Ich habe gesehen, dass es mehrere Hysteresewerte im Script gibt.
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Topics
    79k Posts
    AsgothianA
    @IceD112 sagte in Datenpunkte spiegel - wie?: Damit meine ich: Aktuell lese ich ja gewisse DP im Tado Adapter bei Änderungen aus. Sprich, geht die Luftfeuchtigkeit 1% hoch oder runter, so habe ich jedes mal eine Abfrage des DP in Tado. und doch @oliverio, offenbar ist das lesen eines States ein Call bei Tado. das schreiben wiederum nicht. So hab ich es zumindest gelesen. Da geht etwas durcheinander: wenn TADO 1% Feuchte-Änderungen im ioBroker anzeigen soll (von einem bei TADO integrierten sensor), dann muss das Abfrageintervall das auch hergeben. Damit bekommst du entsprechenden Traffic und ggf. API Calls. Wenn du wegen 1% Feuchte-Änderungen eines nicht-Tado Sensors bei TADO etwas abfragen willst (temperatur, status, etc), dann bekommst du entsprechenden Traffic und API Calls. Wenn du sicherstellen willst das sich ein Wert bei TADO nicht geändert hat seit das letzte Abfrage-Intervall durchgelaufen ist (egal wodurch getriggert)., dann bekommst du einen Call bei TADO. aber Der Tado Adapter bekommt es nicht mit, wenn ein Skript auf eine vom Adapter in den DP geschriebene Änderung / Aktualisierung des Wertes reagiert. A.
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Topics
    13k Posts
    S
    welche Palette hast du installiert, damit du den "AND" Baustein hast?
  • 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
    344 Views
    No one has replied
  • Hilfe gesucht bei Werteänderung ohne Ausführung :)

    Moved
    2
    0 Votes
    2 Posts
    468 Views
    arteckA
    kannst du den Code in Code Tag reinschreiben.. dann ist es lesbarer
  • 0 Votes
    6 Posts
    945 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
    504 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
    935 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
    677 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
    790 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
    911 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
    389 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
    960 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
    474 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
  • [Frage] Homematic Zeitmodul mit Blockly nachbilden

    Moved
    5
    0 Votes
    5 Posts
    694 Views
    Jey CeeJ
    Es gibt für so etwas den fullcalendar Adapter, der ist genau für sowas. Den musst du halt von Github installieren: https://github.com/ioBroker/ioBroker.fullcalendar Gesendet von Unterwegs
  • Objekt ID Sonoff

    Moved
    8
    1
    0 Votes
    8 Posts
    588 Views
    B
    Fehler gefunden, im Docker meines Unraid Servers geht es nicht, auf einem Raspberry installiert funktioniert es!
  • Fehlender Reiter Scripte

    Moved
    6
    0 Votes
    6 Posts
    2k Views
    K
    puh, das wars. Mir war nicht bewusst das dies ein extra Adapter ist. Danke, Danke für die schnelle Hilfe. Jetzt ist es vorhanden.
  • Update Javascript -> 3.5.1

    Moved
    2
    0 Votes
    2 Posts
    266 Views
    lobomauL
    Instanzen konnte man vorher schon wählen. Neue Instanz fügst du unter Adapter mit dem Pluszeichen beim Adapter hinzu.

701

Online

32.6k

Users

82.2k

Topics

1.3m

Posts