Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. ESP-Controller per URL auslesen und wie senden?

    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

    ESP-Controller per URL auslesen und wie senden?

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      HerrFrodo last edited by Homoran

      Hallo zusammen,

      ich habe mir 3 Huawei R4850G2 Ladegeräte nach der Anleitung von Klaus zusammengebastelt: (https://github.com/KlausLi/Esp-HuaweiR4850-Controller)
      Die Verbindung per WebGui funktioniert einwandfrei.
      Um den Controller steuern zu können, gibt es die Möglichkeit per URL eine jSON-Zeichenkette abzufragen und per HTTP-Befehl kann ich die Parameter Spannung und Stromstärke einstellen.
      MQTT gibt es auch und die unter den Objekten kann ich auch die jSON-Zeichenkette auslesen sowie einige andere Werte. Leider habe ich noch nicht herausgefunden, wie ich Werte per MQTT senden kann und warum der Controller nach einigen Minuten in den Offline-Modus geht....vielleicht weis jemand warum.

      Bezüglich der URL-Abfrage habe ich dann folgende Blöcke kombiniert:
      Blockly_HuaweiR4850G2.PNG
      Blockly2_HuaweiR4850G2.PNG

      Nun gibt es die URL, bei der man die Werte für Spannung und Stromstärke senden kann und dabei brauche ich bitte eure Hilfe.
      Das ist der HTTP-Befehlscode mit den Variablen für V_DC und A_DC:

      http://192.168.1.21/VAStatic?V_DC=52.0&A_DC=20
      

      Noch zur weiteren Erklärung....
      Ich möchte die Werte in VIS gerne per Dropdown oder Schieberegler manuell einstellen können.
      Zudem plane ich ein Programm, welches den Generator über Victron CerboGX startet (Modbus - bekomme ich hin) und dann über den ESP-Controller die Last nach einer Warmlaufphase langsam gleichzeitig an den 3 Phasen erhöht. Das könnte im x-Sekundentakt sein, bis die maximal vorgegebene Leistung erreicht ist, die der Generator noch verträgt (oder 20% darunter). Die Frage ist allerdings, ob das per URL abfragen und senden qualitativ gut ist oder lieber per MQTT?

      Blockly3_HuaweiR4850G2.PNG
      Json-Daten:

      { "L1L2L3" : 0.00, "EspError" : "" , "ControllerName" : "L1_Huawei R4850G2" , "StartTime" : "Wed Oct 25 20:01:24 2023" , "NotAus" : 0 , "WaitSekunden" : 3 , "MaxPower" : 1500 , "HuaweiCount" : 1, "InputVoltage" : 229.53, "InputCurrent" : 0.79, "InputPower" : 179.80, "InputFrequency" : 0.00, "InputTemperature" : 22.00, "OutputVoltage" : 52.91, "OutputCurrent" : 2.88, "OutputPower" : 158.20, "OutputMaxCurrent" : 0.00, "OutputTemperature" : 28.00, "Efficiency" : 0.88 , "WattsOut" : 0}
      

      screencapture-192-168-1-21-2023-10-26-10_38_14.png
      Besten Dank!!!

      Grüße aus Niederbayern

      Ralla66 1 Reply Last reply Reply Quote 0
      • Ralla66
        Ralla66 Most Active @HerrFrodo last edited by

        @herrfrodo

        warum noch Mqtt, der http request geht doch.
        Brauchst doch nur den Wert V_DC und A_DC als variable im Text des request senden.

        H 1 Reply Last reply Reply Quote 1
        • H
          HerrFrodo @Ralla66 last edited by

          @ralla66 said in ESP-Controller per URL auslesen und wie senden?:

          @herrfrodo

          warum noch Mqtt, der http request geht doch.
          Brauchst doch nur den Wert V_DC und A_DC als variable im Text des request senden.

          Ich dachte per MQTT sei besser und sicherer.....

          Den HTTP-Befehl im Request eingeben kenne ich schon aber ich weis nicht, wie ich mir das so variabel anlege, damit ich das per Vis und Schieberegler steuern kann.
          Der lange Weg wäre ja viele kleine Blocklys mit verschiedenen HTTP-Befehlen und Kombinationen. Gibt es die Möglichkeit die beiden Werte als Variable anzugeben? Dann könnte ich leicht in den Objekten die Variablen erstellen und in Vis per Widget die Werte ändern. Ändere ich den Wert(als Trigger), dann setzt er diesen in die Request-Textzeile ein.

          OliverIO 1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO @HerrFrodo last edited by

            @herrfrodo

            wieso viele blocklys?

            du legst 2 eigene datenpunkte an, für die variablen
            in vis kannst du bei den widgets nach slider suchen, etsprechend konfigurieren (min, max, schrittweite und mit jeweils einem datenpunkt verbinden.
            so hast du dann deine werte schon mal in datenpunkten

            dann erstellst du ein blockly oder javascript
            dort reagierst du auf änderungen der beiden datenpunkte
            dann holst du dir die werte aus den datenpunkten
            bastelst die urls aus diesen werten
            und sendest die url
            fertig

            ich bin nicht so firm in blockly, aber im forum gibt es viele beispiele wie die einzelnen punkte in blockly umsetzbar sind

            H 1 Reply Last reply Reply Quote 1
            • H
              HerrFrodo @OliverIO last edited by

              @oliverio etwa so?

              Blockly5_HuaweiR4850G2.PNG

              OliverIO 1 Reply Last reply Reply Quote 0
              • OliverIO
                OliverIO @HerrFrodo last edited by OliverIO

                @herrfrodo

                wie gesagt, so gut bin ich in blockly nicht, aber
                warum steht der request block 3 mal hintereinander?

                diese Datenpunkte huawei.... sind deine eigen erstellten datenpunkte oder wo kommen die her?
                datenpunkte die du mit widgets verknüpfst sollten änderbar sein und nicht nur datenpunkte, die von einem adapter als information bereitgestellt werden

                wenn es die information über die aktuelle höhe des wert im gerät ist und der wert beschreibbar ist so das man das gerät steuern kann, dann bringt das nix, da du ja den gleichen wert reinschreiben würdest, wie das gerät aktuell eingestellt ist.

                wenn der datenpunk beschreibbar ist um das gerät zu steuern, dann brauchst du allerdings auch nicht den http request, sondern schreibst einfach direkt in den datenpunk rein. der adapter kümmert sich um den rest.
                aber die funktionsweise des adapters kenn ich in diesem fall auch nicht

                kannst du den im iobroker objekt browser in einen wert was reinschreiben und dann wird der kurze zeit später mit grün bestätigt?

                H 1 Reply Last reply Reply Quote 1
                • H
                  HerrFrodo @OliverIO last edited by

                  @oliverio ich kenne mich mit Blockly auch nicht aus 🙂

                  3x weil ich 3 Controller habe mit 3 verschiedenen URLs.
                  Die beiden Variablen der Abfrage sind als Datenpunkt-Zahl in den ioBroker-Objekten erstellt.
                  Diese werde ich dann in Vis durch ein Widget ändern können.

                  Verändere ich also eine Zahl, dann trigger ich das Blockly und es sendet die Werte der Variablen im Text an die 3 Controller.

                  OliverIO Codierknecht 2 Replies Last reply Reply Quote 0
                  • OliverIO
                    OliverIO @HerrFrodo last edited by

                    @herrfrodo sagte in ESP-Controller per URL auslesen und wie senden?:

                    Die beiden Variablen der Abfrage sind als Datenpunkt-Zahl in den ioBroker-Objekten erstellt

                    du hast sie selbst erstellt oder ein adapter?

                    H 1 Reply Last reply Reply Quote 1
                    • Codierknecht
                      Codierknecht Developer Most Active @HerrFrodo last edited by Codierknecht

                      @herrfrodo sagte in ESP-Controller per URL auslesen und wie senden?:

                      3x weil ich 3 Controller habe mit 3 verschiedenen URLs.

                      Das Prinzip:
                      641ed9fe-9c18-486b-a4a8-4ea324212dec-image.png
                      Die Liste kann man beim Start des Script anlegen. Also vor jedem Trigger.
                      Die Variablen besetzt man im Trigger 1x, damit man nicht mehrfach die Objekte lesen muss.
                      In der Schleife werden dann die Requests ausgeführt.

                      H 1 Reply Last reply Reply Quote 1
                      • H
                        HerrFrodo @OliverIO last edited by

                        @oliverio
                        Ich habe sie selbst erstellt in den Objekten
                        Blockly6_HuaweiR4850G2.PNG

                        OliverIO 1 Reply Last reply Reply Quote 0
                        • H
                          HerrFrodo @Codierknecht last edited by

                          @codierknecht said in ESP-Controller per URL auslesen und wie senden?:

                          Die Liste kann man beim Start des Script anlegen. Also vor jedem Trigger.
                          Die Variablen besetzt man im Trigger 1x, damit man nicht mehrfach die Objekte lesen muss.
                          In der Schleife werden dann die Requests ausgeführt.

                          Danke Dir!
                          Ich habe die Variable Spannung und Strom. Wenn sich eine der beiden ändert, dann soll er triggern. Bei "falls Objekt" kann ich nur ein Objekt angeben oder?

                          Codierknecht 1 Reply Last reply Reply Quote 0
                          • OliverIO
                            OliverIO @HerrFrodo last edited by

                            @herrfrodo sagte in ESP-Controller per URL auslesen und wie senden?:

                            Ich habe sie selbst erstellt in den Objekten

                            ok,

                            dann passt das den soweit. wenn du dann in einem der datenpunkte
                            einen wert änderst, kommt dieser wert dann auch in den geräten an?
                            funktioniert das?
                            wenn ja, dann bleibt eigentlich nur noch vis

                            1 Reply Last reply Reply Quote 1
                            • Codierknecht
                              Codierknecht Developer Most Active @HerrFrodo last edited by

                              @herrfrodo sagte in ESP-Controller per URL auslesen und wie senden?:

                              Bei "falls Objekt" kann ich nur ein Objekt angeben oder?

                              Nein, das können auch mehrere sein.

                              7e58e5ab-0278-4449-ba70-b166ab2fd8ca-image.png

                              H 1 Reply Last reply Reply Quote 1
                              • H
                                HerrFrodo @Codierknecht last edited by HerrFrodo

                                @codierknecht
                                @OliverIO
                                @Ralla66

                                Ich habe es nun so gemacht:
                                Blockly7_HuaweiR4850G2.PNG

                                Blockly8_HuaweiR4850G2.PNG

                                Ich habe noch eine dritte Variable erzeugt, welche bei Falls Objekt abgefragt wird.
                                Durch drücken auf den grünen OK-Button, ändert sich die dritte Variable nach treu oder false und löst damit den Trigger aus. Vorteil ist, dass ich erst in Ruhe die Werte eingeben kann und dann erst sende. Notaus fehlt noch.

                                Ich danke euch für eure Hilfe!!!!

                                Ich möchte dann in den kommenden Tagen noch die Halbautomatik für den Generator fertigstellen. Aber das ist ein anderes Thema.

                                Nochmals besten Dank!

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                588
                                Online

                                31.9k
                                Users

                                80.1k
                                Topics

                                1.3m
                                Posts

                                4
                                14
                                1128
                                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