Weiter zum Inhalt

JavaScript

2.5k Themen 49.7k Beiträge

Hilfe für Skripterstellung mit JavaScript

NEWS

  • Befehl auf anderen Server absetzten

    6
    0 Stimmen
    6 Beiträge
    609 Aufrufe
    H
    @mickym Danke war schon am verzweifeln.
  • [Skript]Covid 19: 7 Tage Werte aller Landkreise

    56
    1
    4 Stimmen
    56 Beiträge
    9k Aufrufe
    FeuersturmF
    @novregen Ja. Ich hab bei mir auch die Version " 21.12.2020 - Fix: Aufruf von setSchedules() aus main() entfernt - Ampel angepasst" im Einsatz. Du findest das aktuelle Skript im ersten Beitrag.
  • Meine Skriptesammlung

    14
    0 Stimmen
    14 Beiträge
    3k Aufrufe
    A
    @lschulze said in Meine Skriptesammlung: IKEA E1744 SYMFOISK Hallo, Dein Skript bildet eigentlich genau das ab, was ich möchte. Habe mir also die Symfonisk Remote geholt und eingebunden. Insgesamt entspricht meine Konfiguration auch Deiner, also Homematic, Shelly, Zigbee, Chromecast. Habe nun Dein Skript genommen und die Objekte entsprechend angepasst. Das Skript wird gestartet und laut Log gibt es auch keinen Fehler: javascript.0 2021-01-23 17:55:48.399 info (29768) script.js.Media.Chromecast_: registered 5 subscriptions and 0 schedules Allerdings passiert überhaupt nichts, wenn ich etwas an der Remote mache. Habe ich etwas vergessen? Ich bin mit Skripten nicht betraut, nur mit ein wenig Blockly. Wenn Du mir weiterhelfen könntest, wäre das klasse!
  • math library median average

    javascript
    2
    0 Stimmen
    2 Beiträge
    287 Aufrufe
    UncleSamU
    @hanss Alle Module findest du unter npmjs.com. Hier das erste, was ich gefunden habe: https://www.npmjs.com/package/taira
  • [gelöst] JSON-Tabelle in Datenobjekte auflösen (Javascript)

    9
    0 Stimmen
    9 Beiträge
    3k Aufrufe
    KalaNagHTDK
    Hier nochmal das gesamte Thema auf einen Blick: Mein Adapter liefert im Objekt 'mqtt.0.espaltherma.ATTR' folgenden JSON-String: [{"Outdoor air temp.(R1T)":"11.500000","Discharge pipe temp.":"35.000000","Heat exchanger mid-temp.":"8.500000","INV primary current (A)":"1.300000","Voltage (N-phase) (V)":"238.000000","INV frequency (rps)":"12.000000","Fan 2 (step)":"68.000000","Expansion valve (pls)":"207.000000","BUH Step1":"OFF","BUH Step2":"OFF","Leaving water temp. before BUH (R1T)":"25.700000","Leaving water temp. after BUH (R2T)":"26.000000","Refrig. Temp. liquid side (R3T)":"25.700000","Inlet water temp.(R4T)":"23.800000","DHW tank temp. (R5T)":"45.800000","Ext. indoor ambient sensor (R6T)":"10.700000","Flow sensor (l/min)":"14.300000","Water pressure":"0.000000","Water pump signal (0:max-100:stop)":"49.000000","Pressure Sensor":"16.100000"}] Ich will daraus einzelne Objekte machen, die ich weiter verwenden kann. Die Experten @paul53 und @fasfoot haben die entscheidenden Hinweise gegeben. Sehr wichtig war die Erkenntnis, dass das oben gezeigte JSON-Objekt keine Zahlen sondern Strings liefert. Hier als Beispiel das funktionierende Script mit zwei Daten aus dem JSON-String. Es werden die Objekte "Vorlauf" und "Rücklauf" mit ihren jeweiligen Temperaturwerten erzeugt und im Verzeichnis "0_userdata.0" abgelegt: const idJson = 'mqtt.0.espaltherma.ATTR'; const path = '0_userdata.0.'; on(idJson, function(dp){ let obj = JSON.parse(dp.state.val)[0]; let id = path + 'Vorlauf'; if(existsState(id)) setState(id, parseFloat(obj['Leaving water temp. before BUH (R1T)']), true); else createState(id, parseFloat(obj['Leaving water temp. before BUH (R1T)']), {type: 'number', name: 'Vorlauf', role: 'value', unit: '°C'}); id = path + 'Rücklauf'; if(existsState(id)) setState(id, parseFloat(obj['Inlet water temp.(R4T)']), true); else createState(id, parseFloat(obj['Inlet water temp.(R4T)']), {type: 'number', name: 'Rücklauf', role: 'value', unit: '°C'}); })
  • JavaScript beenden mittels anderem Skript?

    12
    2
    0 Stimmen
    12 Beiträge
    1k Aufrufe
    H
    @paul53 das funktioniert mega, vielen Dank! :)
  • [gelöst]Wie sende ich aus JavaScript einen HTTP Befehl

    10
    0 Stimmen
    10 Beiträge
    875 Aufrufe
    S
    @amg_666 Mache ich
  • [Suche] Javascript das eine Tabelle im JSON ausgibt

    39
    0 Stimmen
    39 Beiträge
    4k Aufrufe
    liv-in-skyL
    @quorle warum baust du die anleitung nicht nach ? da scheint doch alles drin zu sein es gibt auch noch ein script für offene fenster im forum sorry - eigentlich habe ich nicht vor, dass alles nochmal nachzubauen - ich nutze es eh nicht - ich habe dir bis zur liste geholfen - mir wird das jetzt etwas zu viel. vielleicht findet sich jmd anders
  • ioBroker Szenen vs Alexa Routinen vs Hue Szenen

    1
    0 Stimmen
    1 Beiträge
    290 Aufrufe
    Niemand hat geantwortet
  • DoorBird API: Update Schedule mit Javascript

    2
    1
    0 Stimmen
    2 Beiträge
    228 Aufrufe
    SchmakusS
    Keine Doorbird Anwender hier?
  • Problem mit getState()

    15
    0 Stimmen
    15 Beiträge
    1k Aufrufe
    T
    @psims Ich würde, um Fehler in Zukunft auszuschließen(späteres editieren), folgende Variante bevorzugen: // Setze Alarmzustand aktiv STATE_ALARM_ZUSTAND = true; setState('0_userdata.0.Alarmanlage.Alarm_Zustand', STATE_ALARM_ZUSTAND); Desweiteren würde ich innerhalb des If Blocks nur die Variable verändern und hinter diesem den State setzten.
  • [Gelöst]Alias mit Script erstellen - Button

    blockly communication javascript
    21
    0 Stimmen
    21 Beiträge
    1k Aufrufe
    WszeneW
    @paul53 OK danke Dir So funktioniert es Da werde ich jetzt erstmal all meine Aliase die als Button sind neu anlegen
  • (gelöst) Trigger auf Gewerk funktioniert nicht

    javascript
    9
    0 Stimmen
    9 Beiträge
    793 Aufrufe
    F
    @paul53 danke für deine Infos. Auch danke an @ticaki für deine Bemühungen. Problem somit gelöst.
  • innerhalb eines Zeitplans Status abfragen

    javascript
    9
    0 Stimmen
    9 Beiträge
    1k Aufrufe
    htreckslerH
    @luebke69 sagte in innerhalb eines Zeitplans Status abfragen: macht er einfach weiter... was spricht dagegen einfach zusätzlich auf "Regenbeginn" (welcher DP das auch immer ist) zu triggern? ...zu früh abgeschickt... so hatte Paul es ja auch vorgeschlagen. Der schedule startet die Begegnung --> Beregnung = true und wenn dann der richtige Regen einsetzt wird durch den Trigger Beregnung = false.
  • Müllabfuhr Skript funktioniert nicht mit allen Terminen

    11
    0 Stimmen
    11 Beiträge
    719 Aufrufe
    M
    Hey, es hat leider immer noch nicht richtig funktioniert. Nachdem ich versucht habe, das skript selber zu verstehen (ich habe es ja aus dem Netz kopiert), habe ich den "Fehler" gefunden. Weiß allerdings nicht, warum das nicht so klappt. Folgender Absatz im Skript wandelt scheinbar das Datum aus ical in ein Datum a la "JAHR-MONAT-TAG" um. hierbei hat mein skript Probleme, wenn ich in Google einen Termin als "ganztägig" hinterlege. // Datum aus dem Kalender zu einem englischen Date formatieren function convertToEngDate(str) { str = str.replace('→', ''); var tempdate = str.trim().split(' '); var date = tempdate[0].split('.'); return date[2]+'-'+date[1]+'-'+date[0]; } // Deutsches Datum ausgeben. function convertToGermanDate(str) { var date = str.split('-'); return date[2]+'.'+date[1]+'.'; } Ich habe im Googlekalender den Termin Restmüll jetzt einfach statt ganztags auf 8:00 Uhr morgens gelegt und es klappt. Vorher hat mir dieser Teil des Skripts statt "JAHR-MONAT-TAG" folgendes ausgegeben "undefined-undefined-→" hierbei steht das letzte für einen Pfeil nach rechts (Unicode), der aber eigentlich durch Zeile 3 verschwinden sollte? Jemand eine Idee, wie ich den Absatz oben ändern kann, damit es auch mit ganztägigen Terminen klappt :)?
  • Programm lässt sich nicht aktualisieren

    3
    0 Stimmen
    3 Beiträge
    211 Aufrufe
    stefan999S
    @paul53 ok danke, da muss ich mich mal einlesen, bis zum nächsten Problem in ein paar Tagen Gruß Stefan
  • serialport lässt sich nicht installieren

    javascript
    9
    0 Stimmen
    9 Beiträge
    639 Aufrufe
    stefan999S
    Es läuft jetzt, nur startet serialport nicht immer, ich muss mal genau beobachten waran das liegt. Vielleicht lässt mein Code ja etwas abstürzen. Hier nun ein Code der funktioniert, zumindest mal die Grundfunktion. Ich kann im Arduino Terminal Zeichen eingeben, und der AsCii code wird mir angezeigt. var Serialport = require('serialport'); var portName = '/dev/ttyUSB0'; const port = new Serialport(portName, { autoOpen: true, baudRate: 115200, dataBits: 8, parity: 'none', stopBits: 1, flowControl: false }); // Read the port data port.on("open", function () { console.log('open'); port.on('data', function(data) { console.log(data); }); }); Ich denke es lag nie daran, dass serialport nicht installiert war!
  • Selector greift nicht nach Umstellung auf redis?

    javascript
    7
    0 Stimmen
    7 Beiträge
    504 Aufrufe
    ?
    @homoran Die erste "Warn"-Zeile fing mit einer "getState"-Warnung an. Davor waren nur die ganz normalen Info-Zeilen (Adapter gestartet, Log-Meldungen von meinen Scripten, etc.). Kein Fehler, kein gar nichts.
  • Editor aktualisieren Log für eigene Scripte

    7
    0 Stimmen
    7 Beiträge
    588 Aufrufe
    htreckslerH
    @hanss Du kannst doch deine Eigenen Log-Einträge immer mit einem z. B. 'xxxxx' beginnen lassen. Dann kannst du danach filtern. Und eigene Log-Einträge schreibe ich immer im log-Level "warn". Dann sind sie im Log farblich hervorgehoben. und ein letztes noch noch...in den Instanzen stelle ich die Log-Stufe in der Regel auf "Error". Dann sind die Einträge der Adapter auf ein Minimum beschränkt
  • mehrere Schedules zur selben Zeit

    6
    0 Stimmen
    6 Beiträge
    463 Aufrufe
    H
    @unclesam hab ich gemacht Github Issue

406

Online

33.0k

Benutzer

83.3k

Themen

1.3m

Beiträge