Weiter zum Inhalt

Skripten / Logik

16.7k Themen 215.8k 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
    D
    @Murphy-0 sagte: Der Kopplungsmodus benutzt Bluetooth. Danke für die Info. Ich habe leider kein Bt am PC. Muss ich dann über externen Stick machen
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    W
    @paul53 Bombe! Vielen Dank! Gleich die erste Version passt perfekt. Möchte nur um 11 Uhr entscheiden ob es sinnvoll ist die Klima einzuschalten. Brauch das nur im Sommer, drum interessiert Winterzeit nicht. Vielen Dank Dir
  • Hilfe für Skripterstellung mit Node-RED

    962 13k
    962 Themen
    13k Beiträge
    Marc BergM
    @Thomas-Braun sagte: In der Konfigurationsdatei von Node Red, also in der settings.js, kann durch hinzufügen der Zeitzone das Problem behoben werden. Wenn man den Adapter nutzt, werden Änderungen in der settings.js immer wieder überschrieben. Das bringt nichts. @taddy81 Was konkret ist denn das Problem? Lösen die inject Nodes falsch aus? Oder geht es nur um diese Meldung, bei der niemand weiß, woher sie kommt? @Taddy81 sagte: Auszug: 7/26/2026, 11:15:23 AMnode: debug 3msg.payload : string[24]
  • RF Bridge mit intertechno (RFRaw)

    Verschoben
    1
    2
    0 Stimmen
    1 Beiträge
    624 Aufrufe
    Niemand hat geantwortet
  • HM-LC-Sw1PBU-FM Schalter per ioBroker steuern

    Verschoben
    12
    0 Stimmen
    12 Beiträge
    2k Aufrufe
    J
    Wenn das alle alle Datenpunkte und Kanäle sind, dann ist beim einlesen etwas schief gelaufen. Bitte die Objektansicht im iobroker aktualisieren (Button oben links, Kreis/Pfeil). Sollte das nicht ausreichen müssen die Geräte nochmals synchronisiert werden. So sieht die normale Ansicht aus: [image: 6696_bildschirmfoto_2018-12-23_um_10.14.28.png]
  • Blockly Homematic Wandthermostat Absenkung bei Fensteröffnung mit Xiaomi Fensterkontakt

    Verschoben
    14
    0 Stimmen
    14 Beiträge
    2k Aufrufe
    S
    Nein, bin leider nicht so ein Crack… :|
  • Schalter mit zwei unterschiedlichen Zuständen

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    717 Aufrufe
    A
    Hallo zusammen, habe eine Lösung gefunden (war ein Betrag über Dimmen) Hier mein Code: const idLong = "javascript.0.Signale.Flur.Taster-Haustuer-OL"; const idLevel= "javascript.0.Zustand.EG.Licht-Schummer"; var state; on(idLong, function(dp) { if (getState(idLong).val) state=1; setTimeout(function() { // Es wird 500ms gewartet und überprüft, ob der Taster wieder Null wird if(!getState(idLong).val && state) { //kurz gedrückt setState(idLevel, 1); state = 0; } if(getState(idLong).val && state) { // Lang gedrückt setState(idLevel, 0); state = 0; } }, 1000); }); Wohl nicht die feine Programmoiervariante, aber es funktioniert. André
  • Function mit 2 Eingängen

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    334 Aufrufe
    R
    Nein Gesendet von iPhone mit Tapatalk
  • [Gelöst] Fenster offen manuell setzen?

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    297 Aufrufe
    G
    Ok, schlecht ausgedrückt. Es geht um die Heizkörperregler die ich über einen fremden Türsensor zu steuern. Bin inzwischen drauf gekommen. Es ist 0 (Close) und 1 (open) zu setzen. Nachtrag: Man muß das Modul "Steuere" verwenden, sonst erkennt es die CCU den Eintrag nicht und setzt das dazugehörige Objekt nicht auf "Fenster offen".
  • RF Bridge mit intertechno fb

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    262 Aufrufe
    Niemand hat geantwortet
  • [Gelöst] Trigger Astro Funktion mittels Datenpunkt auswählen

    Verschoben
    3
    2
    0 Stimmen
    3 Beiträge
    527 Aufrufe
    DAN78D
    Hallo, danke für die Rückmeldung, ich werde es probieren. Alternativ wäre mit auch eingefallen, in der logik eine Datenpunkt mit der aktuellen Zeit von gewählten Astro Zeitpunkt zu schreiben. Darunter dann ein Cronjob Trigger. (ähnlich wie Beispiel Wecker in Anleitung Blockly) Dein Tip ist die bessere und sauberere Lösung
  • Mail mit 2-3 Anhängen - Live Kamera Bilder

    Verschoben
    1
    1
    0 Stimmen
    1 Beiträge
    245 Aufrufe
    Niemand hat geantwortet
  • *Gelöst* Fensterkontakte Blockly

    Verschoben
    11
    1
    0 Stimmen
    11 Beiträge
    2k Aufrufe
    H
    Es scheint jetzt zu funktionieren mit deinem Beispielskript (virtuell) Vielen Dank für eure Lösungsansätze, man sieht den Wald vor lauter Bäumen manchmal nicht mehr :lol:
  • IP Check Script ??

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    ymurawskiY
    Hi Leute, also ich glaube ich bin einfach zu blöd dafür. Ich probiere jetzt seit stunden das Phantom.js aber er will einfach kein Bild machen. Das Parsen verstehe ich leider nicht. Habe leider kein Plan von Programmieren oder Scripten :roll: Ist es denn möglich das eine Website die Iframe benutzung sperren kann ?
  • Lampencheck bei verlassen des WLANs

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    825 Aufrufe
    paul53P
    @jEEESTAR: Der Code sieht momentan wie folgt aus: ` Der Code funktioniert so nicht. Vorschlag: const idAnwesend = 'javascript.0.Datenpunkte.Anwesenheit'; const lights = getObject("enum.functions.lightstatus").common.members; function countLights() { var lichtAn = 0; var name = ''; for(let i = 0; i < lights.length; i++) { if (getState(lights[i]).val) { lichtAn++; name = name + getObject(lights[i]).common.name + ', '; } } var lichtAnText = 'Alle Lampen aus'; if(lichtAn > 0) lichtAnText = 'Lampe(n) ein: ' + name; setState('javascript.0.Datenpunkte.StatusLichtAnText', lichtAnText ); setState('javascript.0.Datenpunkte.StatusLichtAn', lichtAn ); } on({id: idAnwesend, change: 'ne', val: false}, countLights); lightstatus muss den betreffenden Datenpunkten zugeordnet sein
  • [gelöst] Sonos Adapter einfach nur ein aus?

    Verschoben
    10
    0 Stimmen
    10 Beiträge
    942 Aufrufe
    T
    Hallo skorpil, schön, dass es läuft. Ich kann dir nur empfehlen, von der CCU ganz wegzugehen (außer als Hub für die Homematic Sachen). Habe ich vor langer Zeit auch getan und es ist einfach viel einfacher und sinniger, Skripte und Co an nur einem Platz in nur einer Systematik zu haben. Mein erstes Skript bzw erster Kontakt mit JavaScript war übrigens damals auch mit dir :) viewtopic.php?f=21&t=3351&p=64569#p64569 Frohe Weihnachten
  • Homematic RPC Time Out

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    782 Aufrufe
    Niemand hat geantwortet
  • ObjektID aus Bausteinen variabel gestalten.

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    423 Aufrufe
    MikeEchoM
    @RappiRN: (…) Aber eigentlich musst du doch die Adressen in eine Adapterkonfiguration eintragen!? Was genau hast du denn vor, dass du solch eine Eingabe vorhast? ` Es geht mir um die Einbindung von diversen HomeMatic Aktoren. Jedes mal für 8 Rolläden die Adresse rauszusuchen (und mit Javascript/Blockly-Bug gleich zweimal pro Adresse) war mir zu müßig. ;) Ich will ein Gerüst anlegen und dann nur noch einmal die Adresse pro Aktor eintragen müssen. Ich habe die Adresse eben oft im Trigger und im if/then/else… Aber Dein Ansatz hilft mir schonmal, danke dafür!
  • *gelöst* Problem mit Heizungsskript (Heizung runter bei Fenster auf)

    Verschoben
    5
    2
    0 Stimmen
    5 Beiträge
    621 Aufrufe
    surfer09S
    Super, das werde ich dann gleich mal umstellen. Vielen Dank an euch! :)
  • Blockly Anfänger brauch Hilfe

    Verschoben
    4
    1
    0 Stimmen
    4 Beiträge
    959 Aufrufe
    J
    Wurde denn nun dein Problem mit der https://testsieger-waschmaschinen.de/waschmaschine-test-bis-500-euro/#Bosch_WAN28190_Waschmaschine_fuer_unter_500_Euro_mit_18_im_Stiftung_Warentest nun geklärt?
  • Zeitspanne, Trigger und if Abfrage

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    526 Aufrufe
    M
    Ahhhh jetzt habe ich verstanden wie man es machen muss. Vielen Dank für deine Hilfe! :)
  • Node-Red ändert Value, Schaltet aber nicht

    Verschoben
    12
    3
    0 Stimmen
    12 Beiträge
    4k Aufrufe
    K
    @Matzebhv: Einzig Scripte bekomme ich so nicht getriggert. Der Datenpunkt wird einwandfrei auf true oder false gesetzt, die zugehörigen Scripte triggern aber nicht. Setze ich den DP von Hand läuft das Script. Mir scheint es wird zwar true/false gesetzt, aber nicht als Logikwert. Hat jemand eine Idee? ` <u>Edit:</u> Mein Problem ist inzwischen behoben: im ioBroker-Ausgangsadapter stand bei Type value drin, dort muss aber command stehen. Dann ging es bei mir. Ich habe ein ähnliches Problem. Ich wollte die Lautstärke meines AV-Receivers per Alexa und Node-Red steuern. Habe ich den Wert im Datenpunkt manuell eingegeben, klappte es, aber nicht, wenn derselbe Wert über Alexa und Node-Red gesetzt wurde. Als workaround habe ich das jetzt so gelöst. Und zwar setze ich den Datenpunkt denon.0.zoneMain.volume über Node-Red, reagiere aber mittels Script nochmals darauf und setze den gleich Wert erneut. Klingt zwar unlogisch, aber anders bekomme ich es nicht zum laufen. on({id: 'denon.0.zoneMain.volume', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("denon.0.zoneMain.volume"/*Main Volume*/, getState("denon.0.zoneMain.volume").val); }); //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX2V4dCUyMiUyMGlkJTNEJTIyIVdhJTNGJTNGTzZVJTJCRCU0MDklMkMuM2hPVlklNUUlMjIlMjB4JTNEJTIyMzglMjIlMjB5JTNEJTIyMzglMjIlM0UlM0NtdXRhdGlvbiUyMGl0ZW1zJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFbmUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRDAlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJ+Z1JDUDVkYkVEKFlFJTJGeDYxQ19MJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFZGVub24uMC56b25lTWFpbi52b2x1bWUlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMiFQLVYlN0RBJTYwR3BZdyUzQTQlMjNMY0hJJTVEJTQwJTIyJTNFJTNDbXV0YXRpb24lMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VkZW5vbi4wLnpvbmVNYWluLnZvbHVtZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyJTQwNGNrUmxJXyklMjNobiUzQVIlM0ElN0REJTVCLiolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VkZW5vbi4wLnpvbmVNYWluLnZvbHVtZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ4bWwlM0U= 4630_2018-12-20_23_03_09-javascript_-_iobroker.png
  • [gelößt] Frage zu Rückgabewert/Callback nach request

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    622 Aufrufe
    SteffS
    Hier noch meine Lösung, falls jemand ein ähnliches Problem hat: ! ```` // Variablen deklarieren / ID´s einlesen var request = require ('request'); var bSetAusgang1 = "javascript.0.Netio230B.Set_Ausgang_1"; var bAusgang1 = "javascript.0.Netio230B.Ausgang_1"; ! // Ausgang 1 behandeln on({id: bSetAusgang1, val: true}, function() { log("1. Ausgang 1 soll geschaltet werden"); LeseStatus (1); setState(bSetAusgang1, false); // VIS-Variable wieder zurücksetzen }); ! // Status der Ausgänge lesen function LeseStatus (Out) { var url = "http://192.168.0.190/cgi/control.cgi?login=p:USER:PASSWORD&p=l"; var OutStatus; request(url, function (error, state, body) { if (body) { var abody = body.slice(6, 13).split(' '); // Status der 4 Ausgänge extrahieren und in Array splitten OutStatus = abody[Out-1]; // Übergebener Wert ist vom Typ string!! log("2. Ausgang " + Out + " hat Zustand " + OutStatus); if (OutStatus === "1") { log("3. Ausgang " + Out + " wird ausgeschaltet"); SchalteAusgang ("0uuu"); setState(bAusgang1, false); } if (OutStatus === "0") { log("3. Ausgang " + Out + " wird eingeschaltet"); SchalteAusgang ("1uuu"); setState(bAusgang1, true); } } }); } ! // Ausgänge schalten function SchalteAusgang (befehl) { var url = "http://192.168.0.190/cgi/control.cgi?login=p:USER:PASSWORD&p=" + befehl; log ("4. Sende Befehl: " + url); request(url, function(error, state, body) { log("5. Rückmeldung: " + state); }); } Gruß Steffen

350

Online

33.0k

Benutzer

83.5k

Themen

1.3m

Beiträge