Weiter zum Inhalt

Node-Red

961 Themen 13.2k Beiträge

Hilfe für Skripterstellung mit Node-RED

NEWS

  • Offene Fenster in node-red

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    2k Aufrufe
    R
    @MagicSven sagte in Offene Fenster in node-red: Wird ein Fenster geöffnet, steht in einem Textfeld "Fenster Bad" wird ein zweites Fenster geöffnet, steht "Fenster Bad; Fenster Küche" wird jetzt ein Fenster geschlossen, dann steht: " " Das hat eigentlich nichts mit NR oder JS zu tun. Ich frage halt nur zu einer bestimmten Zeit ab und reagiere nicht automatisch auf den Zustand. Wenn das bei dir so sein soll, musst du immer wenn sich der Zustand eines Fensters ändert, den String komplett neu aufbauen. Was mein JS-Script anbetrifft so wirst du es nicht ohne Weiteres verwenden können. Ich arbeite inzwischen für alle Tür-/Fensteraktoren mit alias.0-States. Das hat den Vorteil, dass in gleicher Weise sowohl HM- als auch meine Zigbee-Aktoren bearbeitet werden können. Und einen Aktor austauschen ist auch kein Problem mehr. Das Skript sieht dann so aus: Spoiler //R. W. 17.11.2018 // 04.12.2018 - cacheSelector[] // 13.12.2019 - Umstellung auf alias.0 const resultType = "open"; // all, open, close // array of states // $() ist a object function in iob JS API var cacheSelector = [$('state[id=alias.0.Verschluss.*]')]; function countOpenwindows() { let windows = []; // array of windows-objects let speakVolume = '50'; let speakText = ''; for (const cSelector of cacheSelector) { // $(selector).each(function(id, i) {}); each dp in cSelector cSelector.each(function (id) { let w = {}; let deviceId = id.substr(0, id.lastIndexOf(".")); w.id = id; //state _id // Name is Part from id in alias.0 states // "alias.0.Verschluss.Fenster_Gäste_WC.opened" // "alias.0.Verschluss.Garage.Zwischentür_vorn.Schloss.opened" let name = id.replace(/alias.0.Verschluss./, "").replace(/.opened/, ""); w.Name = name; w.val = getState(id).val; switch (resultType) { case 'open': if (w.val === true) { windows.push(w); } break; case 'close': if (w.val === false) { windows.push(w); } break; default: //all if (w.val === true || w.val === false) { windows.push(w); } break; } }); // end each dp in cSelector }; // end for each cacheSelector // if no result if (windows.length < 1) { windows.push({ "Name": 'keine', "id": '', "val": null }); } // prepare speak text windows.forEach((w) => { //replace all special characters with underscore w.Name = w.Name.replace(/:|,|#|;|-|[ ]/g, '_'); //join Name to speakText and //calculate speak block length and set delimiter speakText = speakText + w.Name + ((w.Name.length < 100) ? "," : ";"); log(w.id + ' ' + w.Name + ' ' + w.val); }); speakText = speakVolume + ';offene Fenster oder Türen,' + speakText; log('speakText: ' + speakText); //alexa speak setTimeout(function () { setState("alexa2.0.Echo-Devices." + getState('alexa2.0.History.serialNumber').val + ".Commands.speak", speakText); }, 2000); } on({ id: 'javascript.0.Alexa-trigger.vOpenWindows', change: "any" }, function (obj) { countOpenwindows(); }); Das Skript ist mehr mit der heissen Nadel und war mal ne Vorlage um alle offenen oder geschlossenen Fenster auszulesen. Tut es aber. Und wie das meist mit Improvisationen ist...
  • Wie Button ansteuern?

    2
    2
    0 Stimmen
    2 Beiträge
    455 Aufrufe
    AtifanA
    Habs hinbekommen. Die Button müssen über ein false angesteuert werden. [image: 1583874716296-b7ae0d7a-e9e6-4e30-87fb-f341bedc06f1-image.png]
  • Anzeigeproblem Node Red Tab

    26
    1
    0 Stimmen
    26 Beiträge
    4k Aufrufe
    G
    Das Debugen im Browser hat leider auch keinen Aufschluss geliefert. Ich habe jetzt einen Neuen Benutzer angelegt, ihn der Admin Gruppe zugeordnet - aber auch das hat nichts gebracht. Erst als ich den "Fixer" habe drüber laufen lassen, hat es funktioniert - kommischerweise nur bei dem "neuen" Benutzer. Bei dem Standard-Admin-Benutzer funktinoniert es nach wie vor nicht! Sehr seltsam.
  • HTTP Request JSON erstellen

    3
    0 Stimmen
    3 Beiträge
    386 Aufrufe
    mickymM
    Du kannst verschiedene Werte über einen JOIN Node in eine Nachricht verknüpfen und diese dann versenden.
  • [Gelöst] Wert berechnen

    14
    1
    0 Stimmen
    14 Beiträge
    1k Aufrufe
    mickymM
    Das funktioniert meist nicht - weil ich msg.payload noch nach number konvertieren müsst. Gerade wenn im node-red adapter - iobroker Werte als Sting konvertieren angehakt ist. Also einfach ein Number(msg.payload) und schon müsste es gehen. Oder man bastelt sich eine Change Node - die in Zahl konvertiert und hängt die davor.![image: 1582981741773-change-node.jpg]
  • Problem: Status nach jedem "deploy" unbekannt

    4
    0 Stimmen
    4 Beiträge
    660 Aufrufe
    mickymM
    Du musst quasi 2 Inputs schaffen: Initialisieren Du kannst grundsätzlich alles was Du initialisieren möchstet mit einem Inject-Node machen, der genau einmal nach dem Restart die von Dir benötigten Werte abfrägt, die Du initialisieren möchtest. Der inject node - geht dann auf iobroker get node Statusänderungen Hier nimmst Du dann ein iobroker in node.
  • Antworten von Alexa auf dem jeweiligen Gerät

    node-red communication
    7
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    J.A.R.V.I.S.J
    @frankyboy73 freut mich zu hören.
  • Daten kommen nicht bei Homematic an

    5
    3
    0 Stimmen
    5 Beiträge
    749 Aufrufe
    padroneP
    Danke, ich hatte ebenfalls das Problem. Danke für die Hilfestellung
  • contrib-amazon-echo und Lampen Dimmen

    34
    1
    0 Stimmen
    34 Beiträge
    4k Aufrufe
    t-masterT
    @ostseereiter indem du die werte in Kelvin umrechnen lässt und in den >ct level.color.temperature< schreibst umrechnen mit der range-node [image: 1582497352841-screenshot_2020-02-23-node-red-192-168-178-77.png] Edit: Ich habe jetzt auch die Formel gefunden wie es Umgerechnet wird (MTR-Wert) richtiger wäre daher ein function-note der die Werte berechnet [image: 1583931072431-screenshot-von-2020-03-11-13.50.19.png] [ { "id": "d3eecba5.a0f7a8", "type": "function", "z": "5f6e4742.353f48", "name": "ct > Kelvin", "func": "msg.payload += msg.kelvin;\nmsg.kelvin = Math.round(1000000/msg.ct);\nreturn msg;", "outputs": 1, "noerr": 0, "x": 700, "y": 530, "wires": [ [ "9c26c7c4.e4079" ] ] } ]
  • Alexa findet Geräte obwohl Iobroker aus ist !

    18
    0 Stimmen
    18 Beiträge
    2k Aufrufe
    R
    @HeliosFan Nein das ist nicht möglich. Wenn du die Geräte komplett in den Auslieferungszustand zurücksetzt, musst du natürlich das Gerät auch so behandeln als hättest du es neu gekauft. Sprich: Einrichtung über die App.
  • keine Verbindung iobroker, node red und alexa

    5
    0 Stimmen
    5 Beiträge
    646 Aufrufe
    L
    So, hab es jetzt raus. node-red-contrib-amazon-echo installiert und dann war der Käs gfresse. Danke für Eure Hilfe.
  • Alexa meckert das was schiefgelaufen sei

    node-red
    7
    0 Stimmen
    7 Beiträge
    5k Aufrufe
    T
    Habe zwar keine Fritz, aber ich teste das mal, wobei zumindest die IPs sind bei mir grundsätzlich bei all meiner Hardware stets statisch.
  • Alexa-Steuerung von Rollladenaktoren via node red

    4
    2
    0 Stimmen
    4 Beiträge
    2k Aufrufe
    L
    @chrbo80 Hallo, mich würde sehr interessieren ob du das Problem gelöst hast. Wenn ja wie? Danke für die Antwort im Voraus!
  • [GELÖST] Steuerung enigma2 Receiver

    node-red multimedia
    4
    2
    0 Stimmen
    4 Beiträge
    717 Aufrufe
    smarteuleS
    @rewenode Super. Ich danke dir für die sehr schnelle Hilfe. Jetzt funktioniert es mit dieser Einstellung.
  • Alexa findet keine Geräte

    Verschoben
    11
    0 Stimmen
    11 Beiträge
    1k Aufrufe
    A DA
    @Ralla66 Es hat funktioniert. Noch mal zusammen gefasst: Iobroker Adapter "iot.0" Alexa Skill "iobroker.iot Node-Red "contrib-amazon-echo" Port 8980 Besten Dank für den super Support! :-)
  • Dynamisches erzeugen eines Topics in ioBroker in

    node-red
    7
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    R
    @projectsun sagte in Dynamisches erzeugen eines Topics in ioBroker in: [object Object] Sollte schon passen. Musst halt das Object noch zerlegen/auswerten. Aber wenn es mit dem Simple-API passt ist ja alles gut.
  • node-red-contrib-amazon-echo

    8
    2
    0 Stimmen
    8 Beiträge
    2k Aufrufe
    H
    Über ioBroker?
  • gelöst: ..amazon-echo Whitemode bei milight

    5
    4
    0 Stimmen
    5 Beiträge
    725 Aufrufe
    H
    Hey, den benötigt man nicht. Der ist nur für mich weil ich irgendwie das #FF6500 als schöneres orange empfinde als das was aus der Emulation kommt. Da ich diese Farbe fast ausschließlich habe, wollte ich sie halt wieder haben wenn ich sage, dass die Farbe auf orange soll. :) Grüße
  • [gelöst] Alexa Ansage

    node-red communication
    7
    4
    -2 Stimmen
    7 Beiträge
    1k Aufrufe
    H
    @Surfkönig Sag mal, bist du im echten Leben auch so ein Volla***h? Für wen hältst du dich eigentlich? Dass hier nach eine halben Stunde noch keiner antwortet, weil vielleicht noch nicht derjenige, der helfen kann, die Frage gesehen hat, ist normal. Das ist doch hier kein Chat. Und insbesondere kannst du doch froh sein, dass es hier ein Forum gibt und viele Leute (unentgeltlich!) mit Spaß und Freude dabei sind und gerne helfen. Üb dich in Geduld. Und poste gefälligst die Lösung zu deinem Problem, sonst kann der Thread gleich gelöscht (und du eigentlich gleich mit) werden.
  • Unterscheidung zw. Szenen und Geräten

    node-red communication
    2
    -1 Stimmen
    2 Beiträge
    313 Aufrufe
    H
    Das ist leider so vorgegeben von der Emulation. Du könntest den Entwickler jedoch direkt bei Github fragen: https://github.com/datech/node-red-contrib-amazon-echo

230

Online

33.0k

Benutzer

83.4k

Themen

1.3m

Beiträge