Skip to content

Skripten / Logik

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

16.5k Themen 213.2k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    P
    @arnod Leider ist das Problem immer noch vorhanden. Welchen Hysteresewert muss ich denn bei mir anpassen, damit ich mein Problem abmindern kann? Ich habe gesehen, dass es mehrere Hysteresewerte im Script gibt.
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Themen
    79k Beiträge
    M
    Ich habe einen zweiten Statuspunkt (Briefkasten_State) dazu genommen, den ich über einen Button immer wieder zurücksetze. [image: 1769854217178-screenshot-2026-01-31-110831.png]
  • 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?
  • [gelöst] Blockly Auslöser 0 Prozent

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    964 Aufrufe
    S
    Hallo Rantanplan, manchmal ist die Lösung so einfach. Aber ich habe Sie halt nicht gefunden. Danke für deinen Tipp :-) Funktioniert nun einwandfrei… Danke Gruß Sven
  • [Gelöst] Wie Geo-Position (Länge/Breite) in Javascript abfragen?

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    938 Aufrufe
    D
    Jupp, das klappt. Dank!
  • Skript Temperaturen basierend auf "Feuchtigkeitsscript" funktioniert nicht ganz

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    491 Aufrufe
    Niemand hat geantwortet
  • Wie einfache Zeitschaltung?

    Verschoben
    34
    1
    0 Stimmen
    34 Beiträge
    9k Aufrufe
    M
    Hallo. Da es in dem ursprünglichen Beitrag ebenfalls um eine Blocky Zeitschaltuhr ging hatte ich gedacht ich klinke mich in das Thema mit ein. Wollte hier ja nicht für Unordnung sorgen. Was ich genau möchte hatte ich ja bereits geschrieben. Aus der Reihe manuell schalten und die Zeitschaltuhr soll erst nach einer Zeit x den Zustand erneut prüfen und ggf korrigieren. Nicht bereits nach 1 Minute. Werde selber noch mal versuchen die Sache auf die Kette zu bekommen. Ansonsten muss ich halt einen neuen Thread auf machen. Gruß Markus Gesendet von meinem HUAWEI NXT-L29 mit Tapatalk
  • [gelöst]Daten splitten und Ausgängen zuweisen

    Verschoben
    2
    1
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    T
    Ich denke ich habe es gefunden… Durch weglassen der eckigen Klammern bei " return [ outputMsgs ]; " werden die Daten entsprechend der Ausgänge zugewiesen.
  • Allgemeine Frage zur Umsetzung / Bin ich hier richtig?

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    854 Aufrufe
    apollon77A
    Um die originale Frage zu beantworten: Du brauchst ein einfaches JavaScript-chen oder Blockly-Skript um genau das von Dir genannte "aufbereiten" der Daten zu machen, Das Ergebnis schreibst Du in neue States die dann unter z.B. javascript.0.xyz liegen und die kannst Du dann in VIS anzeigen
  • Blockly runterdimmen

    Verschoben
    8
    1
    0 Stimmen
    8 Beiträge
    2k Aufrufe
    P
    Danke für die Antwort. Ja die Variable ist zu Anfang leer (habe sie jetzt aber sicherhaltshalber mal auf 0 gesetzt zu Anfang.) Im Prinzip ist das ja richtig (wenn ich z.B. die Streifen mit dem Tablet anmache überschreibt der Schalter diesen Wert sonst), aber in diesem Fall wäre es erstmal egal. Ich bin dem Problem aber weiter auf der Spur und habe nun evtl. eine Lösung. Und zwar habe ich zwave.0.NODE2.CONFIGURATION.Time_to_complete_the_entire_transition_(for_MODE_2) von 68 auf 10 gesetzt. Dadurch läuft das Dimmen beim Einschalten viel schneller ab, aber das Programm funktioniert nun. Evtl. dimmt der Fibaro Controller zu langsam hoch, sodass iobroker "denkt" das der Befehl nicht ausgeführt wurde und dann wieder zurücknimmt? Naja nun gibt es aber ein neues Problem: Die Zeit bis der LED Controller auf den Tastendruck reagiert ist sehr lang. Beim ersten Tastendruck ( 0 => 10% reagiert der Controller quasi sofort, aber dann läuft es teilweise mit 10 Sekunden verzögerung ab. An was kann es liegen? Macht es einen Unterschied, ob ich direkt den Zustand beim Taster abfrage ("Falls Objekt XY ist wahr") oder Abfrage ob es eine Änderung gibt (wurde aktualisiert) und danach nochmal mit einem If Prüfe ob der Taster gedrückt wurde? Edit: Nachdem es mittlerweile gar nicht mehr reagiert hat (Die Ausgangswerte in iobroker haben sich zwar geändert, die Controller aber nicht mehr reagiert) und ich alles neugestartet habe (nur die Controller neuzustarten bzw. den Adapter zu resetten etc. reichte nicht) geht es nun recht und ohne Zeitverzögerung. Ich werde nun mal weiter testen ;)
  • Homematic LED Dimmer HM-LC-Dim1PWM-CV mittels Taster dimmen

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    4k Aufrufe
    S
    Hi Pix, hatte ich leider schon erfolglos probiert. Siehe verlinktes Thema im Startpost.
  • [gelöst]Script nicht unter Objekte sichtbar

    Verschoben
    31
    0 Stimmen
    31 Beiträge
    4k Aufrufe
    HomoranH
    @Superdad: Betreff lässt sich ja nicht ändern? ` Doch! Deinen Initialpost editieren und vorne dran [gelöst] schreiben
  • EBus Befehl über script absetzen

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    891 Aufrufe
    Niemand hat geantwortet
  • [gelöst] net.connect() Fehler lässt Javascript Adapter abstürzen.

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    D
    Problem gelöst. Aufrufe von nicht erreichbaren Dienste innerhalb von net.connect() führt zum Absturz des Javascript Adapters. Ich habe es nun etwas umformuliert. Hierbei greift nun auch der Error Handler. Auf diesem Wege habe ich auch direkt einen Timeout-Schutz hinzugefügt. Vielleicht kann es jemand gebrauchen ;-) var net = require('net'); function readTelnet3083() { var client = new net.Socket(); client.setTimeout(1000, function() { client.destroy(); }); client.connect(3083, function() { console.log("Verbunden"); }); client.on('data', function(data) { ... ... Hier wird die Telnet Ausgabe geparsed ... }); client.on('end', function () { console.log('Daten ausgelesen'); }); client.write('command 1\n'); client.write('command 2\n'); client.end(); client.on('error', function(err) { client.destroy(); console.log('Telnet Server nicht erreichbar. Telnet Neustart'); exec('/etc/init.d/telnetservice restart'); }); } setInterval(function() { readTelnet3083(); }, 60000); Werde noch den Thread-Titel anpassen, da dieser ja nun überhaupt nicht mehr passt ;-)
  • 433 Mhz Funksteckdose mit Skript will nicht

    Verschoben
    12
    0 Stimmen
    12 Beiträge
    2k Aufrufe
    AlCalzoneA
    @Matze1708: Aber braucht man diese Konstellation überhaupt? Kann man das nicht über ein skript erledigen? ` Du kannst natürlich ein Skript bauen "Steckdose_an", in dem nur die exec-Befehle stehen und eins "Steckdose_aus", in dem die Befehle zum Ausschalten sind. Die kannst du von Hand starten und wieder stoppen. Die sauberere Variante (wie in artecks Skript) ist aber ein Datenpunkt, der entweder true oder false ist (an oder aus) und von einem Skript überwacht wird. Erkennt das Skript, dass der Datenpunkt true ist, werden die an-Befehle gesendet, sonst die aus-Befehle. –- "javascript.0.scriptEnabled.Skripte.Funksteckdosen.2Dose_dummy" als Datenpunkt-Name ist aber ungünstig. Wo hast du das her? scriptEnabled.*** steht eigentlich für den Zustand (aktiviert /deaktiviert) von Scripts. Geeigneter wäre ein Name wie "javascript.0.Funksteckdosen.2Dose_Status".
  • [GELÖST] id Übergabe an Function klappt nicht

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    1k Aufrufe
    M
    Danke an alle für die Hilfe. Da hatte ich am Anfang wohl Tomaten auf den Augen. Die Idee mit den 5s habe ich direkt auch übernommen. Gruß Michael
  • Frage zu Blockly, MP3 Gong und Dimmer

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    rellikR
    Manchmel steht man einfach nur auf dem Schlauch, oder sieht den Wald vor lauter Bäumen nicht! ;-) Danke!
  • [gelöst] Homematic Systemvariable / State nicht auslesbar?

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    DutchmanD
    @peter_muc_one: @Blackmike: deineVariable= getState ("IDvonDeinerSystemvariablen").val; dann tuts des. greetz black der bei object.object darauf wettet, das das .val fehlt. ` Ganz blöde Anfänger frage, wo muss ich das hinschreiben? ` -Javascript Adapter installieren Dan bekommst du eine Instanz um derartige scripte zu implementieren –----------------------- Send from mobile device
  • [Gelöst] Wird das Script bei Neustart ausgeführt ?

    Verschoben
    14
    0 Stimmen
    14 Beiträge
    2k Aufrufe
    paul53P
    @dwm: Aber: Triggert das on() auch, wenn evt. der S7 schon da wäre? ` Habe das Skript ergänzt. @dwm: Das alive kommt alle 5 Sekunden…Evtl noch ein change:"ne" in das on() rein ` Ja, ist ebenfalls ergänzt.
  • [GELÖST] Schalten eines Fritz Wlan 546e über URL-Aufruf

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    K
    Hi Heinzel, magst du gut vielleicht eine kurze Anleitung schreiben, was du wo womit genau gemacht hast? Und dein Widget auch hier rein Kopieren? Hilft mit Sicherheit den einen oder anderen sehr weiter. Danke dir ;) VG kueppert Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk
  • Frage zu Blockly, kann man das so machen ?

    Verschoben
    7
    6
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    rantanplanR
    @rellik: Aber wegen den Hilfsvariablen, ohne bekomme ich das aber nicht hin, oder gibt es da eine andere Variante ? ` Hilfsvariablen global oder lokal sind schon wichtig! Ich setzte die auch fleissig ein. Aber wenn man ALLES in ein Script packt, kann man sich mit den lokalen schon mal vertuen. Alles gut. Du bist auf dem richtigen Weg ;) Grüße
  • Ansage "Wäsche ist fertig" HILFE

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    3k Aufrufe
    P
    Mein Code sieht so aus. Einfach und funktioniert super. besonders beim Trockner, weil der am Ende noch auflockert. Das valLt und oldValGe sind echt gute Funktionen. Gruß var timer = null; // Einschaltverzögerung on({id: "hm-rpc.0.LEQ1314518.2.POWER", valLt: 1.1, oldValGe: 100}, function() { timer = setTimeout(meldung, 120000); // in ms log("Einschaltverzögerung ausgelöst"); }); // Timer löschen on({id: "hm-rpc.0.LEQ1314518.2.POWER", valGe: 100, oldValLt: 5}, function() { if(timer) clearTimeout(timer); log("Timer löschen"); }); // Anweisung function meldung() { log("Trockner fertig"); //Sayit setState("sayit.0.tts.text", "de;40;" + 'Der Trockner ist fertig'); //Push schicken sendTo("telegram.0", "send", { text: 'Trockner', }); }
  • Relais schalten nach Aktivierung des Bildschirmschoners

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    912 Aufrufe
    DutchmanD
    Eh ja Dan löse es komplizierter und sehr umständlich ? Lese dich Mal in multihost ein, du installierst nur ioBroker en dan Verbindung mit Master der Master steuert alles. Ich finde das nicht ne Kanone auf Spatzen sondern eher anstatt nen Trabant für die gleiche Mühe/Kosten nen ferrarie fahren. Damit ermöglichen sich dir auch ganz andere Sachen wie zB sayit usw. Jedem seine eigene Entscheidung, aber warum schwer wens auch leicht geht und System dafür konzipiert ist ? ~Dutch –----------------------- Send from mobile device

762

Online

32.6k

Benutzer

82.2k

Themen

1.3m

Beiträge