Weiter zum Inhalt

JavaScript

2.5k Themen 49.9k Beiträge

Hilfe für Skripterstellung mit JavaScript

NEWS

  • Objekte (?) zusammenfassen

    5
    0 Stimmen
    5 Beiträge
    247 Aufrufe
    paul53P
    @wolfgangfb sagte: ohne eine Typumwandlung zu machen. log(typeof Fenster) liefert ebenfalls "object". Es findet also keine Typwandlung statt, wobei ein Array ein spezielles Objekt ist. Man kann es mit der Methode Array.isArray(obj) prüfen.
  • [Gelöst] SetState funktioniert nicht

    2
    0 Stimmen
    2 Beiträge
    337 Aufrufe
    M
    Auch wenn es bereits auf gelöst steht. So mancher kennt den Stolperstein nicht.😉 [image: 1678178620903-screenshot_2023-03-07-09-42-20-472_com.whatsapp.jpg]
  • [gelöst]Hilfe bei Javascript

    10
    0 Stimmen
    10 Beiträge
    1k Aufrufe
    F
    Achso okay. Habs jetzt geändert und als reines Javascript laufen. Danke
  • [gelöst] Datenpunk in MQTT publishen mit Bedingung

    8
    0 Stimmen
    8 Beiträge
    298 Aufrufe
    CodierknechtC
    @darkness_08 Wenn das Thema dann erledigt ist, bearbeite bitte Deinen Eingangspost und setze ein "[gelöst] - " vor den Titel.
  • [gelöst] on-funktionen generieren aus einem object

    15
    0 Stimmen
    15 Beiträge
    2k Aufrufe
    CodierknechtC
    @benni27 sagte in on-funktionen generieren aus einem object: Ich weiss leider nicht wo ich die Frage als gelöst markieren kann? Ist mein erster Forenbeitrag.. Bearbeite Deinen Eingangspost und setze ein "[gelöst] - " vor den Titel.
  • Wie nutze ich eine custom class / npm Modul?

    65
    0 Stimmen
    65 Beiträge
    9k Aufrufe
    1Topf1
    @wendy2702 sagte in Wie nutze ich eine custom class / npm Modul?: Könnt ihr mal die Ausgabe davon zeigen: cd/opt/iobroker/ npm list iobroker@ioBroker:/opt/iobroker$ npm list iobroker.inst@3.0.0 /opt/iobroker ├── iobroker.admin@6.3.5 ├── iobroker.alexa2@3.23.2 ├── iobroker.backitup@2.5.12 ├── iobroker.device-watcher@2.6.1 ├── iobroker.discovery@3.1.0 ├── iobroker.echarts@1.0.12 ├── iobroker.enigma2@1.3.3 (git+ssh://git@github.com/Matten-Matten/ioBroker.enigma2.git#975e828ab4595b81333bcca5b32af3cbf3c287bc) ├── iobroker.flot@1.11.0 ├── iobroker.fullcalendar@1.2.0 ├── iobroker.habpanel@0.5.0 ├── iobroker.hiob@0.0.30 ├── iobroker.history@2.2.4 ├── iobroker.hs100@2.1.3 (git+ssh://git@github.com/arteck/ioBroker.hs100.git#bc5e7c89fe24cd4da1376a3e749e133bb564c4f6) ├── iobroker.ical@1.13.2 ├── iobroker.icons-addictive-flavour-png@0.1.0 ├── iobroker.icons-fatcow-hosting@0.1.0 ├── iobroker.icons-icons8@0.0.1 ├── iobroker.icons-material-png@0.1.0 ├── iobroker.icons-material-svg@0.1.0 ├── iobroker.icons-mfd-png@1.1.0 ├── iobroker.icons-mfd-svg@1.1.0 ├── iobroker.icons-open-icon-library-png@0.1.3 (git+ssh://git@github.com/ioBroker/ioBroker.icons-open-icon-library-png.git#0847a79d713ee6725ccb6ccfb044c025b73ec946) ├── iobroker.icons-ultimate-png@1.0.1 ├── iobroker.info@1.9.19 ├── iobroker.iot@1.14.2 ├── iobroker.jarvis@3.1.2 ├── iobroker.javascript@6.1.4 ├── iobroker.js-controller@4.0.24 ├── iobroker.lgtv@1.1.10 ├── iobroker.linux-control@1.1.3 ├── iobroker.minuvis@2.2.0 ├── iobroker.moma@1.2.9 ├── iobroker.mqtt@4.0.7 ├── iobroker.net-tools@0.2.0 ├── iobroker.onvif@1.0.0 (git+ssh://git@github.com/iobroker-community-adapters/ioBroker.onvif.git#a4cf207db3917eaa7f2f83bea79daf2b617d46a4) ├── iobroker.ping@1.5.3 ├── iobroker.shelly@6.3.1 ├── iobroker.signal-cmb@0.3.0 ├── iobroker.smartstate@0.0.1 ├── iobroker.sonoff@2.5.1 ├── iobroker.statistics@2.3.0 (git+ssh://git@github.com/iobroker-community-adapters/ioBroker.statistics.git#b20bc874be5382f1eeaeeae4efa7f5dd23967e0b) ├── iobroker.tr-064@4.2.17 ├── iobroker.tuya@3.13.1 ├── iobroker.vis-2-widgets-energy@0.1.3 ├── iobroker.vis-2-widgets-gauges@0.1.4 ├── iobroker.vis-2-widgets-material@0.2.1 ├── iobroker.vis-bars@0.1.4 ├── iobroker.vis-canvas-gauges@1.0.1 ├── iobroker.vis-colorpicker@1.2.0 ├── iobroker.vis-fancyswitch@1.1.0 ├── iobroker.vis-google-fonts@1.0.4 ├── iobroker.vis-history@1.0.0 ├── iobroker.vis-hqwidgets@1.3.0 ├── iobroker.vis-icontwo@0.90.0 ├── iobroker.vis-inventwo@3.3.1 ├── iobroker.vis-jqui-mfd@1.0.12 ├── iobroker.vis-justgage@1.0.2 ├── iobroker.vis-lcars@1.0.4 ├── iobroker.vis-material-advanced@1.7.2 ├── iobroker.vis-metro@1.2.0 ├── iobroker.vis-plumb@1.0.2 ├── iobroker.vis-rgraph@0.0.2 ├── iobroker.vis-timeandweather@1.2.2 ├── iobroker.vis-weather@2.5.6 ├── iobroker.vis@1.4.15 ├── iobroker.web@4.3.0 ├── iobroker.wizconnect@0.0.5 (git+ssh://git@github.com/disaster123/ioBroker.wizconnect.git#ad84f06e2e5e73de575ad53b91c9d7a24d8b9384) ├── iobroker.zigbee@1.8.10 └── iobroker.zigbee2mqtt@2.7.3
  • Skript vorschlag von ChatGPT korrekt?

    5
    0 Stimmen
    5 Beiträge
    428 Aufrufe
    rtwlR
    Super danke. ich dachte mir, dass es einfacher gehen würde. das heißt also ChatGPT kann es wenn man die richtige Frage stellt es ist aber zu kompliziert. gut zu wissen 👍🏼
  • Benötige Programmierhilfe Javascript

    communication javascript monitoring
    60
    0 Stimmen
    60 Beiträge
    8k Aufrufe
    OliverIOO
    @TomTom24 Puh das ist schon eine Weile her. Da es keine gute Hersteller Beschreibung gibt haben wir das sozusagen Reverse engineerd Da ich selbst das Gerät nicht besitze war das dann alles per Ferndiagnose Wenn der Hersteller irgendeine Kleinigkeit ändert dann passt es schon nicht mehr.
  • json teilen

    37
    0 Stimmen
    37 Beiträge
    5k Aufrufe
    W
    @haus-automatisierung Super Vielen Dank. Klappt einwandfrei.
  • Rückgabewert von async Function festlegen

    6
    0 Stimmen
    6 Beiträge
    483 Aufrufe
    F
    @wolfgangfb sagte in Rückgabewert von async Function festlegen: dass der Rückgabetyp richtig gesetzt ist. Die Kringel im Editor sagen nicht aus ob etwas richtig oder falsch ist, sie geben 'nur' einen Hinweis dass etwas falsch sein könnte. Dazu werden xxxxx.d.ts Dateien genutzt in welchen die Funktionen in TypeScript Notation definiert werden. Für den JS-Adapter ist das die javascript.d.ts Datei. Dort ist der Parameter für die setState() Funktion als string definiert. Für Deine Funktion ist jedoch nicht bekannt welchen Typ sie zurückgibt, somit ist dem Editor nicht bekannt dass ein String übergeben wird und er kringelt dann halt Um die Kringel zu unterbinden (nicht empfohlen bzw. nur wenn man weiss was man tut) Ganz zu Beginn deines Skripts // @ts-nocheck eingeben. Dadurch werden die Hinweise für die gesamte Datei abgeschaltet. Unmittelbar über einer Zeile mit Kringeln // @ts-ignore eingeben. Dadurch wird der Hinweis für die nächste Zeile verhindert. xxxxx.d.ts Dateien funktionieren im JS-Adapter m.W. nach nicht. Man kann Funktionen und auch Variablen mit JSDoc ausstatten, dann funktionieren die Hinweise genauso und man könnte auch eine Doku davon erstellen(Google JSDoc) /** * Funktion zur Ermittlung und Erstellung eines Datenpunkts * * @param {string} Datenpunkt der Datenpunkt * @param {string} InitValue Initialwert * @param {string} Klarname der Name des DP * @returns {Promise<string>} gibt ein Promise zurück */ async function CreateIfNotExistsStringAsync(Datenpunkt, InitValue, Klarname) {
  • Js Script für externe MySQL Abfrage

    21
    0 Stimmen
    21 Beiträge
    3k Aufrufe
    ReinerR
    @haus-automatisierung Hallo, also das Ergebnis sieht schon sehr ordentlich aus dank deiner Hilfe. [image: 1677269620736-484405d2-c9fb-4b7b-a496-cd9a17c9a2cf-image.png] Zwei Schönheitsfehler habe ich noch. In der Anzeigenvariante vom Datenpunkt habe ich folgendes eingefügt um die Labels zu ändern: { "Exchange":"Exchange", "market":"Market", "profit":"Profit" } In der Einheit des Datenpunktes habe ich folgendes eingefügt um den Wert ein Prozentzeichen hinzuzufügen: { "profit":"%" } Irgendwie funktioniert aber beides nicht. Dh es ändert sich nichts und es gibt auch keinen Fehler. Vielleicht hast Du noch eine Idee wo ich ansetzen kann.
  • "Heute 0:00 Uhr" eleganter berechen

    33
    0 Stimmen
    33 Beiträge
    3k Aufrufe
    CodierknechtC
    @fastfoot sagte in "Heute 0:00 Uhr" eleganter berechen: da hast Du nunmal ein irre grosses Entwicklungspotential. für die paar Jahre lohnt sich das nicht mehr
  • Fehlendes Anfaengerwissen

    6
    0 Stimmen
    6 Beiträge
    362 Aufrufe
    CodierknechtC
    @michl Das nochmalige Lesen des Status in Zeile 5 kannst Du Dir sparen. Mit value ist der Wert ja bereits bekannt.
  • [gelöst] Javascript - Datenobjekte vom gewissen Typ abfragen

    8
    2
    0 Stimmen
    8 Beiträge
    873 Aufrufe
    S
    @paul53 sagte in Javascript - Datenobjekte vom gewissen Typ abfragen: const devType = getObject(id).native.TYPE; Perfekt - das hat super funktioniert. const devType = getObject('hm-rpc.1.0000DBE9970815').native.TYPE; console.log("Ausgabe devType: " + devType); Ausgabe: Ausgabe devType: HMIP-SWDO Vielen Dank
  • InfluxDB series löschen

    1
    0 Stimmen
    1 Beiträge
    114 Aufrufe
    Niemand hat geantwortet
  • JSON aktualisieren und täglich speichern

    27
    0 Stimmen
    27 Beiträge
    4k Aufrufe
    Chris76eC
    @paul53 @chris76e sagte in JSON aktualisieren und täglich speichern: Wie kann man das script so ändern das wenn sich der wert vom DP ändert, sich die Daten im JSON aktualisieren und erst um 23:58 Uhr gespeichert werden und dann ein neuer Datensatz anfängt? Das war ja die anfangs Frage.....Dann geht es halt nicht.
  • IP Adresse per mqtt an ioBroker senden?

    9
    0 Stimmen
    9 Beiträge
    455 Aufrufe
    B
    Alles gut - eingebaut - aufgespielt - läuft. Vielen Dank
  • Mathe-Genie gesucht (Kurvenberechnung)

    132
    1
    0 Stimmen
    132 Beiträge
    25k Aufrufe
    F
    PV.xlsm Ich hab mal vor Äonen mich mit diesem Thema berschäftigt. Das ganze zu berechnen ist sehr komplex. Die ideale Methode wäre es eine Funktion zu finden, die bei jedem Datum bei jeder Koordinate etc die richtigen Werte ausspuckt. Wenn man das als Formel hätte, und in ein Koordinatensystem eintragen würde, könnte man wie MartyBr durch integration die Fläche = Ertrag berechnen. Aber leider sind das nur ganz ganz grobe Näherungen die die sekundäre Strahlung komplett außer acht lässt. Die lässt sich auch nicht berechnen denn die ist von sehr vielen Faktoren abhängig (Wolkendicke, Beschaffenheit der Wolke (Viel Wasser?), Temperatur, Klarer Himmel (schlecht für anlagen die auf diffuses licht angewiesen sind, zb NO Anlagen im Winter) ;) In dem Excel tool kannst koordinaten eingeben und er berechnet dann die Elevation und den Azimut der Sonne. Mit den Cos Funktionen kannste dann den Einstrahlungswinkel auf die Modulplatten berechnen. Die Solarkonstante ist auf der Erde ca. 1000W/m² (Im Weltraum 1300 ca). Bedenke dass die Kurve immer kleiner ist als die Kurve von der PV, da hier eindeutig die Streustrahlung fehlt!
  • Influx/History getEnabledDPs - wie verwenden?

    5
    0 Stimmen
    5 Beiträge
    227 Aufrufe
    paul53P
    @wolfgangfb sagte: ist hier der Name des Dateenpunktes der Index und der Inhalt "changesOnly" etc? "changesOnly" ist der key (Bezeichner). result['system.adapter.influxdb.0.memRss'][key] liefert den Wert (true). @wolfgangfb sagte in Influx/History getEnabledDPs - wie verwenden?: for of sein? for of liefert den Inhalt eines Arrays.
  • Wie den vorherigen Wert von Datenpunkt setzen?

    18
    1
    0 Stimmen
    18 Beiträge
    1k Aufrufe
    M
    @paul53 genau - wenn ich "einmalig" drücke soll das ja auch so sein. Wenn hingegen (aus welchen Gründen auch immer) länger Luxus an sein soll, dann würden wir den Mode komplett ändern. Von daher macht es keinen Sinn, dass sich auch bei Mode = Luxus automatisch "einmalig" aktiviert. Aber danke für deine Anregung, im ersten Moment fand ichs richtig gut :)

380

Online

33.1k

Benutzende

83.7k

Themen

1.3m

Beiträge