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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Übergabe von Werten von Smartmeter an cFos Wallbox

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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 B 2 Replies 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
                            • B
                              berlinerbolle @euro last edited by

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

                              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

                              Hallo zusammen,

                              hätte jemand der Vollständigkeit halber eventuell nochmal das komplette funktionierende Script, inklusive der Anpassung von @euro - und kurzer Erläuterung, welche Variable was ist? Ist "Arbeit" der aufsummierte Import? Wozu braucht man den? Ich wäre jetzt davon ausgegangen, dass man nur die aktuelle Leistung am Hausanschluss übergeben muss (inkl. errechneter Stromstärken anscheinend)? Kann das kurz jemand klarstellen? Danke!

                              Gruß
                              Hendrik

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

                                Hallo Hendrik,
                                nutzt du einen Lesekopf mit tasmorta am eHz?
                                ich hab es letzte Woche umgestellt und den "Umweg" über ioBroker entfernt.
                                die Cfos kann dies mittlerweile selbst, siehe
                                https://www.cfos-emobility.de/de/cfos-charging-manager/documentation/optical-reader-sml.htm
                                die Zählervorlage muss man noch auf die eigene Umgebung etwas anpassen

                                falls uninteressant, kann ich dir gerne mein Skript nochmal zusenden

                                mit dem letzten Firmwarestand geht Solarladen wieder mit VA und W Lieferung 🙂
                                Bei Fragen dazu .. melden

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

                                  @euro

                                  Danke für die schnelle Antwort! Die Werte an sich liegen mir alle vor (Smartmeter und Sungrow Wechselrichter, wird alles per ioBroker eingesammelt - also kein Lesekopf). Ich hatte schon überlegt, ob ich die Werte direkt per Modbus von der cFos auslesen lasse, aber Modbus am Wechselrichter scheint etwas Probleme damit zu haben, wenn mehrere Clients Werte abfragen. Deshalb wollte ich es erstmal mit ioBroker versuchen, da dort eh schon alles vorliegt.

                                  Welche Werte genau muss ich denn an die cFos liefern? Reicht im Endeffekt also die tatsächliche Leistung, die Stromstärken brauche ich nicht (mehr)? Mich irritiert etwas, dass durch das Script zwei Werte an den virtuellen Zähler der cFos geliefert werden sollen - "Arbeit" und "Leistung". Ich hatte gedacht, dass nur "Leistung" (in meinem Fall vorliegend in Watt) reicht, und ich das als "power_w" übergeben kann. Muss ich zwingend "import_vah" und "export_wh" auch übergeben? Falls ja, was müssen da für Werte rein? Im Beispiel in der cFos Doku scheinen da Fantasiewerte drin zu stehen. Wofür genau werden die genutzt? In der cFos Doku habe ich leider nichts gefunden, wo dokumentiert ist, welcher Wert was genau ist...

                                  Und ja, das Script wäre super, am besten mit kurzer Anmerkung welche Variable im HTTP request was macht und ob sie überhaupt fürs Überschussladen nötig ist. 🙂

                                  Danke Dir!

                                  Gruß
                                  Hendrik

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

                                    @berlinerbolle
                                    das war Stand Januar

                                    "wir haben in der Version 1.16 geändert, dass der Charging Manager den Wert für "power_w" unbedingt braucht. Der HTTP Input Zähler bekommt über den HTTP request aber nur power_va.
                                    Ich habe jetzt eingebaut, dass er power_w, falls fehlend, auf power_va setzt.
                                    Können Sie bis zur nächsten Version in dem HTTP request kurzerhand power_w setzen"

                                    nach Update auf version 1.16.6 gehen nun beide Varianten wieder
                                    Skript liefere ich dir per PN

                                    mfg
                                    STefan

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      march last edited by

                                      Hello @euro

                                      Kannst du mir nochmal Hilfestellung geben? Ich hab einen Hichi IR Lesekopf der auch soweit funktioniert, ich bekomme aktuelle Last bzw. sehe was aktuell Eingespeist wird und versuche den nun als HTTP Input Zähler hinzuzufügen.
                                      Ich kann aber nirgendes eine IP Adresse eintragen - ist das normal? Bin auf Version 1.18

                                      cfos_httpinput.png

                                      Zwar hab ich auch IOBROKER im Einsatz, würde aber gerne den direkten Weg gehen.

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

                                        @march
                                        Hi und Sorry, hatte die Frage übersehen

                                        du musst dir hier bei cfos die Vorlagendatei für den Tasmota
                                        https://www.cfos-emobility.de/files/meter-definitions/tasmota_smartmeter.json

                                        herunterladen und an deine Umgebung anpassen, bei mir musste ich den Namen anpassen
                                        im ersten cfos Link ist die Beschreibung, musste auch jeden Satz 2 mal lesen um zu verstehen was alles zu tun ist
                                        http://ip_lesekopf/cm?cmnd=status%2010
                                        hiermit bekommst du den Output deines Zählers, mit dem Output passt du dann die Vorlagendatei an

                                        gehst unter Konfiuration und lädst dort deine angepasste Vorlagendatei als Zählerdefinition hoch
                                        anschliessend in Screenshot von dir dann den neuen Zähler (statt HTTP Input) auswählen, dann kannst du dort die IP hinterlegen, sieht bei mir so aus (Zählername kannst du in der Vorlage anapassen)

                                        db312e2a-46b0-45ee-b2bc-0f3f08f0c11a-image.png

                                        wenn es nicht klappt, am besten mal den output deines Zählers hier posten
                                        http://ip_lesekopf/cm?cmnd=status%2010

                                        mfg
                                        STefan

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

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

                                          os Link ist die Beschreibung, musste auch jeden Satz 2 mal lesen um zu verstehen was alles zu tun ist
                                          http://ip_lesekopf/cm?cmnd=status%2010
                                          hiermit bekommst du den Output deines Zählers, mit dem Output passt du dann die Vorlagendatei an
                                          gehst unter Konfiuration und lädst dort deine angepa

                                          Du scheinst dich ja gut auszukennen mit der Cfos. Ich habe meine heute bestellt, scheint ja die beste zu sein, die es auf dem Markt gibt. Meine Mennekes ist zum Glück verkauft.

                                          So, nun muss ich aber der Cfos einige Daten übergeben. Ich habe eine 40,5 kwp PV Anlange von Huawei. Die habe ich per Modbus TCP am iobroker und hole mir alle Daten soweit rein. Nun will ich ja PV Überschuss laden und muss dafür der Cfos einige Daten bereitstellen. Huawei kann aber nur 1 Verbindung, also dachte ich, vielliecht sollte ich die Cfos per MQTT anbinden und die Daten so austauschen zwischen iobroker und Cfos.
                                          Oder hat vielleicht einer eine bessere Idee?

                                          Tibber wäre auch noch vorhanden.

                                          Gruß und Danke für die Unterstützung.

                                          B 1 Reply Last reply Reply Quote 0
                                          • B
                                            berlinerbolle @ple last edited by

                                            @ple

                                            Falls du Erfolg per MQTT hast, schreib mal bitte hier was genau du dafür getan hast. Ich bekomme aktuell keine Daten per MQTT zum in der cFos dafür eingerichteten HTTP Input Zähler.

                                            Ich hatte bisher nur Erfolg per HTTP (funktioniert ja auch), aber MQTT wäre mir deutlich lieber.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            485
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            11
                                            42
                                            6053
                                            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-2023
                                            logo