Skip to content

Skripten / Logik

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

16.4k Themen 211.8k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 48k
    2k Themen
    48k Beiträge
    A
    @as Welches Diagramm verwendest du? Es gibt drei Diagramme, eins für heute, eins für Morgen und eins wo beide Tage drauf sind. Das Skript berücksichtig beide Tage.
  • Hilfe für Skripterstellung mit Blockly

    6k 78k
    6k Themen
    78k Beiträge
    nik82N
    Ich habe eigentlich nur ein nodejs-update gemacht. Habe die Version 20.x gehabt. Jetzt hab ich diesen Stand: [image: 1764226675803-2ff0b0af-89c2-4a22-ba74-a0ef681450e9-image.png] Und seitdem kommt der Fehler. Muss ich denn noch was angeben bei dem HTTP Get Blocky, hab ich da evtl. was vergessen oder sollte das so ok sein? P.S. Javascript Adapter ist auch aktuell auf v9.0.11
  • Hilfe für Skripterstellung mit Node-RED

    952 13k
    952 Themen
    13k Beiträge
    HomoranH
    @fiddle sagte in [Gelöst]: Adapter per {Node Red | JS} (de)aktivieren: Ok, nicht als "Wert" schreiben, sondern als "Befehl". Dann scheint ihn das zu beeindrucken. du zeigst ja nichts, aber es geht mit true/false [image: 1763416200051-screenshot_20251117-224854_firefox.jpg] gesteuert über eigenen DP vom typ Bool
  • Zentral Status Licht

    12
    1
    0 Stimmen
    12 Beiträge
    755 Aufrufe
    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]
  • Analogwerte an loxone übertragen

    Verschoben
    16
    0 Stimmen
    16 Beiträge
    5k Aufrufe
    G
    @michael-a sagte in Analogwerte an loxone übertragen: Hallo zusammen, wurde das Problem nun schon gelöst? Die +- Zeichen in der Lox Visu gefallen mir auch nicht Gruß Michael Genau diese Frage stelle ich mir auch gerade. Gibt es irgendeine Möglichkeit die Verstellmöglichkeit abzuschalten, oder den Messwert auf einen analogen Ausgang zu legen? Die Verstellmöglichkeit macht bei einem Messwert absolut keinen Sinn und wird natürlich vom realen Messwert immer wieder überschrieben. Edit: Lösung gefunden. Den Baustein Virtueller Status verwenden. Zu finden unter "Baustein einfügen" "Allgemein". Wenn Interesse besteht kann ich hier noch die ausführliche Erläuterung posten.
  • Vorheriger Wert Baustein

    3
    1
    0 Stimmen
    3 Beiträge
    293 Aufrufe
    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 Stimmen
    3 Beiträge
    379 Aufrufe
    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 Stimmen
    6 Beiträge
    463 Aufrufe
    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 Stimmen
    23 Beiträge
    2k Aufrufe
    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 Stimmen
    10 Beiträge
    666 Aufrufe
    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 Stimmen
    14 Beiträge
    931 Aufrufe
    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 Stimmen
    155 Beiträge
    30k Aufrufe
    DuffyD
    @heidepower Klappt es jetzt ?
  • Dynamisches Licht - Farbverlauf Tag/Nacht

    javascript template
    104
    5 Stimmen
    104 Beiträge
    18k Aufrufe
    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 Stimmen
    4 Beiträge
    255 Aufrufe
    crunchipC
    @tritanium es gibt noch den statistics Adapter
  • Tasmota Rule für Port Expander (PCF8574)

    2
    1
    0 Stimmen
    2 Beiträge
    235 Aufrufe
    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

    Verschoben
    9
    0 Stimmen
    9 Beiträge
    2k Aufrufe
    D
    @mcm1957 genau den hatte ich dann erstellt.
  • ioBroker Log auslesen und verarbeiten

    blockly node-red javascript
    20
    0 Stimmen
    20 Beiträge
    6k Aufrufe
    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 Stimmen
    16 Beiträge
    857 Aufrufe
    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 Stimmen
    2 Beiträge
    310 Aufrufe
    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 Stimmen
    29 Beiträge
    2k Aufrufe
    CinimodC
    @black-falcon87 ENDE
  • History-Logging für einzelnen Datenpunkt steuern

    3
    0 Stimmen
    3 Beiträge
    220 Aufrufe
    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 Stimmen
    8 Beiträge
    392 Aufrufe
    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".
  • funktionierende Verzögerung für meinen Pool Skript?

    25
    0 Stimmen
    25 Beiträge
    3k Aufrufe
    A
    @homoran danke für den Hinweis. Ich werde das weiterverfolgen ;-)

615

Online

32.4k

Benutzer

81.5k

Themen

1.3m

Beiträge