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
    nik82N
    Habe gerade auf die neue Version umgestellt, jetzt warten wir mal bis März und schauen weiter. Aber das Script ist auf jedenfall echt Tip Top!
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Themen
    79k Beiträge
    B
    Vielen Dank für die ausführliche Erklärung und die Links
  • 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
  • Waschmaschinen Skript - alte Waschmaschine

    blockly monitoring
    21
    1
    0 Stimmen
    21 Beiträge
    2k Aufrufe
    paul53P
    @Sebastian-0 sagte: dass jedes mal sobald die Maschine auf 2W gesprungen ist eine Nachricht kam. Dann ist die Verzögerungszeit von 20 s zu kurz. Sie muss größer sein als die längste Pause (2 W).
  • Tasmota Pulsetime per Script oder Widget?

    javascript blockly node-red template
    10
    0 Stimmen
    10 Beiträge
    2k Aufrufe
    D
    @FredF top, danke
  • Hilfe für Schleife

    Verschoben javascript
    22
    0 Stimmen
    22 Beiträge
    4k Aufrufe
    NegaleinN
    @pix sagte in Hilfe für Schleife: Habs geändert: neuer Code für Wunderground 3.1.1 Hallo Pix! Mir ist gerade aufgefallen, dass das Script seit 4.8. 21:50 Uhr nicht mehr aktuakisiert. Beim DP javascript.0.Wunderground.Regenvorschausteht noch immer der Wert vom 4.8. [image: 1596897164022-objects-iobroker-8.png] Unter weathunderground.0wird jedoch der aktuelle Wert angezeigt. [image: 1596897349651-objects-iobroker-7.png] Script /* Wunderground Regen {1} Abfrage des Weatherunderground Adapters im Bereich Vorhersage, wann der nächste Regen erwartet wird. {1} Findet in den forecastHourly-Datenpunkt den ersten Regen-Eintrag Ausgabe in Text ("kein Regen", "X Stunden (X% [Wahrscheinlichkeit])") {1} {1} {1} http://forum.iobroker.net/viewtopic.php?f=21&t=3447#p31858 {1} 01.08.2016 erstellt von Pix unter Nutzung des obigen Skriptes 28.06.2017 Korrekturen 12.07.2017 Fehler abfangen und Typ Variable auf String geändert 06.03.2019 Code optimiert berücksichtigt Niederschlag in der aktuellen Stunde (Stunde 0) 11.06.2019 auf neue Datenpunkte angepasst für weatherground-Adapter (getestet V3.0.11) 04.08.2019 geändert für Wunderground Adapter 3.1.1 */ const vorstd = 36; // Vorschau in Stunden (weatherundergroudn bietet neuerdings bis 36h Vorschau), kann hier auch kleiner sein const idRegen = "javascript."+ instance + ".Wunderground.Regenvorschau"; // Ziel-Datenpunkt const wunder_inst = "weatherunderground.0."; // Weatherground-Adapter Instanz const logging = false; const fC = false; // nicht dauerhaft auf true stehen lassen. Wegen AAsynchronität dann keine Werte. createState(idRegen, "kein Regen", fC, { name: "Regenvorschau", dec: "Wann gibt es den nächsten Regen", type: "string", role: "text" }); function berechneZeit() { if (logging) log("Berechne Dauer in Stunden bis zum nächsten Regen"); let i = 0; let data; // leer let pop; // leer for (i=0 ; i<vorstd; i++) { if (getState(wunder_inst + "forecastHourly." + i + "h.precipitation").val > 0) { data = getState(wunder_inst + "forecastHourly." + i + "h.precipitation").val; pop = getState(wunder_inst + "forecastHourly." + i + "h.precipitationChance").val; if (logging) log("Regeneintrag gefunden bei " + i + "h " + data + "mm"); if (i == 0) { // wenn jetzt Regen if (logging) log("In dieser Stunde werden " + data + "mm Regen erwartet (Wahrscheinlichkeit " + pop + "%)"); setState(idRegen, "jetzt (" + pop + "%)"); } else { if (logging) log("In " + i + " Stunden werden " + data + "mm Regen erwartet (Wahrscheinlichkeit " + pop + "%)"); setState(idRegen, i + " Stunden (" + pop + "%)"); } i=vorstd; // beim ersten Auftreten der Regenwahrscheinlichkeit über 0 abbrechen } if ((i == vorstd) && (pop === 0)) { setState(idRegen, "Kein Regen erwartet (" + pop + "%)"); if (logging) log("Kein Regen erwartet (" + pop + "%)"); } } } // bei jeglicher Aktualisierung von Weatherunderground Berechnung starten on({ id: /^weatherunderground\.[0-9]+\.forecast.*\.[0-9]+h\.precipitation$/, // forecastHourly, forecastDaily, forecast change: "any" }, berechneZeit); // bei Skriptstart berechneZeit(); Weatherunderground läuft in 3.2.1 Hast du eine Idee?
  • Lichtsteuerung mit Bewegungsmelder und Vis-Button

    blockly scenes
    18
    1
    0 Stimmen
    18 Beiträge
    2k Aufrufe
    P
    @paul53 Ich konnte nun das Script komplett zum Laufen bringen. Und zwar steuere ich nicht mehr den dimmer state sondern den bri (brightness) state der Lampen. Dieser wird beim synchronisieren nicht mehr abgeändert. Ich danke dir für deine Hilfe :)
  • Text2Command "Ich verstehe [xxx] nicht" in Gruppen

    communication
    2
    0 Stimmen
    2 Beiträge
    320 Aufrufe
    J
    Gibts hier keine Möglichkeit das abzustellen? Würde in der Gruppe gerne normal kommunizieren können ohne, dass der Bot ständig dazwischenfunkt!
  • Osram Smart+ - Einschalten erkennen

    javascript monitoring
    1
    0 Stimmen
    1 Beiträge
    197 Aufrufe
    Niemand hat geantwortet
  • Gelöst - Eigene States unter 0_userdata.0 ohne Workar ...

    javascript
    4
    0 Stimmen
    4 Beiträge
    264 Aufrufe
    GlasfaserG
    @Peoples sagte in Eigene States unter 0_userdata.0 ohne Workaround möglich?: Dann war ich wohl doch zu dumm zum suchen. Nein ... alles gut ;)
  • [GELÖST][Hilfe] Acer V7850 Beamer ansteuern HTTP request

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    R
    @Kev0 Was hast du für Einstellungen verwendet, bei meinem P5530 krieg ich nix rein... bin mir aber auch nicht sicher ob mein Projektor PJLink unterstützt...?
  • TP-Link Schalter schalten in Abhängigkeit von Marker

    blockly
    3
    3
    0 Stimmen
    3 Beiträge
    164 Aufrufe
    E
    @paul53 Hallo, danke, ich habe es gerade hinbekommen. Es ist auch nicht steuere sondern umschalten, wahrscheinlich weil die Steckdose als Rolle "switch" hat. Hier mal wie es geht (ein wenig aufgebläht mit einer Vorabfrage über den augenblicklichen Zustand): [image: 1596572966973-bc648599-ff3c-46f8-8e9f-921fe1b5115c-image.png]
  • verschiedene Datenpunkte in eine Tabelle schreiben

    blockly javascript monitoring
    14
    0 Stimmen
    14 Beiträge
    2k Aufrufe
    Basti97B
    Hat jemand eine Lösung um die true und false "Datenpunkte" in grün und rot umzuwandeln. Was muss man im JavaScript dafür ändern.
  • Npm Modul kann nicht gefunden werden

    javascript
    7
    0 Stimmen
    7 Beiträge
    408 Aufrufe
    N
    Hallo Das habe ich auch schon versucht aber das hat nicht geholfen. Ich nehme mal an das das Modul nicht zur aktuellen API passt. Gruß NetFritz
  • Anfänger wie skript ob rock und iobroker alive

    monitoring
    3
    0 Stimmen
    3 Beiträge
    219 Aufrufe
    B
    @paul53 OK, hätte ich mit einem Raspberry 4 mit Pihole wie geht dies dann für "blöde"? Danke.
  • Kamera Motion (onvif) triggert script zu schnell

    javascript
    4
    0 Stimmen
    4 Beiträge
    484 Aufrufe
    paul53P
    @ToxiN sagte: er nur max alle 2 Sekunden trigger darf/kann ? const fs = require('fs'); var timer = null; on({id: "onvif.0.192_168_178_69_80.message.ruleengine.cellmotiondetector.motion.value", change: "any"}, function (obj) { if(!timer) { timer = setTimeout(function() { timer = null; }, 2000); // 2 s // Hier der Rest } });
  • Torsummer von extern öffnen

    blockly javascript security communication
    6
    0 Stimmen
    6 Beiträge
    437 Aufrufe
    Thomas BraunT
    Ich glaube auch nicht, dass der Postbote Bock hätte sich per Telefon irgendwo einzuloggen um das Tor aufzumachen.
  • Timestamp in Skript mit aktueller Zeit vergleichen

    blockly
    10
    1
    0 Stimmen
    10 Beiträge
    2k Aufrufe
    NovalisN
    @paul53 Alles klar. Ich danke euch. Mal gucken, ob hier morgen gesaugt wurde, wenn ich heim komme. :blush: Ergänzung: Funktioniert, wie geplant!
  • (gelöst) Shelly 1 zur Rollladenbedienung

    javascript blockly
    2
    1
    0 Stimmen
    2 Beiträge
    196 Aufrufe
    C
    @chrbo80 Hallo, habe nochmal den morgen gegooglet und folgendes über die Konsole des shellys eingestellt SwitchMode 3 pulsetime 1 Damit habe ich jetzt den Taster, indem ich den DP Power auf true setze und er innerhalb 100ms wieder auf false umspringt. Falls es noch jemanden gibt, der das so umsetzen will, wäre das meine Lösung... Schönen Sonntag!
  • Spotify shuffle

    multimedia
    1
    0 Stimmen
    1 Beiträge
    104 Aufrufe
    Niemand hat geantwortet
  • JSON Werte in Datenpunkte

    Verschoben
    18
    0 Stimmen
    18 Beiträge
    5k Aufrufe
    paul53P
    @Kevin sagte: über einen Datenpunkt an der Fritzbox abfragen Dann mache die Abfrage als erstes in der Funktion SendRequest(). function SendRequest(){ if(getState('abc.0.xyz.3Drucker.active').val) { var options = { url: 'http://URLVON3DRUCKER' }; request(options, function (error, response, body){ if (!error) iter('0_userdata.0.3DPrinter', JSON.parse(body)); else console.error(error); }); } }
  • [gelöst]-Alle Objekte eines Ordners...

    javascript blockly
    27
    0 Stimmen
    27 Beiträge
    3k Aufrufe
    P
    Habe die Ursache gefunden - wenn auch ich nicht ganz nachvollziehen können: initialize the object holding variable inside the for loop beginning
  • Scriptausführung nach Neustart verhindern

    javascript blockly
    23
    0 Stimmen
    23 Beiträge
    2k Aufrufe
    paul53P
    @eagleeye sagte: hier die Zeile aus text2command: Dein Fehler ist, dass Du die Skripte über "javascript.0.scriptEnabled.Skriptname" neu startest. Dann passiert @eagleeye sagte: das nach reboot (restart) Scripte ausgeführt werden? Verwende eigene Datenpunkte als Trigger, dann passiert dies nicht. [image: 1596117977492-blockly_temp.jpg]

616

Online

32.7k

Benutzer

82.4k

Themen

1.3m

Beiträge