Skip to content

JavaScript

Hilfe für Skripterstellung mit JavaScript

2.5k Themen 48.7k Beiträge

NEWS

  • Bitte um Hilfe bei MQTT zerlegen

    3
    2
    0 Stimmen
    3 Beiträge
    584 Aufrufe
    K
    @paul53 Vielen Dank, das funzt.
  • [gelöst] Sortieren eines Arrays

    javascript
    3
    0 Stimmen
    3 Beiträge
    189 Aufrufe
    a200A
    @paul53 und wie würdest du mein Problem lösen? In date umwandeln und als date vergleichen? Was wäre die feine und smarte Lösung? Hast du in der Zwischenzeit erledigt! Danke. Funktioniert bestens! Danke!
  • Statusabfrage und Ausgabe

    11
    0 Stimmen
    11 Beiträge
    730 Aufrufe
    david83D
    @chrunchy Danke, ich werde es mit so probieren denn ich komme anders nicht weiter.
  • Datenpunkte werden überschrieben

    7
    0 Stimmen
    7 Beiträge
    191 Aufrufe
    K
    @dslraser das wäre natürlich auch eine Option. Per Javascript die DPs initial erstellen und per Blockly aktualisieren
  • scripte - warum funktioniert console.info eigentlich nicht?

    3
    0 Stimmen
    3 Beiträge
    591 Aufrufe
    E
    @paul53 Sorry, in der node-Doku überlesen console.info([data][, ...args]) Added in: v0.1.100 data <any> ...args <any> The console.info() function is an alias for console.log().
  • Skript zum Fotos hochladen

    1
    0 Stimmen
    1 Beiträge
    162 Aufrufe
    Niemand hat geantwortet
  • [Skript] Namespace für Datenpunkte in Skripten abändern

    82
    1
    3 Stimmen
    82 Beiträge
    9k Aufrufe
    S
    @liv-in-sky Danke… genau das hab ich gesucht. 👍🏻 ich musste nur datei + "-bosch-" + logdate in datei + "/bosch-" + logdate ändern.
  • HTML Liste- mehrere DP löschen

    javascript
    2
    2
    4 Stimmen
    2 Beiträge
    280 Aufrufe
    liv-in-skyL
    backup der gelöschten dp ist nun drin die anzahl kann eingestellt werden - läuft dann wie FIFO speicher die dp werden als json gespeichert z.b. [image: 1630669429756-image-2.png]
  • [gelöst] Pushover Instanz per Variable definieren

    3
    0 Stimmen
    3 Beiträge
    281 Aufrufe
    K
    @liv-in-sky alles klar, jetzt funktioniert es. Instanz wird per Blockly definiert: [image: 1630652985507-adf882ae-58ed-4340-be87-19bec0e3c223-grafik.png] Die Funktion [image: 1630653173402-3d71d176-1150-4b2a-beef-3d7cecbb1b9d-grafik.png] let pushover_instanz="pushover."+instanz sendTo(pushover_instanz, "send", { message: info_text, sound: "", title: info_betreff, device: vars_notify_pushover_device_id, }); Pushover Nachricht senden: [image: 1630653236592-45b8e7fa-42db-4e72-936d-49b3c6104a6c-grafik.png]
  • Asterisk timeout blockly

    1
    0 Stimmen
    1 Beiträge
    202 Aufrufe
    Niemand hat geantwortet
  • [gelöst]wie löscht man einen dp richtig

    3
    0 Stimmen
    3 Beiträge
    136 Aufrufe
    liv-in-skyL
    @paul53 sorry - danke - hätte ich selber nachsehen können :-(
  • der batterielose ZigBee Schalter von Jung (PTM216z)

    7
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    Jey CeeJ
    @guergen ja das ist eigenes Protokoll das die Firma EnOcean Entwickelt hat, daneben Entwickeln sie auch Energy Harvesting technik.. Die Bieten ihre Technik auch für andere an und Entwickeln darauf basierend eben auch für andere. Deswegen gibt es die Zigbee Variante der eigenen Taster.
  • Arbeitszeiten einhalten

    5
    0 Stimmen
    5 Beiträge
    333 Aufrufe
    OliverIOO
    @ldittmar ja genau. wobei du den 2.trigger ja erst starten musst, wenn der erste erreicht ist. dann läuft immer nur ein trigger
  • (gelöst)(Problem) setState gibt warnung aus?!

    5
    0 Stimmen
    5 Beiträge
    412 Aufrufe
    F
    @foxriver76 Danke. Da wars :blush: Hab nur im log vom scripteditor geschaut. Problem war, daß die Variable als Number gesendet wurde und string erwartet wurde. Habs nun so angepasst: const id1 = 'hm-rega.0.9172'/*Temperaturfühler Garten (TEMPERATURE)*/; const id2 = 'mqtt.0.shpi.set.set_outtemp'/*shpi/set outtemp*/; var val = getState(id1).val; var v = val.toString(); setState(id2, v); on(id1, function (obj) { if(obj.state.val != val) { val = obj.state.val; v = val.toString(); setState(id2, v); } }); Keine Fehler mehr. :grin:
  • insert into mit sendto()

    4
    0 Stimmen
    4 Beiträge
    530 Aufrufe
    M
    @fastfoot aber dennoch Danke, jetzt hab ichs selbst gefunden. ich hatte um denn tabellenname noch ``, welche beim Paste ins Forum verschwunden sind. Diese weggelassen, gings dann.
  • Javascript Programm-Name lesen / Code beim Beenden ausführen

    3
    0 Stimmen
    3 Beiträge
    205 Aufrufe
    T
    @paul53 Vielen Dank für die superschnelle Antwort. Ich hatte schon etwas länger gesucht .....
  • IFan03 Lüftersteuerung im iobroker geht nicht

    53
    0 Stimmen
    53 Beiträge
    5k Aufrufe
    L
    @jan1 hat zwar mit der Sache nichts zu tun aber vielleicht kannst du mir bei einer anderen Sache helfen. Ich lasse über iot Adapter mit Alexa Paar Sachen regeln da habe ich aber das Problem das ich keine ganze Zahlen vor sagen kann sondern % Angaben was müsste ich an den dp ändern das ich ganze Zahlen sagen kann weil bei Thermostaten funktionieren ganze Zahlen habe versucht die zu vergleichen aber bin nicht richtig weiter gekommen obwohl ich sogar die Rolle gleich gemacht habe [image: 1629800670929-img_20210824_121857.jpg]
  • [gelöst]JSON zu HTML und in Datei schreiben/ablegen

    javascript
    10
    1
    0 Stimmen
    10 Beiträge
    3k Aufrufe
    T
    seit der Umstellung auf admin 5.1.23 und js aktuell wirft mir dein Skript Fehler ins LOG. 2021-08-23 08:28:06.911 - warn: javascript.0 (17826) Read-only state "javascript.0.LogParser.LogParser_Warn_JSONzuHTML" has been written without ack-flag with value " Aktuelles Skript von dir: /****************************************************************************************************** * JSON-Datenpunkt in HTML umwandeln * -------------------------------------------------------------- * Zweck: Überwacht einen JSON-Datenpunkt und sobald geändert, wird JSON in HTML umgewandelt und * in einem eigenen Datenpunkt ausgegeben * Publiziert: https://forum.iobroker.net/topic/32540/json-zu-html-und-in-datei-schreiben-ablegen * Autor: Mic-M (Github) | Mic (ioBroker) * -------------------------------------------------------------------------------------- * Change Log: * 0.0.1 Mic-M * Initial release ******************************************************************************************************/ /********************************************************************************************* * Einstellungen *********************************************************************************************/ // JSON-Datenpunkt const g_jsonState = 'logparser.0.filters.Warn.json'; // Neuer Datenpunkt für HTML-Ausgabe const g_htmlState = 'LogParser.LogParser_Warn_JSONzuHTML'; // Spalte entfernen (für Log Parser Adapter 'ts' nehmen, da dieser autmatisch den timestamp hinzufügt), // sonst leer lassen const g_removeColumn = 'ts'; /********************************************************************************************* * Ab hier nichts mehr ändern *********************************************************************************************/ main(); function main() { // Create state for HTML, if not yet existing createState(g_htmlState, {'name':'HTML Table', 'type':'string', 'read':true, 'write':false, 'role':'html', 'def':'' }, () => { // State created, so let's subscribe to the given JSON state on({id: g_jsonState, change:'ne'}, function(obj) { // JSON state changed if(obj.state.val && obj.state.val.length > 10) { // state is not empty const jsonObject = JSON.parse(obj.state.val); if(g_removeColumn) { for (let lpEntry of jsonObject) { delete lpEntry[g_removeColumn]; } } setState(g_htmlState, json2table(jsonObject, '')); } }); }); } /** * Convert JSON to HTML table * Source: https://travishorn.com/building-json2table-turn-json-into-an-html-table-a57cf642b84a * * @param {object} jsonObject The JSON as object. * @param {string} [classes] Optional: You can apply one or multiple classes (space separated) to <table>. * @return {string} The HTML result as string */ function json2table(jsonObject, classes = '') { const cols = Object.keys(jsonObject[0]); let headerRow = ''; let bodyRows = ''; classes = classes || ''; cols.map(function(col) { headerRow += '<th>' + capitalizeFirstLetter(col) + '</th>'; }); jsonObject.map(function(row) { bodyRows += '<tr>'; cols.map(function(colName) { bodyRows += '<td>' + row[colName] + '</td>'; }) bodyRows += '</tr>'; }); const addClasses = (classes && classes.length > 1) ? ' class="' + classes + '"' : ''; return '<table' + addClasses + '><thead><tr>' + headerRow + '</tr></thead><tbody>' + bodyRows + '</tbody></table>'; function capitalizeFirstLetter(string) { return string.charAt(0).toUpperCase() + string.slice(1); } } @Mic Könntest du dir das vielleicht mal anschauen? Was müsste ich im Skript ändern? Lieben Gruß und vielen Dank
  • (gelöst) $Selector: Zimmer ausgeben

    3
    0 Stimmen
    3 Beiträge
    266 Aufrufe
    ice987I
    @paul53 Wunderbar, Danke!
  • Script auf Ende einer Funktion warten lassen

    5
    0 Stimmen
    5 Beiträge
    630 Aufrufe
    D
    @alcalzone Das habe ich mir schon gedacht. Vielen Dank

716

Online

32.6k

Benutzer

81.9k

Themen

1.3m

Beiträge