Skip to content

Skripten / Logik

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

16.5k Themen 213.2k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    bluebeanB
    @ArnoD sagte in E3DC Hauskraftwerk steuern: @bluebean Die dürfte es so gar nicht geben :-) Habe es gerade bei mir geprüft und den gleichen Fehler festgestellt. Das muss ich mir mal ansehen, was da schieflaufen kann. Komisch ist das es aktuell wieder richtig ist. Hi, ich hatte gestern und heute mal für den Monat Februar geschaut. Seltsamerweise war Proplanta für 1. - 8. Februar komplett auf Null. Nach Stoppen und Neustarten des Scripts sind nun aber Werte größer Null eingetrudelt. Irgendwie scheint es dort bei der Abfrage nicht rund zu laufen.
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Themen
    79k Beiträge
    mickemupM
    @IceD112 sagte in Datenpunkte spiegel - wie?: Es war meinerseits nur die Idee, alle Datenpunkte die irgendwo zum lesen abgegriffen werden auch zu spiegeln und eben die dafür zu verwenden umd die API Calls zu minimieren. So wie @homoran schreibt dürfte das ja dann funktionieren? Nein! Du generierst die zusätzlichen API "Calls" beim beschreiben der Datenpunkte tado.0.xxx und nicht beim lesen. Du müsstest in deinen Skripten/Blocklys weniger fleissig auf die DPs reagieren/schreiben. Dein angedachtes "Spiegeln" ändert 0 daran, wenn du dann trotzdem die tado.0.xxx Datenpunkte via Adapter schreibst.
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Themen
    13k Beiträge
    S
    welche Palette hast du installiert, damit du den "AND" Baustein hast?
  • Node-Red abgeschossen, bekomme es nicht mehr zu laufen, wer kann Helfen

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    2k Aufrufe
    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

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    2k Aufrufe
    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?

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    344 Aufrufe
    Niemand hat geantwortet
  • Hilfe gesucht bei Werteänderung ohne Ausführung :)

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    468 Aufrufe
    arteckA
    kannst du den Code in Code Tag reinschreiben.. dann ist es lesbarer
  • Script nur ausführen, wenn Systemvariable abc = true UND Sonnenuntergang = true

    Verschoben
    6
    1
    0 Stimmen
    6 Beiträge
    945 Aufrufe
    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

    Verschoben
    3
    3
    0 Stimmen
    3 Beiträge
    505 Aufrufe
    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

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    935 Aufrufe
    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

    Verschoben
    5
    2
    0 Stimmen
    5 Beiträge
    530 Aufrufe
    P
    Das wars :-) Vielen Dank!
  • [Gelöst] Blockly: Tür abschließen nach Abwesenheit mehr als 5 Minuten

    Verschoben
    10
    0 Stimmen
    10 Beiträge
    2k Aufrufe
    S
    Dann haben wir es. Danke ihr zwei. Gute Nacht. Stefan
  • Brauche Hilfe mit Blockly

    Verschoben
    18
    0 Stimmen
    18 Beiträge
    1k Aufrufe
    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

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    677 Aufrufe
    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

    Verschoben
    4
    1
    0 Stimmen
    4 Beiträge
    790 Aufrufe
    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

    Verschoben
    6
    1
    0 Stimmen
    6 Beiträge
    914 Aufrufe
    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

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    389 Aufrufe
    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?

    Verschoben
    4
    3
    0 Stimmen
    4 Beiträge
    960 Aufrufe
    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

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    474 Aufrufe
    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

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    694 Aufrufe
    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

    Verschoben
    8
    1
    0 Stimmen
    8 Beiträge
    588 Aufrufe
    B
    Fehler gefunden, im Docker meines Unraid Servers geht es nicht, auf einem Raspberry installiert funktioniert es!
  • Fehlender Reiter Scripte

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    2k Aufrufe
    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

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    266 Aufrufe
    lobomauL
    Instanzen konnte man vorher schon wählen. Neue Instanz fügst du unter Adapter mit dem Pluszeichen beim Adapter hinzu.

740

Online

32.6k

Benutzer

82.2k

Themen

1.3m

Beiträge