Skip to content

Skripten / Logik

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

16.4k Themen 211.8k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 48k
    2k Themen
    48k Beiträge
    D
    @maxclaudi Vielen Dank für das ausführliche oben beschriebene Verhalten von smartMode. Es gibt wirklich keine konstante wann er umschaltet. Hatte erst mal.4 Tage ohne umschalten und dann kann sein das er 3 mal am tag umschaltet
  • Hilfe für Skripterstellung mit Blockly

    6k 78k
    6k Themen
    78k Beiträge
    Dr. BakteriusD
    @Asgothian sagte in Farbe aus R/G/B rechnet falsch: ggf. erwartet dieser die farbwerte in %, nicht 0-255 Danke, das war's.
  • Hilfe für Skripterstellung mit Node-RED

    952 13k
    952 Themen
    13k Beiträge
    HomoranH
    @fiddle sagte in [Gelöst]: Adapter per {Node Red | JS} (de)aktivieren: Ok, nicht als "Wert" schreiben, sondern als "Befehl". Dann scheint ihn das zu beeindrucken. du zeigst ja nichts, aber es geht mit true/false [image: 1763416200051-screenshot_20251117-224854_firefox.jpg] gesteuert über eigenen DP vom typ Bool
  • <hilfe>Skript für Luftentfeuter im Bad</hilfe>

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    318 Aufrufe
    Niemand hat geantwortet
  • Skript Vis (vis.setValue)

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    492 Aufrufe
    Niemand hat geantwortet
  • Gelöst:Blockly: Addition 2er Variablen, stehe auf dem Schlauch

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    MatzebhvM
    Hi, der Wert kommt tatsächlich über den FHEM-Adapter als Text. Danke für den Hinweis! So geht das nun wie gewünscht: [image: 3514_blockly2.png] Matze
  • Schrankbeleuchtung

    Verschoben
    11
    0 Stimmen
    11 Beiträge
    1k Aufrufe
    CKMartensC
    Hab es jetzt wie paul53 mir empfohlen hat gemacht und heute früh hat es funktionert. Danke nochmals an alle. Carsten
  • Blockly, Radar, Alexa und Anwesenheitserkennung

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    MessiahsM
    Hallo Tom, für die Anwesenheitserkennung habe ich das AddOn "Radar" in ioBroker laufen. Sobald mein Handy in Reichweite ist, wird es somit von Radar erkannt (Bluetooth). In Radar kann für jedes Bluetooth-Gerät bereits einen Namen vergeben werden… also z.B. "Person1", deshalb wollte ich ungern weitere Variablen (Person1-Anwesend) erstellen. Ich habe es in JS wie folgt gelöst: function diffArray(arr1, arr2) { return arr1.concat(arr2).filter(function (val) { if (!(arr1.includes(val) && arr2.includes(val))) return val; }); } on({id: 'radar.0.whoHere', change: "ne"}, function (obj) { console.log('+++++++++ Anwesenheit +++++++++++ '); var newState = '', oldState ='', newStateArray = [], oldStateArray = [], changedPerson = '', sayString = "", delay=0; newState = (obj.newState.val ? obj.newState.val : ""); oldState = (obj.oldState.val ? obj.oldState.val : ""); console.log('newState: ' + newState); console.log('oldState: ' + oldState); if(newState.length>0){ newStateArray = (newState.split(", ") ? newState.split(", ") : newStateArray.push(newState) ); } if(oldState.length>0){ oldStateArray = (oldState.split(", ") ? oldState.split(", ") : oldStateArray.push(oldState) ); } // console.log('newStateArray.length: ' + newStateArray.length); // console.log('oldStateArray.length: ' + oldStateArray.length); changedPerson = diffArray(newStateArray, oldStateArray).toString(); changedPerson = changedPerson.replace(',',' und '); console.log('changedPerson: ' + changedPerson); if (newStateArray.length > oldStateArray.length){ // Person neu hinzugekommen sayString = "Willkommen zuhause " +changedPerson; delay =5000; } else { // Person hat den Bereich verlassen sayString = "Tschüss " + changedPerson; delay =0; } //Alexa ansteuern setState("alexa2.0.Echo-Devices.G000Jxxx.Commands.speak-volume"/*volume*/, 35); setStateDelayed("alexa2.0.Echo-Devices.G000xxx.Commands.speak"/*controlNext*/, sayString, delay, false); }); Grüße Markus Edit: code angepasst
  • Node Red Array in ioBroker nutzen

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    12k Aufrufe
    A
    Hallo, vielen Dank für den Tip. Habe es jetzt mit dem Array hinbekommen. André
  • WOL Skript Fehler

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    602 Aufrufe
    M
    @arteck: hast du auch die javainstanz kofiguriert ` nein, ging aber anscheinend auch ohne. danke trotzdem euch beiden
  • Blockly Anfänger möchte Rollos steuern Homematic Geräte

    Verschoben
    8
    1
    0 Stimmen
    8 Beiträge
    1k Aufrufe
    H
    @zakuma: Danke probiere ich mal so aus. Die Homematic Zentrale kann aber nur Tageszeit Sonnen auf/Untergang und dies ist mir zumindest bei Untergang eigentlich zu Früh. Hast schon recht das man die Grundfunktionen gut in der Zentrale nutzen kann, weiß aber nicht wann die Zentrale zu überladen ist. Man liest ja davon schon mal das zu viele Funktionen die Zentrale überladen deshalb wollte ich es direkt auslagern. ` Ich habe als eines der wenigen Scripte das Tageszeitenscript (such danach per Suchfunktion im Homematic-Forum) in der CCU laufen. Es befüllt eine Systemvariable mit den Werten Nacht;Frühmorgens;Morgengrauen;Vormittag;Mittag;Nachmittag;Dämmerung;Abend. Damit hast du genügend Zeitpunkte über den Tag verteilt, mit denen du arbeiten kannst. Dazu noch gewisse Verzögerungen in den Aktionen der Programme und fertig. Und was die Belastung der CCU betrifft, wirst du auch als Power-Anwender mit > 100 Geräten nicht an deren Grenzen kommen. Vorausgesetzt die von dir eingerichteten Programme arbeiten Funkhygienisch sauber und es gibt keine schlecht programmierten Scripte, die das System ausbremsen könnten. Gruß Manfred
  • Blockly 14 Tage timer

    Verschoben
    9
    0 Stimmen
    9 Beiträge
    1k Aufrufe
    A
    @Dutchman: Warum so kompliziert ? Jeden Tag laufen lassen und immer object + 1, Dan ne If wen object 13 für aus und setze auf null ` … wenn's auch einfach geht :-) Stimmt, so ist es eleganter.
  • Alle Unterobjekte abfragen

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    901 Aufrufe
    P
    Oder mit regexp: https://github.com/ioBroker/ioBroker.ja ... some-state Scroll nach unten. Pix
  • [Vorlage] Denon Skript

    Verschoben
    141
    1
    0 Stimmen
    141 Beiträge
    33k Aufrufe
    MicM
    @djtale2003: Danke für den Tip. Das Script funktionert. Aber wie kann ich dort den Trigger auslesen? Und wie kann ich in meiner Homematic die Systemvariablen für den Inputkanal und Power binden? Mit dem "alten" Script hat das wundebar funktioniert. ` Welcher Trigger? Dieser Thread hier handelt nicht vom Denon-Adapter, daher empfehle ich Dir, einen neuen Thread aufzumachen mit Bezug auf den Denon-Adapter und möglichst genauer Fragestellung.
  • Homematic Ramp_time in blockly

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    318 Aufrufe
    Niemand hat geantwortet
  • Umrechnung einer Variablen von Minuten in Stunden und Minuten

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    2k Aufrufe
    W
    Ich wollte, wenn ich die Betriebsstunden über snips abfrage, das der Wert, der in der wago in Minuten eingetragen ist, umgerechnet ausgegeben wird.
  • Blockly Skript licht schalten

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    2k Aufrufe
    B
    Hallo ihr zwei, Ich werde versuchen eure beiden Lösungsansätze in die Tat umzusetzen und Berichte euch anschließend. Vielen Dank für eure Unterstützung. Gesendet von meinem SM-A520F mit Tapatalk
  • Http-Befehl ausführen

    Verschoben
    5
    -1 Stimmen
    5 Beiträge
    2k Aufrufe
    BuZZyB
    var request = require("request"); request('http://192.168.178.78/test', function (error, response, body) { ..... hier dein Code um den body zu verarbeiten ..... }); Gruß
  • [gelöst] on Methode wird nicht ausgeführt

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    738 Aufrufe
    P
    Hallo, ich empfehle dir, den langen ID-Namen in eine Konstante zu packen. Der ändert sich ja nicht und so kannst du den Code übersichtlicher machen und eine Fehlerquelle ausschließen. Denn ich glaube, hier liegt auch das Problem. Während createState() automatisch die Instanz des Javascript-Adapters auswählt, in der das Skript abgespeichert wurde, braucht on() den Adapternamen und die Instanz immer in der ID. const idLueften = "javascript." + instance + ".RaumklimaBerechnung.Wohnzimmer.Lueften"; createState(idLueften, false, { read: true, write: true, desc: "", type: "boolean", def: 0 }); schedule("* * * * *", function() { var ra = getState("xxx").val; var ri = getState("xxx").val; if (ri > (ra + 1)) { setState(idLueften, true); } if (ri < (ra)) { setState(idLueften, false); } }); //Telegram Nachicht senden on({id: idLueften, val: true}, function(obj) { console.log("Telegram Lüften versenden"); }); Gruß Pix PS: Oder ändere ergänze einfach deinen Code um die Instanz in der on()-Funktion (hier als Beispiel mit Instanz 0) ! //Telegram Nachicht senden on({id: "javascript.0.RaumklimaBerechnung.Wohnzimmer.Lueften", val: true}, function (obj) { console.log("Telegram Lüften versenden"); }); !
  • Blockly Variable mit Wert erzeugen

    Verschoben
    15
    1
    0 Stimmen
    15 Beiträge
    12k Aufrufe
    strikegunS
    Danke, das Wissen hat mir gefehlt! @umbm: Die eigentliche Funktion ist der Einzeiler-Block und über das Zahnrad links kannst du Parameter hinzufügen und benennen. Die Funktion selbst erstellst du dann über die 3 Punkte rechts im Block direkt als Javascript. Der große zusätzliche Block, der (erst) dann entsteht und im Blockly-Script eingefügt werden kann ist dann der Aufruf der eigentlichen Funktion mit Übergabe der Parameter. `
  • [Gelöst] Skript Lichtzählen verweigert Namen Homematic-Geräte

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    262 Aufrufe
    Niemand hat geantwortet
  • Fhem adapter - auf Aliasname von obj zugreifen

    Verschoben
    5
    1
    0 Stimmen
    5 Beiträge
    420 Aufrufe
    paul53P
    @intershopper: Funktioniert ` Das Thema im Betreff des ersten Beitrags bitte als [gelöst] markieren.
  • Blocky: Teilerwert ermitteln und in Variable speichern =?

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    615 Aufrufe
    Espace0401E
    Ich habe zu der genannten Art den Ferraris Zähler auszulesen auch mal eine Frage bzw. seit kurzem ein Problem. Mir wird unter Objecte/mqtt beim Stromzähler unter dem Reiter "Qualitätscode" device not connected angezeigt. Wenn ich den mqtt Stoppe und Starte, ist dieses Meldung für einige Zeit weg, kommt aber dann wieder. Das ESP Modul ist dabei jeder Zeit erreichbar. Jemand eine Idee woher das kommt? [image: 2622_bildschirmfoto_2018-11-04_um_19.46.07.png]

770

Online

32.4k

Benutzer

81.4k

Themen

1.3m

Beiträge