Weiter zum Inhalt

JavaScript

2.5k Themen 49.2k Beiträge

Hilfe für Skripterstellung mit JavaScript

NEWS

  • [gelöst] - Learning JS - ein erster Versuch

    31
    1 Stimmen
    31 Beiträge
    2k Aufrufe
    CodierknechtC
    @homoran Achtung Goldwaagenalarm. Virtuell natürlich
  • Grundlast berechnen

    17
    0 Stimmen
    17 Beiträge
    2k Aufrufe
    paul53P
    @chrille1507 Die Mindestdauer der Abwesenheit hängt von den Gewohnheiten ab, aber man wird nicht alles ausschalten, bevor man nur den Müll raus bringt. Skriptvorschlag: const idAnwesend = 'abc'; const idZaehler = 'xyz'; // kWh const idGrundlast = '0_userdata.0.xyz'; // W var standVerlassen; on(idAnwesend, function(dp) { if(dp.state.val) { // Rückkehr let dauer = (dp.state.lc - dp.oldState.lc) / 3600000; // h if(dauer > 5 && standVerlassen) { let grundlast = 1000 * (getState(idZaehler).val - standVerlassen) / dauer; setState(idGrundlast, Math.round(grundlast), true); } } else standVerlassen = getState(idZaehler).val; });
  • Script funzt nicht mehr

    22
    2
    0 Stimmen
    22 Beiträge
    2k Aufrufe
    CodierknechtC
    @homoran Du hast es nicht anders gewollt: https://forum.iobroker.net/topic/60034/learning-js-ein-erster-versuch
  • Selector - Filter funktioniert nicht bei Enums (gelöst)

    3
    3
    0 Stimmen
    3 Beiträge
    379 Aufrufe
    T
    @paul53 ja grad mal versucht keine Änderung Irgendwie erkennt er den von Hand angelegten Enum nicht…
  • Ordnerüberwachung, die bei Änderung eine Mailnot. sendet

    9
    0 Stimmen
    9 Beiträge
    241 Aufrufe
    AlanVA
    @glasfaser ok werd ich mir anschauen vielen dank für den hinweis
  • Event handling abbrechen bzw. Event verwerfen

    javascript
    3
    0 Stimmen
    3 Beiträge
    210 Aufrufe
    H
    @mickym du hast Recht, insofern ich sofort aus dem Eventhandler raus will. Das Problem jedoch ist, dass der Thermostat-DP aus dem Event trotzdem gesetzt wird. In dem Event-Handler schreibe ich ja quasi einen extra user-Datenpunkt. Ich möchte aber den Thermostat-DP nicht schreiben, wenn das Fenster auf ist. Man könnte das auch anders lösen, aber dann muss ich bei mir leider sehr viel in den Skripten ändern
  • delete folder in objects

    9
    0 Stimmen
    9 Beiträge
    457 Aufrufe
    liv-in-skyL
    @paul53 @MCU Danke euch beiden Werde Mal testen
  • Lampe an der Haustüre und Abwesenheit

    13
    0 Stimmen
    13 Beiträge
    440 Aufrufe
    M
    @mickym Danke, Du hast es auf das reduziert, was es ist: Ein Logikproblem... Und ich habe jetzt mehrmals lesen müssen, bis ich es verstanden habe: Der Trigger ist meine Ankunft zuhause. Das ist auch deswegen sinnvoll, weil ich vielleicht auch Dinge triggern will, wenn ich tagsüber ankomme... Das lasse ich mal so sacken, und starte mein konzeptionelles Denken nochmal neu...
  • Energieanzeige (kWh) über HTML Tabelle - vis

    javascript template
    696
    18
    8 Stimmen
    696 Beiträge
    171k Aufrufe
    liv-in-skyL
    @Homoran könntest du den thread bitte schliessen - Das Script wird nicht mehr von mir supportet - geht das ?
  • [gelöst] Result in Widget bekommen

    6
    0 Stimmen
    6 Beiträge
    307 Aufrufe
    CodierknechtC
    @spinne1000 Dann markiere den Thread bitte als "gelöst"
  • [gelöst] Massenbearbeitung Objektnamen

    3
    0 Stimmen
    3 Beiträge
    337 Aufrufe
    TimoGoerlichT
    @liv-in-sky Funktioniert. Ich danke dir.
  • unklar Fehlermeldung "Error by canceling scheduled job"

    javascript
    10
    0 Stimmen
    10 Beiträge
    311 Aufrufe
    haus-automatisierungH
    @homoran sagte in unklar Fehlermeldung "Error by canceling scheduled job": einen Link bitte! https://github.com/ioBroker/ioBroker.javascript/issues/1102
  • [Help] Skript Wassersensor auswerten

    12
    0 Stimmen
    12 Beiträge
    858 Aufrufe
    D
    @paul53 Hallo Paul, wie kann ich beim Starten des Skriptes einmalig prüfen, ob ein Rauchmelder ausgelöst hat. Aktuell bekomme ich keine Meldung wenn ich das Skript nach dem der Rauchmelder ausgelöst hat, starte. Danke und Gruß createState('0_userdata.0.Datenpunkte.Rauchmelder.smokeAlert'/*smokeAlert*/, false, {type: 'boolean', name: 'Feueralarm'}); createState('0_userdata.0.Datenpunkte.Rauchmelder.smokeAlertRoom'/*smokeAlertRoom*/, '', {type: 'string', name: 'Raum Feueralarm'}); var timer = null; var room = ''; var idEcho = "alexa2.0.Echo-Devices.G2A1A605204600ED"; var volume = getState(idEcho+".Player.volume"/*volume*/).val; function alarmOnAlexa() { setState(idEcho+".Commands.speak"/*speak*/,'Achtung! Im ' + room + ' wurde Rauch festgestellt!'); timer = setTimeout(alarmOnAlexa, 6000); } function alexa2controll(){ setState(idEcho+".Player.controlPause"/*pause*/,true,false); setState(idEcho+".Player.volume"/*volume*/,100); alarmOnAlexa(); } function nachrichtOnWhatsApp(obj){ if(getState('0_userdata.0.Datenpunkte.Rauchmelder.smokeAlert'/*smokeAlert*/).val) { WhatsAppBot(2, String ('*!!Achtung!!*<br>' + (obj.channelName ? obj.channelName :"")) + '<br>meldet Rauch/Feuer <br>im ' + room + '!<br>*Bitte sofort überprüfen!!!!*'); } } on(Array.prototype.slice.apply($("state[id=*](functions=check_smoke)")), function(dp) { if(dp.state.val) { room = getObject(dp.id, 'rooms').enumNames; for(let i = 0; i < room.length; i++) { if(typeof room[i] == 'object') room[i] = room[i].de; }; room = room.join(', '); setState('zigbee.0.0015bc0031015362.alarm'/*Manual Start of Siren - Esszimmer OG*/, true, true); setState('zigbee.0.0015bc0031014470.alarm'/*Manual Start of Siren - Treppenhaus OG*/, true, true); setState('zigbee.0.0015bc0031013f40.alarm'/*Manual Start of Siren - Arbeitszimmer EG*/, true, true); setState('zigbee.0.0015bc0031013dc7.alarm'/*Manual Start of Siren - Esszimmer EG*/, true, true); setState('zigbee.0.0015bc003101495b.alarm'/*Manual Start of Siren - Technikraum UG*/, true, true); setState('0_userdata.0.Datenpunkte.Rauchmelder.smokeAlert'/*smokeAlert*/, true, true); setState('0_userdata.0.Datenpunkte.Rauchmelder.smokeAlertRoom'/*smokeAlertRoom*/, room, true); alexa2controll(); nachrichtOnWhatsApp(dp); } else { clearTimeout(timer); setState('zigbee.0.0015bc0031015362.alarm'/*Manual Start of Siren - Esszimmer OG*/, false, true); setState('zigbee.0.0015bc0031014470.alarm'/*Manual Start of Siren - Treppenhaus OG*/, false, true); setState('zigbee.0.0015bc0031013f40.alarm'/*Manual Start of Siren - Arbeitszimmer EG*/, false, true); setState('zigbee.0.0015bc0031013dc7.alarm'/*Manual Start of Siren - Esszimmer EG*/, false, true); setState('zigbee.0.0015bc003101495b.alarm'/*Manual Start of Siren - Technikraum UG*/, false, true); setState('0_userdata.0.Datenpunkte.Rauchmelder.smokeAlert'/*smokeAlert*/, false, true); setState(idEcho+".Player.controlPause"/*pause*/,false,true); setState(idEcho+".Player.volume"/*volume*/,30); } });
  • SG-Reay anstoßen

    1
    0 Stimmen
    1 Beiträge
    155 Aufrufe
    Niemand hat geantwortet
  • HTML Tabelle für TrashSchedule Adapter

    javascript template
    135
    5
    4 Stimmen
    135 Beiträge
    21k Aufrufe
    liv-in-skyL
    @novregen also ehrlich - warum macht man ein neues skript ? damit man dann von jedem einzelnen das skript wieder nachprogrammiert hast du wenigsten mal versucht, das neue skript anzugleichen die bilder zu definieren gerade und ungerade zeilenfarbe eingeben überschriften der spalten auf weiß setzen schriftfarbe schwarz ich beantworte dir gerne fragen zum setting
  • Script starten nach start der Javascript Instanz

    4
    0 Stimmen
    4 Beiträge
    561 Aufrufe
    H
    @paul53 Hallo Paul, vielen Dank, ich werde dies in dieser Form machen. Ich hatte mir gestern auch noch die Funktion ListSchedules angesehen um die laufenden Schedules auszuwerten und dann zu starten wenn der Schedule für den Tag nicht gesetzt ist. Mit deiner Lösung ist es aber deutlich effizienter.
  • Variablen dynamisch erzeugen

    12
    1
    0 Stimmen
    12 Beiträge
    752 Aufrufe
    freakyfreakyF
    @paul53 Vielen Dank
  • Ausschaltverzögerung mit Flankenerkennung

    7
    0 Stimmen
    7 Beiträge
    707 Aufrufe
    C
    @homoran habe ein Modbus Feldgerät von Wago, hier bekomme ich Daten via dem Modbus Adapter rein. Mit der Wago möchte ich bei meiner Heizung die Ladepumpe 5min auschaltverzögern um die Nachwärme besser nutzen zu können. Bei einem Eingang an der Wago frage ich die Ansteuerung der Heizung ab und gebe es 1:1 auf einen Ausgang meiner Wago. Wenn jetzt die Heizung der Meinung ist die Pumpe abschalten zu müssen, so will ich jetzt die Pumpe noch 5 bis 10min weiter laufen zu lassen um die Nachwärme im Heizkessel in den Puffer zu bekommen Dank euch
  • HM-Servicemeldungen - Eintragung gefunden [gelöst]

    javascript
    3
    0 Stimmen
    3 Beiträge
    358 Aufrufe
    I
    @glasfaser wollte ich auch, aber ging nicht, kam die Meldung wäre veraltet und soll neuen auf machen Habe mich mal mit dem Script befasst und selbst schon gefunden wie ich es alles hinzufügen kann
  • Kann da mal jemand drüberschauen (API-Calls/await und Co.)?

    2
    0 Stimmen
    2 Beiträge
    291 Aufrufe
    arteckA
    @svenvj sagte in Kann da mal jemand drüberschauen (API-Calls/await und Co.)?: request schau dir axios an.. anstatt request

352

Online

32.8k

Benutzer

82.7k

Themen

1.3m

Beiträge