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
  • IP Türsprechanlage

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    892 Aufrufe
    F
    Hi Michael, schaue dir mal die Android App Mediaplayer24 an. Bei dieser kannst Du mit einem Webaufruf eine bestimmte Datei auswählen, die du zuvor auf dem oder dieTablet(s) gespeichert hast. Dann schreibst Du ein JavaScript mit einem on({id:"Deine Variable mit ID Selector einfügen) usw. und sendest die 3 urls zu Deinen Tablets. Dazu findest Du hier bestimmt Beispiele, habe gearde keines Parat. Den URL Aufruf zeigt dir der MediaPlayer24 meine ich sogar an. Du musst dann aber sicherstellen, dass deine Tablets immer die gleiche IP erhalten. Vorteil: Mit dem ioBroker sayit Adapter kannst Du dann auch gleich schöne individuelle Sprachausgaben realisieren. Vielleicht ist das auch schon für Dich die Lösung, da Deine mp3s in Wirklichkeit sprachsamples sind? Dann würde ich eh zum SayIt raten, da individuelle Ansagen nett sind. So long, Fitti
  • [gelöst]öffnen einer URL zur Steuerung

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    Jeeper.atJ
    Hallo, ich dachte so hätte ich es schon mal probiert. Aber offensichtlich nicht. Jetzt funktioniert es. Vielen dank Günther
  • E-mail Script für Statusmeldungen

    Verschoben
    26
    0 Stimmen
    26 Beiträge
    6k Aufrufe
    P
    Halo Sven, die Antworten untereinander bekommst Du so: var txtPoolpumpe = ""; var txtGaragentor = ""; var txtTerrassentuer = ""; var txtBadRechts = ""; var txtBadLinks = ""; var txtKind2 = ""; var txtKind1 = ""; var txtSchlafen = ""; var txtArbeit = ""; if (getState("hm-rpc.0.KEQxxxxxxx.1.STATE").val) {txtPoolpumpe = "An"} else{txtPoolpumpe = "Aus"} if (getState("hm-rpc.0.MEQxxxxxxx.1.STATE").val) {txtGaragentor = "Auf"} else{txtGaragentor = "Zu"} if (getState("hm-rpc.0.KEQxxxxxxx.1.STATE").val === 0){txtTerrassentuer = "Zu"} if (getState("hm-rpc.0.KEQxxxxxxx.1.STATE").val === 1){txtTerrassentuer = "gekippt"} if (getState("hm-rpc.0.KEQxxxxxxx.1.STATE").val === 2){txtTerrassentuer = "ganz auf"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 0){txtBadRechts = "Zu"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 1){txtBadRechts = "gekippt"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 2){txtBadRechts = "ganz auf"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 0){txtBadLinks = "Zu"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 1){txtBadLinks = "gekippt"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 2){txtBadLinks = "ganz auf"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 0){txtKind2 = "Zu"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 1){txtKind2 = "gekippt"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 2){txtKind2 = "ganz auf"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 0){txtKind1 = "Zu"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 1){txtKind1 = "gekippt"} if (getState("hm-rpc.0.LEQxxxxxxx.1.STATE").val === 2){txtKind1 = "ganz auf"} if (getState("hm-rpc.0.MEQxxxxxxx.1.STATE").val) {txtSchlafen = "Auf"} else{txtSchlafen = "Zu"} if (getState("hm-rpc.0.MEQxxxxxxx.1.STATE").val) {txtArbeit = "Auf"} else{txtArbeit = "Zu"} sendTo("email", { from: "iobroker@edv-team.de", to: strTo, subject: strBetreff, //text: strText //HTML body html: '``` ' + '**Termine:**' + ' ' + getState("ical.0.data.html").val + ' ' + ' ' + '**Temperaturen & Luftfeuchte:**' + ' ' + 'es wird heute voraussichtlich bis zu ' + getState("yr.0.forecast.day0.temperature_max").val +'°C warm.' + ' ' + ' ' + getState("yr.0.forecast.html").val + ' ' + 'Pool ' + (getState("hm-rpc.0.LEQxxxxxxx.1.TEMPERATURE").val).toFixed(1) +'°C' + ' ' + 'Garten ' + (getState("hm-rpc.0.LEQxxxxxxx.1.TEMPERATURE").val).toFixed(1) +'°C | ' + getState("hm-rpc.0.LEQxxxxxxx.1.HUMIDITY").val + '% ' + 'Wohnzimmer ' + (getState("hm-rpc.0.LEQxxxxxxx.1.TEMPERATURE").val).toFixed(1) +'°C | ' + getState("hm-rpc.0.LEQxxxxxxx.1.HUMIDITY").val + '% ' + 'Bad ' + (getState("hm-rpc.0.LEQxxxxxxx.1.TEMPERATURE").val).toFixed(1) +'°C | ' + getState("hm-rpc.0.LEQxxxxxxx.1.HUMIDITY").val + '% ' + 'Kind2 ' + (getState("hm-rpc.0.LEQxxxxxxx.1.TEMPERATURE").val).toFixed(1) +'°C | ' + getState("hm-rpc.0.LEQxxxxxxx.1.HUMIDITY").val + '% ' + 'Kind1 ' + (getState("hm-rpc.0.LEQxxxxxxx.1.TEMPERATURE").val).toFixed(1) +'°C | ' + getState("hm-rpc.0.LEQxxxxxxx.1.HUMIDITY").val + '% ' + 'Schlafen ' + (getState("hm-rpc.0.LEQxxxxxxx.1.TEMPERATURE").val).toFixed(1) +'°C | ' + getState("hm-rpc.0.LEQxxxxxxx.1.HUMIDITY").val + '% ' + 'Arbeit ' + (getState("hm-rpc.0.LEQxxxxxxx.4.ACTUAL_TEMPERATURE").val).toFixed(1) +'°C' + ' ' + ' ' + '**Offen / Laufzeiten:** '+ '' + '' + '' + '' + '' + '' + '' + '' + '' + ' | Poolpumpe | ' + getState("javascript.0.PoolpumpeAn.Tag").val + ' Min | | | ' + getState("javascript.0.PoolpumpeZaehler.Tag").val + ' | | | ' + txtPoolpumpe + ' | | Garagentor | ' + getState("javascript.0.GaragentorOffen.Tag").val + ' Min | | | ' + getState("javascript.0.GaragentorZaehler.Tag").val + ' | | | ' + txtGaragentor + ' | | Terrassentür | ' + getState("javascript.0.WohnzimmerTerrassentuerOffen.Tag").val + ' Min | | | ' + getState("javascript.0.WohnzimmerTerrassentuerZaehler.Tag").val + ' | | | ' + txtTerrassentuer + ' | | Bad Rechts | ' + getState("javascript.0.BadFensterRechtsOffen.Tag").val + ' Min | | | ' + getState("javascript.0.BadFensterRechtsZaehler.Tag").val + ' | | | ' + txtBadRechts + ' | | Bad Links | ' + getState("javascript.0.BadFensterLinksOffen.Tag").val + ' Min | | | ' + getState("javascript.0.BadFensterLinksZaehler.Tag").val + ' | | | ' + txtBadLinks + ' | | Kind2 | '+ getState("javascript.0.Kind2FensterOffen.Tag").val + ' Min | | | ' + getState("javascript.0.Kind2FensterZaehler.Tag").val + ' | | | ' + txtKind2 + ' | | Kind1 | ' + getState("javascript.0.Kind1FensterOffen.Tag").val + ' Min | | | ' + getState("javascript.0.Kind1FensterZaehler.Tag").val + ' | | | ' + txtKind1 + ' | | Schlafen | ' + getState("javascript.0.SchlafenFensterOffen.Tag").val + ' Min | | | ' + getState("javascript.0.SchlafenFensterZaehler.Tag").val + ' | | | ' + txtSchlafen + ' | | Arbeit | ' + getState("javascript.0.ArbeitFensterOffen.Tag").val + ' Min | | | ' + getState("javascript.0.ArbeitFensterZaehler.Tag").val + ' | | | ' + txtArbeit + ' | ' + ' ' + '**Automatik:** ' + '' + ' ```' entweder Leerzeichen setzten: 'Pool ________' glaube das funktioniert nur mit …. in deinem Script ist nur das Ende ohne start``` oder im HTML mit einer Tabelle arbeiten: fängt die Tabelle an fängt eine Zeile an | füllt eine Zelle ... usw. Die If Abfragen ganz oben benutze ich um nicht 0, 1 oder 2 (Für einen Drehgriffkontakt) in der e-Mail angezeigt zu bekommen, sonder: zu, gekippt bzw. ganz auf. Vielleicht hilft dir das ja bei den Benzinpreisen weiter Gruß Phantomio |
  • Gelöst! Logdatenerstellung Script Fehler

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    W
    Hallo paul53, ich habe das Script gelöscht , Logdatenerstellung.Log unter Objekte gelöscht und alles neu eingespielt. Jetzt funktioniert wieder alles wie gewohnt…Danke für deine Hilfe Sebastian
  • [gelöst] Bei HTTP request "exception: Parse Error"

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    F
    Danke für deine Tipps, werde ich heute Abend ausprobieren. Lösung: Es lag nicht am Skript oder an der URL-Codierung, sondern ich hatte bei meinem Rollladenaktor keine HTTP-Standard Response geschickt. curl, wget & co sind da offenbar etwas toleranter als das request Modul von npm. Also hatte ich einfach in der Antwort folgendes vorne eingefügt: "HTTP/1.1 200 OK" "Content-Type: text/html" "Connection: close" ""
  • Dialog mit Script öffnen

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    P
    Hier der Workaround: http://forum.iobroker.net/viewtopic.php … =20#p29739 Pix
  • [gelöst] Problem mit 'request'

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    F
    Hi Thilo, ich glaub ich hab gerade das gleiche Problem wie du damals, kannst du mir/uns verraten, was das Problem auf der Gegenseite war? Danke im Voraus!
  • GetAstroDate() Frage zur praktischen Nutzung…

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    etvE
    @aquapro: @etv: …. damit wir nicht um 4:45 Uhr vor lauter hell im Zimmer im Bett stehen müssen. ` So stehst aber vom geräuch der Rollläden im Bett. :lol: Gruß Tino ` …ja das kann leicht sein - schauen wir mal - vielleicht dreh ich das dann genau deswegen auch wieder ab 8-) Die Balkontür müsste ich via CCU & Co zu machen können - irgendwie mittels Linearmotor vielleicht - dann kurz vorher Tür zu, dann Rollladen runter und Tür wieder auf :lol:
  • Kein zusätzlicher Reiter "Skripte" nach Installation von JS-Adapter

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    994 Aufrufe
    D
    Alles klar. Danke.
  • Danke und ne Frage zum Bluetoothscanner…. von ruhr70

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    S
    OK Danke. Dachte mir schon, dass es auf eine Lösung in dieser Richtung hinaus laufen wird.. Schönen Sonntag noch.
  • HM 6fach-Taster als Pinnummernfeld für Alarmanlage

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    896 Aufrufe
    Niemand hat geantwortet
  • Einfache oder Doppelte Hochkomma in Skripten?

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    F
    Okay, dann halte ich mich auch an einfache Hochkomma, damit es halbwegs durchgängig bleibt!
  • Fehler in Scripte die schon funktionierten!!!

    Verschoben
    13
    0 Stimmen
    13 Beiträge
    2k Aufrufe
    W
    Schlechte Nachricht… Jetzt ist mein System komplett abgeschmiert....werde erstmal wieder zurück auf Raspi umstellen und mein Backup auf den Cubox einspielen. Probiere dann dein Eintrag unter Zustände. Wird ein weilchen dauern , würde mich morgen mit meinen Ergebnissen melden. Danke erstmal paul53 für deine Hilfe. Schönen Abend Sebastian
  • Script Hilfe: Pushover bei Variablen Wechsel

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    2k Aufrufe
    D
    Hallo Solear, eigentlich hast du Recht. Da ich dieses Variable auch noch auf dem Display im Flur anzeige, sollte ich die Variable patchen. Mir ist das hin und her wechseln der Anzeige in der Vergangenheit nie aufgefallen 8-). Wieder ein Fehler beseitigt. Ich erzeuge die Variable in der CCU2. (Das bekomme ich recht leicht hin). Da habe ich jetzt eine Verzögerung eingesetzt. Danke. Aber auch an Paul Danke. Ich denke ich werde das Script noch an vielen anderen Stellen nutzen!!!
  • Hinweis: JS ON{… change:'ne'...} doch nicht default

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    5k Aufrufe
    BluefoxB
    @Fitti: @paul53: change: 'ne' ist nur default, wenn das Muster kein Objekt ist, sondern die ID als String: ` Ich wusste nicht, dass man hier kein id: nutzen muss. :shock: Worin besteht denn bitte der technische Unterschied, ob ich es mit id: oder ohne schreibe? Was ist anders, wann muss ich welche Variante verwenden? Woher wisst ihr das alles? Respekt ` Ich bin nicht auf der Idee gekommen, dass jemand on({id:"hm-rpc.0.MEQ011111.1.STATE"}, besser findet, als on("hm-rpc.0.MEQ011111.1.STATE", Und deswegen ist das unter der Tisch gefallen. Hast du recht, man muss konsequent bleiben und mit {id:"hm-rpc.0.MEQ011111.1.STATE"} auch "ne" als default verwenden. ich glaube es gibt sogar einen Vorschlag auf dem git.
  • Zustand einer Variable wird dauerhaft per Telegram gesendet

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    paul53P
    @Bluefox: So sollte gehen: on("hm-rega.0.1237"/*Anwesenheit.Klaus*/, function(obj) { if (obj.state.val) sendTo('telegram', "Klaus ist zu Hause"); }); ```` ` oder so: on({id:"hm-rega.0.1237"/*Anwesenheit.Klaus*/, val: true, change: "ne"}, function() { sendTo('telegram', "Klaus ist zu Hause"); });
  • HUE Script like Sonos Script (6 face Schalter)

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    D
    Hallo und guten Morgen, klappt! Danke
  • Intervallskript / Bewaesserungsskript

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    872 Aufrufe
    P
    Wenn es jemand einsetzt würde ich mich sehr über die Erfahrungen freuen. Anregungen oder Ideen zur Anpassung versuche auch gerne zu realisieren. Gesendet von meinem Nexus 6P mit Tapatalk
  • Nodejs und telegram

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    W
    node-red neu installiert und es klappt…. *blub lg
  • Xml2js - Fehlermeldungen im Log

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    690 Aufrufe
    Niemand hat geantwortet

307

Online

32.4k

Benutzer

81.5k

Themen

1.3m

Beiträge