NEWS
(gelöst) Datenpunkte per RESTful API senden
-
@jojo58
Für mich sieht es so aus, als ob ein oder ein nicht gültiges Zeichen in der URL zu übertragen.
Da wird abgebrochen, beziehungsweise nicht übertragen.
Kannst du den folgenden Befehl verwenden?
encodeURIComponent
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent?retiredLocale=deEin ist zum Beispiel die Zeichen Folge %20
-
@ticaki Dann kommt:
14:44:36.838 info javascript.0 (27410) Start javascript script.js.API_Daten_senden.Test_API 14:44:36.860 info javascript.0 (27410) script.js.API_Daten_senden.Test_API: [ { "date": "12.08.2023", "severity": "<span class='logWarn logSeverity'>warn</span>", "from": "hm-rega.0", "message": "[2 Einträge] Script \"!# system.fn 0.1 !# !# Dieses Script gibt die FW-Versionsnummer und mehr systems\" ignored, b", "ts": 1691799750581 }, { "date": "12.08.2023", "severity": "<span class='logWarn logSeverity'>warn</span>", "from": "influxdb.0", "message": "Error on writePoint(\"{\"value\":12,\"time\":\"2023-08-12T00:21:39.143Z\",\"from\":\"system.adapter.hm-rpc.1\",", "ts": 1691799724657 }, { "date": "12.08.2023", "severity": "<span class='logWarn logSeverity'>warn</span>", "from": "influxdb.0", "message": "Error on writePoint(\"{\"value\":31,\"time\":\"2023-08-12T00:21:28.764Z\",\"from\":\"system.adapter.hm-rpc.1\",", "ts": 1691799721275 }, { "date": "12.08.2023", "severity": "<span class='logWarn logSeverity'>warn</span>", "from": "influxdb.0", "message": "Error on writePoint(\"{\"value\":33,\"time\":\"2023-08-12T00:20:21.862Z\",\"from\":\"system.adapter.hm-rpc.1\",", "ts": 1691799721275 }, { "date": "12.08.2023", "severity": "<span class='logWarn logSeverity'>warn</span>", "from": "influxdb.0", "message": "Error on writePoint(\"{\"value\":3.2,\"time\":\"2023-08-12T00:21:28.763Z\",\"from\":\"system.adapter.hm-rpc.1\"", "ts": 1691799721274 }, { "date": "12.08.2023", "severity": "<span class='logWarn logSeverity'>warn</span>", "from": "influxdb.0", "message": "Error on writePoint(\"{\"value\":0.26,\"time\":\"2023-08-12T00:21:28.523Z\",\"from\":\"system.adapter.hm-rpc.0", "ts": 1691799721265 } ] 14:44:36.861 info javascript.0 (27410) script.js.API_Daten_senden.Test_API: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
-
@jojo58
Das Hochkomma zerstört den String. -
@paul53 Kann man das irgendwie abfangen?
-
@paul53 @ticaki Ich habe das jetzt mal so versucht:
const axios = require("axios"); postJson("192.168.1.14:8087", "0_userdata.0.LogParser_Raspi4.HomeMatic.json", getState("logparser.0.filters.Homematic.json").val); // Das hier irgendwo unten, wo es nicht stört async function postJson(ip, dp, value) { let json = value; if (typeof value === 'string') { try { json = JSON.parse(value); } catch (error) { console.error('Fehler beim Parsen des JSON: ' + error); return; } } // JSON-Objekt in einen codierten JSON-String mit encodeURIComponent umwandeln const encodedJson = encodeURIComponent(JSON.stringify(json)); try { const { data } = await axios.post(`http://${ip}/setValueFromBody/${dp}`, encodedJson, { headers: { "Content-Type": 'application/x-www-form-urlencoded' // Änderung des Content-Type } }); console.log('Erfolgreich gesendet:', data); } catch (error) { console.warn('Ziel nicht erreichbar: ' + error); } }
Es kommt die Meldung: "Erfolgreich gesendet", aber es wird wieder nur bis zum ersten Hochkomma übertragen. Was kann ich noch machen?
[EDIT]
Jetzt wird das übertragen:%5B%7B%22date%22%3A%2212.08.2023%22%2C%22severity%22%3A%22%3Cspan%20class%3D'logWarn%20logSeverity'%3Ewarn%3C%2Fspan%3E%22%2C%22from%22%3A%22hm-rega.0%22%2C%22message%22%3A%22%5B2%20Eintr%C3%A4ge%5D%20Script%20%5C%22!%23%20system.fn%200.1%20!%23%20!%23%20Dieses%20Script%20gibt%20die%20FW-Versionsnummer%20und%20mehr%20systems%5C%22%20ignored%2C%20b%22%2C%22ts%22%3A1691799750581%7D%2C%7B%22date%22%3A%2212.08.2023%22%2C%22severity%22%3A%22%3Cspan%20class%3D'logWarn%20logSeverity'%3Ewarn%3C%2Fspan%3E%22%2C%22from%22%3A%22influxdb.0%22%2C%22message%22%3A%22Error%20on%20writePoint(%5C%22%7B%5C%22value%5C%22%3A12%2C%5C%22time%5C%22%3A%5C%222023-08-12T00%3A21%3A39.143Z%5C%22%2C%5C%22from%5C%22%3A%5C%22system.adapter.hm-rpc.1%5C%22%2C%22%2C%22ts%22%3A1691799724657%7D%2C%7B%22date%22%3A%2212.08.2023%22%2C%22severity%22%3A%22%3Cspan%20class%3D'logWarn%20logSeverity'%3Ewarn%3C%2Fspan%3E%22%2C%22from%22%3A%22influxdb.0%22%2C%22message%22%3A%22Error%20on%20writePoint(%5C%22%7B%5C%22value%5C%22%3A31%2C%5C%22time%5C%22%3A%5C%222023-08-12T00%3A21%3A28.764Z%5C%22%2C%5C%22from%5C%22%3A%5C%22system.adapter.hm-rpc.1%5C%22%2C%22%2C%22ts%22%3A1691799721275%7D%2C%7B%22date%22%3A%2212.08.2023%22%2C%22severity%22%3A%22%3Cspan%20class%3D'logWarn%20logSeverity'%3Ewarn%3C%2Fspan%3E%22%2C%22from%22%3A%22influxdb.0%22%2C%22message%22%3A%22Error%20on%20writePoint(%5C%22%7B%5C%22value%5C%22%3A33%2C%5C%22time%5C%22%3A%5C%222023-08-12T00%3A20%3A21.862Z%5C%22%2C%5C%22from%5C%22%3A%5C%22system.adapter.hm-rpc.1%5C%22%2C%22%2C%22ts%22%3A1691799721275%7D%2C%7B%22date%22%3A%2212.08.2023%22%2C%22severity%22%3A%22%3Cspan%20class%3D'logWarn%20logSeverity'%3Ewarn%3C%2Fspan%3E%22%2C%22from%22%3A%22influxdb.0%22%2C%22message%22%3A%22Error%20on%20writePoint(%5C%22%7B%5C%22value%5C%22%3A3.2%2C%5C%22time%5C%22%3A%5C%222023-08-12T00%3A21%3A28.763Z%5C%22%2C%5C%22from%5C%22%3A%5C%22system.adapter.hm-rpc.1%5C%22%22%2C%22ts%22%3A1691799721274%7D%2C%7B%22date%22%3A%2212.08.2023%22%2C%22severity%22%3A%22%3Cspan%20class%3D'logWarn%20logSeverity'%3Ewarn%3C%2Fspan%3E%22%2C%22from%22%3A%22influxdb.0%22%2C%22message%22%3A%22Error%20on%20writePoint(%5C%22%7B%5C%22value%5C%22%3A0.26%2C%5C%22time%5C%22%3A%5C%222023-08-12T00%3A21%3A28.523Z%5C%22%2C%5C%22from%5C%22%3A%5C%22system.adapter.hm-rpc.0%22%2C%22ts%22%3A1691799721265%7D%5D
Was ist das denn jetzt?
-
@jojo58 sagte: Kann man das irgendwie abfangen?
Wandle die HTML-Elemente in einfachen Text:
// HomeMatic let jsonHom = getState("logparser.0.filters.Homematic.json").val.replace(/<[^>]+>/g, '');
-
@paul53 In welcher Script Version soll ich die Zeile einbinden? Wenn ich das erste von @ticaki nehme, sieht es so aus:
// das hier muß einmal im Skript stehen const axios = require("axios") // hiermit sendest du die Daten: sollte selbst erklärend sein /* * ip: string "ip:port" * deinDatenpunkt: string "userdata_0.0.blabla" * deinJson: Dein Json :) */ postJson("192.168.1.14:8087", "0_userdata.0.LogParser_Raspi4.HomeMatic.json", getState("logparser.0.filters.Homematic.json").val) //Das hier irgendwo unten wo es nicht stört async function postJson(ip, dp, value) { // HomeMatic let jsonHom = getState("logparser.0.filters.Homematic.json").val.replace(/<[^>]+>/g, ''); try { const {data} = await axios.post('http://'+ip+'/setValueFromBody/'+dp, jsonHom, { headers: { "Content-Type": 'application/json' } } ) } catch(error) { console.warn('wled unten nicht erreichbar!' + error) } }
Das Script meldet keine Fehler, aber Daten werden auch nicht übertragen.
-
@jojo58 sagte: In welcher Script Version soll ich die Zeile einbinden?
In Deiner zuerst gezeigten Version bei allen JSON das .replace(/<[^>]+>/g, '') ergänzen.
-
@paul53 Ich habs zum testen für einen einzelnen DP, den WarnAndError genommen und wieder den Trigger Zeitplan alle 10 Sekunden.
var request = require ('request'); // WarnAndError let jsonWar = getState("logparser.0.filters.WarnAndError.json").val.replace(/<[^>]+>/g, ''); // let jsonWar = getState("logparser.0.filters.WarnAndError.json").val; // WarnAndError request('http://192.168.1.14:8087/set/0_userdata.0.LogParser_Raspi4.WarnAndError.json?value=' +jsonWar);
Das Script startet ohne Fehler, aber es passiert nichts. Weder Fehler noch sonstige Meldungen. Und es wird nichts übertragen. Ich hatte den DP extra leer gemacht, und es kommt nichts an. Der Zeitstempel ändert sich auch nicht.
-
@jojo58 sagte: Der Zeitstempel ändert sich auch nicht.
Dann wird entweder nichts gesendet oder die Simple-API empfängt nichts.
Schau mal per log(jsonWar) das JSON an.
Ergänze request():// WarnAndError request('http://192.168.1.14:8087/set/0_userdata.0.LogParser_Raspi4.WarnAndError.json?value=' +jsonWar, function (error, response, result) { if (error) { log(error, 'warn'); } else { log(result); } });
Anmerkung: Zeile 1 ist nicht erforderlich, da der Javascript-Instanz bereits bekannt.
-
@paul53 Bitte entschuldige die späte Antwort. Wir haben unseren Enkel zu Besuch und der hatte Hunger.
Das Ergebnis der Ausgabe:18:20:34.023 info javascript.0 (27410) Start javascript script.js.API_Daten_senden.LP_jsonWarn_senden 18:20:34.053 info javascript.0 (27410) script.js.API_Daten_senden.LP_jsonWarn_senden: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions 18:20:40.015 info javascript.0 (27410) script.js.API_Daten_senden.LP_jsonWarn_senden: 18:20:50.021 info javascript.0 (27410) script.js.API_Daten_senden.LP_jsonWarn_senden:
Ich habe den DP "logparser.0.filters.WarnAndError.json" mal kurz auf writeable gesetzt und wenn ich dann reingehe, zeigt der mir folgende Daten an:
Es sind also Daten vorhanden.Mache ich ein
log(getState("logparser.0.filters.Homematic.json").val)
bekomme ich als Ergebnis folgendes im Log:
Auch da gibt es also Daten. -
@jojo58 sagte: zeigt der mir folgende Daten an:
Wenn ich das JSON mit dem replace() verändere, erhalte ich im Log
javascript.1 (2187) script.js.common.Neuer_Test: [{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[271 Einträge] Request error: Error: read ECONNRESET","ts":1691856780052},{"date":"12.08.2023","severity":"warn","from":"javascript.0","message":"[4 Einträge] LP_jsonWarn_senden: {'errno':-104,'code':'ECONNRESET','syscall':'read'}","ts":1691856780050},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"at Script.runInContext (node:vm:141:12)","ts":1691856265304},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"Test_API:10:3","ts":1691856265303},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"Test_API:2:96","ts":1691856265303},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"Test_API: ReferenceError: jsonWar is not defined","ts":1691856265303},{"date":"12.08.2023","severity":"warn","from":"javascript.0","message":"[5 Einträge] LP_jsonInfo_senden: wled unten nicht erreichbar!ReferenceError: json is not defined","ts":1691852250006},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[14 Einträge] at processImmediate (node:internal/timers:478:21)","ts":1691851613183},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[14 Einträge] at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1628:17)","ts":1691851613183},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[14 Einträge] at /opt/iobroker/node_modules/iobroker.javascript/main.js:2153:17","ts":1691851613183},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[14 Einträge] at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:2055:37)","ts":1691851613183},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[14 Einträge] at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1802:21)","ts":1691851613182},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[14 Einträge] at new Script (node:vm:100:7)","ts":1691851613182},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[2 Einträge] SyntaxError: Identifier 'json' has already been declared","ts":1691851613182},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[2 Einträge] ^","ts":1691851613182},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[7 Einträge] LP_jsonInfo_senden:19","ts":1691851613181},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[2 Einträge] ^","ts":1691851551115},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[15 Einträge] at processTimers (node:internal/timers:512:7)","ts":1691851550006},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[15 Einträge] at listOnTimeout (node:internal/timers:569:17)","ts":1691851550006},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[15 Einträge] at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib","ts":1691851550006},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[15 Einträge] at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:268:2","ts":1691851550006},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[15 Einträge] at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Job.js:","ts":1691851550005},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[15 Einträge] at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1606:34)","ts":1691851550005},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[5 Einträge] LP_jsonInfo_senden:37:9)","ts":1691851550005},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[5 Einträge] LP_jsonInfo_senden:14:5)","ts":1691851550005},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[5 Einträge] replace is not a function","ts":1691851550004},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[2 Einträge] SyntaxError: Cannot use import statement outside a module","ts":1691846703724},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[2 Einträge] ^^^^^^","ts":1691846703724},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[2 Einträge] import axios from \"axios\";","ts":1691846703723},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[6 Einträge] LP_jsonInfo_senden:3","ts":1691846703723},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[2 Einträge] LP_jsonInfo_senden:16:44)","ts":1691845140012},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[4 Einträge] LP_jsonInfo_senden: ReferenceError: value is not defined","ts":1691845140012},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[2 Einträge] LP_jsonInfo_senden:13:5)","ts":1691845140007},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[2 Einträge] LP_jsonInfo_senden:19:68)","ts":1691845140006},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[3 Einträge] SyntaxError: Identifier 'encodedData' has already been declared","ts":1691845057530},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[10 Einträge] ^","ts":1691845057530},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"async function encodedData(ip, dp, encodedData) {","ts":1691845057530},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[3 Einträge] LP_jsonInfo_senden:18","ts":1691845057529},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[2 Einträge] async function encodedData(ip, dp, value) {","ts":1691845030381},{"date":"12.08.2023","severity":"warn","from":"admin.0","message":"[3 Einträge] cannot subscribe on alias \"alias.0.LP_Senden.WarnAndError\": Alias alias.0.LP_Senden.WarnAndError has","ts":1691843720531},{"date":"12.08.2023","severity":"warn","from":"admin.0","message":"[5 Einträge] Alias alias.0.LP_Senden.WarnAndError has no target 12","ts":1691843720530},{"date":"12.08.2023","severity":"warn","from":"admin.0","message":"cannot subscribe on alias \"alias.0.LP_Senden.Info\": Alias alias.0.LP_Senden.Info has no target 12","ts":1691843720527},{"date":"12.08.2023","severity":"warn","from":"admin.0","message":"[2 Einträge] Alias alias.0.LP_Senden.Info has no target 12","ts":1691843720523},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[6 Einträge] SyntaxError: missing ) after argument list","ts":1691842834490},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[4 Einträge] postJson(192.168.1.14:8087, 0_userdata.0.LogParser_Raspi4.HomeMatic.json, logparser.0.filters.Homema","ts":1691842834490},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[9 Einträge] LP_jsonInfo_senden:13","ts":1691842834490},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[6 Einträge] LP_jsonInfo_senden:36:9)","ts":1691842090005},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[6 Einträge] LP_jsonInfo_senden:17:53)","ts":1691842090005},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[6 Einträge] at JSON.parse ()","ts":1691842090005},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[6 Einträge] LP_jsonInfo_senden: SyntaxError: Unexpected token l in JSON at position 0","ts":1691842090004},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[2 Einträge] LP_jsonInfo_senden:13","ts":1691841992150},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"postJson(192.168.1.14, 0_userdata.0.LogParser_Raspi4.HomeMatic.json, logparser.0.filters.Homematic.j","ts":1691841949930},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"SyntaxError: Unexpected number","ts":1691841668371},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"async function postJson(192.168.1.14:8087, logparser.0.filters.Homematic.json, value) {","ts":1691841668370},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"LP_jsonInfo_senden:16","ts":1691841668369},{"date":"12.08.2023","severity":"warn","from":"admin.0","message":"[3 Einträge] Alias alias.0.LP_Senden.Info has no target 12","ts":1691841573977},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"resolve(\"Beispiel\"\");","ts":1691840295831},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"LP_jsonInfo_senden_neu:39","ts":1691840295830},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[3 Einträge] LP_jsonInfo_senden_neu: Fehler beim Übertragen der Daten an das Zielsystem:","ts":1691840290009},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"WARN deprecated request-promise@4.2.6: request-promise has been deprecated because it extends the no","ts":1691839799660},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[2 Einträge] npm","ts":1691839799658},{"date":"12.08.2023","severity":"warn","from":"admin.0","message":"[2 Einträge] Alias alias.0.LP_Senden.WarnAndError has no target 9","ts":1691838260105},{"date":"12.08.2023","severity":"warn","from":"javascript.0","message":"[2 Einträge] Alias alias.0.LP_Senden.WarnAndError has no target 12","ts":1691838260089},{"date":"12.08.2023","severity":"warn","from":"influxdb.0","message":"Alias alias.0.LP_Senden.WarnAndError has no target 12","ts":1691838260086},{"date":"12.08.2023","severity":"warn","from":"admin.0","message":"[2 Einträge] Alias alias.0.LP_Senden.Info has no target 12","ts":1691838247232},{"date":"12.08.2023","severity":"warn","from":"javascript.0","message":"[2 Einträge] Alias alias.0.LP_Senden.Info has no target 9","ts":1691838246574},{"date":"12.08.2023","severity":"warn","from":"javascript.0","message":"[2 Einträge] Alias alias.0.LP_Senden.Info has no target 12","ts":1691838246556},{"date":"12.08.2023","severity":"warn","from":"influxdb.0","message":"Alias alias.0.LP_Senden.Info has no target 12","ts":1691838246554},{"date":"12.08.2023","severity":"warn","from":"admin.0","message":"cannot subscribe on alias \"alias.0.LP_Senden.HomeMatic\": Alias alias.0.LP_Senden.HomeMatic has no ta","ts":1691838225030},{"date":"12.08.2023","severity":"warn","from":"admin.0","message":"[2 Einträge] Alias alias.0.LP_Senden.HomeMatic has no target 12","ts":1691838225027},{"date":"12.08.2023","severity":"warn","from":"javascript.0","message":"[2 Einträge] Alias alias.0.LP_Senden.HomeMatic has no target 9","ts":1691838221586},{"date":"12.08.2023","severity":"warn","from":"influxdb.0","message":"[2 Einträge] Alias alias.0.LP_Senden.HomeMatic has no target 12","ts":1691838221569},{"date":"12.08.2023","severity":"warn","from":"javascript.0","message":"Alias alias.0.LP_Senden.HomeMatic has no target 12","ts":1691838221571},{"date":"12.08.2023","severity":"warn","from":"luftdaten.0","message":"[9 Einträge] [fillSensorData] received error 500 response from remote sensor 8139 with content: \"\"","ts":1691832628557},{"date":"12.08.2023","severity":"warn","from":"luftdaten.0","message":"[17 Einträge] [fillSensorData] received error 500 response from remote sensor 35026 with content: \"\"","ts":1691830847337},{"date":"12.08.2023","severity":"warn","from":"luftdaten.0","message":"[18 Einträge] [fillSensorData] received error 500 response from remote sensor 5630 with content: \"\"","ts":1691830845454},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"npm notice npm notice New minor version of npm available! 9.5.1 -> 9.8.1 ","ts":1691824451308},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issue","ts":1691824432838},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[2 Einträge] WARN","ts":1691824432835},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"[3 Einträge] ","ts":1691824432830},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() i","ts":1691824432658},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"npm ","ts":1691824432528},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"WARN deprecated har-validator@5.1.5: this library is no longer supported ","ts":1691824432214},{"date":"12.08.2023","severity":"error","from":"javascript.0","message":"npm","ts":1691824432210},{"date":"12.08.2023","severity":"warn","from":"hm-rega.0","message":"[2 Einträge] Script \"!# system.fn 0.1 !# !# Dieses Script gibt die FW-Versionsnummer und mehr systems\" ignored, b","ts":1691799750581},{"date":"12.08.2023","severity":"warn","from":"influxdb.0","message":"Error: error authorizing query: user_iobroker not authorized to execute statement 'ALTER RETENTION P","ts":1691799749396},{"date":"12.08.2023","severity":"warn","from":"influxdb.0","message":"Error on writePoint(\"{\"value\":12,\"time\":\"2023-08-12T00:21:39.143Z\",\"from\":\"system.adapter.hm-rpc.1\",","ts":1691799724657},{"date":"12.08.2023","severity":"warn","from":"influxdb.0","message":"Error on writePoint(\"{\"value\":31,\"time\":\"2023-08-12T00:21:28.764Z\",\"from\":\"system.adapter.hm-rpc.1\",","ts":1691799721275},{"date":"12.08.2023","severity":"warn","from":"influxdb.0","message":"Error on writePoint(\"{\"value\":33,\"time\":\"2023-08-12T00:20:21.862Z\",\"from\":\"system.adapter.hm-rpc.1\",","ts":1691799721275},{"date":"12.08.2023","severity":"warn","from":"influxdb.0","message":"Error on writePoint(\"{\"value\":3.2,\"time\":\"2023-08-12T00:21:28.763Z\",\"from\":\"system.adapter.hm-rpc.1\"","ts":1691799721274},{"date":"12.08.2023","severity":"warn","from":"influxdb.0","message":"Error on writePoint(\"{\"value\":2733089.2,\"time\":\"2023-08-12T00:21:28.556Z\",\"from\":\"system.adapter.rpi","ts":1691799721274},{"date":"12.08.2023","severity":"warn","from":"influxdb.0","message":"Error on writePoint(\"{\"value\":43.82,\"time\":\"2023-08-12T00:21:28.556Z\",\"from\":\"system.adapter.rpi2.0\"","ts":1691799721273},{"date":"12.08.2023","severity":"warn","from":"influxdb.0","message":"Error on writePoint(\"{\"value\":99.88,\"time\":\"2023-08-12T00:21:28.556Z\",\"from\":\"system.adapter.rpi2.0\"","ts":1691799721273},{"date":"12.08.2023","severity":"warn","from":"influxdb.0","message":"Error on writePoint(\"{\"value\":100,\"time\":\"2023-08-12T00:21:28.555Z\",\"from\":\"system.adapter.rpi2.0\",\"","ts":1691799721272},{"date":"12.08.2023","severity":"warn","from":"influxdb.0","message":"Error on writePoint(\"{\"value\":22.5,\"time\":\"2023-08-12T00:21:28.628Z\",\"from\":\"system.adapter.influxdb","ts":1691799721272},{"date":"12.08.2023","severity":"warn","from":"influxdb.0","message":"Error on writePoint(\"{\"value\":50.43,\"time\":\"2023-08-12T00:21:28.555Z\",\"from\":\"system.adapter.rpi2.0\"","ts":1691799721271},{"date":"12.08.2023","severity":"warn","from":"influxdb.0","message":"Error on writePoint(\"{\"value\":11182.26,\"time\":\"2023-08-12T00:21:28.555Z\",\"from\":\"system.adapter.rpi2","ts":1691799721270},{"date":"12.08.2023","severity":"warn","from":"influxdb.0","message":"Error on writePoint(\"{\"value\":254.99,\"time\":\"2023-08-12T00:21:28.555Z\",\"from\":\"system.adapter.rpi2.0","ts":1691799721270},{"date":"12.08.2023","severity":"warn","from":"influxdb.0","message":"Error on writePoint(\"{\"value\":479364.25,\"time\":\"2023-08-12T00:21:28.555Z\",\"from\":\"system.adapter.rpi","ts":1691799721269},{"date":"12.08.2023","severity":"warn","from":"influxdb.0","message":"Error on writePoint(\"{\"value\":106607132634,\"time\":\"2023-08-12T00:21:28.555Z\",\"from\":\"system.adapter.","ts":1691799721268}]
Die HTML-Elemente sind raus und man erhält reinen Text "error" oder "warn".
Edit: Ist der Datenpunkt vom Typ "string" bzw. "json" oder vom Typ "array"?
-
@paul53 Und warum macht er das bei mir nicht? Übriges, wenn ich deine bereinigten Daten nehme und die in meinen DP kopiere, kann ich es in VIS anzeigen, das würde also funktionieren. Ich habe nur keinen Plan warum die Daten nicht übertragen werden. An der API kann es eigentlich nicht liegen. denn andere DP, wie die vom RPI2 Adapter werden alle übertragen.
-
@paul53 String und Json
{ "type": "state", "common": { "name": "JSON", "type": "string", "read": true, "write": false, "role": "json", "def": "[]" }, "native": {}, "_id": "logparser.0.filters.WarnAndError.json", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1691856625346 }
-
@jojo58
Was ergibt?log(typeof getState("logparser.0.filters.Homematic.json").val);
-
@jojo58
Wenn er vom Typ "string" ist, muss das funktionieren:log(getState("logparser.0.filters.Homematic.json").val.replace(/<[^>]+>/g, ''));
-
@paul53 Das funktioniert auch. Kommt folgendes zurück:
19:17:41.238 info javascript.0 (27410) Start javascript script.js.API_Daten_senden.Test_API 19:17:41.244 info javascript.0 (27410) script.js.API_Daten_senden.Test_API: string 19:17:41.244 info javascript.0 (27410) script.js.API_Daten_senden.Test_API: string 19:17:41.244 info javascript.0 (27410) script.js.API_Daten_senden.Test_API: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 19:18:21.901 info javascript.0 (27410) Stop script script.js.API_Daten_senden.Test_API 19:18:21.909 info javascript.0 (27410) Start javascript script.js.API_Daten_senden.Test_API 19:18:21.941 info javascript.0 (27410) script.js.API_Daten_senden.Test_API: [ { "date": "12.08.2023", "severity": "warn", "from": "hm-rega.0", "message": "[2 Einträge] Script \"!# system.fn 0.1 !# !# Dieses Script gibt die FW-Versionsnummer und mehr systems\" ignored, b", "ts": 1691799750581 }, { "date": "12.08.2023", "severity": "warn", "from": "influxdb.0", "message": "Error on writePoint(\"{\"value\":12,\"time\":\"2023-08-12T00:21:39.143Z\",\"from\":\"system.adapter.hm-rpc.1\",", "ts": 1691799724657 }, { "date": "12.08.2023", "severity": "warn", "from": "influxdb.0", "message": "Error on writePoint(\"{\"value\":31,\"time\":\"2023-08-12T00:21:28.764Z\",\"from\":\"system.adapter.hm-rpc.1\",", "ts": 1691799721275 }, { "date": "12.08.2023", "severity": "warn", "from": "influxdb.0", "message": "Error on writePoint(\"{\"value\":33,\"time\":\"2023-08-12T00:20:21.862Z\",\"from\":\"system.adapter.hm-rpc.1\",", "ts": 1691799721275 }, { "date": "12.08.2023", "severity": "warn", "from": "influxdb.0", "message": "Error on writePoint(\"{\"value\":3.2,\"time\":\"2023-08-12T00:21:28.763Z\",\"from\":\"system.adapter.hm-rpc.1\"", "ts": 1691799721274 }, { "date": "12.08.2023", "severity": "warn", "from": "influxdb.0", "message": "Error on writePoint(\"{\"value\":0.26,\"time\":\"2023-08-12T00:21:28.523Z\",\"from\":\"system.adapter.hm-rpc.0", "ts": 1691799721265 } ] 19:18:21.941 info javascript.0 (27410) script.js.API_Daten_senden.Test_API: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
-
@jojo58 sagte: Das funktioniert auch.
Dann muss es auch mit der Variablen funktionieren. Irgendwo vertippt?
-
@paul53 Es gibt keinerlei Fehlermeldungen und hier das komplette Script nochmal. Ich sehe auch keinen Fehler:
var request = require ('request'); // WarnAndError let jsonWar = getState("logparser.0.filters.WarnAndError.json").val.replace(/<[^>]+>/g, ''); //let jsonWar = getState("logparser.0.filters.WarnAndError.json").val; // WarnAndError // request('http://192.168.1.14:8087/set/0_userdata.0.LogParser_Raspi4.WarnAndError.json?value=' +jsonWar); // WarnAndError request('http://192.168.1.14:8087/set/0_userdata.0.LogParser_Raspi4.WarnAndError.json?value=' +jsonWar, function (error, response, result) { if (error) { log(error, 'warn'); } else { log(result); } });
Die alten Zeilen sind zwar noch drin, aber wie du siehst auskommentiert.
-
@jojo58 sagte: Ich sehe auch keinen Fehler:
Ich auch nicht. Versuche mal
let jsonWar = getState("logparser.0.filters.WarnAndError.json").val; log(jsonWar); jsonWar = jsonWar.replace(/<[^>]+>/g, ''); log(jsonWar);