Navigation

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

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    C
    • Profile
    • Following 1
    • Followers 0
    • Topics 2
    • Posts 201
    • Best 7
    • Groups 2

    ChrisChros

    @ChrisChros

    Starter

    7
    Reputation
    6
    Profile views
    201
    Posts
    0
    Followers
    1
    Following
    Joined Last Online

    ChrisChros Follow
    Pro Starter

    Best posts made by ChrisChros

    • RE: Test Adapter OpenKNX 0.6.x

      @tontechniker sagte in Test Adapter OpenKNX 0.2.x:

      In den "Instanzeinstellungen" bei der Version 0.5.2 kann ich nicht weit genug scrollen, um die Schaltfläche für den Import zu erreichen.

      Hatte ich auch, habe dann einfach die Seite auf nur 80% Zoom gestellt, damit kann ich nun alles sehen.

      posted in Tester
      C
      ChrisChros
    • RE: E3DC Hauskraftwerk steuern

      @arnod Danke für den super Support

      posted in JavaScript
      C
      ChrisChros
    • RE: Test Adapter OpenKNX 0.6.x

      @tontechniker sagte in Test Adapter OpenKNX 0.2.x:

      Normalerweise müsste ich aber doch mit dem Scrollbalken (rechts) weiter nach unten kommen.

      Da geb ich dir recht, aber ich glaube nicht, dass das etwas mit der Adapterprogrammierung zu tun hat. Eventuell ist das auch ein Problem des ioBrokers.

      posted in Tester
      C
      ChrisChros
    • RE: E3DC Hauskraftwerk steuern

      @stevie77 said in E3DC Hauskraftwerk steuern:

      Bitte was? Kannst du das etwas genauer erklären bitte?

      das Perzentil 90% ist Kennzahl einer Wahrscheinlichkeitsverteilung und bedeutet, dass 90% der Messwerte kleiner als oder gleich groß wie der Messwert des 90. Perzentils sind, bzw. das in 10% die Messwerte höher sind.
      Wenn jetzt die Werte von der Solcast Prognose bzw. von Prognose Auto fast identisch zu denen von Solcast 90 sind, ist die Wahrscheinlichkeit hoch die Vorhersage zu erreichen.

      posted in JavaScript
      C
      ChrisChros
    • RE: [neuer Adapter] smartgarden adapter for Gardena smart system

      @bluebook ich denke an dem Update liegt es nicht denn das habe ich schon seit dem Wochenende drauf als ich alles wieder reaktiviert habe.
      Die Fehlermeldung habe ich aber erst seit heute, davor gab es keine Auffälligkeiten.

      posted in Tester
      C
      ChrisChros
    • RE: Test Adapter tibber v0.1.x

      @babl ich habe aktuell keine Problem, bekomme immer noch alle Preise.

      posted in Tester
      C
      ChrisChros
    • RE: Test Adapter OpenKNX 0.6.x

      @killroy2 bei dieser Adresse handelt es sich um Daten die von einem ioBroker-Adapter auf den Bus geschrieben werden. Ich nutze dazu ein kleines Blockly-Script:
      Bildschirm­foto 2023-01-01 um 09.51.17.png
      In der ETS sind die entsprechenden GAs über eine Dummy Applikation wie folgt angelegt:
      Bildschirm­foto 2023-01-01 um 12.20.35.png

      Als Flags wurden nur K,L und Ü angelegt. Da die GA mit einem Dummy verbunden ist glaube ich nicht das dort eine Quitierung erfolgen kann.

      posted in Tester
      C
      ChrisChros

    Latest posts made by ChrisChros

    • RE: E3DC Hauskraftwerk steuern

      Hallo,seit dem Update auf JS-Controller 6.0 habe ich folgende Warnung bei mir im Log stehen:

      Cannot install custom npm package fs: Error: Cannot find package '/opt/iobroker/node_modules/@iobroker-javascript.0/fs/package.json' imported from /opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/cjs/lib/adapter/adapter.js
      

      Jemand eine Ahnung wie man den Fehler beheben kann?

      Gruß Chris

      posted in JavaScript
      C
      ChrisChros
    • RE: Json-String in Objekte schreiben

      @paul53
      ok, habe festgestellt, dass das Json nicht wirklich aktualisiert wird. Muss ich mal schauen woran das liegt.

      posted in JavaScript
      C
      ChrisChros
    • RE: Json-String in Objekte schreiben

      Habe nun das Skript mal aktiviert, die neuen Objekte werden erstellt aber es sind nur "0" Werte hinterlegt.

      posted in JavaScript
      C
      ChrisChros
    • RE: Json-String in Objekte schreiben

      habe das Skript angepasst:

      createState('0_userdata.0.Hichi_Wifi_IR.Bezug', 0, {type: 'number', name: 'Bezug', unit: 'kWh', read: true, write: false, role: 'value.energy'})
      createState('0_userdata.0.Hichi_Wifi_IR.Export', 0, {type: 'number', name: 'Export', unit: 'kWh', read: true, write: false, role: 'value.energy'})
      createState('0_userdata.0.Hichi_Wifi_IR.Leistung_aktuell', 0, {type: 'number', name: 'Leistung_aktuell', unit: 'W', read: true, write: false, role: 'value.power'})
      createState('0_userdata.0.Hichi_Wifi_IR.Leistung_L1', 0, {type: 'number', name: 'Leistung_L1', unit: 'W', read: true, write: false, role: 'value.power'})
      createState('0_userdata.0.Hichi_Wifi_IR.Leistung_L2', 0, {type: 'number', name: 'Leistung_L2', unit: 'W', read: true, write: false, role: 'value.power'})
      createState('0_userdata.0.Hichi_Wifi_IR.Leistung_L3', 0, {type: 'number', name: 'Leistung_L3', unit: 'W', read: true, write: false, role: 'value.power'})
      createState('0_userdata.0.Hichi_Wifi_IR.Spannung_L1', 0, {type: 'number', name: 'Spannung_L1', unit: 'V', read: true, write: false, role: 'value.voltage'})
      createState('0_userdata.0.Hichi_Wifi_IR.Spannung_L2', 0, {type: 'number', name: 'Spannung_L2', unit: 'V', read: true, write: false, role: 'value.voltage'})
      createState('0_userdata.0.Hichi_Wifi_IR.Spannung_L3', 0, {type: 'number', name: 'Spannung_L3', unit: 'V', read: true, write: false, role: 'value.voltage'})
      createState('0_userdata.0.Hichi_Wifi_IR.Seriennummer', ' ', {type: 'string', name: 'Seriennummer', read: true, write: false, role: 'state'})
      
      on('mqtt.0.tasmota/discovery/3494548E85FC/sensors', function (dp) {
          let obj = {};
          //der try ist wichtig das der adapter nicht abschmiert bei einem fehler, hiermit pasen wird die json in ein object
          try {obj = JSON.parse(dp.state.val).sn.SM;
          } catch (e) {
             console.error('Cannot parse: ' + dp.state.val);
             return;
          }
         
          setState('0_userdata.0.Hichi_Wifi_IR.Bezug', obj['1_8_0'], true);
          setState('0_userdata.0.Hichi_Wifi_IR.Export', obj['2_8_0'], true);
          setState('0_userdata.0.Hichi_Wifi_IR.Leistung_aktuell', obj['16_7_0'], true);
          setState('0_userdata.0.Hichi_Wifi_IR.Leistung_L1', obj['36_7_0'], true);
          setState('0_userdata.0.Hichi_Wifi_IR.Leistung_L2', obj['56_7_0'], true);
          setState('0_userdata.0.Hichi_Wifi_IR.Leistung_L3', obj['76_7_0'], true);
          setState('0_userdata.0.Hichi_Wifi_IR.Spannung_L1', obj['32_7_0'], true);
          setState('0_userdata.0.Hichi_Wifi_IR.Spannung_L2', obj['52_7_0'], true);
          setState('0_userdata.0.Hichi_Wifi_IR.Spannung_L3', obj['72_7_0'], true);
          setState('0_userdata.0.Hichi_Wifi_IR.Seriennummer', obj['96_1_0'], true);
      });
      

      Ist der Leerstring so richtig eingepflegt?

      posted in JavaScript
      C
      ChrisChros
    • RE: Json-String in Objekte schreiben

      Vielen Dank für die Unterstützung.
      Habe das jetzt noch etwas angepasst, sieht nun so aus:

      createState('0_userdata.0.Hichi_Wifi_IR.Bezug', 0, {type: 'number', name: 'Bezug', unit: 'kWh', read: true, write: false, role: 'value.energy'})
      createState('0_userdata.0.Hichi_Wifi_IR.Export', 0, {type: 'number', name: 'Export', unit: 'kWh', read: true, write: false, role: 'value.energy'})
      createState('0_userdata.0.Hichi_Wifi_IR.Leistung_aktuell', 0, {type: 'number', name: 'Leistung_aktuell', unit: 'W', read: true, write: false, role: 'value.energy'})
      createState('0_userdata.0.Hichi_Wifi_IR.Leistung_L1', 0, {type: 'number', name: 'Leistung_L1', unit: 'W', read: true, write: false, role: 'value.energy'})
      createState('0_userdata.0.Hichi_Wifi_IR.Leistung_L2', 0, {type: 'number', name: 'Leistung_L2', unit: 'W', read: true, write: false, role: 'value.energy'})
      createState('0_userdata.0.Hichi_Wifi_IR.Leistung_L3', 0, {type: 'number', name: 'Leistung_L3', unit: 'W', read: true, write: false, role: 'value.energy'})
      createState('0_userdata.0.Hichi_Wifi_IR.Spannung_L1', 0, {type: 'number', name: 'Spannung_L1', unit: 'V', read: true, write: false, role: 'value.energy'})
      createState('0_userdata.0.Hichi_Wifi_IR.Spannung_L2', 0, {type: 'number', name: 'Spannung_L2', unit: 'V', read: true, write: false, role: 'value.energy'})
      createState('0_userdata.0.Hichi_Wifi_IR.Spannung_L3', 0, {type: 'number', name: 'Spannung_L3', unit: 'V', read: true, write: false, role: 'value.energy'})
      createState('0_userdata.0.Hichi_Wifi_IR.Seriennummer', 0, {type: 'string', name: 'Seriennummer', read: true, write: false, role: 'state'})
      
      on('mqtt.0.tasmota/discovery/3494548E85FC/sensors', function (dp) {
          let obj = {};
          //der try ist wichtig das der adapter nicht abschmiert bei einem fehler, hiermit pasen wird die json in ein object
          try {obj = JSON.parse(dp.state.val).sn.SM;
          } catch (e) {
             console.error('Cannot parse: ' + dp.state.val);
             return;
          }
         
          setState('0_userdata.0.Hichi_Wifi_IR.Bezug', obj['1_8_0'], true);
          setState('0_userdata.0.Hichi_Wifi_IR.Export', obj['2_8_0'], true);
          setState('0_userdata.0.Hichi_Wifi_IR.Leistung_aktuell', obj['16_7_0'], true);
          setState('0_userdata.0.Hichi_Wifi_IR.Leistung_L1', obj['36_7_0'], true);
          setState('0_userdata.0.Hichi_Wifi_IR.Leistung_L2', obj['56_7_0'], true);
          setState('0_userdata.0.Hichi_Wifi_IR.Leistung_L3', obj['76_7_0'], true);
          setState('0_userdata.0.Hichi_Wifi_IR.Spannung_L1', obj['32_7_0'], true);
          setState('0_userdata.0.Hichi_Wifi_IR.Spannung_L2', obj['52_7_0'], true);
          setState('0_userdata.0.Hichi_Wifi_IR.Spannung_L3', obj['72_7_0'], true);
          setState('0_userdata.0.Hichi_Wifi_IR.Seriennummer', obj['96_1_0'], true);
      });
      

      Würde das soweit passen oder gibt es noch Fehler darin?

      posted in JavaScript
      C
      ChrisChros
    • RE: Json-String in Objekte schreiben

      @paul53 sagte in Json-String in Objekte schreiben:

      Hichi_Wifi_IR

      Super danke, wie sieht das dann bei z.B. der Seriennummer aus, die sowohl aus Zahlen und Buchstaben besteht?

      createState('0_userdata.0.Hichi_Wifi_IR.Seriennummer', 0, {type: 'mixed', name: 'Seriennummer', read: true, write: false, role: 'state'})
      
      posted in JavaScript
      C
      ChrisChros
    • RE: Json-String in Objekte schreiben

      @paul53 ok, danke für den Hinweis.
      werde dann mal alles in "0_userdate.0" schreiben.

      setState('0_userdate.0.Hichi_Wifi_IR.Bezug', (kWh));
      

      Wenn ich einen eigenen Datenpunkt erstellen möchte, würde das so klappen?

      createState('0_userdate.0.Hichi_Wifi_IR.Bezug'', 0,{type: 'nummer',name: 'Bezug kWh Zahl', read: true,write: true,role: 'value.watt'})
      

      Diese Zeilen müssten dann auch ganz an den Anfang des Skrips, noch vor

      on('mqtt.0.tasmota/discovery/3494548E85FC/sensors', function (dp) {
      

      oder?

      posted in JavaScript
      C
      ChrisChros
    • RE: Json-String in Objekte schreiben

      @paul53 vielen Dank, sieht etwas schlanker aus als bei mir.
      Eine Frage noch, wird bei setState auch ein Object angelegt oder nur der Wert aktualisiert?

      posted in JavaScript
      C
      ChrisChros
    • RE: Json-String in Objekte schreiben

      @ralla66 ja ist er.
      Ich weiß ich kann dann auch den Sonof Adapter nutzen, das habe ich auch funktioniert soweit auch alles bestens.
      Da ich aber noch mehr Sensoren habe die per MQTT senden wollte ich das alles zentral haben.

      posted in JavaScript
      C
      ChrisChros
    • Json-String in Objekte schreiben

      Hallo,
      ich versuche aktuell meinen Json-String den ich von einem Hichi Wifi IR Smartmeter bekomme auf entsprechende Objekte zu schreiben. Aktuell verusche ich aus verschiedenen Beiträgen mir ein funktionierendes Skript zusammenzustellen, leider ohne wirklichen Erfolg.
      Kann mir jemand von euch bitte dabei weiterhelfen.

      hier der ursprüngliche String den ich per MQTT erhalte:

      {"sn":{"Time":"2023-12-10T08:19:18","SM":{"1_8_0":2374.95355910,"2_8_0":23592.80211428,"16_7_0":487.01,"36_7_0":260.22,"56_7_0":107.08,"76_7_0":119.71,"32_7_0":231.6,"52_7_0":235.0,"72_7_0":231.6,"96_1_0":"***********"}},"ver":1}
      

      Hier etwas leserlicher:

      {
         "sn":{
            "Time":"2023-12-10T08:19:18",
            "SM":{
               "1_8_0":2374.95355910,
               "2_8_0":23592.80211428,
               "16_7_0":487.01,
               "36_7_0":260.22,
               "56_7_0":107.08,
               "76_7_0":119.71,
               "32_7_0":231.6,
               "52_7_0":235.0,
               "72_7_0":231.6,
               "96_1_0":"***********"
            }
         },
      

      Mein Skript sieht aktuell wie folgt aus:

      on({id: 'mqtt.0.tasmota/discovery/3494548E85FC/sensors', change: "any"}, function (obj) {
       
          var 1_8_0;
          var 2_8_0;
          var 16_7_0;
          var 36_7_0;
          var 56_7_0;
          var 76_7_0;
          var 32_7_0;
          var 52_7_0;
          var 72_7_0;
          var 96_1_0;
          
         //der try ist wichtig das der adapter nicht abschmiert bei einem fehler, hiermit pasen wird die json in ein object
         try {obj = JSON.parse(getState('mqtt.0.tasmota/discovery/3494548E85FC/sensors').val);
         } catch (e) {
             console.error('Cannot parse: ' + getState('mqtt.0.tasmota/discovery/3494548E85FC/sensors').val);
             return;
          }
         
         1_8_0 = obj.Bezung;
         2_8_0 = obj.Export;
         16_7_0 = obj.Leistung_aktuell;
         36_7_0 = obj.Leistung_L1;
         56_7_0 = obj.Leistung_L2;
         76_7_0 = obj.Leistung_L3;
         32_7_0 = obj.Spannung_L1;
         52_7_0 = obj.Spannung_L2;
         72_7_0 = obj.Spannung_L3;
         96_1_0 = obj.Seriennummer;
        
        setState('javascript.0.Hichi_Wifi_IR.Bezug', obj[''].Bezug, true);
        setState('javascript.0.Hichi_Wifi_IR.Export', obj[''].Export, true);
        setState('javascript.0.Hichi_Wifi_IR.Leistung_aktuell', obj[''].Leistung_aktuell, true);
        setState('javascript.0.Hichi_Wifi_IR.Leistung_L1', obj[''].Leistung_L1, true);
        setState('javascript.0.Hichi_Wifi_IR.Leistung_L2', obj[''].Leistung_L2, true);
        setState('javascript.0.Hichi_Wifi_IR.Leistung_L3', obj[''].Leistung_L3, true);
        setState('javascript.0.Hichi_Wifi_IR.Spannung_L1', obj[''].Spannung_L1, true);
        setState('javascript.0.Hichi_Wifi_IR.Spannung_L2', obj[''].Spannung_L2, true);
        setState('javascript.0.Hichi_Wifi_IR.Spannung_L3', obj[''].Spannung_L3, true);
        setState('javascript.0.Hichi_Wifi_IR.Seriennummer', obj[''].Seriennummer, true);
         
      });
      

      Als Fehlermeldung erhalte ich aktuell folgendes:

      15:15:21.913	error	javascript.0 (17262) script.js.common.Hichi_Wifi_IR.MQTT_Parsen compile failed: at script.js.common.Hichi_Wifi_IR.MQTT_Parsen:3
      

      Worin liegt aktuell das Problem?

      posted in JavaScript
      C
      ChrisChros
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo