Skip to content

Skripten / Logik

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

16.5k Topics 213.2k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    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 Topics
    79k Posts
    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 Topics
    13k Posts
    S
    welche Palette hast du installiert, damit du den "AND" Baustein hast?
  • Node-red basierter Abruf des Fernsehprogramms von rtv.de

    Moved
    10
    2
    0 Votes
    10 Posts
    4k Views
    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

    Moved
    6
    0 Votes
    6 Posts
    1k Views
    0
    Super, funktioniert wunderbar :D Danke!
  • Schedule wird mehrfach ausgeführt

    Moved
    5
    0 Votes
    5 Posts
    1k Views
    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

    Moved
    2
    0 Votes
    2 Posts
    516 Views
    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

    Moved
    3
    0 Votes
    3 Posts
    1k Views
    M
    So geht es nun :-). body.devices[0].dashboard_data.Temperature
  • On Regexp auf channelName

    Moved
    1
    0 Votes
    1 Posts
    543 Views
    No one has replied
  • Per SQL eine Differenz für bestimmte Zeitspanne

    Moved
    4
    0 Votes
    4 Posts
    1k Views
    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?

    Moved
    4
    0 Votes
    4 Posts
    831 Views
    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

    Moved
    3
    0 Votes
    3 Posts
    1k Views
    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
  • 0 Votes
    5 Posts
    3k Views
    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); });
  • API Codes nutzen, aber wie?

    Moved
    3
    0 Votes
    3 Posts
    1k Views
    S
    @torstenh: ….also das ist ein tolles Gerät um es in IO Broker einzubinden. Aber du kannst jetzt nicht verlangen das jemand sich die Anleitung durchließt, und dir den Code präsentiert. Es sind viele gute Beispiele in der Berschreibung, welche du erst einmal testen solltest. var pfad = 'javascript.1.funksteckdosen.'; createState(pfad + 'Tauch_Pumpe_Schalter', { id: 'Tauch_Pumpe_Schalter', name: 'Tauch_Pumpe_Schalter', type: 'boolean', def: false }); createState(pfad + 'Tauch_Pumpe_Zustand', { id: 'Tauch_Pumpe_Zustand', name: 'Tauch_Pumpe_Zustand', type: 'boolean', def: false }); //######################################################################################################## var request = require ('request'); var url_on_Tauch_Hand = "http://192.168.xxx.xxx/automatik_set_funk.php?hauscode=00000&ausgang=4&zustand=1"; var url_off_Tauch_Hand = "http://192.168.xxx.xxx/automatik_set_funk.php?hauscode=00000&ausgang=4&zustand=0"; //######################################################################################################## on(pfad + 'Tauch_Pumpe_Schalter' , function (obj_1) { if (obj_1.state.val) { request(url_on_Tauch_Hand); setState(pfad + "Tauch_Pumpe_Zustand", true); log("Tauch an"); } if (!obj_1.state.val) { request(url_off_Tauch_Hand); setState(pfad + 'Tauch_Pumpe_Zustand', false); log("Tauch aus"); } }); …...hier ein anderes Beispiel wie man mit diesen Befehlen in IO Broker umgehen kann. Wenn du es an deine Funktionen anpassen kannst, dann wirst du mehr verstehen und bist ein ganzes Stück weiter. Ein Tip! Example: Switch 1 activation http://10.0.23.193/api/switch/ctrl?switch=1&action=on so und nun bist du dran. Wenn es Probleme gibt bin ich bereit dir zu helfen aber erst muß du selber ran! Schau dich hier mal durch! http://forum.iobroker.net/viewtopic.php?f=21&t=4271 Grüße, Torsten ` Hallo Torsten, vielen Dank für deine Antwort. Sie ist so wie ich gehofft habe. Ich möchte es gerne verstehen, leider fehlte mir aber der generelle Ansatzpunkt. Diesen sollte ich ja nun mit deiner Anleitung haben. Ich versuchte mich damit und melde mich gerne wieder. Vielen Dank für deine Hilfe. Gruß Sven Gesendet von iPhone mit Tapatalk
  • RFLInk: Problem mit Schalten von mehreren Empfängern.

    Moved
    4
    0 Votes
    4 Posts
    965 Views
    Z
    Das klingt nach einem sehr guten Plan. Wobei ich mich echt frage wie du das alles immer Zeitlich hinbekommst. Ich bin schwer begeistert. Wenn du die Daten hättest könnte man eventuell die Wiederholung schon in den Adapter integrieren. Ich poste nachher mal mein wiederholungsskript vielleicht hast du noch eine bessere Idee. Ich muss allerdings sagen dass pinatic die Sendeleistubg und -Zuverlässigkeit tatsächlich im Griff hatte. Dafür ist nur der RFLInk in der Lage meine Ikea Küchenbeleichtubg und die neuen Rolling Code Steckdosen von Aldi zu schalten. Somit hat jedes System sein für und wieder. [emoji58] Gesendet von iPhone mit Tapatalk
  • GELÖST: Zeitsteuerubg mi PI und Blockly

    Moved
    6
    0 Votes
    6 Posts
    1k Views
    BluefoxB
    @Zipkart: @Jeeper.at: Hallo. Ich denke du meinst folgendes. Wenn du exakt 16:00 vergleichst, dann klappt es normalerweise nicht. Grund ist das im Hintergrund auch Sekunden und evt. Millisekunden abgefragt werden. Und es ist sehr unwahrscheinlich das du da genau vorbeikommst. Frage immer ein Intervall ab. Also Zwischen 16:00 und 16:01 Dann klappt es. Lg Günther ` Hallo Günther. Danke für den Tipp. Das war Genau dass was ich gesucht habe. Somit habe ich Sonnen Problem lösen können, wobei ich es schon etwas umständlich fand. Aber die Lampen schalten nun so zeitlich wie sie sollen. Gesendet von iPhone mit Tapatalk ` Genau dafür gibt es schedule Kommando: https://github.com/ioBroker/ioBroker.ja … e-schedule schedule('0 16 * * *', function () { setState('lampe', true); });
  • Tasterbetrieb mit Node Red

    Moved
    5
    0 Votes
    5 Posts
    3k Views
    E
    Super danke, das hilft mir weiter
  • Script zum Hochzählen bzw. Rundzählen einer Variable

    Moved
    4
    0 Votes
    4 Posts
    4k Views
    paul53P
    Timer stoppt man mit clearTimeout(timer) bzw. clearInterval(timer): ... var stateView = 0; var max = 4; var timer = null; function counter() { if(stateView < max) stateView++; else stateView = 0; setState(idView, stateView); } function pushbutton () { if (stateButton0 === true) { stateAuto = false; stateView = 0; if(timer) clearInterval(timer); } else { stateAuto = true; timer = setInterval(counter, 10000); // alle 10 s[ } setState(idAuto, stateAuto); setState(idView, stateView); }
  • [Fixed] Skripte weg

    Moved
    6
    1
    0 Votes
    6 Posts
    1k Views
    DirkKD
    Hallo Bluefox, kommando zurück, geht wieder alles, war ein aktualiesierungsproblem, trotzdem danke für deine Mühe.
  • [Gelöst] Ordner auslesen und jüngstes File finden

    Moved
    7
    0 Votes
    7 Posts
    1k Views
    T
    @Jey Cee: Ich bin mir ziemlich sicher das deine pfad angabe nicht wie von FS erwartet ist. Es macht auch einen unterschied ob Windows oder Linux verwendet wird, da die beiden Systeme unterschiedliche Pfad Angaben haben. ` Stimmt! Danke nochmals! Grüße, Torsten
  • IP Cam snapshot per mail

    Moved
    9
    0 Votes
    9 Posts
    3k Views
    R
    Mal schauen :) :) :)
  • Mit Blockly set state und create state erstellen

    Moved
    5
    0 Votes
    5 Posts
    4k Views
    rantanplanR
    @charlyphyro: Ich bekomme es hin ein zustand zu erzeugen (createstate). Im Bild deaktviert ist es das "Lichter.an_aus". Wird auch in den Objekten im java angezeigt. Das problem ist nur es zu füllen :?: Wollte eigentlich das beim Prüfen der Lichter in eine Liste erstellt wird welche an sind und welche aus… Habe das jetzt so gelöst :) Aber für die Zukunft wäre es hilfreich :) Viele Grüße Charly Edit: wäre auch nicht schlecht um im vis Beispiel ein: Jqui Button State zu ändern! ` Hallo charlyphyro Wie versprochen, melde ich mich kurz. Deine erzeugten Objekte kannst Du wie alle anderen ioBroker Objekte abfragen und ändern. " steuere Lichter.an_aus mit …..." Wenn Du in einem Baustein die ObjektID anwählst, findest Du "Lichter.an_aus" unter Deiner Javascript-Instanz (z.B. Javasricpt.0) In VIS geht das genauso. Dein "Prüfen Lichter an" kannst Du noch etwas vereinfachen. Du kannst den Zustand der Lampen direkt der Variablen übergeben. "setze Licht Theke auf Wert vom Objekt ID Licht Theke.State" Grüße
  • Sayit Skript startet nicht selbst und hackt Text ab

    Moved
    8
    0 Votes
    8 Posts
    1k Views
    N
    @pix: Hallo Nordlicht, ich würde die für die beschriebene Aufgabe das Skript auch deutlich kürzen, um so Fehler auszuschließen. Wenn das Skript immer um 15 Uhr startet, dann lass doch das Errechnen der Zeit und vor allem des Datums. Schreib einfach:var ansage = "Hallihallo, es ist schon wieder drei Uhr ....";Dann kannst du alles darüber von//Wochentag ermitteln bis```` mi = d.getMinutes() Gruß Pix ` Hi Pix, danke, ich hab das mal so übernommen und werde sehen was passiert. Wenn in einer Ansage jedoch die Uhrzeit mit dabei sein muss, dann wäre das Skript schon richtig, oder ist es dann trotzdem zu lang? Gruß NordlichtHH

467

Online

32.6k

Users

82.2k

Topics

1.3m

Posts