Weiter zum Inhalt

Skripten / Logik

16.7k Themen 215.9k Beiträge

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

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    3k 50k
    3k Themen
    50k Beiträge
    P
    @maxclaudi sagte: Nur das eigentliche zenSDK zenSDK Script in Verbindung mit z.B. dieser Basis-Vorlage: Blockly dankeschön, habe jetzt alles wie es soll und es läuft. Warte nun auf den "Cloudtrenner" ;-)) Peter
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    Michael SchmittM
    @Shadowhunter23 das ist aber für Javascripte und Blockly aus einem Backup wiederherzustellen ;) Mittlerweile kann man auch nach Datenpunkten in allen Scripten suchen.
  • Hilfe für Skripterstellung mit Node-RED

    964 13k
    964 Themen
    13k Beiträge
    A
    @OliverIO Für mich als ex. Elektroninstallateur ist es eben vielfach einfacher in einer Maske zu sehen was der Code eigentlich machen sollte, als in einem strukturierten Text. Wir verwenden bei uns im Job auch sehr viel strukturierte Text für Steuerungsfunktionen, aber das ist in der Regel eine andere Abteilung, ich bin nur zuständig, dass die Elektropläne korrekt und vollständig für alle sind. Klar, dass interesse an den Möglichkeiten ist schon lange geweckt, aber wie bei allem, wenn man das nicht oft macht, vergisst man sehr vieles wieder. Bei mir ist entstehen solche Dinge eben manchmal aus "dummen" Ideen, oder eben aus "herausforderungen" die man nicht direkt sucht. Ich arbeite mich jetzt mal rund um und schaue was da raus kommt. Nochmals herzlichen Dank Gruss Andi (aus der überhitzten Schweiz)
  • [geloest] Blockly: Lautstärke mit Taste erhöhen von Spotify/Alexa über Fernbedienung

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    M
    Cool danke schön. Hat einwandfrei funktioniert. Hier meine Lösung, falls es jemandem hilft: ! var var_Int_Volume, var_Volume; ! var_Int_Volume = 3; ! on({id: 'fakeroku.0.ioBroker.keys.Right', change: "ne"}, function (obj) { ! var value = obj.state.val; ! var oldValue = obj.oldState.val; ! var_Volume = getState("alexa.0.echo-devices.Commands.volume").val; ! var_Volume = var_Volume + var_Int_Volume; ! setState("alexa.0.echo-devices.Commands.volume", var_Volume); ! }); ! on({id: 'fakeroku.0.ioBroker.keys.Left', change: "ne"}, function (obj) { ! var value = obj.state.val; ! var oldValue = obj.oldState.val; ! var_Volume = getState("alexa.0.echo-devices.Commands.volume").val; ! var_Volume = var_Volume - var_Int_Volume; ! setState("alexa.0.echo-devices.Commands.volume", var_Volume); ! });
  • [erledigt] Javascript Erklärung erbeten (Codeschnipsel aus Lüftungsempfehlungsskript)

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    509 Aufrufe
    T
    Danke, ich setze mal auf gelöst. Habe den entscheidenden Teil gerade gefunden und bewundere nun die Eleganz der Programmierung.
  • Aktion bei Öffnen der Tür

    Verschoben
    23
    1
    0 Stimmen
    23 Beiträge
    3k Aufrufe
    G
    Hi zusammen, nachdem das Skript bisher ohne Probleme funktioniert ergeben sich im Daily Doing doch noch ein paar Anforderungen. Wenn Helligkeit unter 90 liegt usw geht ja Licht an bei Öffnen der Tür und bleibt dann für 3 Minuten in der Küche und im Garten für 7 (+4) an. Wenn ich jetzt jedoch den Müll raus bringe, dauert 30Sek zB. und gehe dann wieder rein. Dann sind die Lampen ja durch vorheriges Raus gehen bereits an. Entsprechend bleiben die an und der Timeout greift nicht. Gibt es dazu noch etwas um zB zu sagen wenn die Tür innerhalb 1 Min. 2 Mal geöffnet wurde dann schalte Lichter nach Timer aus? Gruß Stefan 3449_2018-03-06_08_53_03-iobroker.admin.png
  • Status Abfrage

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    2k Aufrufe
    I
    Hey Danke die Idee mit dem SonOFF POW ist klasse ! Danke
  • URL Adresse mit Befehl von WEMO oder Alex-local ausführen.

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    886 Aufrufe
    Ralla66R
    Neuen Wemo reinziehen mit Stop bezeichnen und switch nur mit true und request. Gerätesuche…. Alexa Stop An ist dann true. Rennt das, entferne mal switch und true. Obwohl mit Stop Aus könntest du über false mit request wieder einschalten. :mrgreen:
  • Mini web service

    Verschoben
    10
    0 Stimmen
    10 Beiträge
    856 Aufrufe
    S
    hab jetzt Javascript neu gestartet… jetzt bekomme ich am Client das "Echo Server", aber alles was ich am Client eintippe, kommt nicht am Server an... server.on('data', function(data){ log(data.toString); textChunk = data.toString('utf8'); log(textChunk); server.write(textChunk); }); müßte doch jetzt die Zeichen vom Client ausgeben…?
  • Wie warn-Meldungen bei nicht gesetztem Selector vermeiden

    Verschoben
    11
    0 Stimmen
    11 Beiträge
    2k Aufrufe
    D
    Das sollte die Lösung dafür sein oder? http://forum.iobroker.net/viewtopic.php … 37#p130837 nur der vollständigkeithalber.
  • Zugriff auf eine JSON Tabelle

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    paul53P
    @fuchs1978: anrufname = JSON.stringify(obj[0].extName); anrufnummer = JSON.stringify(obj[0].extRufNr); anrufdatum = JSON.stringify(obj[0].datum); anrufzeit = JSON.stringify(obj[0].startZeit); ```` ` Das JSON.stringify wird wahrscheinlich nicht benötigt, da die 4 Eigenschaften des Objektes sicherlich Strings enthalten. JSON.stringify(obj) wird nur benötigt, wenn man ein Objekt in einen JSON-String wandeln will (z.B., um das Objekt anzuzeigen).
  • CSS ändern Javascript

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    UhulaU
    @senger1985: Ja und ich weiß nicht warum? Weil der JS Code so normalerweise richtig ist. ` Der Code wäre korrekt, wenn er denn auf dem Client, also im Browser ausgeführt werden würde. Wird er aber nicht. Er wird auf dem Server ausgeführt - und dort kann er nicht funktionieren, weil es keinen Browser, keine DOM Objekte gibt. Andere Lösung: (a) Eine javascript.0 Variable anlegen, dort via Script die jeweilige Farbe reinschreiben, Bsp: javascript.0.mycolor (b) in VIS, beim Widget w00027 in der Background-Color-Eigenschaft dann den Zugriff auf diese Variabel per ioBroker-Binding, in dem man dort {javascript.0.mycolor} eingibt Dein Script ändert die Variable, ioBroker reicht dieses durch seine Binding-Fähigkeit an das Widget weiter.
  • Kein Update auf Nodered 1.5.1 und Probleme mit Nodered

    Verschoben
    9
    0 Stimmen
    9 Beiträge
    1k Aufrufe
    B
    Danke Bin komplett am Holzweg gewesen! :oops: Das hat jetzt Funktioniert DANKE. Werde dann mal versuchen ob die Synchronisation funktioniert. Melde mich.
  • Telegramm im IoBroker

    Verschoben
    2
    1
    0 Stimmen
    2 Beiträge
    567 Aufrufe
    wendy2702W
    Kannst du zum Probieren mal den rot markierten Block an die Pfeil Position verschieben: [image: 999_blockly_trigger.jpg]
  • Die Taste next x mal drücken (Sonos Random Alternaitve)

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    229 Aufrufe
    Niemand hat geantwortet
  • Fehler beim Versenden von 2 attachments per mail

    Verschoben
    2
    1
    0 Stimmen
    2 Beiträge
    298 Aufrufe
    D
    Ok, sieht so aus als sei dies ein Fehler von Blocky: Kopiere ich den ganzen Blocky Source script und füge alles als neues Javascript ein, ändere dann: attachwments:[ {path: '/tmp/garage1.jpg', cid: "file1"} {path: '/tmp/garage2.jpg', cid: "file2"} ] in attachments:[ {path: '/tmp/garage1.jpg', cid: "file1"}[color],[/color] {path: '/tmp/garage2.jpg', cid: "file2"} ] gibt's keine Fehler mehr. Speichere ich dann ab, will iobroker das ganze als Blocky umwandeln. Bestätige ich dies, wird das Komma wieder entfernt, und ein Fehler angezeigt. MOD-Edit by eric2905; siehe oben
  • Jalousiesteuerung (Zeitautomatik, Sonnen-, Aussperrschutz)

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    7k Aufrufe
    S
    Hatte ich nicht, ich hatte den Thread gebookmarked. Danke für den Hinweis, dann muss ich wohl Geduld haben und meinen Abend anders verbringen :-)
  • Probleme mit Change Node Module als Inverter

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    C
    Danke, der ist genial.
  • Blockly lernen, frage

    Verschoben
    8
    1
    0 Stimmen
    8 Beiträge
    1k Aufrufe
    MatzebhvM
    Kurze Antwort: Nein - Ja - Ja :D Matze
  • Wie GPOI-Ausgang mit Blockly "blinken" lassen ?

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    E
    Vielen Dank für Deine Hilfe und Mühe! Es funktioniert. Ich hätte jedoch nicht gedacht, dass solcher Aufwand notwendig ist. Trotzdem super. LG emblitz
  • Javascript aus einem Javascript aufrufen und ausführen

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    398 Aufrufe
    blauholstenB
    @pafra: Hallo zusammen, wie kann ich aus einem Javascript ein weiteres Javascript aufrufen? Im konkreten Fall möchte ich aus Javascript #1 das Javascript #2 aufrufen und ausführen lassen. Gruß Franz ` Sorry, aber das ist alles andere als konkret. Möchtest du eine Funktion aufrufen? Das komplette Skript? Willst du Variablen verwenden…..usw
  • MiHome Gateway LED automatischer Farbwechsel Fade

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    0
    Ja genau, das muss per Script erfolgen… ich hab mir mal was dazu zusammengebastelt: var state1 = "javascript.0.Allgemein.RGB_Farbwechsel"; var dev1_power = "mihome.0.devices.gateway_7811dcdae11a.on"/*Light*/; var dev1_rgb = "mihome.0.devices.gateway_7811dcdae11a.rgb"; var dev2_power = "wifilight.0.192_168_0_212.on"; var dev2_rgb = "wifilight.0.192_168_0_212.rgb"; var bri = "mihome.0.devices.gateway_7811dcdae11a.dimmer"; var interval; var debug = true; function farbwechsel() { var min = 0; var max = 255; var R = Math.round(Math.random() * (max - min)) + min; var G = Math.round(Math.random() * (max - min)) + min; var B = Math.round(Math.random() * (max - min)) + min; if (debug) log(R + ' ' + G + ' ' + B); if (debug) log ('#' + toHex(R) + toHex(G) + toHex(B)); setState(dev1_rgb, '#' + toHex(R) + toHex(G) + toHex(B)); setState(dev2_rgb, '#' + toHex(R) + toHex(G) + toHex(B)); } function toHex(number) { if (number < 0) number = 0xFFFFFFFF + number + 1; var n = number.toString(16).toUpperCase(); if (n.length == 1) { n = '0' + n; } return n; } on({id: state1, val: true, change: "ne"}, function() { if (debug) log ("Starte LED Farbwechsel"); interval = setInterval(farbwechsel, 120000); setState (dev1_power, true); setState (dev2_power, true); farbwechsel(); setState(dev1_rgb, '#FFFFFF'); setState(dev2_rgb, '#FFFFFF'); setStateDelayed(bri, 20, 1000); }); on({id: state1, val: false, change: "ne"}, function() { if (debug) log ("Beende LED Farbwechsel"); setState (dev1_power, false); setState (dev2_power, false); clearInterval(interval); }); Funktioniert soweit besten, sogar mit dem wifilight Adapter. Jetzt bekomme ich durch Zufall eine Farbe ausgewählt welche dann im Intervall von 2min geändert wird. Damit bin ich soweit auch zufrieden, aber eigentlich wollte ich einen weichen Farbübergang, wie es beim faden so üblich ist. Hierzu müsste ich aber irgendwie dieses Vordefinieren, wo ich allerdings absolut keine Idee zu habe.
  • [gelöst] Delta von zwei Werten

    Verschoben
    10
    1
    0 Stimmen
    10 Beiträge
    2k Aufrufe
    D
    Vielen Dank für eure Hilfe! Es hat jetzt geklappt, anscheinend hatte ich mit dem Blockly zuviel "gespielt". Nachdem ich das Blockly gelöscht und neu erstellt habe, funktioniert es jetzt! Nicht einmal der Debug- Output wollte funktionieren :-( Gruß David

251

Online

33.0k

Benutzer

83.6k

Themen

1.3m

Beiträge