Weiter zum Inhalt

JavaScript

2.5k Themen 49.9k Beiträge

Hilfe für Skripterstellung mit JavaScript

NEWS

  • Mehrere Variablen übergeben (Stapelverarbeitung)

    javascript
    8
    0 Stimmen
    8 Beiträge
    780 Aufrufe
    paul53P
    @blackforst sagte: Ch0 sind die Werte des Wechselrichters Also "ch1" bis "ch4"? Ohne das kleine "i" in der Ziel-ID wäre es sehr einfach mit einem $-Selektor und replace(): const idsSrc = $('mqtt.0.inverter.HM1500.ch*'); idsSrc.on(function(dp) { if(!dp.id.includes('.ch0.')) { let idDst = dp.id.replace('mqtt.0.inverter.HM1500.ch', 'beckhoff.0.plc.GVL_iobroker.stPhotovoltaik.stPhotoZelle'); setState(idDst, dp.state.val); } }); Mit dem kleinen "i" erstelle zwei Arrays mit je 24 Datenpunkt-IDs in gleicher Reihenfolge. EDIT: Oder verwende für jedes Panel einen eigenen Trigger: $('mqtt.0.inverter.HM1500.ch1.*').on(function(dp) { let idDst = dp.id.replace('mqtt.0.inverter.HM1500.ch1.', 'beckhoff.0.plc.GVL_iobroker.stPhotovoltaik.stPhotoZelle1.i'); setState(idDst, dp.state.val); }); $('mqtt.0.inverter.HM1500.ch2.*').on(function(dp) { let idDst = dp.id.replace('mqtt.0.inverter.HM1500.ch2.', 'beckhoff.0.plc.GVL_iobroker.stPhotovoltaik.stPhotoZelle2.i'); setState(idDst, dp.state.val); }); $('mqtt.0.inverter.HM1500.ch3.*').on(function(dp) { let idDst = dp.id.replace('mqtt.0.inverter.HM1500.ch3.', 'beckhoff.0.plc.GVL_iobroker.stPhotovoltaik.stPhotoZelle3.i'); setState(idDst, dp.state.val); }); $('mqtt.0.inverter.HM1500.ch4.*').on(function(dp) { let idDst = dp.id.replace('mqtt.0.inverter.HM1500.ch4.', 'beckhoff.0.plc.GVL_iobroker.stPhotovoltaik.stPhotoZelle4.i'); setState(idDst, dp.state.val); });
  • Script trigger alle 5 minuten nach wechsel Bewegungsmelder

    3
    3
    0 Stimmen
    3 Beiträge
    197 Aufrufe
    wendy2702W
    @emil70 danke für deine Antwort. Jetzt wird es spannend, letzte Nacht hat es irgendwann aufgehört und jetzt scheint es wieder wie vorher zu funktionieren.
  • Python3 Skript in Iobroker einbinden

    30
    0 Stimmen
    30 Beiträge
    5k Aufrufe
    rrov1R
    @fibs Das Python-Skript passt nicht. Zum einen fehlen an verschiedenen Stellen die Einrückungen, wobei ich vermute mal das liegt ein der Einbettung des Codes hier im Forum, zum anderen sind wieder die input()-Funktionsaufrufe drinnen, welche dazu führen, dass das Skript stehen bleibt und auf Eingabe wartet. Ich habe dir noch mal eine Version mit Parametern hier beigelegt: Main.py . Was mir noch aufgefallen ist, du hast jetzt einen vierten Wert den du per input() Abfragst, den habe ich gleich mit als jetzt 4 Parameter eingebaut. Damit brauchst du jetzt auch einen vierten Datenpunkt in ioBroker + einen vierten Parameter im Javascript. Nicht vergessen, sonst geht das nicht.
  • Flexibler Schedule für Rolladensteuerung über Jarvis steuern

    10
    1
    0 Stimmen
    10 Beiträge
    924 Aufrufe
    M
    @paul53 Danke dir für deine Unterstütztung! Ich werde jetzt deinen Vorschlag so weiterverwenden. :)
  • Was will mir diese Meldung sagen ?

    3
    3
    0 Stimmen
    3 Beiträge
    343 Aufrufe
    paul53P
    @griessbx sagte: Bekomme aber eine Warnmeldung Im Tab "Protokolle" erhält man weitere Informationen zu den Warnungen. Vermutung: Datenpunkt-Typ passt nicht?
  • $-Selector und Objekte vom Typ: host/instance

    javascript
    1
    0 Stimmen
    1 Beiträge
    185 Aufrufe
    Niemand hat geantwortet
  • Skript läuft doppelt - wie Zombie abschalten

    10
    0 Stimmen
    10 Beiträge
    347 Aufrufe
    W
    @bahnuhr Bei mir läut nur eine JS Instanz.
  • [gelöst]Neg. Ergebniss aus Berechnung auf 0 setzen

    3
    0 Stimmen
    3 Beiträge
    389 Aufrufe
    paul53P
    @peter666666 sagte: ein neg. Ergebniss aus einer Berechnung auf 0 setzen lassen und nur pos. Ergebnisse in den DB schreiben? Einen Alias für Bezug erstellen mit Read-Konvertierung: val > 0 ? val : 0 Falls der Ursprungs-Datenpunkt bei Bezug negative Werte liefert: val < 0 ? -val : 0
  • Warten auf das Ergebnis der Funktion aus influxdb

    3
    0 Stimmen
    3 Beiträge
    317 Aufrufe
    C
    @arteck Vielen Dank für deine Antwort. Das hatte ich bereits probiert und bekomme immer beim await diese Fehlermeldung: 'await' expressions are only allowed within async functions and at the top levels of modules.(1308) index0.js(62, 16): Did you mean to mark this function as 'async'? Hatte das dann versucht einzupacken in: async function main() { } Hat allerdings alles nichts gebracht... irgendeine Fehlermeldung kommt immer...
  • Abstract base class

    Ungelöst
    1
    0 Stimmen
    1 Beiträge
    244 Aufrufe
    Niemand hat geantwortet
  • Skalierbares Skript zur Steuerung einer Fussbodenheizung

    1
    1 Stimmen
    1 Beiträge
    209 Aufrufe
    Niemand hat geantwortet
  • [gelöst] getState Fehler ausblenden

    javascript
    3
    0 Stimmen
    3 Beiträge
    145 Aufrufe
    K
    @paul53 oh man, natürlich. Es kann manchmal so einfach sein. Vielen Dank
  • Programmsuchdatei in Java

    Ungelöst
    5
    0 Stimmen
    5 Beiträge
    659 Aufrufe
    CodierknechtC
    @oliverio sagte in Programmsuchdatei in Java: Warum Java? Die dunkle Seite der Macht Nicht zu verwechseln mit JavaScript.
  • Funktion deklarierte Datei JavaScript

    2
    0 Stimmen
    2 Beiträge
    312 Aufrufe
    paul53P
    @jacusi Mit require() lädt man Module, die als solche deklariert sind. 'use strict'; module.exports = function (a, b) { return a + b; }; Aufruf: const add = require('./13-add'); // Pfad muss passen! log(add(3,5)); Damit eigene Module mit gesichert werden, habe ich sie unter "iobroker-data.modules" gespeichert. const add = require('../../../iobroker-data/modules/13-add'); log(add(3,5));
  • Hue zählen wenn vom Strom getrennt

    1
    0 Stimmen
    1 Beiträge
    198 Aufrufe
    Niemand hat geantwortet
  • E3DC

    2
    2
    0 Stimmen
    2 Beiträge
    218 Aufrufe
    Niemand hat geantwortet
  • [gelöst] existsObject nur für Datenpunkte unter 0_userdata?

    2
    0 Stimmen
    2 Beiträge
    189 Aufrufe
    liv-in-skyL
    @haxe nee - kann auf alles geprüft werden [image: 1678601372041-image-024.png] evtl mal die javascript neu starten
  • Websocket öffnen und Abfragen an ETH2RS232 Adapter schicken

    4
    0 Stimmen
    4 Beiträge
    200 Aufrufe
    L
    Es kann so einfach sein: "^P003PI\r"
  • Flugpreise tracken

    1
    0 Stimmen
    1 Beiträge
    252 Aufrufe
    Niemand hat geantwortet
  • Altes Script für sonoff Bridge versagt den Dienst

    6
    1
    0 Stimmen
    6 Beiträge
    593 Aufrufe
    B
    Ich habe gerade was gelesen. Ich habe den Debug Modus an gehabt dann schreibt er nicht die Daten in Data so wie es aussieht, ich habe ihn aus gmacht nun schreibt er Ihn in den Datenpunkt. Danke für den bemühen!

360

Online

33.1k

Benutzende

83.7k

Themen

1.3m

Beiträge