Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Übergabe von Werten von Smartmeter an cFos Wallbox

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.6k

Übergabe von Werten von Smartmeter an cFos Wallbox

Geplant Angeheftet Gesperrt Verschoben JavaScript
42 Beiträge 11 Kommentatoren 8.9k Aufrufe 11 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • B berlinerbolle

    @hausmeister

    Da muss Nutzername und Passwort in der "üblichen" Kombination name:passwort rein - allerdings Base64 encoded. Wenn Du das von Hand in deinem Browser aufrufst funktioniert es nur deshalb, weil du in dem Browser schon authentifiziert bist (dadurch dass du dich vermutlich im gleichen Browser schon an der Oberfläche der cFos angemeldet hattest).

    Du kannst dir das online codieren lassen falls Du kein Tool zur Hand hast, zum Beispiel hier: https://www.base64encode.org/

    Aus "meinnutzername:meinpasswort" wird dann "bWVpbm51dHplcm5hbWU6bWVpbnBhc3N3b3J0" - und das muss dann hinter "Basic" im Script rein:

    xhr.setRequestHeader("Authorization", "Basic bWVpbm51dHplcm5hbWU6bWVpbnBhc3N3b3J0");
    

    Ich hab da auch kurz gestrauchelt, obwohl ich eigentlich vom Fach bin - mache genau sowas aber nicht aller Tage. ;)

    Gruß

    HausmeisterH Offline
    HausmeisterH Offline
    Hausmeister
    schrieb am zuletzt editiert von Hausmeister
    #33

    @berlinerbolle
    Das war die Lösung.
    Danke dir ! Da hätte ich mir noch die Zähne ausgebissen :D

    1 Antwort Letzte Antwort
    0
    • E euro

      Hi,
      @ple : kenn dein ioBroker den aktuellen Hausbezug?
      Dann käme das Script hier aus dem initialen Topic in Frage, damit bin ich jetzt ein Jahr sehr gut und zuverlässig mit gefahren
      wenn nicht, shop einen Lesekopf für den Hauptzähler und lass die cfos dessen Infos zukommen lassen, wie paar Posts zuvor beschrieben

      den Huawei würde ich nicht direkt mit der cfos koppeln (wenn es überhaupt geht), wenn der nur mit einem Partner kommunzieren kann.
      Dann zum ioBroker und der verteilt/dokumentiert/regelt :)

      P Offline
      P Offline
      ple
      schrieb am zuletzt editiert von
      #34

      @euro sagte in Übergabe von Werten von Smartmeter an cFos Wallbox:

      Hi,
      @ple : kenn dein ioBroker den aktuellen Hausbezug?
      Dann käme das Script hier aus dem initialen Topic in Frage, damit bin ich jetzt ein Jahr sehr gut und zuverlässig mit gefahren
      wenn nicht, shop einen Lesekopf für den Hauptzähler und lass die cfos dessen Infos zukommen lassen, wie paar Posts zuvor beschrieben

      den Huawei würde ich nicht direkt mit der cfos koppeln (wenn es überhaupt geht), wenn der nur mit einem Partner kommunzieren kann.
      Dann zum ioBroker und der verteilt/dokumentiert/regelt :)

      Sorry, ich muss noch mal kurz nachfragen. Ich hab die Box nun an der Wand und beschäftige mich mit den Zählern. Welche Zähler soll ich denn nun alle anlegen? Ist es richtig, das netzbezug mein Export oder Import ist? Positiv wäre bei mir einspeisen und negativ Bezug.
      Hätte aber auch noch mehr Werte die ich übermitteln könnte wie die Last vom gesamten Haus.
      Also kurz gesagt, welche Zähler alle mit welchen Werten?
      Gruß und Danke

      Intel Nuc + Proxmox

      P 1 Antwort Letzte Antwort
      0
      • P ple

        @euro sagte in Übergabe von Werten von Smartmeter an cFos Wallbox:

        Hi,
        @ple : kenn dein ioBroker den aktuellen Hausbezug?
        Dann käme das Script hier aus dem initialen Topic in Frage, damit bin ich jetzt ein Jahr sehr gut und zuverlässig mit gefahren
        wenn nicht, shop einen Lesekopf für den Hauptzähler und lass die cfos dessen Infos zukommen lassen, wie paar Posts zuvor beschrieben

        den Huawei würde ich nicht direkt mit der cfos koppeln (wenn es überhaupt geht), wenn der nur mit einem Partner kommunzieren kann.
        Dann zum ioBroker und der verteilt/dokumentiert/regelt :)

        Sorry, ich muss noch mal kurz nachfragen. Ich hab die Box nun an der Wand und beschäftige mich mit den Zählern. Welche Zähler soll ich denn nun alle anlegen? Ist es richtig, das netzbezug mein Export oder Import ist? Positiv wäre bei mir einspeisen und negativ Bezug.
        Hätte aber auch noch mehr Werte die ich übermitteln könnte wie die Last vom gesamten Haus.
        Also kurz gesagt, welche Zähler alle mit welchen Werten?
        Gruß und Danke

        P Offline
        P Offline
        ple
        schrieb am zuletzt editiert von ple
        #35

        Hallo zusammen,
        ich wollte noch mal kurz Rückmeldung geben, vielleicht kann es noch einer gebrauchen.
        ich habe das Script ein wenig umgeschrieben, was ich so als Laie konnte.
        Genutzt wird nun "Request", somit ist entfällt das zusätzliche Modul.
        Ebenso übergebe ich jetzt auch Voltage und Current und lasse mir im Cfos die Leistung als "W" anzeigen.
        Ip, User und Passwort können als Klartext angegeben werden. Zählernummer muss jeweils in der Funktion geändert werden.
        Die Ströme und Spannungen vom Wechselrichter fehlen mir noch.
        Da ich einen Huawei Wechselrichter habe und einen Powersensor, der über Modbus RTU am Wechselrichter angeschlossen ist, wäre es interessant ob ich den direkt per 2 Draht angeschlossen bekomme. Mal schauen wann ich dazu Lust und Zeit habe.

        vielleicht kann es ja einer gebrauchen.

        var request = require('request');
        var ip = "xxx.xxx.xxx.xxx"
        var username = "xxxxxx"
        var password = "xxxxx"
        
        
        // Gridmeter Zähler 4
        on({ id: '0_userdata.0.Huawei.Dongle.Load_power'/*Huawei*/, change: 'any' }, function (obj) {
           var Zaehler = "4"
           var Import = parseFloat(getState('0_userdata.0.Huawei.Meter.Energy_Import'/*Energy Import*/).val) * 1000;
           var Export = parseFloat(getState('0_userdata.0.Huawei.Meter.Energy_Export'/*Energy Export*/).val) * 1000;
           var Voltage_l1 = getState('0_userdata.0.Huawei.Meter.Grid_Voltage_Phase_1'/*Huawei*/).val
           var Voltage_l2 = getState('0_userdata.0.Huawei.Meter.Grid_Voltage_Phase_2'/*Huawei*/).val
           var Voltage_l3 = getState('0_userdata.0.Huawei.Meter.Grid_Voltage_Phase_3'/*Huawei*/).val
           var Current_l1 = parseFloat(getState('0_userdata.0.Huawei.Meter.Grid_Current_Phase_1'/*Huawei*/).val) * 1000
           var Current_l2 = parseFloat(getState('0_userdata.0.Huawei.Meter.Grid_Current_Phase_2'/*Huawei*/).val) * 1000
           var Current_l3 = parseFloat(getState('0_userdata.0.Huawei.Meter.Grid_Current_Phase_3'/*Huawei*/).val) * 1000
           var Leistung = parseFloat(getState("0_userdata.0.Huawei.Dongle.Grid_power").val) * -1;
        
           var Voltage = "[" + Voltage_l1 + ", " + Voltage_l2 + ", " + Voltage_l3 + "]"
           var Current = "[" + Current_l1 + ", " + Current_l2 + ", " + Current_l3 + "]"
        
           var url = "http://" + ip + "/cnf?cmd=set_ajax_meter&dev_id=M" + Zaehler;
           var data = `{
               "voltage": ${Voltage},
               "current": ${Current},
               "power_va": ${Leistung},
               "import_wh": ${Import},
               "export_wh": ${Export},
               "is_va": false
           }`;
           var auth = 'Basic ' + Buffer.from(username + ":" + password).toString('base64');
           var headers = {
               "Authorization": auth,
               "Content-Type": "application/json"
           };
           request.post({
               url: url,
               headers: headers,
               body: data
           }, function (error, response, body) {
               //console.log('Status Code:' + response.statusCode);
               //console.log('Response Body:' + body);
               if (response.statusCode !== 200) {
                   console.error('Authentifizierung fehlgeschlagen');
                   console.log('Response Body:' + body);
               }
           });
        });
        
        
        
        // PV Erzeugung Zähler 5
        on({ id: '0_userdata.0.Huawei.Dongle.Total_input_power'/*Huawei*/, change: 'any' }, function (obj) {
           var Zaehler = "5"
           var Arbeit = parseFloat(getState('0_userdata.0.Huawei.Inverter.Accumulated_Energy_Yield'/*Huawei*//*Energy Import*/).val) * 1000;
           var Leistung = getState('0_userdata.0.Huawei.Dongle.Total_input_power'/*Huawei*/).val;
        
           var url = "http://" + ip + "/cnf?cmd=set_ajax_meter&dev_id=M" + Zaehler;
           var data = `{
               "import_wh": ${Arbeit},
               "power_va": ${Leistung},
               "is_va": false
               }`;
        
           var auth = 'Basic ' + Buffer.from(username + ":" + password).toString('base64');
           var headers = {
               "Authorization": auth,
               "Content-Type": "application/json"
           };
           request.post({
               url: url,
               headers: headers,
               body: data
           }, function (error, response, body) {
               //console.log('Status Code:' + response.statusCode);
               //console.log('Response Body:' + body);
               if (response.statusCode !== 200) {
                   console.error('Authentifizierung fehlgeschlagen');
                   console.log('Response Body:' + body);
               }
           });
        });
        

        Intel Nuc + Proxmox

        S 1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          manuelk2007
          schrieb am zuletzt editiert von
          #36

          Hallo zusammen,

          danke für eure hilfreichen Scripte. Ich kann mit dem ioBroker Werte an meine cFos übertragen.
          Da ich einen E320 Stromzähler habe und nicht an die Ströme komme, errechne ich mir die selber aus der Leistung die der Stromzähler ins Netz leitet.

          Ich habe im cFos einen HTTP-Zähler angelegt und der hat die Rolle "Netzbezug".
          Die wichtigsten Zeilen aus dem Skript:

          var Leistung  = getState("sonoff.0.DVES.E320_Power_in").val;
          var Bezug  = getState("sonoff.0.DVES.E320_Total_in").val*1000;
          var Strom = Leistung  / (3 * 230)*1000; //muss in mA angegeben werden
          ...
          var data = `{
                  "power_va": ${Leistung},
                  "import_vah": ${Bezug},
                  "current": [${Strom}, ${Strom}, ${Strom}],
                  "is_va": false
                  }`;
          

          Für was wird der Bezug benötigt (import_vah)?

          22e2f5af-edd8-4429-ab18-8e2ef8249252-image.png
          Ist es ok, dass Import und Export immer 0 sind?

          Nun zu meinem Problem. Das Überschussladen funktioniert nicht.
          Bedeutet er zeigt eine Leistung an, die er scheinbar dem Fahrzeug geben könnte, es wird aber nichts geladen.
          Er zeigt mir auch 3 Phasen an, obwohl ich eigentlich nur mit einer Phase laden möchte (keine Ahnung, ob ich das falsch interpretiere). Ich habe die Wallbox mit dem extra Schütz, zur Wahl zwischen 1 und 3 Phasen.

          Hier ist übrigens der User, der zum Laden verwendet wird: Bildschirmfoto vom 2023-05-09 20-34-47.png
          Der wird beim Laden auch angezeigt.

          Ich habe einen weiteren Benutzer, der sich per RFID anmelden kann und dort soll einfach mit voller Leistung geladen werden (egal, wie viel Überschuss es gibt). Das funktioniert problemlos.

          Habt ihr mir einen Tipp?

          Ich wäre euch sehr dankbar.

          Gruß Manuel

          P 1 Antwort Letzte Antwort
          0
          • M manuelk2007

            Hallo zusammen,

            danke für eure hilfreichen Scripte. Ich kann mit dem ioBroker Werte an meine cFos übertragen.
            Da ich einen E320 Stromzähler habe und nicht an die Ströme komme, errechne ich mir die selber aus der Leistung die der Stromzähler ins Netz leitet.

            Ich habe im cFos einen HTTP-Zähler angelegt und der hat die Rolle "Netzbezug".
            Die wichtigsten Zeilen aus dem Skript:

            var Leistung  = getState("sonoff.0.DVES.E320_Power_in").val;
            var Bezug  = getState("sonoff.0.DVES.E320_Total_in").val*1000;
            var Strom = Leistung  / (3 * 230)*1000; //muss in mA angegeben werden
            ...
            var data = `{
                    "power_va": ${Leistung},
                    "import_vah": ${Bezug},
                    "current": [${Strom}, ${Strom}, ${Strom}],
                    "is_va": false
                    }`;
            

            Für was wird der Bezug benötigt (import_vah)?

            22e2f5af-edd8-4429-ab18-8e2ef8249252-image.png
            Ist es ok, dass Import und Export immer 0 sind?

            Nun zu meinem Problem. Das Überschussladen funktioniert nicht.
            Bedeutet er zeigt eine Leistung an, die er scheinbar dem Fahrzeug geben könnte, es wird aber nichts geladen.
            Er zeigt mir auch 3 Phasen an, obwohl ich eigentlich nur mit einer Phase laden möchte (keine Ahnung, ob ich das falsch interpretiere). Ich habe die Wallbox mit dem extra Schütz, zur Wahl zwischen 1 und 3 Phasen.

            Hier ist übrigens der User, der zum Laden verwendet wird: Bildschirmfoto vom 2023-05-09 20-34-47.png
            Der wird beim Laden auch angezeigt.

            Ich habe einen weiteren Benutzer, der sich per RFID anmelden kann und dort soll einfach mit voller Leistung geladen werden (egal, wie viel Überschuss es gibt). Das funktioniert problemlos.

            Habt ihr mir einen Tipp?

            Ich wäre euch sehr dankbar.

            Gruß Manuel

            P Offline
            P Offline
            ple
            schrieb am zuletzt editiert von
            #37

            @manuelk2007

            Moin
            ich bin gerade selber dabei die Cfos irgendwie in Betrieb zu nehmen. So halb klappt es.
            Was ich sagen kann, worüber ich gestolpert bin ist, dass der http inputzähler bei mir folgende Daten bekommet, in den Scripten und Beschreibungen wird teilweise mit vah gearbeitet, ich habe bei mir wh genommen. Keine Ahnung was die API von CFOS nun wirklich will, aber bis jetzt klappt es.
            ich schicke also folgendes.

            var data = `{
                    "power_va": ${Leistung},
                    "voltage": ${Voltage}, 
                    "current": ${Current},
                    "import_wh": ${Import},
                    "export_wh": ${Export},
                    "is_va": false
                }`;
            

            Der Inhalt ist wie folgt.

            { "power_va": -14437, "voltage": [232.5, 232.5, 234.1], "current": [-20020, -20370, -21130], "import_wh": 7479640, "export_wh": 49590330, "is_va": false }
            

            So, wichtig ist, dass die Werte vom Strom bei Einspeisung negativ sind, positiv würde bedeuten, du importierst den Strom.
            Zähler muss Netzbezug sein, damit der in 2 Richtungen messen kann. Ich habe noch einen weiteren Inputzähler genommen, der mir die PV Erzeugung anzeigt, wird aber eigentlich nicht benötigt,
            3 phasig laden klappt soweit.

            Jetzt ist mir aber folgendes aufgefallen, was ich nicht verstehe.
            Wenn ich 1 phasig umschalte und auf L1 theoretisch Netzbezug habe wegen Wärmepumpe und L2, L3 Überschuss und in Summe noch 3 KW einspeise, wird das Auto nicht geladen. Ich befürchte, das die Ströme nicht addiert werden und bei 1phasigen Laden halt L1 bestimmt, ob läd oder nicht.

            Ich glaube auch, dass bei 3phasigen Laden, sobald eine Phase unter 6A kommt beim Überschussladen, der Ladevorgang nach x Zeit abbricht.

            So ganz bin ich da nicht hintergekommen, aber vielleicht kann mir einer diese Fragen hier beantworten, die Überschussladen bereits am laufen haben.

            Gruß

            Intel Nuc + Proxmox

            E 1 Antwort Letzte Antwort
            1
            • P ple

              @manuelk2007

              Moin
              ich bin gerade selber dabei die Cfos irgendwie in Betrieb zu nehmen. So halb klappt es.
              Was ich sagen kann, worüber ich gestolpert bin ist, dass der http inputzähler bei mir folgende Daten bekommet, in den Scripten und Beschreibungen wird teilweise mit vah gearbeitet, ich habe bei mir wh genommen. Keine Ahnung was die API von CFOS nun wirklich will, aber bis jetzt klappt es.
              ich schicke also folgendes.

              var data = `{
                      "power_va": ${Leistung},
                      "voltage": ${Voltage}, 
                      "current": ${Current},
                      "import_wh": ${Import},
                      "export_wh": ${Export},
                      "is_va": false
                  }`;
              

              Der Inhalt ist wie folgt.

              { "power_va": -14437, "voltage": [232.5, 232.5, 234.1], "current": [-20020, -20370, -21130], "import_wh": 7479640, "export_wh": 49590330, "is_va": false }
              

              So, wichtig ist, dass die Werte vom Strom bei Einspeisung negativ sind, positiv würde bedeuten, du importierst den Strom.
              Zähler muss Netzbezug sein, damit der in 2 Richtungen messen kann. Ich habe noch einen weiteren Inputzähler genommen, der mir die PV Erzeugung anzeigt, wird aber eigentlich nicht benötigt,
              3 phasig laden klappt soweit.

              Jetzt ist mir aber folgendes aufgefallen, was ich nicht verstehe.
              Wenn ich 1 phasig umschalte und auf L1 theoretisch Netzbezug habe wegen Wärmepumpe und L2, L3 Überschuss und in Summe noch 3 KW einspeise, wird das Auto nicht geladen. Ich befürchte, das die Ströme nicht addiert werden und bei 1phasigen Laden halt L1 bestimmt, ob läd oder nicht.

              Ich glaube auch, dass bei 3phasigen Laden, sobald eine Phase unter 6A kommt beim Überschussladen, der Ladevorgang nach x Zeit abbricht.

              So ganz bin ich da nicht hintergekommen, aber vielleicht kann mir einer diese Fragen hier beantworten, die Überschussladen bereits am laufen haben.

              Gruß

              E Offline
              E Offline
              euro
              schrieb am zuletzt editiert von
              #38

              @ple
              Hi
              bei mir klappte 1 - 2- und 3-phasiges laden bisher problemlos
              erst noch über das Skript via ioBroker hier, mittlerweile aber hab ich den hichi tasmota Lesekopf direkt eingebunden an der cfos

              wenn du umstellst von1 - auf 3 phasig, stellst du dann wallbox UND Zähler um ?

              P 1 Antwort Letzte Antwort
              0
              • E euro

                @ple
                Hi
                bei mir klappte 1 - 2- und 3-phasiges laden bisher problemlos
                erst noch über das Skript via ioBroker hier, mittlerweile aber hab ich den hichi tasmota Lesekopf direkt eingebunden an der cfos

                wenn du umstellst von1 - auf 3 phasig, stellst du dann wallbox UND Zähler um ?

                P Offline
                P Offline
                ple
                schrieb am zuletzt editiert von
                #39

                @euro sagte in Übergabe von Werten von Smartmeter an cFos Wallbox:

                hichi tasmota Lesekopf

                Ja ich habs nun auch am laufen. es lag anscheinend an den Einstellungen, Geotec hatte mich drauf hingewiesen.
                de96e081-2aa6-47e7-a211-fc886b863f44-image.png

                24755cd8-3fee-4e96-b05e-44b5883c6298-image.png

                Es gibt halt eine Menge Einstellmöglichkeiten, leider weiß man noch nicht genau, wie sich welche Auswirken.
                Ich muss nächste Woche auch mal die neue Firmware testen, mal gucken was sich da so geändert hat.
                oder hat das einer hier schon am laufen?
                Gruß

                Intel Nuc + Proxmox

                1 Antwort Letzte Antwort
                0
                • P ple

                  Hallo zusammen,
                  ich wollte noch mal kurz Rückmeldung geben, vielleicht kann es noch einer gebrauchen.
                  ich habe das Script ein wenig umgeschrieben, was ich so als Laie konnte.
                  Genutzt wird nun "Request", somit ist entfällt das zusätzliche Modul.
                  Ebenso übergebe ich jetzt auch Voltage und Current und lasse mir im Cfos die Leistung als "W" anzeigen.
                  Ip, User und Passwort können als Klartext angegeben werden. Zählernummer muss jeweils in der Funktion geändert werden.
                  Die Ströme und Spannungen vom Wechselrichter fehlen mir noch.
                  Da ich einen Huawei Wechselrichter habe und einen Powersensor, der über Modbus RTU am Wechselrichter angeschlossen ist, wäre es interessant ob ich den direkt per 2 Draht angeschlossen bekomme. Mal schauen wann ich dazu Lust und Zeit habe.

                  vielleicht kann es ja einer gebrauchen.

                  var request = require('request');
                  var ip = "xxx.xxx.xxx.xxx"
                  var username = "xxxxxx"
                  var password = "xxxxx"
                  
                  
                  // Gridmeter Zähler 4
                  on({ id: '0_userdata.0.Huawei.Dongle.Load_power'/*Huawei*/, change: 'any' }, function (obj) {
                     var Zaehler = "4"
                     var Import = parseFloat(getState('0_userdata.0.Huawei.Meter.Energy_Import'/*Energy Import*/).val) * 1000;
                     var Export = parseFloat(getState('0_userdata.0.Huawei.Meter.Energy_Export'/*Energy Export*/).val) * 1000;
                     var Voltage_l1 = getState('0_userdata.0.Huawei.Meter.Grid_Voltage_Phase_1'/*Huawei*/).val
                     var Voltage_l2 = getState('0_userdata.0.Huawei.Meter.Grid_Voltage_Phase_2'/*Huawei*/).val
                     var Voltage_l3 = getState('0_userdata.0.Huawei.Meter.Grid_Voltage_Phase_3'/*Huawei*/).val
                     var Current_l1 = parseFloat(getState('0_userdata.0.Huawei.Meter.Grid_Current_Phase_1'/*Huawei*/).val) * 1000
                     var Current_l2 = parseFloat(getState('0_userdata.0.Huawei.Meter.Grid_Current_Phase_2'/*Huawei*/).val) * 1000
                     var Current_l3 = parseFloat(getState('0_userdata.0.Huawei.Meter.Grid_Current_Phase_3'/*Huawei*/).val) * 1000
                     var Leistung = parseFloat(getState("0_userdata.0.Huawei.Dongle.Grid_power").val) * -1;
                  
                     var Voltage = "[" + Voltage_l1 + ", " + Voltage_l2 + ", " + Voltage_l3 + "]"
                     var Current = "[" + Current_l1 + ", " + Current_l2 + ", " + Current_l3 + "]"
                  
                     var url = "http://" + ip + "/cnf?cmd=set_ajax_meter&dev_id=M" + Zaehler;
                     var data = `{
                         "voltage": ${Voltage},
                         "current": ${Current},
                         "power_va": ${Leistung},
                         "import_wh": ${Import},
                         "export_wh": ${Export},
                         "is_va": false
                     }`;
                     var auth = 'Basic ' + Buffer.from(username + ":" + password).toString('base64');
                     var headers = {
                         "Authorization": auth,
                         "Content-Type": "application/json"
                     };
                     request.post({
                         url: url,
                         headers: headers,
                         body: data
                     }, function (error, response, body) {
                         //console.log('Status Code:' + response.statusCode);
                         //console.log('Response Body:' + body);
                         if (response.statusCode !== 200) {
                             console.error('Authentifizierung fehlgeschlagen');
                             console.log('Response Body:' + body);
                         }
                     });
                  });
                  
                  
                  
                  // PV Erzeugung Zähler 5
                  on({ id: '0_userdata.0.Huawei.Dongle.Total_input_power'/*Huawei*/, change: 'any' }, function (obj) {
                     var Zaehler = "5"
                     var Arbeit = parseFloat(getState('0_userdata.0.Huawei.Inverter.Accumulated_Energy_Yield'/*Huawei*//*Energy Import*/).val) * 1000;
                     var Leistung = getState('0_userdata.0.Huawei.Dongle.Total_input_power'/*Huawei*/).val;
                  
                     var url = "http://" + ip + "/cnf?cmd=set_ajax_meter&dev_id=M" + Zaehler;
                     var data = `{
                         "import_wh": ${Arbeit},
                         "power_va": ${Leistung},
                         "is_va": false
                         }`;
                  
                     var auth = 'Basic ' + Buffer.from(username + ":" + password).toString('base64');
                     var headers = {
                         "Authorization": auth,
                         "Content-Type": "application/json"
                     };
                     request.post({
                         url: url,
                         headers: headers,
                         body: data
                     }, function (error, response, body) {
                         //console.log('Status Code:' + response.statusCode);
                         //console.log('Response Body:' + body);
                         if (response.statusCode !== 200) {
                             console.error('Authentifizierung fehlgeschlagen');
                             console.log('Response Body:' + body);
                         }
                     });
                  });
                  

                  S Online
                  S Online
                  Schimi
                  schrieb am zuletzt editiert von
                  #40

                  @ple
                  Hi, habe das script mal ausprobiert... klappt...

                  bekomme jedoch im Log eine "warn" meldung "request package is deprecated - please use httpGet (or a stable lib like axios) instead!!"

                  kannst du das vielleicht entsprechend umbauen? Ich bin da leider "raus" :-(

                  B 1 Antwort Letzte Antwort
                  0
                  • S Schimi

                    @ple
                    Hi, habe das script mal ausprobiert... klappt...

                    bekomme jedoch im Log eine "warn" meldung "request package is deprecated - please use httpGet (or a stable lib like axios) instead!!"

                    kannst du das vielleicht entsprechend umbauen? Ich bin da leider "raus" :-(

                    B Offline
                    B Offline
                    berlinerbolle
                    schrieb am zuletzt editiert von
                    #41

                    @schimi

                    Nutze doch MQTT, das ist (bei vorhandenem Broker) einfacher und funktioniert inzwischen auch zuverlässig - und du musst dich nicht um Authentifizierung oder irgendwelche JavaScript Bibliotheken kümmern.

                    S 1 Antwort Letzte Antwort
                    0
                    • B berlinerbolle

                      @schimi

                      Nutze doch MQTT, das ist (bei vorhandenem Broker) einfacher und funktioniert inzwischen auch zuverlässig - und du musst dich nicht um Authentifizierung oder irgendwelche JavaScript Bibliotheken kümmern.

                      S Online
                      S Online
                      Schimi
                      schrieb am zuletzt editiert von
                      #42

                      @berlinerbolle
                      Das läuft seit jahren hier schon in einer Modbus, HTTP kombination....

                      für MQTT müsste ich mal alles zurücksetzen und neu machen.... (damals gab es noch kein MQTT in der Wallbox)....

                      Vielleicht wird es mal zeit dafür.....

                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      811

                      Online

                      32.5k

                      Benutzer

                      81.6k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe