Skip to content

Skripten / Logik

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

16.4k Themen 211.7k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 48k
    2k Themen
    48k Beiträge
    maxclaudiM
    @Mabbi sagte in Zendure SmartMode:1 SolarFlow2400 AC SolarFlow800 ( u. Pro): @maxclaudi Da gebe ich Dir recht. Mir ist in den Blocklys einfach immer noch nicht klar, wann eine Variable local (z.B. in einer function) oder global ist. Deswegen trenne ich die aus Prinzip immer auf. [image: 1763750944410-f1602dcb-2b11-44b2-a1bf-8171d463aa10-grafik.png] Das Bild zeigt das js zum Blockly mit getrennten Variablen oder mit einer Variable. Beides taucht oben und somit global(?) auf. Ja. Alles, was du in Blockly als Variable ohne lokalen Blockscope anlegst, landet im generierten JS oben im Script und ist damit global innerhalb dieses Scripts. Nicht global systemweit – nur im eigenen Script. Ich habe mal irgendwo gelesen, dass nichts in js parallel laufen kann, aber mir widerstrebt es rein aus technischer Sicht, es so zu machen. Nenn es eine Berufskrankheit. JS läuft immer single-threaded, aber in der ioBroker-Sandbox ist fast alles asynchron. Es läuft also nicht parallel – es wird nur über die Event-Loop nacheinander abgearbeitet.
  • Hilfe für Skripterstellung mit Blockly

    6k 78k
    6k Themen
    78k Beiträge
    Dr. BakteriusD
    @topsurfer sagte in PNG zum "blinken bringen", mittels Blockly-Pause ... (?): Den Blink- Rhythmus kann man aber nicht dort einstellen, oder? Nein, dafür braucht es dann eine andere Lösung.
  • 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
  • Vorh. Tabelle aus MySQL-Datenbank anbinden und auslesen

    8
    1
    0 Stimmen
    8 Beiträge
    1k Aufrufe
    F
    @atlantis Hast du denn Sourceanalytics installiert? Wenn ja, mal stoppen für den test! Die Abfrage muss beim mysql die DB enthalten, wie in meinem Beispiel auch gezeigt. Dass er Tabellen erstellen will(und hoffentlich auch kann?) liegt daran dass der sql adapter glaubt dass er für iobroker da ist und da müssen dann natürlich auch die Tabellen da sein. Du wirst die aber nicht verwenden und auch nicht löschen! Der sql adapter wird hier für deine eigene Datenbank missbraucht was ich so gar nicht verstehe ist dass du mein 2tes Beispiel ohne den SQL Adapter erst gar nicht probiert hast wo das doch dein ursprünglicher Ansatz war, der halt auch schon Fehler enthalten hatte
  • mit Blockly json erstellen

    8
    0 Stimmen
    8 Beiträge
    844 Aufrufe
    T
    @ticaki Danke dir! Ich stand so auf dem Schlauch! Ich musste einfach den Wert reinschreiben.... { "warning": { "strobe": false, "duration": 5 } } viel zu einfach. Ich habe viel zu kompliziert gedacht!!
  • Objekte von "fremden" MQTT-Broker in NodeRed

    5
    0 Stimmen
    5 Beiträge
    125 Aufrufe
    mickymM
    @mblanz sagte in Objekte von "fremden" MQTT-Broker in NodeRed: Der SonOff-Adapter wandelt den JSON-String automatisch in ioB Objekte. Kann man das im MQTT-Broker auch einstellen ? Nein - dafür hat den Sonoff Adapter aber den Nachteil, dass er nur das anzeigt, was er kennt und Du auch Deine Struktur nicht frei machen kannst, also zum Beispiel wie ich das gemacht habe die prefix unter das topic zu hängen. Wenn Du JSON in einzelne Datenpunkte zerlegen willst, kannst Du Dir mal mein Subflow anschauen: https://forum.iobroker.net/topic/43856/json-oder-javascript-objekt-in-iobroker-datenpunkte-zerlegen Du wirst aber feststellen, dass es oft viel SINNVOLLER ist mit den Objekten zu arbeiten, als mit einzelnen Werten. ;) - JSONS sind einfach genial. ;)
  • [gelöst] SOC Werte mit Hysterese bereinigen ? Logik ?

    blockly
    15
    3
    0 Stimmen
    15 Beiträge
    478 Aufrufe
    metaxaM
    @homoran sagte in [gelöst] SOC Werte mit Hysterese bereinigen ? Logik ?: auf dem richtigen Weg. Da bin ich parallel dran! @homoran sagte in [gelöst] SOC Werte mit Hysterese bereinigen ? Logik ?: nicht um dich zu ärgern Hätte ich nie und nimmer so aufgefasst. @homoran sagte in [gelöst] SOC Werte mit Hysterese bereinigen ? Logik ?: ich drück dir die Daumen! :+1:
  • Aktuelle Leistung aus Stromzählerstand berechnen

    3
    0 Stimmen
    3 Beiträge
    435 Aufrufe
    W
    @paul53 Vielen dank :-) [image: 1689769267928-e3ae1801-a7c3-4093-b0b6-8d3a30868adf-image.png] Hat geklappt. Gruß Wurmi \m/
  • Gelöst: Obejtktdaten ändern

    javascript
    18
    0 Stimmen
    18 Beiträge
    312 Aufrufe
    M
    @tt-tom sagte in Gelöst: Obejtktdaten ändern: @michihorn viel Erfolg :+1: So klappt es: CamNr wird von Motioneye beschrieben CamView ist zur Stuerung des basis-Iframe8 sperre ist meine Krücke zum zeitlichen Verriegeln const idCamView = "0_userdata.0.System.CamView"; const idCamNr = "0_userdata.0.System.CamNr"; const idsperre = "0_userdata.0.System.Sperre" on({ id: idCamNr, change: "any" }, function (dp) { if ((dp.state.val) == 3) { setState(idsperre, true) setState(idCamView, 3) setTimeout(function () { setState(idsperre, false) }, 20000); } else if ((getState(idsperre).val == false) && (dp.state.val != 3)) { setState(idCamView, dp.state.val) } }); on({ id: idsperre, val: false }, function (dp) { setState(idCamView, getState(idCamNr).val) }); Geht sicher auch eleganter. ;-)
  • [gelöst] Datenpunkt mit Blockly aus SQL-History auslesen

    9
    0 Stimmen
    9 Beiträge
    785 Aufrufe
    R
    @haus-automatisierung Danke! Du hattest recht, ich habe mir einen SQL-Client (MYSQL-Workbench) installiert und mich ein wenig in SQL eingearbeitet (ja, hat etwas gedauert ;-) hat mich dann aber ein großes Stück weitergebracht. Meine Anfrage wäre hiermit gelöst! :-)
  • täglich neu erstelltes Array mit Tagesinfos einer PV Anlage

    blockly
    11
    0 Stimmen
    11 Beiträge
    725 Aufrufe
    paul53P
    @maddm sagte: ich muss auch die Werte in Hochkommas setzten Wenn es Zahlen sind, ist es nicht nötig.
  • Kann man Wert von "letztes" irgendwo auslesen?

    Verschoben
    24
    0 Stimmen
    24 Beiträge
    4k Aufrufe
    Ben1983B
    SORRY FALSCHEINTRAG
  • Wird Blockly-Plus noch weiter entwickelt?

    blockly
    6
    0 Stimmen
    6 Beiträge
    522 Aufrufe
    mcm1957M
    @guergen Da dieser Adapter nie als in die offiziellen Repositories übernommen wurde, ist auch eine Migration in den community Bereich eher ausgeschlossen. Am sinnvollsten wäre es - wenn jemand hier Arbeit hineinstecken will/kann - die gewünschte Funktionalität DIREKT im java script / blockly Adapter einzubauen und dies via PR einzureichen, Dann würde die Funktionalität auch langfristig erhalten bleiben. Siehe auch https://github.com/ioBroker/ioBroker.javascript/issues/1031 PR welcome : https://github.com/ioBroker/ioBroker.javascript/issues/1031#issuecomment-1135768654
  • Fehlermeldung verstehen

    31
    4
    0 Stimmen
    31 Beiträge
    3k Aufrufe
    HomoranH
    @ticaki sagte in Fehlermeldung verstehen: Dann liegt der Fehler in Proxmox 8.0, da bin ich noch nicht sicher. https://forum.iobroker.net/topic/66930/probleme-mit-homematic-rpc/1
  • Einfache Rasenbewässerung funktioniert nicht.

    20
    1
    0 Stimmen
    20 Beiträge
    1k Aufrufe
    T
    @olek_michdoch sagte in Einfache Rasenbewässerung funktioniert nicht.: Sorry, wollte dich nicht verärgern. Ich probier halt immer viel rum und will auch selber verstehen was ich da mache. Ich probier gerade deinen ansatz. Denke nicht dass es ein Problem ist, eher das es in 9 von 10 Fällen so läuft :)
  • über Alexa Geräte steuern - Hilfe

    30
    0 Stimmen
    30 Beiträge
    2k Aufrufe
    S
    @djmarc75 Gude, ja danke für deine Zeit und Mühe 👌👍 Da ich auch nicht nur Copy & Paste`n will möchte ich kurz das Script durchbügeln und was mitnehmen. Falls Alexa die "passende" Routine erkennt wird im Script nicht erst damit rumgespielt um mein gesprochenes zu vergleichen sondern gleich mit der Routine gestartet. Soweit ist es auch klar das der "erstelle Text" die Alexa wieder angesprochen wird mit der ID und eine Sprachausgabe startet die weiter unten im Wert steht. Also sehr einfach zu verstehen. Jetzt kann ich z.B. ganz einfach eine Hue Lampe dabei angehen lassen die grün angeht wenn Elfriede am arbeiten ist. Danke vorab, jetzt wird mir die ein oder andere Idee kommen die ich erstmal selber bauen kann bis ich Dich wieder bräuchte ;) Ich wünsch schonmal ein schönes Wochenende ;)
  • Heishamon SET Heating_Off_Outdoor_Temp

    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    B
    Hallo Zusammen, falls die Lösung noch jemanden interessiert. Das Thema wurde auf GitHub unter den issues diskutiert und es wurde eine Alpha Version zum Testen angeboten. Mit dieser Version kann man den Schwellwert für die Sommerumschaltung mit command "SetHeatingOffOutdoorTemp" verändern. Das wird wahrscheinlich in einer stable Version mit integriert sein. Wer nicht abwarten kann, der kann die Alpha Version jetzt schon testen. Bei mir funktioniert das tadellos. Hier der Link: https://github.com/Egyras/HeishaMon/issues/351 Gruß
  • [gelöst] Variable wird als nicht gelesen gekennzeichet

    13
    1
    0 Stimmen
    13 Beiträge
    301 Aufrufe
    Ben1983B
    @ticaki Danke, das war das Problem, war falsch herum, aber mir ist es nicht aufgefallen, weil das ja nicht als Fehler angezeigt wurde.
  • Countdown ersetzen anstatt neuen zu erzeugen

    4
    0 Stimmen
    4 Beiträge
    380 Aufrufe
    geschildG
    @ehome Dann würde ich erst löschen und dann den geänderten sofort hinterherschicken.
  • Steckdose abfragen ob manuell eingeschaltet wurde?

    6
    0 Stimmen
    6 Beiträge
    498 Aufrufe
    E
    Für meine E-Auto-Steckdose (Shelly plus 1pm) habe ich im Script einen Switch 'manu'/'auto' eingebaut. Dieser Switch wird in der VIS gesetzt. Im Status 'manu' wird wird keine Steuerung über den 'Einspeisungswert' vorgenommen.
  • Wert aus einer Webseite auslesen?

    javascript
    52
    0 Stimmen
    52 Beiträge
    11k Aufrufe
    U
    OK, vielen Dank. Ich werde das nach meinem Urlaub mal testen.
  • Datenpunkte system.host.HOSTNAME.versions.nodeNewest usw

    5
    0 Stimmen
    5 Beiträge
    172 Aufrufe
    Thomas BraunT
    @ticaki Ja, wie gesagt, auf meinem System passte das. Bei Beta-Tests auf anderen Systemen kamen aber auch falsche Ergebnisse heraus. Also nodejs18 installiert, aber im Datenpunkt stand was von v16 drin. Z. B. so: Nodejs-Installation: /usr/bin/nodejs v18.16.1 /usr/bin/node v18.16.1 /usr/bin/npm 9.5.1 /usr/bin/npx 9.5.1 Recommended versions are nodejs 16.20.1 and npm 8.19.4 Your nodejs installation is correct
  • [gelöst] Changelog Script Engine 6.1.4 -> 7.0.3

    6
    0 Stimmen
    6 Beiträge
    363 Aufrufe
    T
    @crunchip sagte in [gelöst] Changelog Script Engine 6.1.4 -> 7.0.3: ja das ist mittlerweile integriert, damit man nicht behaupten kann...."hab ich nicht gesehen":stuck_out_tongue_winking_eye: Hab ich nicht verstanden geht aber immer noch :)

697

Online

32.4k

Benutzer

81.4k

Themen

1.3m

Beiträge