Skip to content

JavaScript

Hilfe für Skripterstellung mit JavaScript

2.5k Themen 48.8k Beiträge

NEWS

  • getState(obj.id).val vs obj.state.val

    javascript
    16
    0 Stimmen
    16 Beiträge
    2k Aufrufe
    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 Stimmen
    1 Beiträge
    352 Aufrufe
    Niemand hat geantwortet
  • HTML Table für Alexa Smart Devices

    javascript template monitoring
    9
    2
    0 Stimmen
    9 Beiträge
    2k Aufrufe
    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 Stimmen
    6 Beiträge
    233 Aufrufe
    M
    https://forum.iobroker.net/topic/31160/mount-befehl-für-backitup-erweitern
  • Exec script pi, Chromium neustart

    javascript
    5
    0 Stimmen
    5 Beiträge
    818 Aufrufe
    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 Stimmen
    1 Beiträge
    137 Aufrufe
    Niemand hat geantwortet
  • Blockly - HMIP-SLO - Lux Wert und Aktion?

    8
    0 Stimmen
    8 Beiträge
    550 Aufrufe
    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 Stimmen
    64 Beiträge
    6k Aufrufe
    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 Stimmen
    3 Beiträge
    238 Aufrufe
    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 Stimmen
    4 Beiträge
    214 Aufrufe
    paul53P
    @joerg55 sagte: finde ich existsState nicht. Diese Funktion ist undokumentiert.
  • [HILFE] Datumsberechnung

    2
    0 Stimmen
    2 Beiträge
    320 Aufrufe
    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 Stimmen
    11 Beiträge
    616 Aufrufe
    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 Stimmen
    2 Beiträge
    205 Aufrufe
    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 Stimmen
    5 Beiträge
    519 Aufrufe
    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 Stimmen
    4 Beiträge
    363 Aufrufe
    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 Stimmen
    2 Beiträge
    578 Aufrufe
    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 Stimmen
    3 Beiträge
    289 Aufrufe
    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 Stimmen
    5 Beiträge
    247 Aufrufe
    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 Stimmen
    3 Beiträge
    183 Aufrufe
    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
  • Garmin LiveTrack per Telegram

    1
    2
    0 Stimmen
    1 Beiträge
    659 Aufrufe
    Niemand hat geantwortet

802

Online

32.6k

Benutzer

82.1k

Themen

1.3m

Beiträge