Skip to content

Skripten / Logik

Hilfe zu JavaScript, Blockly, TypeScript, Node-RED, Scenes und text2command

16.6k Themen 213.7k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    Pedder007P
    @Schimi Danke, läuft nun auch bei mir :-)
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Themen
    79k Beiträge
    B
    @Murphy-0 gibt es bezüglich dem Bug mit dem importierten xml file eine Lösung?
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Themen
    13k Beiträge
    Marc BergM
    Es gibt in der Verson 1.3.0 einen neuen Node: iob-setObject (Stand 10.02.26 noch beta) Mit dem neuen Node kann man ioBroker-Objektdefinitionen (Metadaten) direkt schreiben und ändern. Hauptfunktionen: Instanz-Konfigurationen ändern - z.B. MQTT publish-Pattern, Intervalle, etc. Objekt-Eigenschaften aktualisieren - Namen, Rollen, Einheiten, Min/Max-Werte ändern es gibt zwei Modi: Merge-Modus : Ändert nur die angegebenen Eigenschaften, alle anderen bleiben erhalten Replace-Modus: Überschreibt das komplette Objekt Typischer Workflow: Objekt mit iob-getobject holen Mit Change-Node gewünschte Properties ändern Mit iob-setobject zurückschreiben
  • Batteriestatus

    javascript
    10
    1
    0 Stimmen
    10 Beiträge
    663 Aufrufe
    A
    @paul53 Hy Paul Danke für dein Feedback. Jetzt bekomme ich die entsprechenden Werte: Temp.-Kühlschrank,<br>Temp.-Aussenwand-nord Jetzt muss ich noch schauen wie ich das in den iQontrol via Popup oder so bringe. Ne Idee? Danke dir
  • Simples Programm funktioniert nicht

    blockly javascript
    5
    1
    0 Stimmen
    5 Beiträge
    301 Aufrufe
    hg6806H
    ....habe es hinbekommen mit dem Falls...sonst
  • sendTo synchron verwenden

    javascript
    2
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    AlCalzoneA
    @ceram Du kannst grundsätzlich jede Funktion mit Callback promisifizieren, um sie anschließend per await aufzurufen. Das Prinzip ist immer gleich, hier mal für deinen Fall: function sendToAsync(adapter, command, options) { return new Promise((resolve, reject) => { sendTo(adapter, command, options, result => { if (result.error) { reject(result.error); } else { resolve(result.result) } }); }); } // Nutzung in der aufrufenden Funktion: try { const result = await sendToAsync(...) // mit result weiterarbeiten } catch (e) { // Fehler behandeln }
  • [gelöst] Datei löschen auf Debian mit Script

    javascript
    6
    0 Stimmen
    6 Beiträge
    509 Aufrufe
    Thomas BraunT
    @StrangeDenial Ich würde aber vielleicht auch mal schauen, was da die log-Datei so aufpustet. Das ist jedenfalls imho nicht normal. Da sollte ja logrotate schon für sorgen.
  • Bedingung für Jalousienprogramm

    blockly
    3
    1
    0 Stimmen
    3 Beiträge
    191 Aufrufe
    surfer09S
    @el_malto Super, danke dir für den Tipp! Ich werde es mal versuchen! :-)
  • Import SQL Daten nach InfluxDB

    monitoring javascript communication
    2
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    arteckA
    @Musik231 https://forum.iobroker.net/topic/12482/frage-migrate-mysql-nach-influxdb?page=1
  • Dienst auf Qnap NAS per ioBroker stoppen/starten

    javascript multimedia
    4
    0 Stimmen
    4 Beiträge
    618 Aufrufe
    DolomitiD
    @Kusi Habe auch nachher gesehen, dass dein Problem in einem andren Thread gelöst wurde :-)
  • SayIt mp3-Pfad im JavaScript

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    2k Aufrufe
    P
    @tempestas : 3 Jahre später, hat aber trotzdem geholfen! Vielen Dank!
  • ping Objekt - regex möglich ?

    javascript
    4
    0 Stimmen
    4 Beiträge
    262 Aufrufe
    bahnuhrB
    Mensch klasse, ein Kombination aus euren Antworten hab ich jetzt gebastelt. Und zwar so: cacheSelectorState = $("[id=ping.0.*.192*]").each(function (id) { }); let x = new RegExp(/ping\.0\.([a-zA-Z\(\)-]+)\.192/); let state = cacheSelectorState[0]; let pcname = x.exec(state)[1]; log(pcname); Damit kann ich dann weiterarbeiten. Super. Nochmals Danke.
  • Aus HTML Befehl das Ergebnis in ein Datenpunkt schreiben

    multimedia blockly javascript
    17
    0 Stimmen
    17 Beiträge
    605 Aufrufe
    I
    @RainerSausK Lange Rede kurzer Sinn. Aber genau das stand alles im ersten Post. :joy:
  • Anwesenheit Abfrage

    blockly
    12
    0 Stimmen
    12 Beiträge
    651 Aufrufe
    L
    Ich werde jetzt einfach ein neues Blockly "Abwesenheit" machen. In dem die Musikwiedergabe gestoppt wird, sollten wir beide das Haus verlassen. Sollte doch gehen, oder?
  • Homematic Termostate auf manuell setzen

    javascript
    5
    0 Stimmen
    5 Beiträge
    435 Aufrufe
    agreenA
    @paul53 wie einfach ... wahnsinn ... danke. ich habe einen schalter gesucht, bei dem ich es umstellen kann (sprich wie am Termostate selbst).
  • [gelöst] SetState schreibt was anderes als übergeben

    javascript
    4
    0 Stimmen
    4 Beiträge
    526 Aufrufe
    M
    Jetzt hatte ich gerade noch einen Geistesblitz: Was ist wenn vielleicht im Hintergrund eine zweite Instanz des Scriptes parallel läuft mit einem älteren Code den ich wärend der Entwicklung gestartet habe und mir ständig meinen korrekten neuen Status überschreibt und ich denke nur, dass mein Script verrückt spielt? Das würde auch erklären, warum ich das Verhalten nicht in 100% der Fälle sehe, sondern nur zu 50%. Also mal den ganzen PI neugestartet um sicher zu gehen, dass alle Prozess frisch sind... Und Zack: Problem ist weg. :face_palm: Danke trotzdem!
  • [gelöst]Script für Änderung der Textfarbe bei Wert X

    Verschoben
    22
    0 Stimmen
    22 Beiträge
    6k Aufrufe
    H
    Sorry, dass ich diesen alten Beitrag nochmals hochhole, aber ich bin gerade beim gleichen Thema. Das Script funktioniert an sich, leider verzögert. Wann checkt das Script seinen Status? Kann ich das beschleunigen? Meines liegt im common Ordner. var idFarbe = "javascript.0.VIS.FarbeFensterVisu"; var idAktor = "Datenpunkte.0.StatusWindowOpen"; createState(idFarbe, 'white', { def: 'white', type: 'string', role: 'text' }); on(idAktor, function (data) { log('Aktorwert: ' + data.state.val); if (data.state.val === 0) setState(idFarbe, 'green'); else if (data.state.val > 0 && data.state.val <= 50) setState(idFarbe, 'red'); });
  • [Erledigt] Frage zu Scripte Auslösen auf Taster oder Zeit

    Verschoben
    14
    0 Stimmen
    14 Beiträge
    3k Aufrufe
    bahnuhrB
    @hussi sagte in [Erledigt] Frage zu Scripte Auslösen auf Taster oder Zeit: @bahnuhr Bei mir sieht das so aus: [image: bild.JPG] Such Mal nach Dummy Da findest du zahlreiche Beispiele. Sowohl hier als auch im Homematic forum
  • Skripte in Typescript

    javascript
    9
    0 Stimmen
    9 Beiträge
    3k Aufrufe
    AlCalzoneA
    @noox sagte in Skripte in Typescript: Würde das heißen, dass ich mit import und export Scripts wiederverwenden könnte? Nein, du kannst nur node-Module per import einbinden. Skripte wiederverwenden (bzw. Skript-Module) erfordern ein Node.js-Feature was nur experimentell ist. export in Skripten ist ohne Funktion (außer TypeScript zu überreden, dem Skript sein eigenes Scope zu geben).
  • [Vorlage] Pflanzen gießen - Erinnerung (VIS, keine Hardware)

    Verschoben javascript
    21
    2
    0 Stimmen
    21 Beiträge
    4k Aufrufe
    MicM
    @Stephan-Schleich Habe derzeit keine Zeit aufgrund anderer Projekte.
  • [GELÖST] Alexa Standard-Sprachausgabe deaktivieren

    javascript
    22
    0 Stimmen
    22 Beiträge
    2k Aufrufe
    T
    @dslraser sagte in Alexa Standard-Sprachausgabe deaktivieren: @tööö füge das/die SmartNamen einfach über den RAW des Datenpunktes hinzu. Beispiel ? (oder weißt Du was ich meine) Sehr gut! :D das hat nun funktioniert, wie ich es will. Steckdose wird über die verschiedenen Smartnamen geschaltet "smartName": { "de": "Steckdose Fernsehen, Steckdose Fernseher, Steckdose am Fernsehen, Steckdose am Fernseher", "smartType": "SWITCH" } Und mein Skript läuft dann bei den Triggerwörtern auch an und gibt nur die entsprechende Antwort aus. Vielen Dank dir. :-)
  • Bild vom Telegram Empfangen

    Verschoben
    25
    0 Stimmen
    25 Beiträge
    4k Aufrufe
    P
    @MCU OK, habs verstanden und auch jetzt gelöst: In der Adapterkonfiguration muss im Reiter 'Nachrichten' die Option 'Speichere Original-Requests...' angewählt sein (Hatte den Punkt von dir übersehen). Dann sehe ich das auch im Datenpunkt 'telegram.0.communicate.requestRaw' (der war nämlich vorher leer). Danke! Jetzt geht's weiter...
  • Probleme mit Cronfobs

    blockly
    1
    0 Stimmen
    1 Beiträge
    102 Aufrufe
    Niemand hat geantwortet

640

Online

32.7k

Benutzer

82.4k

Themen

1.3m

Beiträge