Skip to content

Skripten / Logik

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

16.4k Themen 211.6k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 48k
    2k Themen
    48k Beiträge
    S
    @Mabbi mega... 💪🏼
  • Hilfe für Skripterstellung mit Blockly

    6k 78k
    6k Themen
    78k Beiträge
    HomoranH
    @tiobb mach mal ein reconfigure
  • 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
  • Nodes per For-Schleife kopieren und Nummerieren

    Verschoben
    2
    1
    0 Stimmen
    2 Beiträge
    2k Aufrufe
    R
    Zu deinem konkretem Problem kann ich leider nichts beitragen. Aber loops kannst du in NR einfach mit dem function-node realisieren. [image: 3999_node-red_loops_mit_function-nodes.pdf] Es gibt auch diverse contrib Nodes für loops. Die findet du über die Manage Palette wenn du bei Install mal "loop" als Suchbegriff eingibst.
  • Script mit Astro und Variablen Lampe einschalten

    Verschoben
    22
    0 Stimmen
    22 Beiträge
    4k Aufrufe
    Homer.J.H
    Hallo Leute vielleicht kann mir jemand helfen hab das Script jetzt angepasst so wie ich es haben möchte, hab aber das Problem das immer egal ob ich den Fernseher ein oder ausschalte es immer auf aus getriggert wird. Grüße Homer var night = false; // ab Sonnenuntergang bis Sonnenaufgang var fernseh = false; // Fernseher Aus/Ein function lampe() { if (night && (fernseh)) { log("Amphilight nachts über Smart TV ein"); setState("hm-rpc.2.00105709A24040.3.STATE"/*Licht TV.STATE*/, true); } else { log("Amphilight nachts über Smart TV aus"); setState("hm-rpc.2.00105709A24040.3.STATE"/*Licht TV.STATE*/, false); } } schedule({astro: "sunset"}, function () { night = true; lampe(); }); schedule({astro: "sunrise"}, function () { night = false; lampe(); }); on("harmony.0.Harmony Hub.activities.Smart TV wiedergeben"/*activity:Smart TV wiedergeben*/, function(obj) { var fernseh = obj.newState.val; log("fernseh: " + fernseh); if(fernseh === 2) { fernseh = true; lampe(); } else if (fernseh === 0) { fernseh = false; lampe(); } }); 21:24:56.648 [info] javascript.0 script.js.Test.test_1: fernseh: 3 21:25:02.389 [info] javascript.0 script.js.Test.test_1: fernseh: 0 21:25:02.390 [info] javascript.0 script.js.Test.test_1: Amphilight nachts über Smart TV aus 21:25:21.539 [info] javascript.0 script.js.Test.test_1: fernseh: 1 21:25:43.320 [info] javascript.0 script.js.Test.test_1: fernseh: 2 21:25:43.320 [info] javascript.0 script.js.Test.test_1: Amphilight nachts über Smart TV aus
  • Aktion wenn Taster für x Sekunden gedrückt wird

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    BigWumpusB
    Oh!!! Bitte nicht soviele sachdienliche Informationen - hinterher! Das "Falls - value" muß bei mir rein und sollte so übernommen werden. Aber dein Taster arbeitet anscheinend ganz anders und liefert schon fertig die richtigen Unterscheidungen.
  • Hilfe für Bewässerung

    Verschoben
    1
    1
    0 Stimmen
    1 Beiträge
    647 Aufrufe
    Niemand hat geantwortet
  • Blockly Wert ändern nach Zeit

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    983 Aufrufe
    wauzziW
    Hallo Zusammen, zunächst vielen Dank für Euer Imput ! Ich habe die Timeaout Variante versucht. Und es scheint zu Funktionieren ! :-) Ich muss aber noch ein paar "Testwaschgänge" durchführen um ein verlässliches Ergebnis zu erhalten. Vielen Dank !
  • Beim Szenenstart eine Instanz neu starten

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    481 Aufrufe
    arteckA
    ja das geht https://forum.iobroker.net/viewtopic.php?f=20&t=17001&p=179704#p178582
  • Geht das überhaupt mit iobroker??

    Verschoben
    16
    0 Stimmen
    16 Beiträge
    1k Aufrufe
    D
    Hallo, ich habe getestet und auch etwas verändert. ich spare mir den DP: 'javascript.0.lmair.szenenr.01' Fazit:bisher läuft gut const idVis = 'javascript.0.lmair.marker.01'; // ID des Datenpunktes, der auf Vis reagiert (false/true) const idMarker = 'javascript.0.lmair.marker.01'; const request = require('request'); const url = 'http://192.168.10.71/control?key='; const js = 'system.adapter.javascript.' + instance; on({id: idVis, change: 'ne', fromNe: js}, function(dp) { // Triggern bei Wertänderung durch Vis var key = '08'; // aus if(dp.state.val) key = '07'; //ein request(url + key, function(error, response, body) { if(error) log('Fehler Request Steckdose', 'error'); }); }); ich reagiere jetzt nur auf den Markerpunkt, für den VIS Button und die Visualisierung const idVis = 'javascript.0.lmair.marker.01'; // ID des Datenpunktes, der auf Vis reagiert (false/true) const idMarker = 'javascript.0.lmair.marker.01'; das brauche ich nicht mehr (glaube ich) /*on(idMarker, function(dp) { // Triggern bei Wertänderung setState(idMarker, dp.state.val, true); });*/ MARKER HOL Script Um den Lightmanager nicht unnötig zu belasten, gibt es denn die Möglichkeit, dass Script welches sich die Marker zustände holt nicht permanent laufe zu lassen, sondern nur wenn die VIS Button gedrückt werden, bzw. nur alle Minute etc. Das Script holt sich alle Marker Daten javascript.0.scriptEnabled.Lightmanager.params_json aktuell steht das im Script // Start und Intervall:sekunden // -------------------------------------------------------------------------- setTimeout(DatenAuslesen, 1000); // schedule('*/15 * * * * *', DatenAuslesen); // das scheint für den LM schon etwas viel, oder was bedeutet das - ich interpretiere 15 Sekunden. wenn es weniger wird, dann dauert es zu lange bis die buttons ihre status ändern.
  • "On" auf mehreren ID "horchen" lassen

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    974 Aufrufe
    F
    Ok, klasse, danke. Ich habs es zwar nicht ausprobiert; aber kaum Zweifel daran, dass es genauso auch funktionieren wird, danke. Viele Grüße, Christian
  • Abfrage Problem mit Blockly und Telegram

    Verschoben
    2
    1
    0 Stimmen
    2 Beiträge
    438 Aufrufe
    dslraserD
    Über welchen Adapter bekommst Du die Verkehrsinfos ? Das Blockly selbst ist sicher nicht ganz so schwierig. Da es mich interessiert würde ich gern mit bauen, aber dafür brauche ich die Daten. Machst Du das über places ?
  • BLOCKLY - Frage zu Rollladensteuerung

    Verschoben
    1
    1
    0 Stimmen
    1 Beiträge
    572 Aufrufe
    Niemand hat geantwortet
  • Bluetooth Rssi nicht Änderung auswerten.

    Verschoben
    2
    2
    0 Stimmen
    2 Beiträge
    282 Aufrufe
    A
    schon erledigt
  • Verbrauchsanzeige - viel oder wenig im Moment?

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    560 Aufrufe
    sigi234S
    Hallo, Welche Hardware hast du? Normalerweise einfach die OBJEKT ID auswählen und alles andere anpassen wie du es willst. [image: 2858_screenshot__759__li.jpg]
  • Sprachausgabe Mehrer Alexas

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    306 Aufrufe
    X
    Ich habe ähnliches Verhalten mit Google Home Minis gehabt. Es hat geholfen eine Verzögerung von einer Sekunde vor dem SayIt Aufruf zu haben. Ich denke mal, dass die angesprochene Alexa/Google Home sonst noch beschäftigt ist.
  • Abfrage Problem

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    368 Aufrufe
    paul53P
    @bumbumb: Bei mir wir es immer gesendet. Was kann es sein? ` sendTo() muss innerhalb der Verbundanweisung der if()-Abfrage aufgerufen werden. if(...) { ... sendTo("pushover", "send", { message: 'Die gelbe Wertstofftonne wird morgen abgeholt', sound: "" }); }
  • Blockly widerhole x mal

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    456 Aufrufe
    DutchmanD
    Und nicht mit einer Schleife arbeiten…. Was du erreichen möchtest geht auch mit einer Variable. Setze Variable auf Wert x wen Zustand eintrifft, nimm Dan einen Time Out der nach x Zeit die Variable oder Status prüft. Wen der Zustand wieder auf anderen Wert resetten Variable und laufenden timer Sent from my iPhone using Tapatalk
  • [Gelöst] Blockly->Hue Dimmer Switch schaltet fremdes Steckdosenfabrikat

    Verschoben
    11
    3
    0 Stimmen
    11 Beiträge
    2k Aufrufe
    haselchenH
    Hab mich doch noch mal rangetraut. Klasse Support , Danke. So funktioniert es. [image: 3723_blockly.png]
  • [gelöst] Blocky - Gegen unterschiedliche Elemente in einem Datenpunkt prüfen

    Verschoben
    14
    1
    0 Stimmen
    14 Beiträge
    800 Aufrufe
    M
    Ihr seit die besten. Hier das fertige Script: schedule("*/1 * * * *", function () { var infotext = ''; const dps = $('javascript.0.isopen.*'); dps.each(function(id, i) { var desc = getObject(id).common.desc; infotext = infotext + 'Der Sensor '+ desc +' ist offen.\n'; }); sendTo('telegram.0', infotext); }); Ich setze das Thema aus gelöst!
  • [gelöst] Zusätzlichen Raspberry per Remote per Script Booten

    Verschoben
    18
    0 Stimmen
    18 Beiträge
    4k Aufrufe
    J
    Moin! Die Lösung aus dem letzten Post wollte ich ebenfalls mal probieren. Hintergrund: Ich würde gerne meinen 3D Drucker ausschalten, nachdem die Steckdose an dem er hängt 15 Minuten unter 15w verbraucht hat. An die Steckdose möchte ich auch meinen OctoPrint Raspberry hängen. Problem ist jedem bekannt: Nen Raspberry einfach ausschalten killt ihn. Ergo würde ich gerne nach 14 Minuten unter 15w den Befehl zum Herunterfahren senden. Problem ist, wenn ich per ssh auf meinem iobroker bin und sshpass -p passwort ssh -t pi@172.16.17.6 'sudo poweroff' absetze klappt das. Wenn ich das ganze in einem Blockly mache, zum Testen gebunden an einen Lichtschalter passiert nichts. Ergo, wenn Lichtschalter gedrückt (Der funzt, hab ich mit einer Lampe noch mal extra probiert) dann führe den o.g. Befehl aus. Eigentlich würde ich erwarten, dass das dann auch so funktioniert. Das einzige, was mir jetzt gerade kommt ist, dass iobroker auf dem Raspberry nicht unter dem Nutzer "pi" ausgeführt wird. Das müsste ja der User "admin" sein. Allerdings klappt das auch nicht so recht, wie ich mir das vorstelle. Ein versuch mich mit dem user "admin" und dem gesetzten Passwort per SSH zu verbinden schlägt fehl, daher vermute ich, dass der user "admin" kein SSH kann/darf und daher kann der Befehl, wenn ich ihn oben auf den User "admin" anpasse vermutlich auch nicht ausgeführt werden. Wo muss ich ansetzen das Problem zu lösen?
  • Hue Bewegungsmelder u. Schalter einlesen

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    3k Aufrufe
    haselchenH
    Die letzte Antwort in dem Thread ist glaube ich die Antwort auf Deine Frage. [gelöst] Hue Motion Sensor Daten auslesen und verarbeiten viewtopic.php?t=11751
  • Quelltext Html Seite in Variable

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    294 Aufrufe
    Niemand hat geantwortet

172

Online

32.4k

Benutzer

81.4k

Themen

1.3m

Beiträge