Skip to content

JavaScript

Hilfe für Skripterstellung mit JavaScript

2.5k Topics 48.6k Posts

NEWS

  • Skript lässt Javascript Adapter neustarten...

    2
    0 Votes
    2 Posts
    247 Views
    Dominic ReberD
    @dominic-reber Kann ich irgendwie das funktionierende Skript wo hinkopieren und aus dem IoBroker-Javascript-Script starten?
  • 1 Votes
    3 Posts
    837 Views
    G
    @crunchip @crunchip said in Vorlage: Pulsecounter (stall.biz) per JSON auslesen: @GrillKoenig sagte in Vorlage: Pulsecounter (stall.biz) per JSON auslesen: Da ich noch nichts vergleichbares hier im Forum gefunden habe Was meinst du mit vergleichbares? Ein universelles JavaScript, welches diese Daten 1:1 übernimmt, ohne das man die Datenpunkte manuell zuweisen muss Ich hol mir die Daten direkt mittels Adapter. Stimmt, den wiffi-wz gibt es ebenfalls. Der arbeitet aber nicht mit meinem "Gradmesser" zusammen. Das Script hier oben benötigt dafür nur die IP und eine Anpassung des Prefix. Ich hätte also vielleicht nicht konkret auf den Pulsecounter eingehen sollen, sondern auf das "allgemeine JSON Format" der Produkte von stall.biz. ;) Grüße Kai
  • Javascript: Zeittrigger löst nicht/manchmal aus

    3
    4
    0 Votes
    3 Posts
    174 Views
    C
    @csuser Habe das Problem lösen können. Da der Pi einen Tag vorher aufgesetzt wurde, war die Uhrzeit 1 Stunde hinterher. Daraufhin habe ich wie oben beschrieben die Zeitzone des Pi´s aktuallisiert. Wie sich herausgestellt hat wurde die Zeit im IOBroker nicht aktuallisiert. Nach einem Reboot stimmt auch die Zeit des IOBrokers und die Trigger lösen entsprechend aus.
  • javascript subscribe mit parameter

    9
    0 Votes
    9 Posts
    792 Views
    I
    Hi @ll, wo das nenne ich mal schnelle Reaktion und gleich so viele. Auf die Idee in der anonymen Funktion einfach meine Funktion aufzurufen hätte ich auch selber kommen können :disappointed:. Das ich über obj ja auch an den state dran kommen wir mir nicht so bewusst (muss in meinen anderen Skripten schauen ob ich das da auch verwenden kann). Ich mache das jetzt erstmal so. function window_change(thermostat, value){ for (let i of thermostat){ setState(i +'.mode',value); } } on({ id: 'maxcul.0.NEQ1152113.isOpen', change: 'any' }, function (obj) { window_change(['maxcul.0.NEQ1255028'],(obj.state.val?6:0)) }); Vielleicht ändere ich das noch mal so dass es automatisch durch die enums erzeugt wird jedoch glaube ich das eine Änderung (neues Thermostat oder Fenstersensor) nicht so häufig passiert. vielen dank noch mal für die vielen hilfreichen antworten. Gruß Arne
  • [gelöst] Selektor Definition mit functions= geht nicht

    javascript
    3
    4
    0 Votes
    3 Posts
    185 Views
    M
    @paul53 sagte in Selektor Definition mit functions= geht nicht: var Sel = $('hue-extended.0.*.on(functions=light)'); Beide Varianten funktionieren. Vielen Dank.
  • Min. und Max Wert

    4
    1
    0 Votes
    4 Posts
    304 Views
    B
    @bloop Hab mich jetzt weiter gespielt und das Problem gefunden: Bei den Datapoints muss der Datenbankname vorgestellt werden. sendTo('sql.0', 'query', 'SELECT * FROM iobroker.datapoints WHERE name = \'' + id + '\'', GetResults); sowohl in der SQLAbfrage als auch im GetResults sendTo('sql.0', 'query', 'SELECT Round(Min(val),1) As MinVal FROM iobroker.ts_number WHERE ts >= ' + start_time + ' AND id=' + dpoint.result[0].id + ' GROUP BY id',minimum); sendTo('sql.0', 'query', 'SELECT Round(Max(val),1) As MaxVal FROM iobroker.ts_number WHERE ts >= ' + start_time + ' AND id=' + dpoint.result[0].id + ' GROUP BY id',maximum); Ab und zu hilft ne Nacht drüber schlafen auch :grin: @fastfoot Herzlichen Dank nochmal!
  • Senden und Empfangen per USB an Arduino

    1
    1
    0 Votes
    1 Posts
    359 Views
    No one has replied
  • javascripte generieren

    javascript
    10
    0 Votes
    10 Posts
    704 Views
    GoerschG
    @UncleSam :) ... und bezüglich Speicher und Geschwindigkeit brauchen wir uns keine sorgen zu machen ... 12 Monate später: äh, ich brauch da noch mal x Vcores in meiner VM und ein bisschen mehr RAM wäre auch gut ... oh, der Server ist am Limit ... ja, dann muss ich doch mal Anfangen über meine Code nachzudenken ... Mir ist eine andere Idee gekommen. Ich lass den javascript Code extern generieren und mach dann Copy&Paste. Das sollte erst mal gehen.
  • Befehl auf anderen Server absetzten

    6
    0 Votes
    6 Posts
    455 Views
    H
    @mickym Danke war schon am verzweifeln.
  • [Skript]Covid 19: 7 Tage Werte aller Landkreise

    56
    1
    5 Votes
    56 Posts
    7k Views
    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 Votes
    14 Posts
    3k Views
    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 Votes
    2 Posts
    222 Views
    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 Votes
    9 Posts
    2k Views
    K
    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 Votes
    12 Posts
    807 Views
    H
    @paul53 das funktioniert mega, vielen Dank! :)
  • [gelöst]Wie sende ich aus JavaScript einen HTTP Befehl

    10
    0 Votes
    10 Posts
    798 Views
    S
    @amg_666 Mache ich
  • [Suche] Javascript das eine Tabelle im JSON ausgibt

    39
    0 Votes
    39 Posts
    3k Views
    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 Votes
    1 Posts
    209 Views
    No one has replied
  • DoorBird API: Update Schedule mit Javascript

    2
    1
    0 Votes
    2 Posts
    207 Views
    SchmakusS
    Keine Doorbird Anwender hier?
  • Problem mit getState()

    15
    0 Votes
    15 Posts
    1k Views
    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 Votes
    21 Posts
    811 Views
    WszeneW
    @paul53 OK danke Dir So funktioniert es Da werde ich jetzt erstmal all meine Aliase die als Button sind neu anlegen

368

Online

32.5k

Users

81.7k

Topics

1.3m

Posts