Skip to content

Skripten / Logik

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

16.6k Topics 213.8k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    OliverIOO
    @BertDerKleine Am besten zeigst du mal dein Script, dann kann man bessere Empfehlungen abgeben. Bitte auch mal schreiben warum du aufteilen möchtest obwohl es so funktioniert.
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Topics
    79k Posts
    D
    Hallo, ich möchte mein bald neues E-Auto nach meiner schicht laden lassen. und das mit Ical "google Kalender" und evcc. ical weiß durch den goggle kalender welche schicht ich habe und dann kann ich evcc sagen welche abfahrts zeit ich habe. Jetzt steht da zb wie hier: [image: 1772793431681-26309326-6fc2-4d21-a9e1-a11c85171cd1-image-resized.png] im Datenpunkt Spätschicht mit drin und ich möchte das überprüft wird ob dieses wort im Text mit drin steht, weil dann kann ich evcc sagen meine abfahrtszeit ist 13Uhr. Wie baue ich dieses Blockly???
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Topics
    13k Posts
    Marc BergM
    Es gibt in der Verson 1.3.0 einen neuen Node: iob-setObject (Stand 10.02.26 noch beta) Mit dem neuen Node kann man ioBroker-Objektdefinitionen (Metadaten) direkt schreiben und ändern. Hauptfunktionen: Instanz-Konfigurationen ändern - z.B. MQTT publish-Pattern, Intervalle, etc. Objekt-Eigenschaften aktualisieren - Namen, Rollen, Einheiten, Min/Max-Werte ändern es gibt zwei Modi: Merge-Modus : Ändert nur die angegebenen Eigenschaften, alle anderen bleiben erhalten Replace-Modus: Überschreibt das komplette Objekt Typischer Workflow: Objekt mit iob-getobject holen Mit Change-Node gewünschte Properties ändern Mit iob-setobject zurückschreiben
  • (Blockly) Stromverbrauch Berechnen und addieren

    Moved
    11
    1
    0 Votes
    11 Posts
    15k Views
    oberfraggerO
    @Homoran Daran hab ich auch schon gedacht einen eigenen DP zu einem bestimmten Zeitpunkt zu aktualisieren und dort dann den SQL-Adapter drauf zugreifen zu lassen. @crunchip Schau ich mir mal an. Danke an Euch beide. Jetzt erstmal die MariaDB auf der gemounteten SDD bootfest bekommen.
  • Homematic IP Thermostat Fensterkontakt.

    blockly javascript heating
    30
    1
    0 Votes
    30 Posts
    4k Views
    T
    @Homoran sagte in Homematic IP Thermostat Fensterkontakt.: @technodj23 sagte in Homematic IP Thermostat Fensterkontakt.: Aber das läuft bei mir alles über den AP, also die Thermostate sind nicht direkt in IOBroker. Vielleicht liegt es daran? Ja Okay, dann hat sich das ja erledigt.
  • Javascript lernen

    javascript
    6
    0 Votes
    6 Posts
    574 Views
    J
    @paul53 Das ist richtig, nur muss ich sagen, die Doku dazu hab ich mal kurz überflogen und ich halte die nicht für wirklich gelungen. Ich habe mich da auch ran getastet und eben viel probiert, bevor ich ne Frage gestellt habe. Das meiste ist selbsterklärend und wenn man mal den Dreh raus hat, dann ist es nicht so kompliziert. Es ist auf alle Fälle mal einfacher, als ohne Vorkenntnisse und nur nebenbei was mit Javascript auf die Reihe zu bekommen.
  • Helios KWL mit Easy Controls über HTTP auslesen

    Moved javascript
    3
    0 Votes
    3 Posts
    3k Views
    V
    Hallo, wo muß ich das Script einsetzen um die Werte bzw. die Variablen in Blocky weiter zu verarbeiten?
  • Anfänger if und if else

    javascript
    4
    0 Votes
    4 Posts
    423 Views
    J.A.R.V.I.S.J
    Hey, Punkt 1 ist soweit richtig. Wenn du die folgenden Zeilen meinst, die nur einmalig ausgeführt werden, dann ist die Annhame richtig, da diese nur einmal beim starten durchlaufen werden. Anderfalls müsstest du sie in den on() Teil mit einbauen. if (sollwert>= vorgabe_ID1_min) log(sollwert_ID1); if (sollwert>= vorgabe_ID2_min) log(sollwert_ID2); if (sollwert>= vorgabe_ID3_min) log(sollwert_ID3); if (sollwert>= vorgabe_ID4_min) log(sollwert_ID4); J.A.R.V.I.S.
  • [gelöst] 0xffff zu 65535

    javascript
    22
    0 Votes
    22 Posts
    2k Views
    paul53P
    @mike1976 Wenn es jetzt funktioniert, dann markiere bitte das Thema in der Überschrift als [gelöst].
  • [gelöst] Aktuelle Abfahrtszeiten Straßenbahn-Haltestelle einlesen ?!?

    Moved
    17
    0 Votes
    17 Posts
    3k Views
    S
    Hallo, geht scheinbar nicht mehr oder? Weil bekomme eine Fehlermeldung wenn ich per eigen URL installieren möchte: Fertig mit Fehler: (node:13094) UnhandledPromiseRejectionWarning: ParserError: Protocol error, got "H" as reply type byte. Please report this. at handleError (/opt/iobroker/node_modules/redis-parser/lib/parser.js:190:15) at parseType (/opt/iobroker/node_modules/redis-parser/lib/parser.js:304:14) Gruß Micha
  • Python Script wird wird nur teilweise ausgeführt

    javascript
    4
    0 Votes
    4 Posts
    499 Views
    foxriver76F
    @AlCalzone Er lässt es sich ja in eine Datei loggen. Btw. @Christof-Kac leite doch mal stderr mit in die Datei, wird hilfreich sein. Also exec('python /opt/iobroker/autologin/afraid-autologin/autologin.py --browser phantomjs &> /tmp/output_afraid_autologin')
  • RGB Wert nach Temperaturen ändern in blockly

    Moved
    5
    0 Votes
    5 Posts
    1k Views
    S
    @Mifo Du bist uns seit zwei Jahren deine Antworten über deinen Fortschritt schuldig. Ich möchte gerne mit einem Aqara Taster die Farbe eines LED Bandes wechseln. Deshalb wäre ich an deinem Lösungsansatz interessiert, wie man per Blockly die Farbe ändert... Gruß Stoni
  • 433MHz Fernbedienung auslesen (keine Dipschalter)

    communication
    7
    0 Votes
    7 Posts
    2k Views
    dbwebD
    Ist etwas her aber bei mir musste ich vor 2 Jahren etwas mit der Pulslänge spielen damit das senden geklappt hat, scheinbar kommt nicht jedes Gerät mit alle Längen klar. In codesend.c nach dem Aufruf von PulseLength suchen, den Wert anpassen, kompilieren und testen. Evtl. spukt dir google auch noch was dazu aus ;)
  • gelöst -Szenen Schalten über KNX Objekt

    blockly
    6
    1
    0 Votes
    6 Posts
    1k Views
    W
    So, die Sache funktioniert jetzt wie gedacht. Mein Dank geht nochmal @liv-in-sky. Hab wieder was gelernt. Tolle Community :+1: Und hier die Lösung: [image: 1574112225734-2019-11-18-22_16_24-javascript-iobroker-brave.png]
  • Schalter Jalousiesteuerung über Script

    blockly
    3
    2
    0 Votes
    3 Posts
    229 Views
    actionbyteA
    @dslraser Nein, gibt es nicht. Habe aber nun die Lösung. Manchmal sehe ich den Wald... usw.. Musste im Blockly nur auf "wurde aktualisiert stellen"! Danke trotzdem!
  • [gelöst] regex

    communication
    19
    1
    0 Votes
    19 Posts
    2k Views
    M
    @crycode Ähhh... Was soll ich sagen ausser 1000 mal Danke. Das funktioniert einwandfrei :smile: :smile: Hatte die hoffnung schon aufgegeben. Kommer leider aus der SPS welt und script mässig ein kompleter noob. Danke nochmal hast mir einen riesen schritt weitergeholfen, jetzt muss ich nur noch eine vernünftige Wochenzeitschaltuhr für die Vis finden. GLG Mike PS: Danke für deine Zeit und Hilfe
  • [gelöst]sleep/delay innerhalb einer Loop

    javascript
    8
    0 Votes
    8 Posts
    1k Views
    paul53P
    @tazdevil20 sagte: das Skript alle x Stunden/Tage neu startet, oder? Dann besser den $Selector innerhalb des Triggers verwenden. on({id: 'EigeneDatenpunkte.0.TasmotaUpdateAll', val: true}, function (obj) { const Devices = $('state(id=mqtt.0.tele.*.INFO2)');
  • Temperaturwert aus einfacher HTML Seite Auslesen.

    Moved
    25
    0 Votes
    25 Posts
    5k Views
    M
    Hallo, wie müsste ich den Parser einrichten damit ich werte von der seite bekomme?? <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>AQI</title> <script src="aqi.js"></script> <link rel='stylesheet' href='style.css'> </head> <body> <div class="container"> <h1>AQI</h1> <p class='time' id="time"></p> <div class='aqi-container' id="containerPm25"> <div class='aqi-label'>AQI (PM2.5)</div> <div class='aqi' id="aqiPm25"></div> <div class='pm-label' id="pm25"></div> </div> <div class='aqi-container' id="containerPm10"> <div class='aqi-label'>AQI (PM10)</div> <div class='aqi' id="aqiPm10"></div> <div class='pm-label' id="pm10"></div> </div> </div> </body> <script type="text/javascript"> getData(); setInterval(getData, 60000); </script> </html> [image: 1573825210416-partikel.jpg] Das python script läuft am pi direkt und stellt die werte des sensors zur verfügung. https://zefanjas.de/wie-man-feinstaub-mit-einem-raspberry-pi-messen-kann/ Wäre es auch denkbar es direkt in iobroker zu erstellen oder den sensor so einzulesen? LG mike
  • (Echte) Stau-Erkennung mit Bing

    Moved
    57
    3
    0 Votes
    57 Posts
    19k Views
    R
    Ich habe neuerdings ein tolles Phänomen. Ich habe 2 Routen bei denen seit ca einer Woche teilweise minus Werte bei der Route statt minimal 0. Die werte werden aber abgefragt und es wird auch Stau angezeigt.
  • Zählen der Laufzeit der Heizung

    Unsolved heating
    14
    0 Votes
    14 Posts
    2k Views
    C
    @watcherkb said in Zählen der Laufzeit der Heizung: Discrete Danke "Discrete" hab ich schon im Einsatz aber das erfüllt nicht das was ich brauche. Ziel: Eine Ansicht Wochenansicht zu haben wo die Laufzeit(minuten) in einem Balken Angezeigt wird in einem "Graph" Also 11. 12.13.14.15.16.17. Darüber die Balken je nach LAufzeit. Nun lege ich noch eine "Line" mit der Tages Duchschnitstemperatur. Nun sehe ich auf einen Blick wie lange die Heizung gelaufen ist bei welcher Außentemperatur. Um dies in Grafana einzubauen kann ich ja mit "count" arbeiten. Dabei zählt er ja. Auch Bereiche kann ich angeben kein Problem. Mir fehlen aber die Korrekten DATEN die Grafana braucht um damit klarzukommen. Aktuell logge ich bei änderung. Heizung An= 1 Heizung Aus = 0. Was ich mir nun überlegt habe das ich beim Influx Logging einfach sage schreibe alle 60 Sekunden falls sich nichts ändert. EDIT: Genau si geht es Influx alle 60 Minuten Loggen auch wenn keine Änderung. So bekomme ich alle 1 Minute eine "1" welche per "SUM" umgelegt werden kann.
  • Blockly - Laufzeit

    Moved
    3
    1
    0 Votes
    3 Posts
    2k Views
    C
    Gibt es hier ein Update oder kann man jemand sein Blockly hochladen für eine ganz einfache Laufzeiterfassung in Minuten ? Danke
  • Alternative zu Bespoken? gehört besser hier her

    communication
    5
    0 Votes
    5 Posts
    842 Views
    N
    @lobito danke für die Idee! Sowas habe ich gesucht(Alxa Gerät steuern ohne bespoken). Die Routine auf false zu setzen bringt ja eigentlich nix, oder gibt es auch dafür eine Verwendung?
  • [erledigt] History Adapter per JavaScript -> Doku?

    javascript
    3
    0 Votes
    3 Posts
    567 Views
    A
    Hallo Danke - offensichtlich hab ich die unterschiedlichen Stellen noch nicht überblickt o_O. VIelleicht hilfts mal jemandem: sendTo('sql.0', 'getHistory', { id: 'javascript.0.localLoggerMailStripped'/*LoggerMail*/, options: { end: new Date().getTime(), count: 3, aggregate: 'onchange' } }, function (result) { var monthNames = [ "Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"]; var resultString = '<table>'; for (var i = 0; i < result.result.length; i++) { var d = new Date(result.result[2-i].ts); //var datestring = ("0" + d.getDate()).slice(-2) + "." + monthNames[d.getMonth()] + " " + ("0" + d.getHours()).slice(-2) + ":" + ("0" + d.getMinutes()).slice(-2); //resultString += '<tr><td style="font-size:small;>' + datestring + '</td> <td style="font-size:normal;font-weight:bold">'+ result.result[4-i].val + '</td></tr>'; var datestringDate = ("0" + d.getDate()).slice(-2) + "." + monthNames[d.getMonth()] + " "; var datestringTime = ("0" + d.getHours()).slice(-2) + ":" + ("0" + d.getMinutes()).slice(-2); resultString += '<tr><td style="font-size:large;padding-top:11px"> '+ datestringDate + '<br/>' +'<span style="font-size:x-large">' + datestringTime + '</span>' +'</td> <td style="font-size:x-large;padding-left:10px;padding-top:11px">'+ result.result[2-i].val + '</td></tr>'; //console.log(JSON.stringify(result.result[i])); } resultString += "</table>"; //console.log(resultString); setState('javascript.0.scriptEnabled.LastMessagesFiFoHTML'/*LastMessagesFiFoHTML*/, resultString); });

579

Online

32.7k

Users

82.4k

Topics

1.3m

Posts