Skip to content

Skripten / Logik

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

16.5k Themen 213.3k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    azzkikrboyA
    @ArnoD sagte in E3DC Hauskraftwerk steuern: @azzkikrboy Hattest du zum Monatswechsel eine Störung? Die Daten werden in der Nacht am 01. des jeweiligen Monats gelöscht, wenn das Skript läuft und nicht gerade gestoppt wurde. Ja, das kann sein :-( Kann man da jetzt noch was machen?
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Themen
    79k Beiträge
    DuffyD
    @paul53 Ich habe das einmal nachgebaut und siehe da ich sitze nicht mehr sporadisch im dunklen. Ich habe mir das Blocly mal von Chat GPT erklären lassen, hammer wie man da selber drauf kommen kann. Auf jeden Fall vielen Dank. VG Duffy
  • 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?
  • Trigger wird nicht ausgeführt

    Verschoben
    12
    0 Stimmen
    12 Beiträge
    983 Aufrufe
    HomoranH
    Nee, nich wahr :shock: Das sollte nicht sein, außer du hast die SysVar auf der CCU neu angelegt
  • Zeit Bereich geht nicht wie gedacht ! [BLOCKLY]

    Verschoben
    12
    0 Stimmen
    12 Beiträge
    2k Aufrufe
    D
    So: [image: 1336_2018-02-17_11_59_04-iobroker.admin.png]
  • Hilfe bei automatischem Einsetzen Jahreszahl in Variable und Gerätenamen

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    237 Aufrufe
    Niemand hat geantwortet
  • ''add to group'' Sonos in Abhängingkeit mit Hue Bewegungssensor

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    603 Aufrufe
    T
    Zeig doch mal, was du schon hast
  • Skript für Klingelsignalisierung mit HUE

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

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    909 Aufrufe
    R
    Danke für die Rückmeldung! Enrico
  • [Frage] Fußbodenheizung steuern mit ioBroker

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

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    536 Aufrufe
    Niemand hat geantwortet
  • Fenster schließen bei niedriger Luftfeuchte | Blockly

    Verschoben
    1
    1
    0 Stimmen
    1 Beiträge
    427 Aufrufe
    Niemand hat geantwortet
  • Javascript Probleme // Beim Fenster öffnen Telegram versenden

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

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

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

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

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

    Verschoben
    6
    2
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    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?
  • HILFE! Script für Tasmota "Button Multipress" als Wechselschaltung HILFE!

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    565 Aufrufe
    J
    Keiner 'ne Idee…?!
  • Erstes Blockly Skript und Skripte-Bereich zerstört

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

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    K
    Perfekt, hat geklappt. Vielen Dank
  • Auf Telegram Nachricht reagieren

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

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

690

Online

32.6k

Benutzer

82.2k

Themen

1.3m

Beiträge