Skip to content

Skripten / Logik

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

16.5k Topics 213.3k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    haus-automatisierungH
    @bitwicht sagte in Plötzlich ReferenceError: request is not defined: Den Schedule habe ich zum Test gesetzt da ich mir auf die Schnelle nicht zu helfen wusste :-) Wenn Du gar keinen Trigger drumherum baust, wird die gesamte Logik ja bei jedem Script-Start einmalig ausgeführt. Dann musst Du gar nicht warten.
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Topics
    79k Posts
    paul53P
    @Duffy sagte: sobald ein Handy von True auf False oder von False auf True geht auch das Licht abgeschaltet wird. Ja, das Licht wird (bleibt) nur eingeschaltet, wenn beide Handys false melden: es ist dunkel UND zwischen 5:30 und 21:30 Uhr UND kein Handy eingeloggt. @Duffy sagte in Licht über Anwesenheit und Helligkeit schalten [gelöst]: wenn NIEMAND zuhause ist das Licht einschalten
  • 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?
  • Zeit Bereich geht nicht wie gedacht ! [BLOCKLY]

    Moved
    12
    0 Votes
    12 Posts
    2k Views
    D
    So: [image: 1336_2018-02-17_11_59_04-iobroker.admin.png]
  • Hilfe bei automatischem Einsetzen Jahreszahl in Variable und Gerätenamen

    Moved
    1
    0 Votes
    1 Posts
    237 Views
    No one has replied
  • ''add to group'' Sonos in Abhängingkeit mit Hue Bewegungssensor

    Moved
    2
    0 Votes
    2 Posts
    603 Views
    T
    Zeig doch mal, was du schon hast
  • Skript für Klingelsignalisierung mit HUE

    Moved
    8
    0 Votes
    8 Posts
    1k Views
    C
    Aufgrund eurer Hilfen konnte ich das Skript jetzt umschreiben, so dass es nun seinen Zweck erfüllt :) Ich schalte jetzt eine ganze Gruppe ein und setze die Farbe rot. Danach lasse ich mit lselect 15 Sekunden blinken. Und danach schalte ich alle Lampen mit einem Zeitabstand von jeweils 1 Sekunde zurück in den Ursprungszustand. Klappt sehr gut! Danke! Hier noch das Skript: ! ```` /* debouncing, executes the function if there was no new event in $wait milliseconds @param func @param wait @param immediate (boolean) @returns {Function} */ function debounce(func, wait, immediate) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if (!immediate) func.apply(context, args); }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) func.apply(context, args); }; } ! on("hm-rega.0.27777"/Klingelbild/, debounce(function (obj){ if (obj.newState.val === true || obj.newState.val === "true") { if (getState("hm-rega.0.5886").val/*Anwesenheit*/ === true || getState("hm-rega.0.5886").val/*Anwesenheit*/ === "true") { var light1 = "hue.0.Philips_hue.Stehlampe."; var light2 = "hue.0.Philips_hue.Lightstrip_Couch."; var light3 = "hue.0.Philips_hue.Lightstrip_Sideboard."; var light4 = "hue.0.Philips_hue.Pummellampe."; var light5 = "hue.0.Philips_hue.Kugellampe."; var light6 = "hue.0.Philips_hue.Herzchenlampe."; var light7 = "hue.0.Philips_hue.Iris."; var hue1 = getState(light1 + "hue").val; var bri1 = getState(light1 + "bri").val; var on1 = getState(light1 + "on").val; var hue2 = getState(light2 + "hue").val; var bri2 = getState(light2 + "bri").val; var on2 = getState(light2 + "on").val; var hue3 = getState(light3 + "hue").val; var bri3 = getState(light3 + "bri").val; var on3 = getState(light3 + "on").val; var hue4 = getState(light4 + "hue").val; var bri4 = getState(light4 + "bri").val; var on4 = getState(light4 + "on").val; var hue5 = getState(light5 + "hue").val; var bri5 = getState(light5 + "bri").val; var on5 = getState(light5 + "on").val; var hue6 = getState(light6 + "hue").val; var bri6 = getState(light6 + "bri").val; var on6 = getState(light6 + "on").val; var hue7 = getState(light7 + "hue").val; var bri7 = getState(light7 + "bri").val; var on7 = getState(light7 + "on").val; setState("hue.0.Philips_hue.Farbenspiel.bri"/*Philips_hue.Farbenspiel.bri*/, 254); setState("hue.0.Philips_hue.Farbenspiel.hue"/*Philips_hue.Farbenspiel.hue*/,65504); setState("hue.0.Philips_hue.Farbenspiel.alert"/*Philips_hue.Farbenspiel.alert*/,"lselect"); setTimeout(function () { ! //Alle rückgängig setState(light1 +"on", on1); setState(light1 +"bri", bri1); setState(light1 +"hue", hue1); //setState(light1 +"b", b1); ! }, 16000); setTimeout(function () { ! //Alle rückgängig setState(light2 +"on", on2); setState(light2 +"bri", bri2); setState(light2 +"hue", hue2); //setState(light2 +"b", b2); ! }, 17000); ! setTimeout(function () { ! //Alle rückgängig setState(light3 +"on", on3); setState(light3 +"bri", bri3); setState(light3 +"hue", hue3); //setState(light3 +"b", b3); ! }, 18000); ! setTimeout(function () { ! //Alle rückgängig setState(light4 +"on", on4); setState(light4 +"bri", bri4); setState(light4 +"hue", hue4); //setState(light4 +"b", b4); ! }, 19000); ! setTimeout(function () { ! //Alle rückgängig setState(light5 +"on", on5); setState(light5 +"bri", bri5); setState(light5 +"hue", hue5); //setState(light5 +"b", b5); ! }, 20000); ! setTimeout(function () { ! //Alle rückgängig setState(light6 +"on", on6); setState(light6 +"bri", bri6); setState(light6 +"hue", hue6); //setState(light6 +"b", b6); ! }, 21000); ! setTimeout(function () { ! //Alle rückgängig setState(light7 +"on", on7); setState(light7 +"bri", bri7); setState(light7 +"hue", hue7); //setState(light7 +"b", b7); ! }, 22000); } } },5000, true)); ! ```` Beste Grüße
  • (GELÖST )Skripte starten nicht

    Moved
    7
    0 Votes
    7 Posts
    908 Views
    R
    Danke für die Rückmeldung! Enrico
  • [Frage] Fußbodenheizung steuern mit ioBroker

    Moved
    30
    0 Votes
    30 Posts
    9k Views
    paul53P
    @quorle: Wobei das ganze noch nicht so funktioniert, ` Das kann noch nicht funktionieren, denn es existiert noch kein geschlossener Regelkreis. Der I-Anteil des PI-Reglers (Script) läuft ständig bis zu den Grenzen (+/- 3 Grad) weiter, solange eine Regelabweichung besteht. @quorle: heute früh errechnete er eine " korrigierte " Sollwertvorgabe von 12 °C , wenn diese Temp ja auf den Heizregler geschrieben werden würde, dann würde dieser ja das Ventil öffnen, obwohl die Vorgabe ( 14,5 °C ) erreicht war. ` Bei Istwert 14,5°C und (korrigierter) Sollwert 12°C schließt das Ventil.
  • Script von VIS zeitgesteuert triggern

    Moved
    1
    0 Votes
    1 Posts
    536 Views
    No one has replied
  • Fenster schließen bei niedriger Luftfeuchte | Blockly

    Moved
    1
    1
    0 Votes
    1 Posts
    427 Views
    No one has replied
  • Javascript Probleme // Beim Fenster öffnen Telegram versenden

    Moved
    6
    0 Votes
    6 Posts
    869 Views
    D
    Besten Dank, nochmals für deine Bemühungen Schande auf mein Haupt :roll: Ich habe das Script in ein vorhandenes geschrieben, leider vor anstatt nach der Abschlussklammer des scheudle Befehl. Jetzt hat er alle Minute 21 neu on "Befehle" erstellt. Positives daran, das System hat es weggesteckt ohne das es in die Knie ging :mrgreen: Jetzt trotzdem eine Frage warum gehst du über eine "script Variable" und schreibst den Befehl nicht direkt ins on(id…........ oder macht man dies einfach wegen der Übersicht.
  • [Gelöst] Blocky Variable auf gleich vergleichen

    Moved
    10
    0 Votes
    10 Posts
    2k Views
    HomoranH
    @1hotte: Leider kann ich meinen ersten beitrag nicht ändern und ein gelöst einsetzen. ` Kannst du schon - habe ich jetzt aber für dich gemacht. Gruß Rainer
  • Homematic RolladenAktor LEVEL Werte umkehren

    Moved
    3
    0 Votes
    3 Posts
    1k Views
    P
    Also ich habe damals als ich angefangen habe auch mal einen RL Aktor gehabt den ich verkehr verdrahtet habe. Habe in der CCU umgestellt was ging… Immer blieb irgendwo eine Lücke wo es doch wieder nicht richtig dargestellt wurde oder nicht funktioniert. Lange Rede kurzer Sinn: Ich habe den Aktor ausgebaut, umgeklemmt und wieder eingebaut.
  • (Gelöst) Blockly und Block fehlt

    Moved
    9
    1
    0 Votes
    9 Posts
    1k Views
    rantanplanR
    @nape1: Das ist mein Richtiges Blockly was seit einer stunde super läuft. ` Setzt Du bitte noch ein [gelöst] in den Betreff Deines ersten Beitrags. Danke.
  • IoBroker Objekte per Powershell steuern?

    Moved
    4
    0 Votes
    4 Posts
    863 Views
    AlCalzoneA
    @Kuddel: EDIT: Ja über PLINK geht es. Ich habe aber keine Ahnung ob das der sinnvollste weg ist ^^ ` Weiß ich auch nicht - aber wenns funktioniert… :lol:
  • HTTP Request für Sonoff und Alexa

    Moved
    6
    2
    0 Votes
    6 Posts
    1k Views
    W
    @Balu0127: Könnt ihr mir das bitte erklären oder vormachen irgendwie check ich das jetzt nicht? Hab es so Versucht: Nr:1 In der Alexa App nach ein paar Sekunden das die Lampe an ist obwohl aus. Nr:2 Das gleiche, hab aber hier 2x HTTP einmal mit on und einmal mit off, Alexa schaltet auch bei Ein ein und bei Aus auch aus, nur in der App Kapiert sie das nicht und schaltet nach ein paar Sekunden wieder auf Ein obwohl aus. Kann ich das überhaupt in Vis so Integrieren mit dem Bulb on/off Widget? Ps: Hat einer eine Ahnung warum Alexa hin und wieder etliche versuche braucht bis die Geräte die ich in Node-Red gemacht hab Findet? ` Ich hab das selbe Problem. Ein-/Ausschalten von Homematic-Schalter funtkioniert ohne Probleme. Nur in der APP springt die Anzeige immer auf "ein" zurück. Was zur folge hat, dass man zwei mal innerhalb kurzer Zeit drücken muss. 1. mal "ausschalten" (obwohl aus) und solange die App aus anzeigt (ca. 4-5 sekunden) nochmal drücken. Dann geht die Lampe an. Muss man da den Status irgendwie zurück in die "App" schreiben? Jemand eine Idee?
  • 0 Votes
    2 Posts
    564 Views
    J
    Keiner 'ne Idee…?!
  • Erstes Blockly Skript und Skripte-Bereich zerstört

    Moved
    4
    1
    0 Votes
    4 Posts
    394 Views
    BBTownB
    Setzt Du bitte noch im "Betreff" deines ersten Beitrages ein "[Gelöst]" vor den Betreff?! "[Gelöst] Erstes Blockly Skript und Skripte-Bereich zerstört"
  • [gelöst] Objekte per JavaScript anlegen

    Moved
    3
    0 Votes
    3 Posts
    2k Views
    K
    Perfekt, hat geklappt. Vielen Dank
  • Auf Telegram Nachricht reagieren

    Moved
    2
    0 Votes
    2 Posts
    841 Views
    D
    ich habe es in zwei Schritten gemacht: 1. die Telegram Meldung im iobroker zerlegen in User und "Befehl" var input; var field; var user; on({id: 'telegram.0.communicate.request'}, function (obj) { input = getState('telegram.0.communicate.request').val; fields = input.split(']'); user = fields[0]; setState('variablen.0.telegram.befehl', fields[1]); fields = user.split('['); user = fields[1]; setState('variablen.0.telegram.user', user); }); variablen.0.telegram.befehl variablen.0.telegram.user Sind zwei variablen wo ich unter Objekte erstellt habe, dass sie von jedem Program aus zugänglich sind. 2. auf Befehle reagieren var Datensetzen = 0; // Punkt für 2 Antwort / 1 Abwesenheit / 2 Programm an aus / 3 Weihnachstbeleuchtung / 4 Storen on({id: 'variablen.0.telegram.user'}, function (obj) { switch (getState('variablen.0.telegram.befehl').val) { //Abwesenheit case 'Abwesenheit': sendTo('telegram', {user: getState('variablen.0.telegram.user').val, text: 'Tage?'}); setTimeout(function (obj){Datensetzen=0;}, 20000); setTimeout(function (obj){Datensetzen=1;}, 500); break; // ander case Brak einfügen default: //Abwesenheit Eingabe Zeit if (Datensetzen==1){ //1 steht bei mir für abwesenheit !! musst bei jedem anpassen setState('variablen.0.Abwesenheit', Number(getState('variablen.0.telegram.befehl').val)); sendTo('telegram', {user: getState('variablen.0.telegram.user').val, text: 'Die Abwesenheit ist ' + getState('variablen.0.telegram.befehl').val + ' Tage'}); Datensetzen = 0;} }}); var Datensetzen -> dort mit der Zahl, definierst du welche "if" abfrage du aktivierst als 2 Meldung für 20 Sekunden. Am ende der Abfrage wird es wieder auf 0 gesetzt. Dort kannst mit: case… ..... break; noch x Grundabfragen einstellen if dort gibst du dann z.Bsp. die Zeit ein, hast 20 Sekunden zeit, danach wird Datensetzen wieder auf 0 gesetzt also, Beispiel läuft so du gibst ein -> Abwesenheit er antwortet -> Tage? danach gibst du innert 20 Sekunden die gewünschten Tage ein -> z. Bsp. 2 er bestätigt das er die Variable Tag in Objekte auf "z. Bsp" 2 tage eingestellt hat. Es gibt wahrscheinlich eleganter Versionen, bin jedoch kein Programmierer.
  • Blocky: Benachrichtigung bzgl. Mülltonne am Vorabend

    Moved
    18
    0 Votes
    18 Posts
    2k Views
    K
    @tempestas: Schön! Das funktioniert jetzt aber imho natürlich nur, wenn alles 100% ist wie bei dir (falls jemand anderes das kopieren will) ` Das stimmt natürlich. Man müsste sicherlich den Ical Dapter anpassen und die Benennung der Einträge im Kalender. Mein Vorschlag ist auch eher an die Leute gedacht, die wie ich noch keine Kenntnisse in Java haben und sich daher mit Blockly helfen
  • [gelöst] Luftfeuchtewarnung mit Pushnachricht per Blockly Skript

    Moved
    6
    2
    0 Votes
    6 Posts
    1k Views
    R
    Vielen Dank nochmal, mit der Änderung auf "Wert von…" klappts [emoji41] Gesendet von meinem Pixel 2 mit Tapatalk

467

Online

32.6k

Users

82.2k

Topics

1.3m

Posts