Skip to content

Skripten / Logik

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

16.5k Themen 213.5k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    R
    Ok, Danke für die Info. Sehr interessant.
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Themen
    79k Beiträge
    HomoranH
    @paul53 mit Trennzeichen - hatte ich nicht probiert. Danke, ich lasse das erst mal so. Deins ist natürlich noch schlanker! kehre um kannte ich noch nicht. Werde ich mir merken!
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Themen
    13k Beiträge
    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

    Verschoben
    11
    1
    0 Stimmen
    11 Beiträge
    14k Aufrufe
    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 Stimmen
    30 Beiträge
    4k Aufrufe
    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 Stimmen
    6 Beiträge
    534 Aufrufe
    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

    Verschoben javascript
    3
    0 Stimmen
    3 Beiträge
    3k Aufrufe
    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 Stimmen
    4 Beiträge
    406 Aufrufe
    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 Stimmen
    22 Beiträge
    2k Aufrufe
    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 ?!?

    Verschoben
    17
    0 Stimmen
    17 Beiträge
    3k Aufrufe
    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 Stimmen
    4 Beiträge
    490 Aufrufe
    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

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    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 Stimmen
    7 Beiträge
    2k Aufrufe
    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 Stimmen
    6 Beiträge
    1k Aufrufe
    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 Stimmen
    3 Beiträge
    229 Aufrufe
    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 Stimmen
    19 Beiträge
    1k Aufrufe
    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 Stimmen
    8 Beiträge
    1k Aufrufe
    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.

    Verschoben
    25
    0 Stimmen
    25 Beiträge
    5k Aufrufe
    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

    Verschoben
    57
    3
    0 Stimmen
    57 Beiträge
    19k Aufrufe
    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

    Ungelöst heating
    14
    0 Stimmen
    14 Beiträge
    2k Aufrufe
    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

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    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 Stimmen
    5 Beiträge
    840 Aufrufe
    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 Stimmen
    3 Beiträge
    562 Aufrufe
    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); });

756

Online

32.6k

Benutzer

82.3k

Themen

1.3m

Beiträge