Skip to content

Skripten / Logik

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

16.6k Topics 213.6k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    D
    @ArnoD Super, jetzt habe icheine Zeitangabe und keinen fehler mehr. Danke viel mals.
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Topics
    79k Posts
    HomoranH
    @Takahara sagte in Objekt ID auf Textinhalt prüfen // Current Radio Station: Wie kann ich den Textinhalt des Objektes "Current Radio Station" was immer "Textinhalt" sein soll, wäre vermutlich "Wert von"
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Topics
    13k Posts
    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
  • [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
    853 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
  • Script -> Telegram = zu viele Nachrichten

    Moved
    12
    1
    0 Votes
    12 Posts
    3k Views
    M
    Habe auch das Xiaomi System bei mir integriert, und wollte bzw. habe auch über blocky es eingesetzt und habe den Fehler nicht gefunden warum ich wenn ich das eine Fenster was ich eingepflegt habe gleich 13 Nachrichten kommen, was fehlt da oder was ist falsch? Oder fehlt mir da ein zusätzliches script? 5310_bildschirmfoto_2018-02-13_um_08.18.13.png 5310_bildschirmfoto_2018-02-13_um_08.33.54.png
  • Bitte um Hilfe bei Blockly

    Moved
    18
    0 Votes
    18 Posts
    3k Views
    peter pan01P
    Hallo, ich habe heute sehr viel gelernt. An der Stelle vielen Dank an alle die mich hier unterstützt haben. Ganz besonderer Dank geht an der Stelle an Paul53. Ohne deine ausführliche Darstellung hätte ich das nicht geschafft. Jetzt funktioniert so wie ich mir das vorgestellt habe und das Beste ich konnte mit der Darstellung das Ganze verstehen :lol: Gruß Peter
  • Blockly: Garagentor-Status mit HM MP3 Funkgong Ansagen und LEDs

    Moved
    1
    3
    0 Votes
    1 Posts
    849 Views
    No one has replied
  • [gelöst] Blockly Fensterkontakt Homematic

    Moved
    6
    1
    0 Votes
    6 Posts
    2k Views
    R
    danke euch ;) klappt super :D habs nun mit dem script fenster zählen gelöst und dann so in blockly geregelt [image: 3364_11.png]
  • Scripting Probleme

    Moved
    14
    0 Votes
    14 Posts
    1k Views
    H
    Danke und gute Nacht.
  • Stoppuhr

    Moved
    1
    0 Votes
    1 Posts
    388 Views
    No one has replied
  • 0 Votes
    6 Posts
    1k Views
    HomoranH
    Hab das mal zu den Skripten verschoben. Gruß Rainer
  • Status von Keymatic erkennen

    Moved
    3
    0 Votes
    3 Posts
    468 Views
    T
    Irgendwie habe ich da was durcheinander gebracht…. :-) Ja, ist bei mir auch so.
  • Intervall / Zeitschaltuhr Blocky Script

    Moved
    3
    0 Votes
    3 Posts
    1k Views
    H
    Vielen Dank. So einfach kann's gehen. :D
  • Frage zu on Funktion

    Moved
    3
    0 Votes
    3 Posts
    367 Views
    T
    @paul53: Nein. Erst auf true, dann gleich wieder auf false. Es wird ja nur bei Wertänderung ausgelöst. Teste selbst: on("Datenpunkt", function(dp) { setState(Datenpunkt, false); log('ne ' + dp.state.val); }); ```` ` Doch, weil ja die Funktion einmal auf Wertänderung reagiert und dann selbst den Wert von true auf false ändert und sich quasi somit seblst noch mal aufruft. Habe nun alle drei Möglichkeiten getestet und es ist genauso, wie ich es vermutet habe. Ich hatte nämlich bei einigen Funktionen ganz komische Ergebnisse, weil sie eben immer auf Wertänderung reagieren und dann zwei mal durchlaufen wurden. Nun verstehe ich das auch und kann das ändern. Gruß. Tobo
  • [Frage]wrong type of … "string" warum string?

    Moved
    5
    1
    0 Votes
    5 Posts
    900 Views
    A
    Hi Rantanplan, ok verstanden Danke!
  • [Frage] Teil aus Variable schneiden - slice [gelöst]

    Moved
    5
    0 Votes
    5 Posts
    639 Views
    T
    @bahnuhr: Also, von Stelle 3 bis zur Stelle 8. ` Ja nu hab ich es kapiert.
  • Über Blockly Javascript deaktivieren

    Moved
    1
    1
    0 Votes
    1 Posts
    451 Views
    No one has replied
  • 0 Votes
    7 Posts
    651 Views
    modmaxM
    Das sollte ausreichen. on({id: "hm-rpc.0.LEQ1250999.1.STATE"/*Schlafzimmerfenster Nordseite:1.STATE*/ , val: 2, change: "ne"}, func_Fenster_auf);
  • 0 Votes
    4 Posts
    2k Views
    paul53P
    @Leseratte10: Ist das schon der ganze Code? Da wird ja nirgendwo "timeout" mal auf irgendwas ` Ja, das ist der ganze Code. Die Timerobjektvariable timeout wird mit setTimeout() gesetzt. Klicke mal auf "Zeige Javascript", dann siehst Du es.
  • Probleme mit Schleife… ??

    Moved
    5
    1
    0 Votes
    5 Posts
    661 Views
    M
    Sehr geil.. ich musste allerdings die Abfrage des Bewegungsmelder von True auf "Wert von Melder = motion" abändern, da die Hue-Melder "motion" oder "nomotion" zurückgeben. Wäre es jetzt noch möglich, am Anfang des Scripts, die Objekte des Bewegungsmelders und der Lampe irgendwie in Variablen zu übergeben, damit man nicht an gefühlt 10 Stellen die richtigen Objekte einsetzen muss ? Dann könnte man das Script nämlich leichter als Vorlage für andere Räume nutzen.

719

Online

32.7k

Users

82.4k

Topics

1.3m

Posts