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
    P
    @ArnoD Ich habe mich gerade gewundert, warum das Tibber Script nicht wirklich lädt. In der Log habe ich folgendes gefunden: javascript.0 00:42:05.162 error function bestLoadTime: Kein Eintrag gefunden dateStartTime=Wed Nov 26 2025 00:42:05 GMT+0100 (Mitteleuropäische Normalzeit) dateEndTime=Wed Nov 26 2025 00:42:05 GMT+0100 (Mitteleuropäische Normalzeit) javascript.0 00:42:05.163 error Fehler in Funktion tibberSteuerungHauskraftwerk: Cannot read properties of null (reading 'zeit') Kann es sein dass ich mit der neuen NodeJS / JavaScript Version jetzt das Problem habe? Für den Fehler habe ich grad den richtigen Zeitpunkt erwischt, da die Strompreis grad astronomisch sind :-( Nachtrag: Ich bin jetzt wieder auf die alte Version von NodeJS und Java gegangen. Hier reagiert das Tibberscript wenigstens auf Änderungen. Ich denke, das Script muss erst noch an die neuen Versionen angepasst werden.
  • 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
  • Länge und Breite aus DP auslesen

    8
    0 Stimmen
    8 Beiträge
    358 Aufrufe
    C
    @paul53 Jo nu löppt es Ich hatte es schon richtig, aber weil sich nichts getan hat hab ich weiter versucht und das Ganze verschlimmbessert. Na ja wieder was dazu gelernt. Vielen Dank für die Hilfe.
  • Screenshot wird nicht erstellt.

    35
    1
    0 Stimmen
    35 Beiträge
    2k Aufrufe
    Curtis777C
    @andre Lieber Andre, und Lieber @Glasfaser Das war der Fehler. Danke euch, es läuft schon zumindest teilweise. Leider scheint es noch immer das Problem zu geben, das ich gehofft habe zu umgehen. PhantomJS hat anscheinend auch das Problem die MaterialWidgetAdvanced Widgets anzuzeigen. So sollte es aussehen bzw sieht es im Chrome Browser aus. [image: 1680024873498-2112dc9e-d4a9-4906-a925-0786a25fe962-image.png] und der Screenshot sieht dann so aus: [image: 1680024956475-168a95aa-63ec-4eef-8235-a9cf3ff44468-image.png] Danke euch!
  • Script zum Schalten einer Steckdose am Ecoflow zum laden

    37
    0 Stimmen
    37 Beiträge
    2k Aufrufe
    paul53P
    @würfel sagte: Verzögerung für das Ausschalten einzubauen ? Wo? So kann man unterschiedliche Verzögerungen für Ein- und Ausschalten realisieren: [image: 1680022897274-blockly_temp.jpg]
  • Frage: alias Konvertierungsfunktion

    12
    0 Stimmen
    12 Beiträge
    1k Aufrufe
    G
    @codierknecht said in Frage: alias Konvertierungsfunktion: Wobei Deine Lösung vermutlich etwas weniger Ressourcen frisst Ich habs gerade mal verglichen. Bei 100.000 Konvertierungen ist die Math.round()-Variante meist um 30ms schneller als die parseFloat()-Variante - auf meinem Pi4. 17:10:06.158 info javascript.0 (6125) script.js.common.Testen.Performance: -899 17:10:06.389 info javascript.0 (6125) script.js.common.Testen.Performance: 37 17:10:06.609 info javascript.0 (6125) script.js.common.Testen.Performance: 30 17:10:06.830 info javascript.0 (6125) script.js.common.Testen.Performance: 29 17:10:07.049 info javascript.0 (6125) script.js.common.Testen.Performance: 1029 17:10:07.269 info javascript.0 (6125) script.js.common.Testen.Performance: 29 17:10:07.487 info javascript.0 (6125) script.js.common.Testen.Performance: 29 17:10:07.707 info javascript.0 (6125) script.js.common.Testen.Performance: 30 17:10:07.923 info javascript.0 (6125) script.js.common.Testen.Performance: 28 17:10:08.141 info javascript.0 (6125) script.js.common.Testen.Performance: -973 Die Liste zeigt insgesamt 10 Versuche. Es wird die Dauer der Versuche mit parseFloat() von der Dauer mit Math.round() abgezogen. Das ist das Script: let loops:number = 100000; for (let j=0; j<10; j++) { // Erster Versuch let start=new Date().getMilliseconds(); for (let i=0; i<loops; i++) { parseFloat((i / 1000).toFixed(2)); } let end=new Date().getMilliseconds(); let duration=end-start; // Zweiter Versuch start=new Date().getMilliseconds(); for (let i=0; i<loops; i++) { Math.round(i / 10) / 100 } end=new Date().getMilliseconds(); let duration2=end-start; console.log(duration - duration2); }
  • Tasmota: mit Schalter unterschiedliche Szenen steuern

    21
    0 Stimmen
    21 Beiträge
    3k Aufrufe
    BananaJoeB
    @sorai Öhm, was genau willst du machen? Die von dir zitierte Anleitung dient der folgenden Funktion: Kurzer druck schaltet das direkt angeschlossene Gerät/Licht Langer druck (Hold) schaltet ein anderes Tasmota-Gerät Das mit der SetOption32 ... mhh lauf der offziellen Anleitung, ja es sind inzwischen 0.1 Sekunden-Schritte. Bei läuft es überall wo ich es einsetzt noch mit einer 3, in einem Zimme rnutze ich 5. wenn ich drüber nachdenke sind es keine 5 Sekunden, muss ich mal beobachten. In meiner Anleitung auf meiner Webseite habe ich mal einen Hinweis dazu eingebaut. Das habe ich neulich noch nach meiner eigenen Anleitung eingerichtet. Die Rule reagiert ja auf ON Switch1#State=3 Und das ist Hold laut Dokumentation: [image: 1680016468057-60323010-a4d0-4635-bc65-698f7984b526-image.png] https://tasmota.github.io/docs/Rules/#rule-trigger Hast du noch mehr Rules laufen?
  • Q: [selbst gelöst] Fehler in Scripten (Blockly)

    5
    0 Stimmen
    5 Beiträge
    125 Aufrufe
    wcag22W
    @homoran Ok, danke für den Hinweis. Ich hatte zwar schon so eine leise Ahnung, dass mit dem Begriff "global" eine etwas andere "Funktion" verbunden sein könnte, habe das aber ehrlicherweise ignoriert und auch nicht weiter vertieft. Gab ja auch bislang keine Probleme. Und Scripte, die andere Scripte triggern, wirds wohl auf absehbare Zeit bei mir nicht geben. Aber wer weiß... Der Hinweis mit dem Draft-Ordner ist ist gut und eigentlich viel aussagekräftiger, da selbstsprechender Name. Werde ich stehenden Fußes umsetzen. Zu den Logs: Richtig. Logs vorher lesen! Bisher hatte ich zum Glück keine Notwendigkeit auf Fehlersuche zu gehen. Von daher waren die Logs für mich bisher kein Thema. Aber es zeigt sich, dass so eine Community ziemlich nützlich ist. Auch bei Themen, die eher rechts und links von der eigentlichen Frage/vom eigentlichen Problem liegen. Der "Beifang" also :-) Kurz: habe schon eine Menge an kleinen Dingen dazugelernt. Danke Euch dafür... VG Peter
  • SayIt wird ausgeführt obwohl skript nicht mehr existiert

    6
    0 Stimmen
    6 Beiträge
    429 Aufrufe
    H
    @meister-mopper Danke für den Hinweis. Habe ich schon 'durchgekämmt' - nur das aktuelle Skript wurde gefunden.
  • Einen Telegram-User mit Rules-Skript anschreiben

    1
    0 Stimmen
    1 Beiträge
    123 Aufrufe
    Niemand hat geantwortet
  • Fahrzeug Standortabfrage mit Alexa

    12
    0 Stimmen
    12 Beiträge
    830 Aufrufe
    DJMarc75D
    @brunoz immer gerne :grinning:
  • kleiner Webserver auf Win Tablet

    2
    1
    0 Stimmen
    2 Beiträge
    118 Aufrufe
    liv-in-skyL
    @bahnuhr vielleicht geht dmit was?: https://bobbyhadz.com/blog/npm-warn-old-lockfile-the-package-lock-json-file-was-created npm install --package-lock-only
  • Fehler bei "Installing iobroker.javascript@6.1.4..."

    16
    0 Stimmen
    16 Beiträge
    1k Aufrufe
    O
    @thomas-braun danke, hat sich erledigt. VG
  • [Gelöst] JSON Tabelle per Email oder Telegram senden

    8
    0 Stimmen
    8 Beiträge
    670 Aufrufe
    nik82N
    @paul53 Du bist einfach der Beste! Vielen lieben Dank :+1:
  • UDP-Befehl mittels Blockly / JavaScript senden?

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    1k Aufrufe
    OliverIOO
    @slemy im javascript adapter läuft node. hier ein beispiel direkt aus der node dokumentation import dgram from 'node:dgram'; import { Buffer } from 'node:buffer'; const message = Buffer.from('FF13029CA52580AA7761646D696E0061646D696E002E', 'hex'); const client = dgram.createSocket('udp4'); client.send(message, 8899, '192.168.1.183', (err) => { client.close(); }); https://nodejs.org/docs/latest-v18.x/api/dgram.html#socketsendmsg-offset-length-port-address-callback ich hab hier mal auf die version 18 LTS verlinkt. da hat sich aber mit 19 auch nix verändert. Nicht durch die Doku verwirren lassen. Mit node kannst du auch udp server entwickeln. Das ist ein wenig komplexer die verwendeten module/bibliotheken sind bestandteile von node, daher müssen sie nicht in den javascript adapter einstellungen eingetragen werden. Wenn du das senden willst, FF 13 02 9C A5 25 80 AA 77 61 64 6D 69 6E 00 61 64 6D 69 6E 00 2E musst du nur die hexzahlen der reihe nach ohne leerzeichen schreiben. Ich habe dir den code oben mal aufbereitet. theoretisch einfach nur copy paste. sofern deine angaben alle stimmen. die hex zahlen kann ich nicht überprüfen const message = Buffer.from('FF13029CA52580AA7761646D696E0061646D696E002E', 'hex'); // Prints <Buffer FF 13 02 9C A5 25 80 AA 77 61 64 6D 69 6E 00 61 64 6D 69 6E 00 2E>, all data represented. https://nodejs.org/api/buffer.html#buffers-and-character-encodings (ziemlich am Ende des Abschnitts
  • Roborock bei Abwesenheit, aber nur 1x täglich starten

    5
    0 Stimmen
    5 Beiträge
    288 Aufrufe
    S
    @paul53 Auch eine gute Idee. Werde morgen mal ausprobieren, was ich am besten umgesetzt bekomme. Danke dir.
  • Cronjob immer letzter Tag im Monat

    Verschoben
    24
    0 Stimmen
    24 Beiträge
    7k Aufrufe
    CodierknechtC
    @endurance Nein, das Script startet um 23:30 Uhr und prüft, ob der Tag in 12 Stunden zufälligerweise der 1. ist. Dann ist ja der aktuelle Tag der letzte des Monats und die Verarbeitung soll durchgeführt werden. Laufen muss das Script ja nur vom 28. bis zum 31. - denn nur an diesen Tagen besteht die Chance, dass der nächste Tag der 1. ist.
  • Gelöst: Stur schalten oder lieber vorher IST-Zustand abfrag

    5
    1
    0 Stimmen
    5 Beiträge
    367 Aufrufe
    W
    @paul53 Ich Blindfisch, vor lauter Abfragen hatte ich vergessen, dass ich ja auch abfrage, ob auf Bewegungsmelder gerade überhaupt reagiert werdedn soll oder ich zu nachtschlafender Zeit lieber darauf verzichte. Super, dann ist mir klar, was ich zu tun habe. Ich danke Dir. :+1: Und Danke für die Info, dass Adapter auch stur Pakete absenden, wenn es eigentlich nicht nötig wäre. Da habe ich dann doch noch einiges mehr zu optimieren. Gruss, Jürgen
  • Heizungsprogramme mit Google Kalender. (ioBroker + iCal)

    3
    0 Stimmen
    3 Beiträge
    239 Aufrufe
    S
    @nachtfuchs vielen Dank für deine Mithilfe und deine Gedankenastöße. Habe es leider erst heute gesehen das jemand geantwortet hat, muss da wohl noch mal die Benachrichtigungeinstellungen ansehen.
  • IP Cam FTP Bild und Video per Telegram schicken

    3
    0 Stimmen
    3 Beiträge
    907 Aufrufe
    Bastian LahrmannB
    @liv-in-sky Danke für die Hilfe! Ich habe es mir dann doch einfacher gemacht und Motioneye trotzdem angebunden um mir das in der Vis anzuzeigen oder Bilder per Telegram zu schicken. Jetzt muss ich mir nur noch ein Skript bauen um die Dateien, die von Reolink gespeichert werden, automatisch zu löschen, aber ich denke, dass ich das hinbekomme. Gibt da ja auch einige Anleitungen. Danke dir!
  • iObroker restart per script

    5
    0 Stimmen
    5 Beiträge
    454 Aufrufe
    Thomas BraunT
    @dieterb sagte in iObroker restart per script: Warum sollte man das nicht verwenden? Weil für den ioBroker keine root-Rechte benötigt werden und wenn man den dennoch mit root-Rechten anpackt läufst du Gefahr dir das Rechtegefüge zu zerballern. Deswegen macht man das nicht. iob stop iob fix iob start ausführen.
  • Trigger unsubscribe (Verständnisfrage)

    22
    0 Stimmen
    22 Beiträge
    1k Aufrufe
    O
    @paul53 ja klar Script starten und werden von anderen Scripten mit Triggern aufgerufen / gestartet besser ausgedrückt. Wir meinen das selbe.

317

Online

32.4k

Benutzer

81.5k

Themen

1.3m

Beiträge