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
    RaspiUserR
    @peterfido sagte in Abruf PSA Corsa Daten: vergleich doch mal die Javascripte miteinander ... da ich Null-Ahnung von der Materie habe müßte ich jeden einzelnen Befehl / dessen Funktion nachschlagen, das kann nur schief gehen. Ich hatte / habe die Hoffnung, dass ein Script-Spezialisten das ursprüngliche Script reparieren kann ... oder ich nutze deinen oder meinen Vorschlag ...
  • Hilfe für Skripterstellung mit Blockly

    6k 78k
    6k Themen
    78k Beiträge
    I
    Hallo Paul, beide Deiner Vorschläge funktionieren! Und auch Deine Beobachtung, dass, wenn man den Punkt vor UNREACH weglässt, auch STICKY_UNREACH mitgeliefert wird, stimmt. Ich könnte schwören, dass ich an dem Ausdruck seit Monaten nichts verändert habe. Vielen Dank!
  • 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
  • Adapter iCal -

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    D
    Hallo, gut, oder auch nicht… Scheint ein Fehler zu sein. Bei dem Script von Pix (Geburtstag und Müllkalender) wird der table Wert verwendet. Liest der Adapter Entwickler hier mit und ist aktiv oder muss ich Ihn anders kontaktieren? VG Michael
  • HM Aktor nach Astro einschalten und zu einer definierten Uhrzeit ausschalten

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet
  • Objekte für SKripte anlegen…wo?

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    I
    Danke hab es jetzt hinbekommen :-)
  • Warnung wegen offenen Fenstern

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    E
    Cool danke das schaue ich mir mal an. Und Frohe Weihnachtstage noch. Gruß, Thorsten
  • Datenpunkt "clearen" - Fritzbox - missedTableHTML

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    S
    Hallo, danke für das Skript. Kann es erst am Wochenende ausprobieren - werde dann Feedback geben.
  • Sayit mp3 wird nicht (mehr) abgespiel. Hilfe!

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    453 Aufrufe
    Jeeper.atJ
    Ja, es gibt mehr Dinge zwischen 0 und 1 als man glaubt. Lg Günther
  • [gelöst] Sayit –> Keine Ansage wenn Geburtstag/Muell ansteht

    Verschoben
    9
    0 Stimmen
    9 Beiträge
    1k Aufrufe
    wendy2702W
    Hi, Die iPad Ansage funktioniert ja Prinzipiell. Das ich die einzeln ansprechen kann ist erstmal nicht so wichtig. Freue mich auf deine Infos und Skripte. Mirko Gesendet von iPhone mit Tapatalk
  • Bewegungsmelder loggen funktioniert nicht

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    747 Aufrufe
    blauholstenB
    Hi, if(stateBW) sollte reichen. Aber…..probier mal so... var stateBW="hm-rpc.0.LEQ1278626.1.MOTION"; on(stateBW, function(obj) { if (obj.newState.val) { console.log("Bewegung erkannt"); } else { console.log("Der Status ist Unbekannt"); } });
  • Lange Verzögerungen in Script - Ausführung einer Aktion mit mehreren Stunden Verzögerung

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    806 Aufrufe
    P
    Hier werden Funktionen durch Zeit getriggert: http://forum.iobroker.net/viewtopic.php … 0&start=40 Gruß Pix
  • [gelöst] Mit Skript einen Home24 Mediaplayer ansteuern

    Verschoben
    12
    0 Stimmen
    12 Beiträge
    2k Aufrufe
    BluefoxB
    @blauholsten: @Bluefox: Um bombenfest alles absichern braucht man so was: try { request('http://192.168.1.1:50000/tts=' + text, function (error, response, body) { if(error) { log(error, 'error'); } }) .on('error', function (error) { log(error, 'error'); }); } catch (error) { log(error, 'error'); } Ohne Witz ;) Vielleicht mache ich eine Funktion daraus. so was wie getURL(URL, function (error, body){}); ` Danke für deine Erklärung!!! Aber bist du dir sicher, das das mit try..catch geht? Wenn ich mit meinen Laienhaften Wissen richtig verstanden habe, ist solch ein request ASYNCRON. Oder? Ist mit asynchronen functionen ein try…catch möglich? Bitte um Verständnis, aber ich würde gern etwas mehr über das "programmieren" lernen! Danke ` Prinzipiell asynchrone Fehler kann man mit try/catch nicht abfangen, aber man kann damit z.b. Tippfehler abfangen. Z.B.: try { reqqqqqest('http://192.168.1.1:50000/tts=' + text, function (error, response, body) { if(error) { log(error, 'error'); } }) .on('error', function (error) { log(error, 'error'); }); } catch (error) { log(error, 'error'); } Wird trotzdem laufen.
  • Node-red basierter Abruf des Fernsehprogramms von rtv.de

    Verschoben
    10
    2
    0 Stimmen
    10 Beiträge
    4k Aufrufe
    N
    Entschuldige die langen Antwortzeiten aber ich bin zurzeit beruflich ziemlich unter Wasser… Kommen irgendwelche Fehlermeldungen in node-red? Die Version oben ist etwas veraltet. Wenn ich mich richtig erinnere, kommuniziert diese noch direkt mit node-red und geht nicht über den Web-Adapter. Dafür muss unbedingt die url von Nodered richtig eingetragen und anschließend der Schalter Reese gedrückt werden. Ich hab das bei mir alles auf Kommunikation über den js-controller umgestellt, komme aber zurzeit nicht dazu, dies hier rein zu stellen. Da zurzeit auch an einem iobroker Adapter für iobroker gebastelt wird glaube ich auch nicht, dass daran noch viele interessiert sind. Gesendet von meinem GT-N8000 mit Tapatalk
  • [gelöst] javascript Grundlage Berechnung

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    0
    Super, funktioniert wunderbar :D Danke!
  • Schedule wird mehrfach ausgeführt

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    B
    Super, hat funktioniert :idea: Danke Daraus hat sich für mich jetzt aber auch noch eine weitere Frage ergeben. Und zwar aktualisiert der iCal Adapter ja genau so oft. Also alle 30min. Ca.20x innerhalb von einer Sekunde. Kann Ich das irgendwo einstellen oder muß Ich , in Zukunft, die Aktualisierung über ein Script (nicht Global :D ) steuern. Wie macht ihr das?
  • JavaScript Adapter Update 3.2.2

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    503 Aufrufe
    BluefoxB
    @pix: Hallo, danke für das Update. Habe es noch nicht probiert, aber die Funktion stopScript() zum Stoppen eines Skriptes finde ich gut. Ich nutze zur Zeit häufig ein Skript, das sich selbst nach X Zeit deaktiviert. Ist das das gleiche? setStateDelayed('javascript.' + instance + '.scriptEnabled.' + name.slice(10), false, 5*1000); Gruß Pix PS: Bei der Formatierung der Readme auf Github ist was schiefgelaufen. ` Ja, genau. Das ist dafür und tut das gleiche. Markdown muss ich schauen. Danke
  • [gelöst] JSON Funktion

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    M
    So geht es nun :-). body.devices[0].dashboard_data.Temperature
  • On Regexp auf channelName

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    538 Aufrufe
    Niemand hat geantwortet
  • Per SQL eine Differenz für bestimmte Zeitspanne

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    a200A
    Du kannst es ja direkt in ioBroker machen: ` > function getHistoryRow(date, callback) { var options = { start: date, //end: date, count: 1, aggregate: 'none', ignoreNull: 1 }; sendTo ("sql.1", "getHistory", { id: "<dein_datenpunkt>", options: options }, function(data) { if (data) { var rows = []; rows = rows.concat(data.result); log(targetId + " ts: " + formatDate(rows[0].ts, "DD.MM.YYYY hh:mm:ss") + " val: " + rows[0].val + " datum: " + rows[0].ts); } }); } // und der Aufruf: dStunde = formatDate(new Date(), "JJJJ.MM.TT 00:00:00"); // heute um 00:00 Uhr iStunde = getDateObject(dStunde).getTime() - 86400000; // gestern um 00:00 Uhr getHistoryRow(iStunde);</dein_datenpunkt> ` Darin kannst wiederum neue Datenpunkte erstellen, usw… Gruß, a200.
  • Aufgabe - wie kann ich es lösen?

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    830 Aufrufe
    Jey CeeJ
    @Lenny.CB: es geht hier im eine eBus-Abfrage für meine Vaillant-Heizung. Für mein Model kann ich >160 Werte abfragen. ob man die alle braucht ist noch fraglich. Daher wäre es von Vorteil wenn man die Abfrageparameter über ne txt oder csv einladen könnte. ` Gut bei der Menge an Abfragemöglichkeiten macht es sinn die in eine Textdatei zu schreiben und sie beim Start des skripts in ein oder auch mehrere arrays zu packen. Mehrere Arrays falls du nicht alle werte Minütlich abfragst. In eine Datei schreiben oder daraus lesen geht mit 'fs'. Es gibt auch im Javascript adapter einen befehl um eine Datei ein zu lesen: https://github.com/ioBroker/ioBroker.ja … t#readfile
  • Steuerung Bewässerung / Startschwierigkeiten

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    S
    Hallo mctom, kannst du beschreiben, wie du das Problem mit der Bewässerung gelöst hast? Auch im VIS mit den Button? Gruss Superdad
  • Starthilfe ? Create state aus JSON, update state (name) + read value = action

    Verschoben
    5
    1
    0 Stimmen
    5 Beiträge
    3k Aufrufe
    DutchmanD
    @paul53: @Dutchman: Wie kan ich nach einen create state den namen wieder aendern ` var obj = getObject(id); obj.common.name = "neuer_name"; setObject(obj); @Dutchman: Wie kan ich auf alle werte unnerhalb einer structur triggern lassen Mit [https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/RegExp](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/RegExp) in on(). danke dir Paul das hilft weiter auf jeden fall habe ich das mit dem namen hinbekommen. Regexp verstehe ich wie im beispiel ; on(/^ping\.0\.Iobroker-Server\.(192.xxx.xxx.xx1|192.xxx.xxx.xx2) Nur hierin sind ja auch werte definiert, bei mir sollte er triggern auf alles in dem baum (in die variabelen werden dynamisch erzeugt, kan diese also nicht vorab festlegen.) oder verstehe ich das jetzt falsch ? Kanst du mir eventueel auf die sprunge helfen diesen ON richtig um zu stellen ? (der RegExp ist bestimmt falsch da war ein versuch) on({id: "javascript.0.domoticz.7", change: "any", RegExp}, function (obj) { var value = obj.id; log (value); anstatt der ID 7 sollte er halt auf alle ID in dieser structur triggeren. Mit denm obj.id sehe ich ja welche ID getriggerd hat um dan das URL commando zu bauen Edit: Geschafft ! Die loesung war: on({id: RegExp("javascript.0.domoticz."), change: "any"}, function (obj) { var value = obj.id; log (value); });

912

Online

32.4k

Benutzer

81.5k

Themen

1.3m

Beiträge