Weiter zum Inhalt

JavaScript

2.5k Themen 49.2k Beiträge

Hilfe für Skripterstellung mit JavaScript

NEWS

  • Rechnen von S0 funktioniert nach Update nicht mehr richtig?

    6
    0 Stimmen
    6 Beiträge
    548 Aufrufe
    S
    @paul53 sagte in Rechnen von S0 funktioniert nach Update nicht mehr richtig?: on({id: 'knx.0.Sensoren.Verbrauchsdaten.Strom_Erzeugung', change: "gt" }, function (obj) { Das funktioniert schon wesentlich besser (also bis jetzt). Vielen vielen Dank dafür. Er "hängt" allerdings etwas und zeigt immer 20 - 50 Watt weniger an, als tatsächlich erzeugt wird. Kann man das vielleicht noch etwas optimieren? Viele Grüße
  • <br> wird bei Ausgabe angezeigt

    6
    0 Stimmen
    6 Beiträge
    239 Aufrufe
    H
    @haus-automatisierung Genau das wars. Ich habe das Widget "Bild mit String" genommen. Mit "Bild mit String unescaped" funktioniert es und das "<br>" wird nicht angezeigt. Danke für die Hilfe !!
  • Hilfe bei Script Timer

    11
    0 Stimmen
    11 Beiträge
    923 Aufrufe
    M
    @paul53 Hi, mir ist es im Altagstrubel durch die Lappen gegangen. Danke für deine Hilfe. Es hat mir geholfen. Mein Script ist jetzt optimiert.
  • Wettervorhersage in InfluxDB / Grafana über Javascript

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    858 Aufrufe
    boriswernerB
    Falls es wem hilft, ich hab meinen ersten Entwurf des Skripts, das mir ein neues Measure in der influxdb aus den stündlichen Datenpunkten aus dem iobroker erzeugt, im github abgelegt: https://github.com/boriswerner/iobroker-script-weatherForecastToInfluxDB Das Skript muss im iobroker laufen und benötigt den DasWetter.com Adapter. Zur Funktionsweise: es holt sich alle stündlichen Temperaturdatenpunkte (z.B. daswetter.0.NextHours.Location_1.Day_1.Hour_1.temp_value) aus dem iobroker und schreibt sie mit dem entsprechenden Timestamp in eine zu konfigurierende influxdb (hier werden die Daten im Skript genutzt, keine des influxdb Adapters). Im Moment wird nur die Temperatur aus dem dasWetter Adapter geschrieben. Humidity und andere Adapter werde ich noch hinzufügen und im github Repository aktualisieren (für jeden Adapter ein eigenes Skript, Humidity und Temperatur im Skript dann ein- und ausschaltbar). Für Anregungen, Bugs, Verbesserungsvorschläge oder einfach nur eine Rückmeldung, ob es jemand nutzt, gerne hier oder im github als issue.
  • [SOLVED] Auf Änderung eines Klassen Attributs reagieren?

    javascript monitoring
    13
    0 Stimmen
    13 Beiträge
    862 Aufrufe
    OliverIOO
    @iphilbln dann ist gut
  • Exakt selben Zeitstempel bei mehreren States setzen?

    6
    0 Stimmen
    6 Beiträge
    555 Aufrufe
    B
    Vielen Dank für die vielen hilfreichen Antworten! Habe es nun tatsächlich so gelöst wie von @BananaJoe vorgeschlagen. Da ich die States im ioBroker sonst nicht benötige, schreibe ich sie mit storeState von sql-Adapter direkt in die MySQL: sendTo('sql.0', 'storeState', { id: newStateName, state: {ts: timeStamp, val: averageValue, ack: false, from: 'newStateName'} }); Funktioniert klasse!
  • ELV Raumklimastation RS 500 bzw. dnt RoomLogg Pro

    javascript communication climate
    1
    0 Stimmen
    1 Beiträge
    672 Aufrufe
    Niemand hat geantwortet
  • [gelöst] RegExp

    7
    0 Stimmen
    7 Beiträge
    470 Aufrufe
    peterk34P
    @paul53 Danke
  • Fixed: TypeError: nodeSchedule.scheduleJob is not a function

    17
    0 Stimmen
    17 Beiträge
    915 Aufrufe
    Thomas BraunT
    @smartin https://forum.iobroker.net/topic/57337/fehler-25-bei-adapter-install-update-mit-npm8
  • Zeitberechnen, wird 1 Stunde zuviel angezeigt

    4
    0 Stimmen
    4 Beiträge
    376 Aufrufe
    peterk34P
    @chris76e hatte gestern genau das gleiche … https://forum.iobroker.net/topic/58949/gelöst-zeitdifferenz-berechnen
  • History Anzahl Werte über definierten Zeitraum

    5
    0 Stimmen
    5 Beiträge
    409 Aufrufe
    H
    @paul53 danke dir in der Readme steht "count - Anzahl der Werte, wenn das Aggregat 'onchange' ist, oder wenn eine andere Aggregatmethode verwendet wird Anzahl der Intervalle. Count wird ignoriert, wenn step gesetzt ist, sonst ist der Default-Wert 500 wenn count nicht angegeben."
  • String(getState...) Fehler

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    526 Aufrufe
    OliverIOO
    @larsz sagte in String(getState...) Fehler: Leider nicht, selbes Problem dann musst du evtl an anderer stelle schauen. du hast das wort string als variablen name verwendet. da es ein typname ist, darfst du es nicht verwenden. im obigen Beispiel ist es korrekt (sogar auch ohne new wie ich dachte)
  • [SOLVED] Frage zum selector -> dynamisch erweitern

    javascript
    5
    0 Stimmen
    5 Beiträge
    400 Aufrufe
    iPhilBlnI
    Also läuft jetzt alles so wie gewünscht. Vielen Dank nochmal. on(/mqtt\.0\.tasmota\.steckdosen.+/, function (dp) { const deviceName = dp.id.split('.')[4]; if (!devices.includes(deviceName)) { devices.push(deviceName); createDevice(deviceName); } });
  • Erster Versuch ein JSON zu erzeugen

    35
    0 Stimmen
    35 Beiträge
    3k Aufrufe
    Chris76eC
    @paul53 Ja, das klappt auch. Danke Jetzt habe ich noch versucht die Dauer zu berrechnen, bekomme auch einen Wert in ms. Wie kann ich das in hh:mm:ss umschreiben? const idTable = '0_userdata.0.JSON.Spülmaschiene'; // ID JSON-Tabelle // const idStatus = 'homeconnect.0.011040388898000963.status.BSH_Common_Status_OperationState'; // const idProg = 'homeconnect.0.011040388898000963.programs.selected.BSH_Common_Root_SelectedProgram'; const idAktiv = 'homeconnect.0.011040388898000963.programs.active.BSH_Common_Root_ActiveProgram'; const idVerbrauch = 'sonoff.0.Spuehlmaschine.ENERGY_Total'; var table = []; if(getState(idTable).val) table = JSON.parse(getState(idTable).val); var obj = {}; var StartVerbrauch = getState(idVerbrauch).val; var startDate = new Date(); var endDate = new Date(); on(idAktiv, function(dp) { if(dp.state.val) { obj = {}; obj.Start = formatDate(new Date(), 'MM.DD.YY hh:mm'); obj.StartUhr = formatDate(new Date(), 'hh:mm'); obj.Programm = dp.common.states[dp.state.val]; StartVerbrauch = getState(idVerbrauch).val; startDate = new Date(); } else { obj.Ende = formatDate(new Date(), 'MM.DD.YY hh:mm'); obj.EndeUhr = formatDate(new Date(), 'hh:mm'); obj.Verbrauch = getState(idVerbrauch).val - StartVerbrauch; endDate = new Date(); obj.Dauer = endDate - startDate, 'hh:mm:ss'; log(table); table.push(obj); if(table.length > 10) table.shift(); setState(idTable, JSON.stringify(table), true); log(table); } });
  • Anfängerfrage [gelöst]

    4
    0 Stimmen
    4 Beiträge
    518 Aufrufe
    liv-in-skyL
    @uwe1958 ja - schätze die info wird erst bei kompilieren richtig gelesen falls es dich stört: [image: 1665156938495-script-vis1.gif]
  • wget Äquivalent

    3
    0 Stimmen
    3 Beiträge
    137 Aufrufe
    W
    @oliverio Danke, klingt vielversprechend, werde es mir am WE ansehen.
  • Alle Thermostate eines Raums auslesen

    3
    1
    0 Stimmen
    3 Beiträge
    292 Aufrufe
    AndreiosA
    @slubitz Was für ein System benutzt Du denn bei den Sensoren und Thermostaten. Ich kann da nur für Homematic sprechen, die ich benutze und da verbinde ich einfach die Fenstersensoren mit den Thermostaten. Das hat den großen Vorteil, dass das per direkter Kommunikation funktioniert, also sogar dann, wenn die CCU, oder in Deinem Fall ioBroker, ausfällt.
  • Variablen Dynmisch steuern (setstate)

    3
    0 Stimmen
    3 Beiträge
    191 Aufrufe
    S
    @paul53 Das war der Denkfehler. Danke dir.
  • [gelöst] Hilfe bei "crypto" (für neue Switchbot API)

    4
    0 Stimmen
    4 Beiträge
    275 Aufrufe
    PlasmachefP
    @oliverio Herzlichen Dank :-)
  • Alias Objekt umrechnen und runden

    14
    1
    0 Stimmen
    14 Beiträge
    2k Aufrufe
    Michael SchmittM
    @paul53 sagte in Alias Objekt umrechnen und runden: @michael-schmitt sagte: in den Objekten stand es richtig Dann muss es an der "Material App" liegen. Hauptsache jetzt zeigt es richtig an.

620

Online

32.8k

Benutzer

82.7k

Themen

1.3m

Beiträge