Skip to content

JavaScript

2.5k Topics 49.2k Posts

Hilfe für Skripterstellung mit JavaScript

NEWS

  • Fehlerhaften Messwert eliminieren

    blockly
    4
    2
    0 Votes
    4 Posts
    291 Views
    docadamsD
    @paul53 Vielen Dank für den Tipp. Ich habe jetzt den Entprellwert von 1000 auf 2000ms gesetzt und beobachte das. Vielleicht war es das schon. Wenn nicht, werde ich es zunächst mit 3000ms versuchen, und dann mit deinem Skript.
  • Mit "new Date()" im Script arbeiten?

    3
    0 Votes
    3 Posts
    658 Views
    DutchmanD
    @IdleBit sagte in Mit "new Date()" im Script arbeiten?: Logisch wenn ich nur bei erstellen die Funktion aufrufe .... manchmal hilft es Einfach mal laut nach zu denken :) Aber genau, du lädst die zeit in einer variable beim script starten, mja danach ist sie drin. Tip : var ist alte Schreibweise, besser const und let https://medium.com/@josephcardillo/the-difference-between-var-let-and-const-in-javascript-part-2-60fa568d0a0 Dan harttest du beim deklarieren direct gemerkt, uhm ich mache ne const .... warte mal Zeiten ändern sich doch
  • Javascript VIS/Widgets vs ioBroker/Blockly

    4
    0 Votes
    4 Posts
    372 Views
    S
    @rokket Entschuldigung. Du willst ja mit dem Button zwei unterschiedliche Datenpunkte nutzen: Dann brauchst du einen selbst erstellten Datenpunkt welchen du als ObjektID in das VisWidget einsetzt. Dazu ein Blockly wie oben von dir geschrieben. In VIS brauchst du KEIN weiteres Script
  • simples Script treibt Leistung durch die Decke[solved]

    7
    0 Votes
    7 Posts
    539 Views
    paul53P
    @Johannes-Bauerstatter sagte: war es einfach ein Fehler von mir? Ja. Mit Objekt-Klammern wird auf jede Zustandsaktualisierung (Zeitstempel) getriggert. Die richtige Schreibweise wäre gewesen: on({id: chg}, function (obj) {
  • Eigene SQLite-DB anbinden

    3
    0 Votes
    3 Posts
    702 Views
    S
    @AlCalzone ah, danke für die Info. Scheint zu funktionieren!
  • Vergangene Zeit seit lastchanged

    5
    0 Votes
    5 Posts
    503 Views
    CrunkFXC
    @paul53 So wird ein schuh draus, vielen Dank euch beiden.
  • Erstellen eines eigenen Objekt

    Moved
    8
    2
    0 Votes
    8 Posts
    523 Views
    paul53P
    @Oskar sagte: das habe ich leider noch nicht verstanden Kopiere das Script aus dem Forum in den Javascript-Editor und passe die IDs für idOrigin und idAlias an. Danach starte das Script (kann anschließend wieder gestoppt werden) und der Alias-Datenpunkt wird erstellt. Alternativ kann man Alias-Datenpunkte auch manuell erstellen, was aber viel mehr Kenntnisse voraussetzt.
  • javascript Import Fehler INSTANZ IST DEAKTIVIERT (gelöst)

    javascript
    3
    0 Votes
    3 Posts
    469 Views
    X
    @Dutchman Bester MANN!!! Das wars! DANKE!!
  • Split is not a Function;Ölpreisskript

    javascript
    2
    0 Votes
    2 Posts
    411 Views
    M
    @Adnim wenn du das Logging aktivierst siehst du das es daran liegt, dass das Datum nicht korrekt ermittelt werden kann (Zeile 89).
  • [gelöst] Über Datenpunkte iterieren und Inhalte auswerten

    javascript
    4
    1
    0 Votes
    4 Posts
    444 Views
    HiltexH
    Falls das noch jemand gebrauchen kann - hier der Code, der ansich funktioniert. Muss nur jeder für sich schauen, ob er andere Datenpunkte für die Auswertung heranziehen will, beispielsweise is_online. Da teste ich gerade noch, was besser passt. Im Moment frage ich ab, ob der jeweilige Client zuletzt mit dem Gast-WLAN verbunden war und in den letzten 2 Minuten gesehen wurde... In den Adaptereinstellungen kann man das Offset für is_online einstellen. Setzt man diesen Wert auf 0 ist der Wert nach ca. 2 Minuten false, wenn der Client das WLAN verlassen hat. Das Prinzip der Abfrage dürfte mit diesem Script klar werden. schedule("*/10 * * * * *", function () { var GuestClients = 0; //WLAN-Clients holen mit Datenpunkt, der immer vorhanden ist let Clients = $('unifi.0.default.clients.*.is_online'); //Clients auswerten Clients.each(function(id, i) { //Datenpunkt abschneiden (Client erzeugen) var Client = id.split('.is_online')[0]; var ClientESSID = Client + '.essid' var ClientLastSeen = Client + '.last_seen_by_uap' //Netzwerknamen des Clients abfragen if (existsState(ClientESSID) && getState(ClientESSID).val == 'tremendous-Guest') { //Letzte Online-Zeit abfragen if (existsState(ClientLastSeen)) { var TimeLastSeen = getDateObject(getState(ClientLastSeen).val).getTime(); var TimeNow = new Date().getTime() //Wenn Client in den letzten 2 Minuten gesehen wurde... if (TimeNow - TimeLastSeen < 120000) { ++GuestClients; } } } }); setState('0_userdata.0.Netzwerk.WLAN.Anzahl_Gäste', GuestClients, true); //log('Gäste im WLAN: ' + GuestClients.toString()); });
  • [gelöst] createState überschreibt Daten?!

    13
    0 Votes
    13 Posts
    1k Views
    PeoplesP
    Hab das nochmal als neuen Thread aufgemacht
  • Warnung Java Script HILFE

    2
    0 Votes
    2 Posts
    264 Views
    paul53P
    @Jeba Ändere den Typ des Datenpunktes "javascript.0.scriptEnabled.Füllstand_Öltank.Abfrage_Heilölstand.Füllstand_in_%" in Zahl ("number").
  • createAlias, bitte Script überprüfen

    javascript
    4
    0 Votes
    4 Posts
    470 Views
    dslraserD
    @Berlon schau mal hier https://forum.iobroker.net/post/462078 und hier https://forum.iobroker.net/post/462092 und im ersten Beitrag ist ein kurzes Viedeo und Beispiele im Spoiler unter Vorlagen Alias und Vorlage Alias erstellen. https://forum.iobroker.net/post/273896
  • [Gelöst] Fehler bei Asterisk Installation

    10
    1 Votes
    10 Posts
    697 Views
    M
    @Thomas-Braun Ja, der Asterisk hat sich jetzt auch installieren lassen. Nochmal Danke!
  • Mehrere SetState schalten nicht

    6
    0 Votes
    6 Posts
    451 Views
    paul53P
    @CrunkFX sagte: Meinst du das so? Ja. schedule("59 23 * * *", function () { let end = getState(shelly_kwh).val; setState(end_str1, end); let diff = end - getState(start_str1).val; setState(dif_str1, diff); setState(kosten_tag_gestern, diff * preis_kwh)); });
  • noble restart scan in JS nur nach Instanz-Restart

    javascript
    3
    0 Votes
    3 Posts
    409 Views
    G
    @AlCalzone Okay, war felsenfest davon überzeugt, ich würde was vergessen. Danke für die Rückmeldung, werde das mit der eigenen Instanz in Betracht ziehen
  • Astrokonfiguration - keine Wirkung

    6
    0 Votes
    6 Posts
    529 Views
    paul53P
    @HauWi112 sagte: dayTimeSchedules() hab ich nicht zur Verfügung. Das ist wahrscheinlich eine interne Funktion des Javascript-Adapters. Mein Eindruck ist, dass die Konfigurationsdaten "Tageszeiteinstellungen" noch nicht im Script ausgewertet können.
  • catch error bei setState

    5
    0 Votes
    5 Posts
    498 Views
    D
    @paul53 sagte in catch error bei setState: if(typeof state == getObject(lightId).common.type) setState(lightId, state); perfekt. Genau danach habe ich gesucht.
  • [gelöst] iQontrol erwartet "boolean" --> common.type ändern?

    5
    2
    0 Votes
    5 Posts
    335 Views
    metaxaM
    @paul53 wieder einmal danke! Funktioniert astrein, verstehen tue ich es einfach nicht. on('system.host.Raspy4-Display-Diele.alive', function(dp) { if(!dp.state.val) // Änderung auf false ( Habe jetzt diesen Beitrag von dir gefunden. // Änderung auf false Ich hätte hier ein ='false' erwartet oder soetwas Ähnliches. Tja, Javascript ist einfach nicht an einem Nachmittag mit einer Funktion zu erlenen :-) @paul53 --> Alles Gute und xund bleiben! LG, mxa
  • Hilfe, mein Log wird zu gemüllt!

    16
    0 Votes
    16 Posts
    488 Views
    ?
    @Homoran sagte in Hilfe, mein Log wird zu gemüllt!: @dekat Deswegen wollen wir immer Screenshots, log Ausgaben und skripte sehen Rischtisch!!👍🏽👍🏽🙂🙂

580

Online

32.8k

Users

82.7k

Topics

1.3m

Posts