Skip to content

Skripten / Logik

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

16.5k Themen 213.4k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    P
    @ArnoD sagte in E3DC Hauskraftwerk steuern: @azzkikrboy Hierfür brauchst du den Adapter ‚Energiefluss-erweitert‘. Damit lässt sich der Energiefluss richtig schick grafisch darstellen. Die Konfiguration ist zwar etwas zeitaufwendig, aber die Mühe lohnt sich definitiv für das Design! ;) [image: 1770554279240-video-project.gif] Sieht sehr gut aus, hab ich bei mir auch mal ausprobiert. Leider funktioniert das nicht mit der Android VIS-App. Lösung wäre nur der Kiosk Browser aber das ist mir zu umständlich. Schade :-(
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Themen
    79k Beiträge
    L
    Ja, sollte gehen.
  • 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
  • HUE Zeitsteuerung ( Skript )

    Verschoben
    17
    1
    0 Stimmen
    17 Beiträge
    3k Aufrufe
    C
    Was haltet ihr davon? Gibt es einen eleganteren Weg? 2017-10-31 Lampen als Array Neue Funktion CheckStatus(TimeToSunset,light) pro Lampe Funktion fadeIN(transTime,level_min,level_max) erweitert. Parameter Level_min und Level_max definieren Start- und Endhelligkeit der Lampen. // ==========Einstellungen Start========== // Lampen var lights = [ "hue.0.Philips_hue.Wohnzimmer", "hue.0.Philips_hue.Teich", ]; // Start und Endhelligkeit var level_min = 10; var level_max = 80; // ToDo var color = 0; // ==========Einstellungen Ende========== // Timer jede Minute schedule("* * * * *", function () { log("==========Skript Start: Sunset_Light=========="); log("==========AstroDaten abfragen=========="); // var nightEnd = getAstroDate("nightEnd"); // log(" (0) nightEnd (Ende der Nacht)........................: " + nightEnd.toLocaleTimeString()); // var nauticalDawn = getAstroDate("nauticalDawn"); // log(" (1) nauticalDawn (naut. Dämmerung Morgens)...........: " + nauticalDawn.toLocaleTimeString()); // var dawn = getAstroDate("dawn"); // log(" (2) dawn (Dämmerung Morgens).........................: " + dawn.toLocaleTimeString()); // var sunrise = getAstroDate("sunrise"); // log(" (3) sunrise (Sonnenaufgang)..........................: " + sunrise.toLocaleTimeString()); // var sunriseEnd = getAstroDate("sunriseEnd"); // log(" (4) sunriseEnd (Ende des Sonnenaufgangs).............: " + sunriseEnd.toLocaleTimeString()); // var goldenHourEnd = getAstroDate("goldenHourEnd"); // log(" (5) goldenHourEnd (Ende der Golden Hour VM)..........: " + goldenHourEnd.toLocaleTimeString()); // var solarNoon = getAstroDate("solarNoon"); // log(" (6) solarNoon (Mittag)...............................: " + solarNoon.toLocaleTimeString()); // var goldenHour = getAstroDate("goldenHour"); // log(" (7) goldenHour (Start der Golden Hour NM)............: " + goldenHour.toLocaleTimeString()); var sunsetStart = getAstroDate("sunsetStart"); log(" (8) sunsetStart (Start des Sonnenuntergangs).........: " + sunsetStart.toLocaleTimeString()); var sunset = getAstroDate("sunset"); // log(" (9) sunset (Sonnenuntergang).........................: " + sunset.toLocaleTimeString()); var dusk = getAstroDate("dusk"); log("(10) dusk (Dämmerung Abends)..........................: " + dusk.toLocaleTimeString()); // var nauticalDusk = getAstroDate("nauticalDusk"); // log("(11) nauticalDusk (naut. Dämmerung Abends)...........: " + nauticalDusk.toLocaleTimeString()); // var night = getAstroDate("night"); // log("(12) night (astron. Dämmerung Abends).................: " + night.toLocaleTimeString()); // var nadir = getAstroDate("nadir"); // log("(13) nadir (Dunkelster Moment der Nacht)..............: " + nadir.toLocaleTimeString()); log("==========Funktionen ausführen=========="); // Zeit zwischen 2 Zeiten berechnen // Übergabe: Zeit 1 und Zeit 2 var Time1_2 = TimeBetween(sunsetStart, dusk); // Zeit bis Start Sonnenuntergang berechnen // Übergabe: Start des Sonnenuntergangs. getAstroDate("sunsetStart"); var sunsetrest = TimeToSunset(sunsetStart); // Prüfen pro Lampe ob bereits an und ob Sonnenuntergang begonnen hat. // Wenn true, dann anschalten lights.forEach(function(element) { if (Boolean(CheckStatus(sunsetrest,element))){ FadeIN(Time1_2,level_min,level_max); } }); log("==========Skript Ende: Sunset_Light=========="); }); // Funktionen *************************************************************************************************** // Licht mit level_min einschalten und auf level_max mit transTime blenden // Übergebene Parameter: Zeit für das Einblenden in Minuten, start und end level function FadeIN(transTime,level_min,level_max){ log("Funktion: fadeIN() mit transTime: " + transTime + " , level_min " + level_min + " , level_max " + level_max); // transTime kommt mit Minuten, also transTime *60 / 0.1 = fadeTime // da es zu schnell dunkel wird nur die halbe Zeit nehmen var fadeTime = transTime * 60 / 0.1 / 2; lights.forEach(function(element) { // Command leeren setState(element +".command","{}"); // Lampen anschalten ( command greift sonst nicht ) setState(element +".on",true); // Initial level auf level_min setzen setState(element+".level",level_min); // 3 Sekunden warten, dann command ausfühen ( klappt nicht direkt nach einschalten ) setTimeout(function() { var com = "{\"on\":true,\"level\":" + level_max + ",\"transitiontime\":" + fadeTime + "}"; setState(element+".command",com); },3000); }); } // Berechnungen der restlichen Minnuten bis endTime basierend auf der aktuellen Uhrzeit // Übergebene Parameter: Zeit auf die berechnet werden soll // Return liefert Zeit in Minuten function TimeToSunset(endTime){ log("Funktion: timeToSunset()"); var today = new Date(); var rest = 0; rest = ((endTime.getTime() - today.getTime()) /1000 /60); rest = Math.round(rest); return rest; } // Berechnungen der Zeit zwischen 2 Zeiten // Übergebene Parameter: Zeit1 und Zeit2 auf die berechnet werden soll // Return liefert Zeit in Minuten function TimeBetween(time1, time2){ log("Funktion: TimeBetween()"); var diff = 0; diff = ((time2.getTime() - time1.getTime()) /1000 /60); diff = Math.round(diff); return diff; } // Status der Lampen prüfen und schauen ob Sonnenuntergang bald beginnt // Übergebene Parameter: Zeit bis Sonnenuntergang in Minuten, Lampe // Return liefert true oder false function CheckStatus(TimeToSunset,light){ log("Funktion: CheckStatus() mit TimeToSunset: " + TimeToSunset + " und Lampe " + light); // Wenn Lampe aus if (getState(light+".on").val === false ){ // Wenn restl. Zeit bis Sonneuntergang ( zwischen 2 und 0 Minuten ) if(TimeToSunset <= 2 && TimeToSunset >=0){ return true; // sonst tue nichts. } else { return false; } } // sonst tue nichts. else { return false; } }
  • [gelöst] Hue - Raum auschalten mit transitiontime

    Verschoben
    2
    1
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    Holger76H
    so einfach ist das manchmal: irgendwie dachte ich, die transitiontime wird in Milisekunden angegeben. Aber es sind 1/10s, also wenn ich 100 eingebe, dann geht es :-)
  • SQL Datenbank auslesen

    Verschoben
    14
    0 Stimmen
    14 Beiträge
    5k Aufrufe
    M
    @ noxx: Hast du mittlerweile eine Lösung für dein Thema gefunden ? Gruß Michael
  • Bei einem Datenpunkt weitere Eigenschaften unter common hinzufügen

    Verschoben
    9
    0 Stimmen
    9 Beiträge
    1k Aufrufe
    Jey CeeJ
    Da bin ich gespannt Gesendet von Unterwegs
  • [Frage zu Blockly] Wert "On" bzw. "Standby" des Yamaha Adapter als Trigger nutzen?

    Verschoben
    1
    1
    0 Stimmen
    1 Beiträge
    518 Aufrufe
    Niemand hat geantwortet
  • Einfach nur eine Lampe schalten

    Verschoben
    5
    1
    0 Stimmen
    5 Beiträge
    2k Aufrufe
    C
    hhhmmmmm…. da sich der state wert beim switch von false auf true ändert kommt in diesem fall der befehl bei ioB an und ist meines wissens nach auswertbar bzw. nutzbar. in deinem beispiel kam die wertänderung nicht in ioB an..... wenn ich das richtig verstanden habe .....
  • Fritzbox verpasste anrufe vorlesen lassen?

    Verschoben
    1
    1
    0 Stimmen
    1 Beiträge
    468 Aufrufe
    Niemand hat geantwortet
  • Telegram Nachrichten Reihenfolge beeinflussbar ?

    Verschoben
    5
    2
    0 Stimmen
    5 Beiträge
    706 Aufrufe
    dslraserD
    @Dutchman: @dslraser: Danke für die Antwort. Ja, so wird es sein, aber ich glaube das ist bei jeder "Harmony Hub" Umschaltung anders ? Ich schaue mir den Umschaltvorgang nochmal genau an. Ich meine in welcher Reihenfolge das abläuft. ` Steuerst du dein harmony mit Aktivitäten? Dann kannst du in harmony einstellen welche Reihenfolge/Geräte Schaltvorgänge haben sollten –----------------------- Send from mobile device ` ja, mache ich mit aktivitäten.
  • [gelöst] HmIP-BSM langer Tastendruck

    Verschoben
    2
    1
    0 Stimmen
    2 Beiträge
    2k Aufrufe
    A
    Hallo, Gestern Abend habe ich nach weiter rumprobieren das Problem endlich gelöst. Durch umstellen des „anerkannt ist“ Wertes in den Trigger Objekten Falls von „egal“ auf „Update“ ist das Problem bis jetzt nicht mehr aufgetreten. Gruß Alexander
  • Blockly, Denkfehler oder …? [gelöst]

    Verschoben
    6
    3
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    M
    Ich habe es mit deiner Hilfe erfolgreich geschafft, Herzlichen Dank ;) 3576_2017-10-24_22h43_54.png
  • [Blocky] Trigger only one time

    Verschoben
    11
    1
    0 Stimmen
    11 Beiträge
    3k Aufrufe
    ldittmarL
    Mein Gedanke ist: warum soll ein Trigger 24 Stunden aktiv sein, wenn er z.B. nur einmal am Tag gebraucht wird? Ich halte mein Speicher gerne sauber. ;) Grüße, ldittmar
  • [gelöst] Blockly - HM-IP Taster

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    2k Aufrufe
    rantanplanR
    @easy: Btw. benötigen noch weitere HM(IP) Geräte erst ein Dummy-Programm? ` Batterie betriebene Taster. Grüße
  • Zeitplanung - führende 0 bei Minuten

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    tommyr84T
    scheint zu laufen :) werds morgen gleich mal testen, zur Zeit aktiviert er das Licht. Danke für die Hilfe! Bin noch am lernen was javasript betrifft!
  • Script läuft nicht durchgehend

    Verschoben
    20
    0 Stimmen
    20 Beiträge
    2k Aufrufe
    arteckA
    ich habe auch schon geschrieben.. dass die 1.2 sich komisch verhält… auf meinen Pi3 verzeichne ich mehr CPU last.. bei 2 JavaScript instanzen.. hmm...
  • Termin in Google Kalender mit IOBroker eintragen.

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    689 Aufrufe
    Niemand hat geantwortet
  • Formatfehler wie beheben

    Verschoben
    13
    1
    0 Stimmen
    13 Beiträge
    1k Aufrufe
    rantanplanR
    Wie schon gesagt. Das hat alles nichts mehr mit "Formatfehler…." zu tun. Bitte neuen Thread aufmachen z.B. "[Problem] Blockly Zeittrigger…...." Siehe hier: http://forum.iobroker.net/viewtopic.php?f=8&t=2451 Grüße
  • –- Gelöst --- 2 Aktoren nach Rang schalten mit Blockly.

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    823 Aufrufe
    J
    Hallo Rantaplan. Funktioniert Super. Danke. :D
  • BLOCKLY Anfänger such Hilfe

    Verschoben
    6
    1
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    B
    Hi, Danke für die Hilfe ich hoffe so passt es jetzt: [image: 654_unbenannt.png] Gruß Lars
  • [Vorlage] Blockly "Kommt oder geht jemand" oder Reihenfolge Aktorschaltung

    Verschoben blockly template
    1
    1
    1 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet
  • Meine ersten schritte mit JavaScript

    Verschoben
    22
    0 Stimmen
    22 Beiträge
    4k Aufrufe
    R
    ähm ja bei meinen schaltern muss es so heisen bei der ccu weis ich gerade nicht. werd ich gleich mal reinschrieben Gesendet von meinem SM-G935F mit Tapatalk

296

Online

32.6k

Benutzer

82.3k

Themen

1.3m

Beiträge