Skip to content

Skripten / Logik

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

16.4k Themen 211.7k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 48k
    2k Themen
    48k Beiträge
    M
    @ArnoD Hallo Arno, ich musste heute meinen RaspPi neu starten, weil ich ein Update von bookworm auf trixie gemacht hatte. Nach dem Starten vin iObroker in docker bekomme ich quasi alle fünf Sekunden wieder eine Fehlermeldung. Ich verwende Version 1.6.6 deines Skripts... EDIT: Mein Fehler... Ich hatte die Änderungen zwar in eine neue Skriptversion integriert, diese aber nicht gespeichert sondern "nur" gestartet. Nach dem reboot war die Originalversion (also 1.6.5) wieder da... Jetzt passt wieder alles! 2025-11-27 14:28:49.955 - error: javascript.0 (174) script.js.E3DC-Control.Charge-Control-1_6_6: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. 2025-11-27 14:28:54.979 - error: javascript.0 (174) script.js.E3DC-Control.Charge-Control-1_6_6: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. 2025-11-27 14:29:00.110 - error: javascript.0 (174) script.js.E3DC-Control.Charge-Control-1_6_6: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. 2025-11-27 14:29:04.864 - error: javascript.0 (174) script.js.E3DC-Control.Charge-Control-1_6_6: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. 2025-11-27 14:29:10.083 - error: javascript.0 (174) script.js.E3DC-Control.Charge-Control-1_6_6: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. 2025-11-27 14:29:14.950 - error: javascript.0 (174) script.js.E3DC-Control.Charge-Control-1_6_6: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. 2025-11-27 14:29:19.941 - error: javascript.0 (174) script.js.E3DC-Control.Charge-Control-1_6_6: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. 2025-11-27 14:29:24.999 - error: javascript.0 (174) script.js.E3DC-Control.Charge-Control-1_6_6: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. 2025-11-27 14:29:29.948 - error: javascript.0 (174) script.js.E3DC-Control.Charge-Control-1_6_6: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. 2025-11-27 14:29:34.860 - error: javascript.0 (174) script.js.E3DC-Control.Charge-Control-1_6_6: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. 2025-11-27 14:30:00.021 - error: javascript.0 (174) script.js.E3DC-Control.Charge-Control-1_6_6: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. 2025-11-27 14:30:00.285 - warn: javascript.0 (174) script.js.E3DC-Control.Tibber-2_1_0: aktivePhase ist null oder undefined 2025-11-27 14:30:04.904 - error: javascript.0 (174) script.js.E3DC-Control.Charge-Control-1_6_6: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. 2025-11-27 14:30:09.947 - error: javascript.0 (174) script.js.E3DC-Control.Charge-Control-1_6_6: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. 2025-11-27 14:30:14.987 - error: javascript.0 (174) script.js.E3DC-Control.Charge-Control-1_6_6: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. 2025-11-27 14:30:19.881 - error: javascript.0 (174) script.js.E3DC-Control.Charge-Control-1_6_6: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. 2025-11-27 14:30:24.909 - error: javascript.0 (174) script.js.E3DC-Control.Charge-Control-1_6_6: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. 2025-11-27 14:30:29.965 - error: javascript.0 (174) script.js.E3DC-Control.Charge-Control-1_6_6: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. 2025-11-27 14:30:34.864 - error: javascript.0 (174) script.js.E3DC-Control.Charge-Control-1_6_6: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. Ich versuche gleich nochmal ein Reboot, aber ich fürchte, das wird nix bringen... Gruß Michael
  • Hilfe für Skripterstellung mit Blockly

    6k 78k
    6k Themen
    78k Beiträge
    nik82N
    Hi, hab downgrade gemacht, kommt aber immer noch leider :-)
  • 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
  • Dauer in VIS anzeigen (minütlich aktualisiert)

    6
    0 Stimmen
    6 Beiträge
    262 Aufrufe
    crunchipC
    @rtwl sowas z.b. widget [{"tpl":"tplValueLastchange","data":{"oid":"zigbee.0.00158d00052da0d3.opened","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"format_date":"DD.MM.YYYY - hh:mm:ss Uhr","html_prepend":"Fenster zuletzt geöffnet am &nbsp","html_append":""},"style":{"left":"769px","top":"176px","z-index":"10","width":"454px","height":"30px","color":"","font-family":"Jura-DemiBold","text-align":"right","line-height":"2","background":"","background-color":"","border-width":"","border-style":"","border-radius":"","border-color":"","box-shadow":""},"widgetSet":"basic"}]
  • Kalender html trennen

    11
    0 Stimmen
    11 Beiträge
    696 Aufrufe
    Curtis777C
    @david-g Bei mir kommen 3 Kalender zusammen. Alle Farbcodiert. Sieht momentan So in der VIS aus. MAn sieht allerdings nicht sofort wann welches Event ist daher eher eine Provisorische Lösung. [image: 1684952694755-f9a8cd27-41cb-43f6-8bf0-2e4a9395312e-image.png]
  • Alias-Datenpunkt anlegen - kein zusätzliches Ziel

    7
    0 Stimmen
    7 Beiträge
    447 Aufrufe
    T
    @mickym Dann habe ich die dazugehörigen Daten wieder an 2 Stellen stehen: alles was aus normalen Datenpunkten steht, alle virtuellen Daten (Counter etc.) die dazugehören nur in Userdata. Das macht die Wartbarkeit in ein paar Monaten / Jahren (wenn man nicht mehr alles im Kopf hat) doppelt schwierig. Dann lieber beim Anlegen die komplette Struktur in Alias + extern verlinkte Datenpunkte. Ich habe beruflich genug mit Strukturen zu tun, wo niemand nach einiger Zeit mehr einen Überblick hat, und so etwas versuche ich möglichst überall zu vermeiden (alle Daten an einem Punkt bzw. virtuell verlinkt) Damit man nicht immer eine Checkliste benötigt (checke Position1 1, weitere Daten stehen an Pos2,...) ich hatte einfach gehofft, dass es eine Möglichkeit gibt, vollwertige Datenpunkte anzulegen. Da es nicht geht, muss ich damit klarkommen und die zusätzliche Arbeit machen
  • Withings Daten einlesen

    Verschoben
    126
    1
    0 Stimmen
    126 Beiträge
    33k Aufrufe
    oberfraggerO
    @damrak2022 sagte in Withings Daten einlesen: @pix Guten Morgen, ich nutze von Withings momentan die Withings Sleep Sensormatte. Die beiden Keys habe ich erstellt und in den Einstellungen von Withings hinterlegt. Könntest Du mir sagen, wie ich nun die Daten von meinem Schlaf grafisch darstelle. Welches Widget empfiehlt sich dafür und vor allem mit welchen Datenpunkten muss ich das verknüpfen? [image: 1645592282248-bildschirmfoto-2022-02-23-um-05.57.14-resized.png] Da bin ich leider noch nicht fit genug und hoffe das Du mir weiterhilfst. Ist zwar lange her... aber du bist im falschen Unterordner. Du brauchst Start- und Enddatum. [image: 1684844843163-66bc3a6b-284f-4816-a9b2-e0668d54a19f-image.png]
  • Intelligente Zirkulationssteuerung

    8
    0 Stimmen
    8 Beiträge
    1k Aufrufe
    HomoranH
    @schmakus Wollte das gestern schon schreiben, als heute morgen der Thread immer länger wurde, hab ich mich dann aufgerafft, und jetzt steht es schon da. Auch wenn man das ggf. selber billiger hinbekäme. Die Bausätze von Eugen sind immer super durchdacht.
  • PV Überschuss berechnen

    51
    0 Stimmen
    51 Beiträge
    5k Aufrufe
    S
    @paul53 Danke
  • Alarm wenn sich BIT aus Word ändert

    14
    2
    0 Stimmen
    14 Beiträge
    785 Aufrufe
    T
    @paul53 danke, das wuste ich nicht. aber somit ist mein bedenken eh unrelevant
  • [gelöst]Berechnung und Datenpunkt erzeugen

    13
    0 Stimmen
    13 Beiträge
    934 Aufrufe
    J
    @karel-puhli alles klar, wieder was gelernt
  • Licht-Schaltung funktioniert so leider nicht

    4
    2
    0 Stimmen
    4 Beiträge
    192 Aufrufe
    maximal1981M
    @mico natürlich ist sie um 0500 noch an. wenn man um 0450 startet und 20 min verzögert = 0510
  • Werte im Skript händisch ändern

    11
    1
    0 Stimmen
    11 Beiträge
    261 Aufrufe
    W
    @dr-pie Wäre es da nicht sinnvoll, direkt auf die Helligkeit außen zu reagieren. Irgendwo einen Helligkeitssensor montiert und dann je nach Wert eben mehr oder weniger Helligkeit einstellen. Dann brauchst Du selber gar nix mehr machen, nichtmal Gedanken, wann das ideale Datum für die kurze oder längere Leuchtzeit wäre. Das würde ich smart nennen… Gruss, Jürgen
  • Problem bei Blockly und Shelly

    55
    2
    0 Stimmen
    55 Beiträge
    5k Aufrufe
    R
    @paul53 Alles klar, ich denke ich habe den Fehler jetzt auch gefunden. Der erste Timer war als Unbenannt drin. Ich habe jetzt nchmal "delayon" überall ausgewählt und das unbenannt ist raus. Jetzt hat es endlich funktioniert. Sorry für die Umstände und die Mühe mit mir aber ich danke dir vielmals, dass du die Geduld aufgebracht hast.
  • Yahka hue color nach hex convertieren

    Verschoben
    90
    1
    0 Stimmen
    90 Beiträge
    23k Aufrufe
    K
    Hallo Möchte hier mal meinen Beitrag teilen, der bei mir in Verbindung mit Tuya RGBW Controllern aus China läuft. Man benötigt 2 Skripte und ein paar Datenpunkte, die angelegt werden müssen. Skript wandelt die von Homekit gesendeten Werte für Hue und Saturation in HEX var red = "0_userdata.0.rgb_rot"; var green = "0_userdata.0.rgb_gruen"; var blue = "0_userdata.0.rgb_blau"; var hue = "0_userdata.0.rgb_hue"; //in Yahka mit Hue verknüpfen var saturation = "0_userdata.0.rgb_saturation"; //in Yahka mit Saturation verknüpfen var hex = "tuya.0.xxxxxxxxxxxxxxxxxxxxx.24-rgb"; //Hex Wert im Tuya Gerät, der geschrieben werden soll var hexUpdateFromHomekit = true; var hexUpdateFromHex = true; function updateRGB() { var h = getState(hue).val; var s = getState(saturation).val / 100; var v = 1; var c = v * s; var x = c * (1 - Math.abs((h / 60) % 2 - 1)); var m = v - c; var r = 0; var g = 0; var b = 0; if (h < 60) { r = c; g = x; } else if (h < 120) { r = x; g = c; } else if (h < 180) { g = c; b = x; } else if (h < 240) { g = x; b = c; } else if (h < 300) { r = x; b = c; } else { r = c; b = x; } r = Math.round((r + m) * 255); g = Math.round((g + m) * 255); b = Math.round((b + m) * 255); var hexValue = "#" + ("0" + r.toString(16)).slice(-2) + ("0" + g.toString(16)).slice(-2) + ("0" + b.toString(16)).slice(-2); setState(hex, hexValue); setState(red, r); setState(green, g); setState(blue, b); } on({id: hue, change: "ne"}, function (obj) { if (hexUpdateFromHex) { hexUpdateFromHomekit = false; updateRGB(); setTimeout(function () { hexUpdateFromHomekit = true; }, 2000); // 2 seconds } }); on({id: saturation, change: "ne"}, function (obj) { if (hexUpdateFromHex) { hexUpdateFromHomekit = false; updateRGB(); setTimeout(function () { hexUpdateFromHomekit = true; }, 2000); // 2 seconds } }); 2.Skript wandelt die in der Smart Life App eingestellten Hex-Werte rückwärtig über RGB wieder in Hue und Saturation. Die Live Listener pausieren sich gegenseitig um 2 Sekunden, damit man nicht in eine Schleife läuft. var red = "0_userdata.0.rgb_rot"; var green = "0_userdata.0.rgb_gruen"; var blue = "0_userdata.0.rgb_blau"; var hue = "0_userdata.0.rgb_hue"; //in Yahka mit Hue verknüpfen var saturation = "0_userdata.0.rgb_saturation"; //in Yahka mit Saturation verknüpfen var hex = "tuya.0.xxxxxxxxxxxxxxxxxxxxx.24-rgb"; //Hex Wert im Tuya Gerät, der geschrieben werden soll var hexUpdateFromHomekit = true; var hexUpdateFromHex = true; function updateHS() { var hexValue = getState(hex).val; hexValue = hexValue.replace("#", ""); var r = parseInt(hexValue.substring(0, 2), 16); var g = parseInt(hexValue.substring(2, 4), 16); var b = parseInt(hexValue.substring(4, 6), 16); r /= 255, g /= 255, b /= 255; var max = Math.max(r, g, b), min = Math.min(r, g, b); var h, s, l = (max + min) / 2; if (max == min) { h = s = 0; } else { var d = max - min; s = l > 0.5 ? d / (2 - max - min) : d / (max + min); switch (max) { case r: h = (g - b) / d + (g < b ? 6 : 0); break; case g: h = (b - r) / d + 2; break; case b: h = (r - g) / d + 4; break; } h /= 6; } setState(hue, Math.round(h * 360)); setState(saturation, Math.round(s * 100)); setState(red, Math.round(r * 255)); setState(green, Math.round(g * 255)); setState(blue, Math.round(b * 255)); } on({id: hex, change: "ne"}, function(obj) { if (hexUpdateFromHomekit) { hexUpdateFromHex = false; setTimeout(function() { updateHS(); hexUpdateFromHex = true; }, 2000); } }); on({id: red, change: "ne"}, function(obj) { if (hexUpdateFromHex) { hexUpdateFromHomekit = false; updateHex(); setTimeout(function() { hexUpdateFromHomekit = true; }, 2000); } }); on({id: green, change: "ne"}, function(obj) { if (hexUpdateFromHex) { hexUpdateFromHomekit = false; updateHex(); setTimeout(function() { hexUpdateFromHomekit = true; }, 2000); } }); on({id: blue, change: "ne"}, function(obj) { if (hexUpdateFromHex) { hexUpdateFromHomekit = false; updateHex(); setTimeout(function() { hexUpdateFromHomekit = true; }, 2000); } }); function updateHex() { var r = getState(red).val; var g = getState(green).val; var b = getState(blue).val; r /= 255, g /= 255, b /= 255; var max = Math.max(r, g, b), min = Math.min(r, g, b); var h, s, l = (max + min) / 2; if (max == min) { h = s = 0; } else { var d = max - min; s = l > 0.5 ? d / (2 - max - min) : d / (max + min); switch (max) { case r: h = (g - b) / d + (g < b ? 6 : 0); break; case g: h = (b - r) / d + 2; break; case b: h = (r - g) / d + 4; break; } h /= 6; } var hexValue = "#" + ("0" + Math.round(r * 255).toString(16)).slice(-2) + ("0" + Math.round(g * 255).toString(16)).slice(-2) + ("0" + Math.round(b * 255).toString(16)).slice(-2); hexUpdateFromHex = false; setState(hex, hexValue); setTimeout(function () { hexUpdateFromHex = true; }, 2000); // 2 seconds hexUpdateFromHomekit = false; setState(hue, Math.round(h * 360)); setState(saturation, Math.round(s * 100)); setTimeout(function () { hexUpdateFromHomekit = true; }, 2000); // 2 seconds } Somit wird Homekit und Smart Life App immer synchron gehalten. Was ich noch nicht zum laufen gebraucht habe ist das Dimmen der Farben über Homekit. Zieht man hier den Regler runter, geht der Tuya Controller in der Weiß-Modus und dimmt da runter. Da muss ich mich nochmal hinsetzen und das Dimmen über RGB implementieren.
  • Hilfe bei 2 Taster sollen 1 Shelly PlugS steuern

    8
    0 Stimmen
    8 Beiträge
    679 Aufrufe
    J
    @tom-haase Das sollte laufen, wobei ich den "umschalten" Block noch nie verwendet habe. Die Shelly müssen so aber als Schalter konfiguriert sein. Mit Taster läuft das nicht, wobei man da einfach im Trigger auf "ist größer als letztes" stellen muss, dann reagiert er nur auf die Flanke von 0 nach 1 .
  • Batterielevel auslesen

    7
    0 Stimmen
    7 Beiträge
    521 Aufrufe
    S
    @codierknecht Danke, dann habe ich es falsch verstanden. Ich bin nicht unbedingt auf Windows fixiert, Linux wäre auch möglich. Bei SNMP und wmi bin ich bis jetzt nicht fündig geworden den Ladezustand bequem auszulesen Das sieht auch sehr nett aus, werde ich mal testen. Anscheinend funktionieren die Funktionen vom Fully Kiosk Browser unter Windows, wundert mich das noch keiner die 2-3 verschiedenen Ansätze zu einem Browser verbunden hat. Ich kann leider nicht programmieren
  • Wenn Wochentag X dann Wert von Objekt Y

    7
    0 Stimmen
    7 Beiträge
    780 Aufrufe
    B
    @miwi Hallo miwi, klappt das Script bei dir einwandfrei bzw. zeigt die richtigen Werte an ? Bei mir kommt es immer mal wieder vor, dass er einen Tag verschluckt und nicht den Wert von z. B. vorgestern übernimmt.
  • (GELÖST) Syntax API REST Swagger via Curl etc.

    7
    0 Stimmen
    7 Beiträge
    931 Aufrufe
    M
    @pischleuder die Zugangsdaten sind das Token welches du beginnst wenn du dich via API mit den Login Daten authentifiziert. Also API token erstellen Mit token über die API die gewünschten Daten abfragen. Token ist nur begrenzt gültig
  • Script anhalten und wieder starten über ein anderes Script

    45
    0 Stimmen
    45 Beiträge
    3k Aufrufe
    AlexAtHomeA
    @bahnuhr Dann baue ich es vielleicht doch wieder um, aber erst nach meinem Urlaub... :-) Wobei, wie gesagt, "ständig" in dem Fall ja nur 1-3 mal pro Jahr wäre.
  • UND-Verknüpfung in Blockly

    5
    0 Stimmen
    5 Beiträge
    373 Aufrufe
    D
    @cluni Besten Dank für die Unterstützung, ich habe jetzt auch auf positive logik umgestellt und arbeite mit ODER (Fenster auf). [image: 1683199356496-ba2b8a3e-3378-4498-961c-99052d1a8ff0-image.png] Gruß Klaus
  • Befehl an Alexa - Zahl als Text in Nummer umwandeln

    3
    0 Stimmen
    3 Beiträge
    289 Aufrufe
    T
    du musst die Antwort zerlegen, die Worte per ersetze in Ziffern wandeln und richtig zusammensetzen. Danke. Ich hatte die wahnsinnige Hoffnung, dass man schon irgendwie eine Sprachanalyse von Alexa, Google oder ChatGPT nutzen kann... Dann werde ich wohl oder übel Routinen anlegen müssen und den Status dieser Routinen auswerten. Gruß Tom
  • Mit PV-Überschuss E-Auto laden: Wolkenerkennung?

    16
    0 Stimmen
    16 Beiträge
    2k Aufrufe
    JohGreJ
    @badsnoopy667 Ja genau, bei mit hat tatsächlich Netz-OÖ im Bescheid die Einspeisebegrenzung vorgeschrieben. Bei der Abnahme der Anlage war der PV-Installateur und ein Techniker von Netz-OÖ da und der hat sich die Beschränkung in der Anlage explizit zeigen lassen. Liegt an unserem Trafo wo wir draufhängen, hab schon um Erhöhung angefragt und zurückgemeldet bekommen um 24.000€ erweitern sie mir den Trafo und dauert aufgrund Lieferschwierigkeiten 1-2 Jahre.

865

Online

32.4k

Benutzer

81.5k

Themen

1.3m

Beiträge