Skip to content

Skripten / Logik

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

16.5k Topics 213.5k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    Pedder007P
    ich denke bei 403 ist es das eher nicht., habs trotzdem probiert, aber gleiche Fehlermeldung. Ich hatte gerade mal parallel Gemini gefragt und dabei ist herausgekommen, dass es evtl. sein könnte, das der Provider den (2.ten) Zugang nicht freigibt, weil er mit der selben IP bereits einen aktiven Zugang sieht (bei mir läuft aktuell auch noch der dasWetter-Adapter) Ich habe zum zweiten Account (andere Mailadresse) auch bisher keine Bestätigungsmail bekommen!?
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Topics
    79k Posts
    haselchenH
    @Fibricus Passt Du den Threadtitel noch bitte an ( auch wenn gelöst). Mit „Denk ich falsch?“ kann kein User was anfangen .
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Topics
    13k Posts
    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
  • [Gelöst]Umstellung Request auf Axios

    3
    0 Votes
    3 Posts
    331 Views
    BoronsbruderB
    @mcu Vielen Dank, du bist mein Held!
  • Zigbee Status der LED

    7
    0 Votes
    7 Posts
    780 Views
    J
    @arteck Die Version des Zigbee Adapters ist die 1.10.4 (GIT Version) Mein Koordinator ist ein SLZB-06. Hier die entsprechende Kachel. [image: 1719342849452-screenshot_20240625-211115.png] Und die Kachel von den Lampen. [image: 1719342918691-screenshot_20240625-211034.png]
  • Zentral Status Licht

    12
    1
    0 Votes
    12 Posts
    903 Views
    paul53P
    @ft-knorr sagte: sagen kann, dass er Nullwerte ignorieren soll. Das sind keine Nullwerte, sondern der Datenpunkt hat keinen Zustand, da anscheinend "expire" verwendet wurde. Da hilft nur eine JS-Funktion mit Ergebnis: if(existsState(id)) return getState(id).val; [image: 1719212377475-blockly_temp.jpg]
  • Vorheriger Wert Baustein

    3
    1
    0 Votes
    3 Posts
    332 Views
    AsgothianA
    @darkdevil sagte in Vorheriger Wert Baustein: ich dachte das es eine gute Idee wäre auf den vorherigen Wert zu triggern. Wenn dieser von 0 (alles dunkel ) stammt müsste der Script ja nur bei aufgehender Sonne auslösen. Wenn du mit einem Vergleich von Wert und vorheriger Wert arbeitest solltest du immer darauf achten das es keine Lücken gibt. In Deinem Beispiel das Falls also so aufbauen: [image: 1718866258510-screenshot-2024-06-20-at-08.50.52.png] Insbesondere solltest du wenn du schon den "vorheriger Wert" Baustein benutzt auch den "Wert" Baustein nutzen, und den Wert nicht neu holen via Wert von Objekt ID ... Zusätzlich würde ich in Deinem Fall gleich den Trigger noch auf "ist grösser als vorher" setzen - dann löst der generell nur aus wenn es heller wird. A.
  • Rollosteuerung für Fortgeschrittene

    3
    1
    0 Votes
    3 Posts
    406 Views
    icebearI
    @adnim Ah, verstehe, da hab ich ja garnich dran gedacht, also quasi unten auswählen (Schreibe 1-x Zahl in einen DP) und über die Sichtbarkeit kann ich ja dann steuern welche von den 1-x Steuerelementen aktiv sind. Schau ich mal ob ich das so hinbekomme. Danke für den Tipp
  • Script auslösen wenn Timestamp älter als x ist

    6
    0 Votes
    6 Posts
    544 Views
    G
    Danke euch für die Antworten. Denke es wäre sowohl mit der von @OliverIO beschriebenen Methode gut möglich, allerdings werde ich mal die von @paul53 umsetzten, da es ein "Last Sync Objekt" im Adapter gibt 👌. @crunchip auch gute Idee, allerdings ist mir nur ein Datenpunkt "Online" aufgefallen. Ich werde mal im Auge behalten, ob hier der Adapter oder das Modul direkt im Adapter gemeint ist. Grüße Phil
  • JSON Datenpunkt auslesen - Problem : Doppelpunkt im Namen

    23
    0 Votes
    23 Posts
    2k Views
    paul53P
    @ralf-8 sagte: Hier ist mein Alias Richtig: Zustandstyp: Zahl nicht Writable Rolle: value.power Unit: W
  • Abfrage "wenn innerhalb von X Sekunden Wert wahr" *gelöst*

    10
    0 Votes
    10 Posts
    703 Views
    paul53P
    @surfer09 sagte: müsste ich dann nach "0" und "1" abfragen ... oder auf "ist größer als letztes" triggern - wie gezeigt. @surfer09 sagte in Blockly Abfrage "wenn innerhalb von X Sekunden Wert wahr": Den Briefkasten Status lasse ich noch in eine separate Variable schreiben Der Datenpunkt muss auch wieder zurück gesetzt werden. [image: 1718525629907-blockly_temp.jpg]
  • Telegram Bilder - Es kommt immer der Bilder Link mit

    14
    1
    0 Votes
    14 Posts
    1k Views
    S
    @haus-automatisierung Ähm ja klar :angel: [image: 1718436717500-screenshot_2024-06-15-09-31-17-271_com.android.chrome-edit.jpg] Einziges Manko, wenn nach 4000ms das Bild noch nicht gesendet wurde ( warum auch immer ) dann kommt halt erst in 8000ms das nächste Bild. Kann man eine Abfrage einbauen um zu prüfen ob das Bild schon gesendet wurde?
  • Strom Verbrauch und separat Überschuss berechnen

    155
    1
    0 Votes
    155 Posts
    32k Views
    DuffyD
    @heidepower Klappt es jetzt ?
  • Dynamisches Licht - Farbverlauf Tag/Nacht

    javascript template
    104
    5 Votes
    104 Posts
    19k Views
    D
    Hi, ich habe mir erlaubt noch ein weiteres Skript für TUYA RGBCCT Leuchten zu schreiben, die die Farbtemperatur in einem Wert von 0-1000 darstellen. Falls es jemand benötigt: // Funktion, die den Wert liest, umrechnet und schreibt function processValue() { // Lese den Wert aus ioBroker (ersetze 'javascript.0.Dynamisches_Licht.Hilfswert_Kelvin' durch die tatsächliche Objekt-ID) let sourceValue = getState('javascript.0.Dynamisches_Licht.Hilfswert_Kelvin').val; // Kelvin range typically 2700K to 6500K const minKelvin = 2200; const maxKelvin = 6500; // Tuya temperature range 0 to 1000 const minTuyaTemp = 0; const maxTuyaTemp = 1000; // Ensure the Kelvin value is within the expected range if (sourceValue < minKelvin) sourceValue = minKelvin; if (sourceValue > maxKelvin) sourceValue = maxKelvin; // Convert Kelvin to Tuya temperature const convertedValue = ((sourceValue - minKelvin) * (maxTuyaTemp - minTuyaTemp)) / (maxKelvin - minKelvin) + minTuyaTemp; // Schreibe den umgerechneten Wert zurück zu ioBroker (ersetze 'javascript.0.Dynamisches_Licht.Hilfswert_Tuya' durch die tatsächliche Ziel-Objekt-ID, die Du noch erstellen musst) setState('javascript.0.Dynamisches_Licht.Hilfswert_Tuya', Math.round(convertedValue)); console.log(`Wert von ${sourceValue} umgerechnet zu ${Math.round(convertedValue)} und geschrieben zu javascript.0.Dynamisches_Licht.Hilfswert_Tuya`); } // Setze das Update-Intervall auf eine Minute (60.000 Millisekunden) setInterval(processValue, 60000); // Starte den Prozess sofort, ohne auf das erste Intervall zu warten processValue();
  • Frage zum Wandeln / Importieren eines Scriptes

    4
    0 Votes
    4 Posts
    287 Views
    crunchipC
    @tritanium es gibt noch den statistics Adapter
  • Tasmota Rule für Port Expander (PCF8574)

    2
    1
    0 Votes
    2 Posts
    278 Views
    oberfraggerO
    Rule1 ON PCF8574-1_INP#D0=0 DO Power3 1 ENDON ON PCF8574-1_INP#D0=1 DO Power3 0 ENDON ON PCF8574-1_INP#D1=0 DO Power5 1 ENDON ON PCF8574-1_INP#D1=1 DO Power5 0 ENDON ON PCF8574-1_INP#D2=1 DO publish stat/Schuppen/RESULT {"Tuer_SchuppenHinten_Offen":"1"} ENDON ON PCF8574-1_INP#D2=0 DO publish stat/Schuppen/RESULT {"Tuer_SchuppenHinten_Offen":"0"} ENDON ON PCF8574-1_INP#D3=1 DO publish stat/Schuppen/RESULT {"Tuer_SchuppenVorne_Offen":"1"} ENDON ON PCF8574-1_INP#D3=0 DO publish stat/Schuppen/RESULT {"Tuer_SchuppenVorne_Offen":"0"} ENDON Backlog Rule1 1 Rule1 1 Rule2 ON analog#a0=1024 DO publish stat/Schuppen/RESULT {"Keypad":"1"} ENDON ON analog#a0=816 DO publish stat/Schuppen/RESULT {"Keypad":"2"} ENDON ON analog#a0=547 DO publish stat/Schuppen/RESULT {"Keypad":"3"} ENDON ON analog#a0=289 DO publish stat/Schuppen/RESULT {"Keypad":"4"} ENDON ON analog#a0=246 DO publish stat/Schuppen/RESULT {"Keypad":"5"} ENDON ON analog#a0=216 DO publish stat/Schuppen/RESULT {"Keypad":"6"} ENDON ON analog#a0=161 DO publish stat/Schuppen/RESULT {"Keypad":"7"} ENDON ON analog#a0=148 DO publish stat/Schuppen/RESULT {"Keypad":"8"} ENDON ON analog#a0=134 DO publish stat/Schuppen/RESULT {"Keypad":"9"} ENDON ON analog#a0=103 DO publish stat/Schuppen/RESULT {"Keypad":"0"} ENDON ON analog#a0=110 DO publish stat/Schuppen/RESULT {"Keypad":"*"} ENDON ON analog#a0=98 DO publish stat/Schuppen/RESULT {"Keypad":"#"} ENDON Backlog Rule2 1 Rule2 1
  • [Gelöst] Standort via Telegram JS/Blockly

    Moved
    9
    0 Votes
    9 Posts
    2k Views
    D
    @mcm1957 genau den hatte ich dann erstellt.
  • ioBroker Log auslesen und verarbeiten

    blockly node-red javascript
    20
    0 Votes
    20 Posts
    7k Views
    D
    @haus-automatisierung wohl eher nicht, aber zumindest starte ich den externen dienst so immer neu. bei iobroker selber arbeite ich in der Regel immer ohne sudo! evtl. kann ich den service auch ohne sudo reststarten, hab ich noch nicht probiert.
  • stdout eines ssh.exec-Aufrufs auswerten (WLAN Signalstärke)

    16
    0 Votes
    16 Posts
    989 Views
    P
    @oliverio Der Code funktioniert prima, ich hatte mich tatsächlich von der roten Markierung irritieren lassen. Deinen Tipp bzgl. des SNMP-Adapters werde ich mal prüfen. Vielen Dank für Deine Hilfe! Ergänzung: Der Weg über SNMP funktioniert in meinem Fall nicht, da es sich bei meinem AP um ein "4/32 Device" handelt, welches nur mit einer Minimalst-Version von OpenWRT läuft. SNMP kann darauf nicht zusätzlich installiert werden.
  • Hexadezimal auf Dezimal in Blockly umwandeln

    2
    1
    0 Votes
    2 Posts
    335 Views
    paul53P
    @tomsmarthome sagte: mit Blockly ins Dezimale umwandeln [image: 1717515248388-blockly_temp.jpg] return parseInt(hex, 16);
  • [gelöst] AppleTV einschalten über ioBroker

    29
    0 Votes
    29 Posts
    2k Views
    CinimodC
    @black-falcon87 ENDE
  • History-Logging für einzelnen Datenpunkt steuern

    3
    0 Votes
    3 Posts
    237 Views
    A
    @homoran Gute Idee! Da hätte ich auch selbst drauf kommen können. Vielen Dank!
  • [gelöst] zwei der Astrozeiten Datepunkte nicht aktualisiert

    8
    1
    0 Votes
    8 Posts
    455 Views
    paul53P
    @cinimod sagte: Und das JS dann nen Fehler erzeugt ist auch korrekt so ? Das ist in Version 8.4.2 behoben. Man kann unter Version 8.3.1 auch den Haken bei "Erstelle Zustände für alle Astrozeiten" in der JS-Konfiguration entfernen, sofern man die Datenpunkte unter "javascript.0.variables.astro" nicht in eigenen Skripten verwendet hat. @thomas-braun sagte in [gelöst] zwei der Astrozeiten Datepunkte nicht aktualisiert: Was soll denn angezeigt werden, wenn es den Zeitpunkt nicht gibt? Ab Version 8.4.0 wird (null) angezeigt und im Kommentar "n/a".

313

Online

32.6k

Users

82.3k

Topics

1.3m

Posts