Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Seeandfeel

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    S
    • Profile
    • Following 0
    • Followers 0
    • Topics 6
    • Posts 27
    • Best 0
    • Groups 1

    Seeandfeel

    @Seeandfeel

    Starter

    0
    Reputation
    23
    Profile views
    27
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Seeandfeel Follow
    Starter

    Latest posts made by Seeandfeel

    • RE: JAVA - Script Parse Error

      Perfekt, Vielen Dank euch beiden, hätte ich wohl genauer suchen müssen das "request" deprecated ist.

      @paul53 :
      Du hast recht, das Request hatte noch nie funktioniert. Ich hatte das vor kurzem erst groß geschrieben weil ich die (vorherige) Fehlermeldung dahingehenden interpretiert hatte. Leider vergessen, Sorry 😞 !

      posted in Skripten / Logik
      S
      Seeandfeel
    • JAVA - Script Parse Error

      Hallo zusammen,

      Ich habe einen Parse Error im Script (was aber ziemlich sicher schon funktioniert hatte), komme aber irgendwie nicht drauf 😞 .
      Kann mir ggf. jemand weiterhelfen?

      Fehler (bei jedem CRON Aufruf):

      javascript.0 2024-08-03 13:18:00.009	error	at process.processTimers (node:internal/timers:512:7)
      javascript.0 2024-08-03 13:18:00.009	error	at listOnTimeout (node:internal/timers:569:17)
      javascript.0 2024-08-03 13:18:00.009	error	at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/Invocation.js:228:7)
      javascript.0 2024-08-03 13:18:00.009	error	at /opt/iobroker/node_modules/node-schedule/lib/Invocation.js:268:28
      javascript.0 2024-08-03 13:18:00.009	error	at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/Job.js:171:15)
      javascript.0 2024-08-03 13:18:00.008	error	at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1769:34)
      javascript.0 2024-08-03 13:18:00.008	error	at Object.<anonymous> (script.js.Parse.Parse_Sauna_Neu:23:5)
      javascript.0 2024-08-03 13:18:00.008	error	Error in callback: ReferenceError: Request is not defined
      

      Script:

      const url = 'http://192.168.5.113/api';
      const idTemp1 = 'javascript.0.Sauna.Sauna';
      const idTemp2 = 'javascript.0.Sauna.Sauna_Raum';
      
      createState(idTemp1, 0, {
          name: 'Temperatur_Sauna',
          desc: 'Temperatur in °C',
          type: 'string',
          role: 'value',
          unit: '°C'
      }) 
      
      createState(idTemp2, 1, {
          name: 'Temperatur_Raum',
          desc: 'Temperatur in °C',
          type: 'string',
          role: 'value',
          unit: '°C'
      }) 
      
      schedule('*/60 * * * * *', function() { //every minute
          Request(url, function(error, response, result) {
              let obj = JSON.parse(result);
              setState(idTemp1,  parseFloat(obj.sensors['0'].value), true);
              setState(idTemp2,  parseFloat(obj.sensors['1'].value), true);
          });
      });
      

      JSON von http://192.168.5.113/api :

      {
        "systemname": "Sauna",
        "secure_counter": 236923,
        "firmware": "2.3.05-b",
        "sensors": [
          {
            "name": "Sauna Temperature",
            "value": 22.3125,
            "mean-1": {
              "value": 21.80416679,
              "count": 60,
              "period": 3600
            },
            "mean-24": {
              "value": 19.52482605,
              "count": 1440,
              "period": 86400
            },
            "unit": "Celsius",
            "time": "Sat Aug  3 13:19:48 2024"
          },
          {
            "name": "Gebäude Temperatur",
            "value": 20.375,
            "unit": "Celsius",
            "time": "Sat Aug  3 13:19:48 2024"
          }
        ]
      }
      
      posted in Skripten / Logik
      S
      Seeandfeel
    • RE: Change / Parse Wert Feld

      @homoran
      Ja, das lief seitdem auch nahezu perfekt 🙂 . Mein Problem ist das ich das nicht mehr komplett bekomme, also als einen String.

      Jetzt wird das ganze über MQTT gelöst, hier kann ich zwar die Topics konfigurieren aber ein "All-in-one" gibt es wohl nicht mehr. Eine Anfrage läuft aber noch, wobei ich mir hier aber nicht viel erwarte 😞 .
      Das ganze ist eher Richtung HomeAssistant optimiert.. - warum dann hier die "Values" nicht für Probleme sorgen, verstehe ich auch nicht ganz. Kenne HomeAssistant aber nicht.

      Wie erwähnt habe ich beim Projekt schon angefragt.. erwarte mir aber keine richtige Lösung 😞 (wie damals auch schon). Da hatten wir länger "disktutiert" über den Output, geändert hat sich nichts.
      Wobei ich auch nicht schlecht reden will, das Projekt an sich ist für Froeling Heizungen echt super.

      posted in JavaScript
      S
      Seeandfeel
    • Change / Parse Wert Feld

      Hallo zusammen,

      Mein Problem von damals:
      Re: MQTT -> {Value: XX} im Wert

      Ich habe jetzt ein größeres Update gemacht und jetzt bekomme ich die Werte leider nicht mehr als JSON in EIN Feld.
      Aktuell verhält es sich so, das die Werte in einzelne Objekte geschrieben werden. Leider wieder mit dem Wert "Value". Kann ich irgendwie alle Felder (State) parsen und das "Value" entfernen?

      Hab zwar schon mit Javascript "gespielt" aber da fehlt mir die Expertise 😞 .

      Sieht aktuell so aus:

      state.jpg

      Danke und Grüße,

      Seeandfeel

      posted in JavaScript
      S
      Seeandfeel
    • RE: MQTT -> {Value: XX} im Wert

      Oh, entschuldigt.. - vor lauter Freude die Lösung vergessen. 😉

      Funktioniert hat es jetzt mit:

       let json = str.substr(0, str.length - 1);
      

      Ersetzen hatte ich noch gar nicht probiert gehabt. Das hatte ich ganz übersehen.

      Das "var json = obj.state.val.replace('�','');" läuft auf:

      (2300) Error in callback: SyntaxError: Unexpected token in JSON at position 1364
      

      Vielen Dank auch für die Erklärung @Gargano ! Ich wollte nicht fragen bzw. euch noch mehr "belästigen" 😉 .
      Eigentlich versuchs ich ja echt selber zu lösen.. - aber bei JAVA setzt es (noch) bei mir aus. 😞

      posted in JavaScript
      S
      Seeandfeel
    • RE: MQTT -> {Value: XX} im Wert

      @paul53

      Jetzttttt 😄 :

      (2300) script.js.Parse.Parse_P4: Kesseltemperatur: 68 °C
      

      Super, echt Klasse!
      Vielen Dank euch beiden, vor allem @paul53 .

      Jetzt muss ichs nur noch schaffen das ganze in Objekte zu bringen. 😉 Mal sehen ob ich es hinbekomme..

      Vielen Dank nochmal!

      posted in JavaScript
      S
      Seeandfeel
    • RE: MQTT -> {Value: XX} im Wert

      @gargano

      Auch dir gleich mal Danke @Gargano :

      Um nichts falsch zu machen, hab das ganze jetzt so:

      var idJson = "mqtt.0.p4d2mqtt.sensor.P4.state";  // Datenpunkt-ID mit JSON-String
      var test = "javascript.0.testp4";
      
       
      function werteAuslesen(jsonStr) {
          var x = obj.state.val;
          x=x.replace('�','');
          var obj = JSON.parse(jsonStr).Heizung;
          var test = obj.Kesseltemperatur_0x0.value;
      }
       
      on({id:idJson,change:'ne'}, function (obj) {
          log(obj.state.val);
          werteAuslesen(obj.state.val);
      });
      

      Json Parse Fehler "zum Ende" ist weg. Dafür jetzt:

      javascript.0	2021-02-16 12:09:38.847	error	(2300) at Object.<anonymous> (script.js.Parse.Parse_P4:14:5)
      javascript.0	2021-02-16 12:09:38.846	error	(2300) at werteAuslesen (script.js.Parse.Parse_P4:6:17)
      javascript.0	2021-02-16 12:09:38.846	error	(2300) Error in callback: TypeError: Cannot read property 'state' of undefined
      

      Oh man.. 😞

      posted in JavaScript
      S
      Seeandfeel
    • RE: MQTT -> {Value: XX} im Wert

      @paul53

      Hatte ich auch probiert:

      on({id:idJson,change:'ne'}, function (obj) {
          log(obj.state.val);
          werteAuslesen(obj.state.val.trim());
      });
      

      Ergibt:

      javascript.0	2021-02-16 11:52:38.276	error	(2300) at Object.<anonymous> (script.js.Parse.Parse_P4:11:5)
      javascript.0	2021-02-16 11:52:38.276	error	(2300) at werteAuslesen (script.js.Parse.Parse_P4:5:20)
      javascript.0	2021-02-16 11:52:38.275	error	(2300) at JSON.parse (<anonymous>:null:null)
      javascript.0	2021-02-16 11:52:38.274	error	(2300) Error in callback: SyntaxError: Unexpected token in JSON at position 1366
      

      Ich hab jetzt gerade mal probiert (wohin? 🙂 ) sowas einzubauen:

      json.replaceAll("\\u0000", "")
      

      oder gibt wohl auch ein:

      str.replace
      

      Aber ich habe ehrlich gesagt wenig Ahnung von JAVA 😞 .

      posted in JavaScript
      S
      Seeandfeel
    • RE: MQTT -> {Value: XX} im Wert

      @paul53 sagte in MQTT -> {Value: XX} im Wert:

      werteAuslesen(obj.state.val.trim());

      Das mit dem "x" hat etwas weitergeholfen.. - im Debug hab ich ein Leerzeichen gesehen.

      Wenn ich mir dann das MQTT Adapter Debug ansehe, findet sich folgendes:

      Client [] Cannot parse {"Heizung": {"Kesseltemperatur_0x0": {"value": 71.0}, "Status": {"value": "Heizen"}, "Abgastemperatur_0x1": {"value": 187.0}, "Betriebsmodus": {"value": "Automatik"}, "Boardtemperatur_0x2": {"value": 38.0}, "Uhrzeit": {"value": "Dienstag, 16. Feb. 2021 11:06:33"}, "Restsauerstoffgehalt_0x3": {"value": 8.4}, "Aussentemperatur_0x4": {"value": 2.0}, "Saugzugdrehzahl_0x7": {"value": 1929.0}, "Fuehler1_0x8": {"value": 90.5}, "LuftgeschwindigkeitinderAnsaugoeffnung_0xc": {"value": 1.19}, "Kesselstellgroesse_0x12": {"value": 98.0}, "Vorlauf-Isttemperatur_0x15": {"value": 51.0}, "Vorlauf-Solltemperatur_0x16": {"value": 50.0}, "Ansauglufttemperatur_0x60": {"value": 33.0}, "StromaufnahmederAustragschnecke_0x61": {"value": 0.01}, "FuellstandimPelletsbehaelter_0x71": {"value": 82.64}, "Einschub_0x74": {"value": 59.0}, "Sauerstoffregler_0x75": {"value": 61.0}, "Puffertemperaturoben_0x76": {"value": 64.5}, "PuffertemperaturMitte_0x77": {"value": 60.0}, "Puffertemperaturunten_0x78": {"value": 51.5}, "PufferpumpenAnsteuerung_0x8c": {"value": 74.0}, "Stromaufnahme24VDCPelletsmodul_0xa3": {"value": 0.28}, "BreitbandsondeHeizstrom_0xf3": {"value": 1.085}, "BreitbandsondeHeizungsSpannung_0xf4": {"value": 9.047}, "BreitbandsondeInnenwiderstand_0xf7": {"value": 298.0}, "Resetierbarerkg-Zaehler_0x111": {"value": 50.0}, "Resetierbarert-Zaehler_0x112": {"value": 4.0}}}�
      

      2 Einträge später macht Iobroker daraus {"value": 4.0}}}� -> {"value": 4.0}}}\u0000" .

      Ich hab das mal an den Entwickler weitergegeben, mal sehen ob er was findet.
      Gibt es dazu evtl. einen Workaround?

      posted in JavaScript
      S
      Seeandfeel
    • RE: MQTT -> {Value: XX} im Wert

      @paul53

      Die Daten hab ich 3x verglichen, sollten eigentlich gleich sein.

      Falls das so stimmt:

      var idJson = "mqtt.0.p4d2mqtt.sensor.P4.state";  // Datenpunkt-ID mit JSON-String
      var test = "javascript.0.testp4";
      
      function werteAuslesen(jsonStr) {
          var obj = JSON.parse(jsonStr).Heizung;
          var test = obj.Kesseltemperatur_0x0.value;
          log(obj.state.val);
      }
      
      on({id:idJson,change:'ne'}, function (obj) {
          werteAuslesen(obj.state.val);
      });
      

      Ergibt jetzt:
      (2300) Error in callback: SyntaxError: Unexpected token in JSON at position 1368
      -> nicht 67 sondern die Klammer bei 68. Ich verstehs nicht. 😞

      posted in JavaScript
      S
      Seeandfeel
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo