Skip to content

JavaScript

Hilfe für Skripterstellung mit JavaScript

2.5k Topics 48.6k Posts

NEWS

  • schedule mit Date Objekt -> falscher Zeitpunkt?

    4
    0 Votes
    4 Posts
    300 Views
    GarfonsoG
    @ticaki Danke fürs testen. Auf die Idee bin ich nicht gekommen. :-) Nachtrag: Es gibt sogar schon ein Issue dazu (ups). https://github.com/ioBroker/ioBroker.javascript/issues/325
  • getState(obj.id).val vs obj.state.val

    javascript
    16
    0 Votes
    16 Posts
    2k Views
    paul53P
    @ticaki sagte: log(JSON.stringify(obj)); In neueren Versionen des Javascript-Adapters ist JSON.stringify() nicht erforderlich. on(id, function(dp) { log(dp); // zeigt id, state, oldState log(dp.common); // zeigt common-Attribute });
  • Automatische Abholung der Müllabholtermine von awg.de

    javascript monitoring
    1
    0 Votes
    1 Posts
    347 Views
    No one has replied
  • HTML Table für Alexa Smart Devices

    javascript template monitoring
    9
    2
    0 Votes
    9 Posts
    2k Views
    liv-in-skyL
    @sigi234 wegen der fehler - das problem sind die datenpunkte, die keine states haben ( also unbeschrieben sind) - an der stelle, an der wir getestet haben , konnte ich sehen, dass keine werte drin waren mein script findet in deinen datenpunkten ein smart device eintrag und will den state abfragen , da der ja schaltbar sein soll - ist der noch nie beschrieben worden - kommt es zu diesen fehlern - letztlich ist in der states datenbank noch kein eintrag vorhanden - ich habe das mal abgefangen - sieht dann so aus: neues script im ersten post - wir können auch gerne morgen zusammen testen, falls noch ein fehler auftritt- nochmals danke für deine zeit [image: 1584471757103-image-9.png]
  • iobroker backup mit Spezifikation des Pfads

    6
    0 Votes
    6 Posts
    221 Views
    M
    https://forum.iobroker.net/topic/31160/mount-befehl-für-backitup-erweitern
  • Exec script pi, Chromium neustart

    javascript
    5
    0 Votes
    5 Posts
    790 Views
    P
    Bin kein Linuxexperte, Das Script soll vom User pi ausgeführt werden und das Display 0 muss da rein, damit chromium in der aktuellen Session Neugestalten wird. Alles mal von Google irgendwo zusammengeschustert. Gruß
  • [Frage:] Webseite mit Format ISO-8859-1 einlesen

    1
    0 Votes
    1 Posts
    108 Views
    No one has replied
  • Blockly - HMIP-SLO - Lux Wert und Aktion?

    8
    0 Votes
    8 Posts
    534 Views
    P
    Genial. Jetzt passt alles. Bin morgen früh bzw. morgen Abend gespannt. [image: 1584218482718-03b6d3ba-c1bb-47b0-8a6d-54a2457574e1-image.png] Danke für die super Hilfe.
  • Vorwahl aus Fritzbox für Austria filtern

    javascript
    64
    2
    1 Votes
    64 Posts
    6k Views
    liv-in-skyL
    @Sascha-Löbbert https://forum.iobroker.net/post/393357 eigentlich wurde es für Austria umgeschrieben
  • schedule / on({time: - was ist stabiler/sinnvoller/besser?

    javascript
    3
    0 Votes
    3 Posts
    234 Views
    etvE
    @ticaki, danke dir für die Info. Ja, ich bin nun auch auf schedule umgestiegen. Im Prinzip ging's mir darum, welche Funktion bei einem restart vom ioBroker auch funktioniert, weil's unser Wecker Script betrifft :slightly_smiling_face: Aber wahrscheinlich ist es eh egal und wie du richtig sagst, mir gefällt schedule auch besser! Liebe Grüße tom
  • [gelöst] zu warn-log (664) Object "xyz" does not exist

    4
    0 Votes
    4 Posts
    208 Views
    paul53P
    @joerg55 sagte: finde ich existsState nicht. Diese Funktion ist undokumentiert.
  • [HILFE] Datumsberechnung

    2
    0 Votes
    2 Posts
    318 Views
    T
    Erster Treffer von Bing :) var now = new Date(); var start = new Date(now.getFullYear(), 0, 0); var diff = (now - start) + ((start.getTimezoneOffset() - now.getTimezoneOffset()) * 60 * 1000); var oneDay = 1000 * 60 * 60 * 24; var day = Math.floor(diff / oneDay);
  • [Frage] Timer oder Interval in Funktion löschen

    11
    1
    0 Votes
    11 Posts
    541 Views
    paul53P
    @CruziX sagte : in JavaScript werden alle primitiven Datentypen call by value und alle Objekte call by reference übergeben Das stimmt schon, weshalb man innerhalb einer Funktion auch die Attribute eines Objektes ändern kann, aber nicht das Objekt selbst. Im ersten Post ist time eine lokale Variable und es bewirkt nichts, diese auf null zu setzen.
  • Logik problem in 2 scripts .

    2
    1
    0 Votes
    2 Posts
    198 Views
    D
    [image: 1583661844223-bildschirmfoto-2020-03-08-um-11.03.48.png] habe es so geändert und alles gut aber , theoretisch musste das andere script auch laufen
  • [Vorlage] E2 Kanalliste auslesen und per Alexa umschalten

    5
    0 Votes
    5 Posts
    500 Views
    L
    Dann lass uns das Script perfektionieren mit Hilfe des Forums :) EDIT: Ich schrieb, dass eventuell die Timeouts angepasst werden müssen! Bei mir ist Zap aus, dann werden channels gelöscht und neu geschrieben und dann ist Zap wieder an. Ich bin leider noch nicht so mit callbacks bei JavaScript involviert um es wirklich asynchron laufen zu lassen. Sollte es bei Dir zappen, dann ist entweder das Script beim Channel-Update nicht aus, oder du musst die Timeouts erhöhen bis keine Fehlermedung mehr zu sehen ist
  • Fehler Im Skript Cannot find name 'data' Engine 4.4.3

    4
    0 Votes
    4 Posts
    337 Views
    paul53P
    @imushroom sagte: Jedoch habe ich let data ganz oben im Skript deklariert... Das geht natürlich auch. Sonst bei der ersten Wertzuweisung.
  • MQTT states an Rhasspy URL schicken

    2
    0 Votes
    2 Posts
    566 Views
    tobetobeT
    @hiasii12 @Bluefox Hallo, ich hatte meine Anfrage wohl gestern nicht richtig gepostet. Da ihr euch mit ähnlichen Themen bereits befasst habt, würde ich euch daher nun gern direkt ansprechen und um Hilfe bitten. Worum es einigen anderen ioBroker Usern und mir geht, habe ich hier kurz ausgeführt: MQTT states an Rhasspy URL schicken Und dazu auf das verwiesen, was ich bisher bereits unternommen habe: Rhasspy Offline Sprachsteuerung Leider bin ich nun mit meinem Wissen über JS am Ende. Vielleicht könntet ihr mal einen Blick auf den Code werfen und mir einen Hiweis geben, wie man hier zu einer Lösung kommen kann. Oder mich ggf an jemand anderen verweisen. Recht herzlichen Dank jedenfalls schon einmal vorab. Beste Grüße Thomas
  • [Frage] Aufrufen einer Funktion mit Namen in einer Variable

    3
    0 Votes
    3 Posts
    281 Views
    C
    @ticaki Danke, hab eval auch schon gefunden, aber erst nicht so ganz verstanden. Ich hab gelesen, es wird empfohlen eher Function zu nutzen und das hat jetzt so geklappt: Spoiler // Externe Function calls onMessage('call', (data, callback) => {console.log('Received data: ' + data); Function('"use strict";'+data)(); callback(null, Date.now())}); So kann ich jede Funktion der Skriptinstanz auch außerhalb aufrufen und muss gewisse Funktionen nicht in mehreren Skripts haben oder in globale setzen. Edit: Noch besser, dadurch, dass der Code jetzt in einem global Skript ist, kann ich Instanzübergreifend jede Funktion aufrufen ^^
  • [gelöst]: in eigene Datenbank schreiben

    javascript
    5
    0 Votes
    5 Posts
    237 Views
    OliverIOO
    @hanss sagte in Hilfe: in eigene Datenbank schreiben: @OliverIO Vielen Dank. Leider kenne ich da die Syntax nicht für den sql Adapter. Es wäre sehr schön, wenn Du mir da weiterhelfen könntest: Datenbank: dts Tabelle: wtc_vt var myQuery="INSERT INTO dts.wtc_vt // wie werden die Werte den Spalten vt_soll == 1 rt_soll == 2 at_m == 3 zugewiesen und dann einfach so abschicken? sendTo('sql.0', 'query', myQuery, function (result) { ja, aber so wie es aussieht passt der syntax deines sql-befehls noch nicht. hast du die links mal durchgelesen?
  • [gelöst]Abfrage für Relais Status

    3
    0 Votes
    3 Posts
    178 Views
    M
    Hi Paul, nach dem Edit klappte es :-) Ich musste nur die states noch vorher anlegen weil es nichts zum reinschreiben gab und habe dabei den Namen noch angepasst. createState('javascript.0.Controme.hkv.out-1', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-2', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-3', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-4', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-5', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-6', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-7', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-8', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-9', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-10', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-11', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-12', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-13', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-14', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-15', 0, {type: 'boolean', unit: ''}); const url = 'http://192.168.xx.xx/get/xx-xx-xx-01-1d-20/all/'; const dpPath = 'javascript.0.Controme.hkv.out-'; // 15 Datenpunkte Z1 ... Z15, Typ "boolean" schedule('* * * * *', function() { // jede Minute request(url, function(error, response, result) { result = result.substring(1, result.indexOf('>')); // < und > entfernen let arr = result.split(';'); for(let i = 0; i < arr.length; i++) { setState(dpPath + (i + 1), !!parseInt(arr[i]), true); } }); }); Jetzt versuche ich als nächstes mit der Abfrage von den States in drei Räumen die Klimaanlage zum heizen einzuschalten wenn ein state länger als 20 Minuten true ist. Bin mal gespannt ob ich das mit Blocky schaffe :-) Dir schon mal - wie immer - ganz lieben Dank für die schnelle Hilfe !!! vg Marc

597

Online

32.5k

Users

81.7k

Topics

1.3m

Posts