Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Solaredge mit Modbus

    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

    Solaredge mit Modbus

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      JoergH @anbima last edited by JoergH

      @anbima

      Du musst immer mit einem Trigger arbeiten, damit die Programme sozusagen bei Eintreten gestartet werden. Also wie von mir oben gezeigt einen Trigger auswählen, dann bspw. als ObjectID im Trigger "Total Real Power..." auswählen und bei "geändert" wird das Programm dann immer aufgerufen, also jedesmal wenn sich dieser Wert ändert. Man kann das aber sinnvollerweise auch auf einen Zeitplan umstellen (anderes Triggersymbol) und dort dann z.B. mal alle 5 min. eintragen, dann wird das Programm alle 5 Minuten aufgerufen und mithilfe Deiner Prüfung dann eben etwas ausgelöst.

      P.S.: Die beiden Blöcke musst Du noch direkt hintereinanderhängen...

      1 Reply Last reply Reply Quote 0
      • A
        anbima last edited by

        Ok, verstanden.
        Mit dem hintereinanderhängen meinst du, dass ich die zusammen in den einen Trigger nehme?

        Die Instanzen aus dem Screenshot sind so korrekt?

        J 1 Reply Last reply Reply Quote 0
        • J
          JoergH @anbima last edited by JoergH

          @anbima

          Ich meine, dass Du die beiden Falls Abfrageblöcke zu einem Flow zusammenhängst. Alles muss dann von dem Zeitplan umschlossen sein, aber keine Unterbrechung darin sein.

          Ja, Javascript läuft. Du hast ja auch schon in Blockly geschrieben...

          1 Reply Last reply Reply Quote 0
          • A
            anbima last edited by

            Ich habe jetzt alles entsprechend angepasst, aber es funktioniert nicht richtig.
            Die Steckdose wird immer eingeschaltet, auch wenn der Wert auf negativ ist.

            So schaut es derzeit aus:
            Einspeisung.jpg Script.jpg

            M_AC_Power ist bei Einspeisung positiv und wenn Strom bezogen wird negativ (ein Minus-Zeichen vorne dran).

            Kann es daran liegen, dass der Wert (800) als Textfeld eingegeben ist?
            Oder was kann es sein?

            J 1 Reply Last reply Reply Quote 0
            • A
              anbima last edited by

              Ich habe jetzt mal eine Test-Variable mit dazu genommen, mit welcher ich den Wert manuell ändern kann. Wenn ich hier die Werte entsprechend ändere, schaltet die Steckdose korrekt.

              Ich vermute, dass die Abfrage mit dem Wert vom Modbus nicht zurecht kommt.
              Was kann ich machen?

              Test.jpg

              1 Reply Last reply Reply Quote 0
              • J
                JoergH @anbima last edited by

                @anbima

                Ja, Du vergleichst hier einen Zahlenwert mit einem String, das geht so nicht. Nimm "Mathematik" statt "Text" und dort die Zahl von ganz oben. Die änderst Du auf den gewünschten Wert.

                1 Reply Last reply Reply Quote 0
                • A
                  anbima last edited by

                  Wenn ich es so mache, wie es jetzt ist, kann ich die Zahl von "Mathematik" nicht einfügen. Das Feld wird an dieser Stelle nicht zugelassen.

                  Ich habe dann die "rote" Objekt-ID genommen und da kann ich die Zahl einfügen. Aber es funktioniert trotzdem nicht.

                  So habe ich es jetzt.
                  Was muss ich ändern?
                  Test.jpg

                  J 1 Reply Last reply Reply Quote 0
                  • J
                    JoergH @anbima last edited by

                    @anbima

                    Jetzt stimmt das mit der Zahl, nur musst Du halt noch den Wert des Datenpunktes vorne einfügen, statt des "Objekt ID". Objekt ID ist immer ein Platzhalter und kein Wert an sich. Der richtige Baustein dafür ist unter System zu finden.

                    cb2955d7-5839-4144-8735-82302c0c5a36-grafik.png

                    Den vorne einfügen, dann auf "ID auswählen" klicken und den richtigen Wert aus der geöffneten Liste der Objekte auswählen, dann klappt es auch.

                    Schau Dir am besten mal ein wenig Blockly Tutorials an oder andere Beispiele....

                    1 Reply Last reply Reply Quote 0
                    • A
                      anbima last edited by

                      Dank deiner super Hilfe läuft es jetzt.
                      Bei mir hagelt es jetzt aber Fehlermeldungen in den Protokollen, wenn ich die Shelly-Steckdose ausstecke. Hier der Fehler, der sich alle paar Sekunden wiederholt:

                      Error in function state.coap.http_cmd for state SHPLG-S#DDB706#1.Relay0.Switch and request{"url":"http://192.168.1.51/relay/0","timeout":5000,"qs":{"turn":"off","timer":0}} for 192.168.1.51 (shellyplug-s / shellyplug-s-DDB706 / SHPLG-S#DDB706#1) (Error: connect EHOSTUNREACH 192.168.1.51:80)
                      

                      Ich habe auch schon mit der Instanz "Ping" einen Ping auf die 192.168.1.51 erstellt und dann über einem neuen Trigger abgefragt, ob der Ping auf "True" ist. Wenn ich das mache, dann funktioniert die Steckdose nicht mehr. Diese kann ich dann auch über die Instanz von "Shelly" nicht mehr an- und ausschalten. Es scheint, als ob die Verbindung zur Shelly abgebrochen ist, da auch keine Verbrauchswerte mehr angezeigt werden.

                      Was kann ich da machen?

                      J 1 Reply Last reply Reply Quote 0
                      • J
                        JoergH @anbima last edited by

                        @anbima

                        Gern geschehen.

                        Wenn Du die Steckdose "aussteckst", also vom Strom trennst, kann sie doch nicht mehr erreichbar sein und die Fehlermeldungen sind logisch oder was meinst Du nach dem erneuten Versorgen mit Strom?

                        Bei letzterem: Check mal über die Einstellungen im Browser, ob da der Reboot nach "Connection lost" eingeschaltet ist, ansonsten mögen die sich nämlich nach Netzverlust nicht neu verbinden...

                        1 Reply Last reply Reply Quote 0
                        • A
                          anbima last edited by

                          Wo finde ich die Einstellung "Connection lost"?
                          Einen Browser habe ich bei den Instanzen nicht. Oder muss ich da noch was installieren?

                          Ich habe jetzt testweise einen weiteren Parameter der Steckdose abgefragt, bevor der Switch geschaltet wird:
                          Test.jpg
                          Hier kommt nun folgender Fehler:

                          Error in function state.coap.http_cmd for state SHPLG-S#DDB706#1.Relay0.Switch and request{"url":"http://192.168.1.51/relay/0","timeout":5000,"qs":{"turn":"off","timer":0}} for 192.168.1.51 (shellyplug-s / shellyplug-s-DDB706 / SHPLG-S#DDB706#1) (Error: ESOCKETTIMEDOUT)
                          

                          Die Steckdose ist nicht immer angesteckt.
                          Was kann ich machen, damit die Fehlermeldungen nicht kommen?
                          Die Abfrage mit Ping hat nicht funktioniert.

                          1 Reply Last reply Reply Quote 0
                          • A
                            anbima last edited by

                            Am besten wäre es, wenn erst eine Prüfung durchgeführt wird, ob die Steckdose angesteckt ist. Ich hatte das mit Ping gemacht, aber das hat nicht funktioniert.

                            Wenn die Steckdose wieder angesteckt wird, wird diese auch direkt wieder erkannt und es kommen keine neuen Fehler.

                            Wie könnte ich das am besten machen, dass erst geprüft wird, ob die Steckdose vorhanden ist. Denn dann dürfte ja keine Fehlermeldung kommen.

                            Die Fehlermeldungen würden ja sonst die Logdatei sprengen, da ja alle 2 Sekunden ein Eintrag dazu kommt.

                            J 1 Reply Last reply Reply Quote 0
                            • J
                              JoergH @anbima last edited by

                              @anbima

                              Ich würde mal auf "Connection" prüfen. Die dürfte ja weg sein, wenn die Steckdose rausgezogen ist...

                              A 1 Reply Last reply Reply Quote 0
                              • A
                                anbima @JoergH last edited by

                                @joergh said in Solaredge mit Modbus:

                                Ich würde mal auf "Connection" prüfen. Die dürfte ja weg sein, wenn die Steckdose rausgezogen ist...

                                Wie kann ich das machen?

                                J 1 Reply Last reply Reply Quote 0
                                • J
                                  JoergH @anbima last edited by

                                  @anbima

                                  Du suchst Dir einen Wert, der oft upgedatet wird und fragst danach wann der zuletzt erneuert wurde (z.B. RSSI). Ist das schon länger her, ist er wohl nicht erreichbar. Du kannst nicht nur den Wert selbst, sondern auch den Zeitstempel abfragen wann er geschrieben wurde.

                                  4c9b6cf4-7c5c-4281-a8f2-3e55839f85cd-grafik.png

                                  1 Reply Last reply Reply Quote 0
                                  • A
                                    anbima last edited by

                                    Ich vermute, dass selbst diese Prüfung bereits eine Fehlermeldung generiert.
                                    Kaum ist der Stecker raus, kommen die Meldungen:

                                    Error in function state.coap.http_cmd for state SHPLG-S#DDB706#1.Relay0.Switch and request{"url":"http://192.168.1.51/relay/0","timeout":5000,"qs":{"turn":"off","timer":0}} for 192.168.1.51 (shellyplug-s / shellyplug-s-DDB706 / SHPLG-S#DDB706#1) (Error: ETIMEDOUT)
                                    

                                    Ich habe es jetzt mal mit einem einfachen Code probiert:
                                    Test.jpg

                                    Sobald auf die Steckdose zugegriffen wird, kommt eine Fehlermeldung, wenn diese nicht eingesteckt ist.

                                    Noch ne Idee?

                                    J 1 Reply Last reply Reply Quote 0
                                    • J
                                      JoergH @anbima last edited by

                                      @anbima

                                      Du musst den Zeitstempel irgendwie in der Falls Abfrage in Bezug zur akuellten Zeit setzen, also Zeitstempel - aktuelle Zeit <= 60000 zum Beispiel (Zeitwerte werden in Millisekunden angegeben)
                                      So wie Du das gemacht hast, ermittelt er nur, ob ein Zeitstempel existiert und das tut er ja immer, womit diese Bedingung immer erfüllt ist, sprich überflüssig.
                                      Die Meldung kommt, weil er versucht die Steckdose zu schalten, was nicht geht, weil sie nicht mit Strom versorgt, sprich nicht erreichbar ist.

                                      1 Reply Last reply Reply Quote 0
                                      • A
                                        anbima last edited by

                                        Ok, danke.
                                        Jetzt habe ich das System verstanden und kann es mir so programmieren, wie ich es mir vorstelle.

                                        Noch eine andere Frage:
                                        Ich möchte mir bestimmte Daten über den Browser anzeigen lassen.
                                        Das "vis" habe ich schon gesehen, aber das ist für mich zu Umfangreich.
                                        Gibt es hier was ganz einfaches, um eben nur bestimmte Daten auszugeben oder gibt es gar ein fertiges Template für den Solaredge Wechselrichter?

                                        J 1 Reply Last reply Reply Quote 0
                                        • J
                                          JoergH @anbima last edited by

                                          @anbima

                                          Ja, es gibt noch andere Möglichkeiten der Visualisierung. Alle haben Vor- und Nachteile. Vis schreckt erst einmal ab, da sehr umfangreich. Dafür kann man auch sehr viel machen und wenn man das System verstanden hat, ist es nicht so schlimm wie gedacht. Dazu findet man auch hier im Forum jede Menge Visualisierungen, die man sich importieren kann. Ich habe selber lange gelesen und bin am Ende doch bei vis gelandet.

                                          Einen Überblick über die verschiedenen Visualisierungen findest Du bspw. hier https://www.smarthome-tricks.de/software-iobroker/iobroker-visualisierungen-uebersicht-und-vergleich/

                                          Ein "template" ist mr nicht bekannt, das muss aber nichts heißen, da ich nie danach gesucht habe. Es gibt aber hier auch Diskussionen über einen Adapter für Solaredge WR, frag doch in dem Thread mal...?

                                          A 1 Reply Last reply Reply Quote 0
                                          • A
                                            anbima @JoergH last edited by

                                            @joergh
                                            Ich habe jetzt mit dem VIS eine kleine "Visualisierung" gemacht, mit welche ich die Steckdosen auch manuell ein- und ausschalten kann.

                                            Das ganze läuft über das Lampensymbol.

                                            Nun habe ich mit Blockly ein Script, welches die Steckdosen abschaltet, wenn der erzeugte Strom auf 0 geht (siehe Foto).

                                            Wie könnte ich das machen, dass in der Visualisierung ein weiterer Schalter vorhanden ist, mit welchem ich das Script für das Abschalten der Steckdosen deaktivieren kann?

                                            Ich möchte gelegentlich tagsüber die Steckdosen einschalten, obwohl kein Strom vom Dach kommt. Aber das Script schaltet dann natürlich sofort wieder ab. Für die Nacht habe ich es einfach mit der Zeitschleife gemacht.Aus.jpg

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            45
                                            2147
                                            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