Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Übergabe von Werten von Smartmeter an cFos Wallbox

    NEWS

    • Bestätigt/Acknowledged-Flag Bedeutung - ein Mysterium ;-)

    • Update js-controller 4.0.24 (Stable)

    • Fehler 25 oder 217 bei Adapter-Install/Update mit npm8

    Übergabe von Werten von Smartmeter an cFos Wallbox

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Mr. Moose @Xenon last edited by

      @xenon
      Es war doch die Authorization. Reqbin konnte nur senden, weil ich in einem anderen Browser-Tab in der Wallbox eingeloggt war.
      Was mir jetzt noch fehlt sind die Variablen Arbeit und Leistung in den Zeilen 24 und 25. So wie es jetzt ist funktioniert es nicht.

      on({id: 'smartmeter.0.1-0:16_7_0__255.value', change: 'any'}, function (obj) {
      var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
      
      Arbeit = getState("smartmeter.0.1-0:1_8_0__255.value").val;
      Arbeit = Arbeit * 1000
      Leistung  = getState("smartmeter.0.1-0:16_7_0__255.value").val;
      console.log(Arbeit);
      console.log(Leistung);
      
      var url = "http://10.10.10.30/cnf?cmd=set_ajax_meter&dev_id=M5";
      
      var xhr = new XMLHttpRequest();
      xhr.open("POST", url);
      
      xhr.setRequestHeader("Authorization", "Basic ***password***");
      xhr.setRequestHeader("Content-Type", "application/json");
      
      xhr.onreadystatechange = function () {
         if (xhr.readyState === 4) {
            console.log(xhr.status);
            console.log(xhr.responseText);
         }};
      var data = `{
         "import_vah": Arbeit,
         "power_va": Leistung
      }`;
      xhr.send(data);
      });
      
      Xenon 1 Reply Last reply Reply Quote 0
      • Xenon
        Xenon Forum Testing Developer @Mr. Moose last edited by Xenon

        @mr-moose aber der authorization Fehler ist weg? Und über reqbin kannst du die Daten senden?

        Bitte gib mal den exakten Code an, womit es bei reqbin funktioniert (falls da Zugangsdaten stehen ersetze sie einfach durch xxxx)

        M 1 Reply Last reply Reply Quote 0
        • M
          Mr. Moose @Xenon last edited by

          @xenon
          Ja, funktioniert. Auch aus iobroker mit dem Code oben wenn ich da in Zeile 24 und 25 anstatt der Variablen Zahlen einsetze.
          Ich brauche da aber die Variablen Arbeit und Leistung. Wie schreibt man das in JavaScript?

          Xenon 1 Reply Last reply Reply Quote 0
          • Xenon
            Xenon Forum Testing Developer @Mr. Moose last edited by Xenon

            @mr-moose ah okay ich verstehe.

            Setz die Variablen so ein ${variable}

            also ${Arbeit}

            M 1 Reply Last reply Reply Quote 1
            • M
              Mr. Moose @Xenon last edited by

              @xenon
              Super, jetzt geht es. Vielen Dank für deine Hilfe!
              Hier nochmal die lauffähige Version, falls sie mal einer braucht.

              on({id: 'smartmeter.0.1-0:16_7_0__255.value', change: 'any'}, function (obj) {
              var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
              
              Arbeit = getState("smartmeter.0.1-0:1_8_0__255.value").val;
              Arbeit = Arbeit * 1000
              Leistung  = getState("smartmeter.0.1-0:16_7_0__255.value").val;
              
              var url = "http://10.10.10.30/cnf?cmd=set_ajax_meter&dev_id=M5";
              
              var xhr = new XMLHttpRequest();
              xhr.open("POST", url);
              
              xhr.setRequestHeader("Authorization", "Basic YWRtaW46MTIzNGFiY2Q=");
              xhr.setRequestHeader("Content-Type", "application/json");
              
              xhr.onreadystatechange = function () {
                 if (xhr.readyState === 4) {
                    console.log(xhr.status);
                    console.log(xhr.responseText);
                 }};
              var data = `{
                 "import_vah": ${Arbeit},
                 "power_va": ${Leistung}
              }`;
              xhr.send(data);
              });
              
              Xenon 1 Reply Last reply Reply Quote 0
              • Xenon
                Xenon Forum Testing Developer @Mr. Moose last edited by

                @mr-moose gerne 🙂

                Rudolf Kasper 1 Reply Last reply Reply Quote 0
                • Rudolf Kasper
                  Rudolf Kasper @Xenon last edited by

                  wäre es nicht gut wenn wir nen adapter dafür hätten?

                  1 Reply Last reply Reply Quote 0
                  • E
                    euro last edited by

                    Moin
                    ich hab oben gezeigtes Skript versucht einzubinden, um mir einen weiteren Zähler für Überschussladen zu ersparen
                    Allerdings bekomme ich keine Werte in der cfos angezeigt
                    Nutzt noch jemand das Skript, @Mr-Moose war schon länger nicht mehr online - evtl. schaut er ja aber nochmal rein

                    ich hab das Skript wie gepostet übernommen
                    die ID für den Tasmota ESP (sonoff.0.DVES_XXXXXXX._Power_curr und _total_in übernommen )
                    aktuelles Passwort in Klartext übernommen sowie meine IP der cfos eingetragen

                    in der cfos :
                    Zählertest mit HTTP Input
                    IP des IoBroker eingetragen

                    Output sieht dann leider so aus, sprich es kommen keine Werte:

                    Version: 1.12.0 ESP

                    Time: 2022-06-05 07:08:27

                    Device 'meter_ajax': HTTP input

                    Address: meine_ioBroker_IP, Id: 1
                    Config: {}

                    Voltage: 230, 230, 230
                    Current: 0.000000, 0.000000, 0.000000
                    Power: 0 VA
                    Import/Export: 0 Wh, 0 Wh

                    Kann mir jemand Hilfestellung geben?
                    Denke die Zeile 5 im Skript (Arbeit = Arbeit * 1000) kann ich bei mir löschen, der Momentanverbrauch wird direkt in W ausgegeben (??)

                    mfg und schönen Sonntag
                    Stefan

                    E 1 Reply Last reply Reply Quote 0
                    • E
                      euro @euro last edited by

                      es geht nun auch bei mir
                      ein deutlicherer Hinweis seitens cfos in deren Hilfe bezüglich ZählerID hätte (mir) geholfen
                      es ist diese hier wenn man den Zähler öffnet (M4 bei mir)

                      und statt Zählertest legt man einfach den HTTPInput Zähler in der cfos an, Feld für Adresse kann leer bleiben, der Zähler nimmt von allen Sendern Werte an (AUth halt)

                      a96b7ca7-4045-437b-8cde-249d2af94293-grafik.png

                      Danke @Mr-Moose für das Teilen des Skripts hier!

                      mfg
                      STefan

                      E 1 Reply Last reply Reply Quote 0
                      • E
                        euro @euro last edited by euro

                        und noch ein Hinweis
                        ich konnte zwar die Leistung an den HTTP Input Zähler übergeben
                        aber das Solarladen funktionierte noch nicht, Ladevorgang startete nicht bzw wenn dann nur mit der voreingestellten Leistung, nicht dynamisch
                        Die cfos benötigt zusätzlich den Strom (A) um den Ladestrom abhängig vom Solarstrom zu regeln (zw 6 und 16A halt)
                        (Einen Dank an den schnellen cfos Support und einem Nutzer aus dem goingelectric Forum)
                        dazu hab ich die Variable wie in der cfos Doku noch übergeben
                        "current": [c1, c2, c3],

                        Skript ergänzt um folgende Zeile (Strom=Leistung x 1000 / 3 x 230)

                        Strom = Leistung / 0.690

                        var data = { "import_vah": ${Arbeit}, "power_va": ${Leistung}, "current": [${Strom}, ${Strom}, ${Strom}] };
                        xhr.send(data);

                        was ich jetzt noch suche, ist wie ich die Daten der Ladekurve ebenfalls in IoB bekomme, um Sie in Grafana auszuwerten
                        Falls mir da jemand auf die Sprünge helfen mag

                        aktuell bekommt die eKiste also wenn möglich nur noch grünen Strom 🙂

                        Die Zählerdaten in ioBroker kommen über einen Tasmota ESP rein, der mit einem "Hichi" Infrarot Lesekopf ausgestattet ist und per MQTT mit ioB kommuniziert

                        mfg STefan

                        C 1 Reply Last reply Reply Quote 0
                        • C
                          claus1968 @euro last edited by

                          @euro
                          Ich habe auch eine cfos-Wallbox (und eine go-e) und lese den Strom mit dem Hichi über Tasmota aus (alle 10s). cfos habe ich per Modbus Adapter im Iobroker.

                          Ich habe 3 Ladeprofile:
                          a) Volle 16A
                          b) min+PV (6A + ggf. PV-Überschuss, wenn mehr da ist)
                          c) NurPV

                          Da ich mit der PV-Übeschussladung im Powerbrain nicht klargekommen bin habe ich mir in Iobroker ein Skript gebastelt.

                          1. Alle 10s ermittle ich den derzeitigen PV-Überschuss:
                            Wert vom Hichi bereinigt um Ladeleistung der Wallbox
                          2. Division des PV-Überschuss / 230.
                            Dadurch habe den PV-Überschuss in Ampere (gerundet).
                          3. Schreibe ich diesen Wert in das passende Register (alle 10s)
                          4. Skript schickt je nach Ladeprofil den passenden Wert (in A) ans cfos.
                          5. Damit es an der Schwelle zu 6A nicht permanent ein- und wieder ausschaltet
                            habe ich eine Trägheit für den Wert < 6A verwendet (gleitender Durchschnitt des PV-Überschusses der letzten 8 Werte). Erst wenn dieser unter 5A geht, sende ich das Stop-Signal.

                          Habe dies so seit einigen Monaten so am laufen.
                          rot: cfos
                          blau: go-e
                          gelb: PV-Überschuss

                          Hier ein Tag:
                          46e48124-b30c-4704-86b5-89a356213cb4-grafik.png
                          Hier ein Teil des selben Tages:
                          fbef3083-4afa-4fae-babc-116abee2749f-grafik.png

                          Dies war der heutige Tag: (war jedoch go-e)
                          bee5592b-f484-4cca-934a-099447d8203d-grafik.png

                          Das Gleiche in größerer Auflösung:
                          c7cc1913-e4e3-4d6b-ab20-1c0b10b0956d-grafik.png

                          Man kann erkennen, dass um 17:15 Uhr nicht mehr genügend Überschuss vorhanden war. Daher wurde die Ladung unterbrochen.

                          Hinweis:
                          Ich lade nur 1-Phasig, da meine PV nur bei optimalen Bedingung 4700W
                          schafft. Da hätte ich ein ständiges Umschalten von 1 auf 3 Phasen.
                          Ausserdem können beide Fahrzeuge nur 1-Phasig laden.

                          Gruß Claus

                          1 Reply Last reply Reply Quote 0
                          • E
                            euro last edited by

                            Hallo Claus,
                            was war denn das Problem bei der cfos Laderegel?
                            oder lag das mehr in der Anbindung des go-e ?

                            ich habe zwar knapp 10kWp, davon allerdings 7 auf Nord
                            weshalb auch selten mal 7 runterkommen. Wenn dann Verbraucher dazukommen, stoppt der 3-phasige Ladevorgang recht schnell, bin daher auch fast nur 1-phasig am laden.
                            Das klappt aber seit der Umsetzung super, konnten eigentlich bei dem tollen Sommer rein mit solar den Akku füllen

                            werde die Lösung nun nochmal bei einem Vater nachbauen, da hab ich grad 8kWp gebaut.
                            ioBroker mit hichi und ne cfos ist dort ebenfalls vorhanden 🙂

                            mfg
                            STefan

                            1 Reply Last reply Reply Quote 0
                            • C
                              claus1968 last edited by

                              Ich hatte die Steuerung für Go-e sowieso. Daher wollte ich es gleich haben.
                              Mein ursprüngliches Problem war die Einbindung des Hauszählers mit dem Hitchi+Tasmota.

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              998
                              Online

                              28.0k
                              Users

                              61.9k
                              Topics

                              939.8k
                              Posts

                              5
                              19
                              626
                              Loading More Posts
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes
                              Reply
                              • Reply as topic
                              Log in to reply
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                              The ioBroker Community 2014-2021
                              logo