Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. S0 - Signal mit Wemos D1 Mini erzeugen?

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    S0 - Signal mit Wemos D1 Mini erzeugen?

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      Bernd Schwaiger @Dieter_P last edited by

      @dieter_p

      Hallo Dieter,
      vielen Dank für deine rasche Antwort.
      Die Bauanleitung hatte ich auch schon gesehen.

      Eigentlich hatte ich gehofft, dass sich vielleicht jmd bereits damit beschäftigt hat und ich nur nachbauen muss ohne lange rumzutüfteln.
      Sieht aber so aus, als müsste ich mich in den Wintermonaten, wenn ich wieder etwas mehr Zeit habe, mal etwas länger damit beschäftigen.
      Deinen Vorschlag mit dem ESP32 werde ich mir auf jeden fall ansehen!
      Danke dafür!

      LG

      D 1 Reply Last reply Reply Quote 0
      • D
        Dieter_P @Bernd Schwaiger last edited by Dieter_P

        @bernd-schwaiger
        Hi Bernd,

        für den ersten Test würde ich wahrscheinlich keinen Lötkolben auspacken und den ESP32 an so ein Modul hängen. Der Rest ist dann Software und den GPIO zum korreckten Pulsen für einen s0 zu bewegen.

        Edit: Hat mich selber interessiert und könnte auch bei mir so zum Einsatz kommen. Mit ESPEasy würde ich es nun so per Rule angehen:

        on System#Boot do
        LoopTimerSet_ms,1,100
        endon
        
        on Rules#Timer=1 do
          Let 1,%v1% + "mqtt-Power"/72     // mqtt Import ergänzen, Berechnung 72kW für alle 100ms ein Puls (Wärmepumpe hat s0 -> 500 Impulse pro kWh)
          if %v1% >= 1
            LongPulse_mS,"GPIO-Number",1,30    //  GPIO Nummer eintragen wo der PC817 angecshlossen ist
            Let 1,0
          endif
        endon
        
        B 1 Reply Last reply Reply Quote 0
        • B
          Bernd Schwaiger @Dieter_P last edited by

          @dieter_p

          Hi Dieter,

          danke nochmal für deine Zeit und deine Mühe!

          Ich hab mir mal ein paar Module bestellt zum Probieren bestellt.
          Wie gesagt werde ich aber wahrscheinlich erst im Winter die Möglichkeit haben da mehr Zeit zu investieren, mich weiter reinzulesen und zu probieren.

          @dieter_p sagte in S0 - Signal mit Wemos D1 Mini erzeugen?:

          könnte auch bei mir so zum Einsatz kommen.

          Ich vermute stark, dass dieses Thema einige interessieren und betreffen könnte. Oft wird gar nicht an eine solche Variante gedacht, sondern einfach Zähler mit S0 Schnittstelle eingebaut und dann Kabel verlegt.

          Danke nochmals!

          LG
          Bernd

          D 1 Reply Last reply Reply Quote 0
          • D
            Dieter_P @Bernd Schwaiger last edited by Dieter_P

            @bernd-schwaiger

            Interessant wäre noch zu wissen, wie die Wärmpepumpe mit den s0 Signalen umgeht. Denke da wird eine begrenzte Logik hinter sein und im einfachsten Fall nur eine Prüfung ob der Überschuss groß genug ist um die WP zu betreiben. Falls dem so ist, kann man sich die "Modelierung" des s0 Signals ja erheblich vereinfachen (aktuell stecken da bestimmt so noch Fallstricke im Code-Gebastel). Du prüfst im ESP (Event basiert) den MQTT-Wert auf größer und kleiner und schickst entsprecht Pulse die den Trigger der WP auslösen oder eben nicht.
            Bsp (Triggerpunkt WP = 3,6kW)
            Mqtt-Überschuss > 3,6kW = s0-Ausgang Puls alle 2 Sekunden
            Mqtt-Überschuss <3,6kW = s0-Ausgang Puls alle 3 Sekunden

            Beste Grüße

            B 1 Reply Last reply Reply Quote 0
            • B
              Bernd Schwaiger @Dieter_P last edited by Bernd Schwaiger

              @dieter_p
              Hi Dieter,

              auf Seite 13 des hochgeladenen PDFs stehen die Voraussetzungen der WP.
              Da weiter unten überall beschrieben wird, dass mind. 2 Signale angeschlossen werden müssen, gehe ich davon aus, dass diese den Überschuss selbst errechnet und entsprechend dann den Verbrauch anpasst.
              Ich denke, dass Einfachste wäre daher, wenn ich die beiden Signale vom Zähler des Hausanschlusses und vom Wechselrichter 1:1 weiterschicke und die WP machen lasse.
              Da in der WP die Impulsraten einstellbar sind, ist vermutlich auch mit 1000 Impulsen / KW am einfachsten zu rechnen.

              264033_IS_PV-Smart-Grid-Touch_DE.pdf

              LG

              D 1 Reply Last reply Reply Quote 0
              • D
                Dieter_P @Bernd Schwaiger last edited by Dieter_P

                @bernd-schwaiger

                Hi Bernd,

                ah hatte mir nur den Anschlußplan angesehen (da stehen auch die 500Imp./s) . Das ist mal eine Auskunft-> schönes Handbuch.

                Hatte bisher die Kabelverlegung als No-Go oder sehr aufwendig verstanden.

                Wenn Du ein 2 kanaliges Optokoppler Modul bestellt hast, sollte das doch auch kein Thema sein.

                Bei ESPEasy war einer der Entwickler so nett und hat extra für diese Anwendung die Software erweitert.

                Nun ist es möglich ohne Dauerschleife(also Eventgetriggert) modelierte Impulse/Signale zu senden:

                longpulse_ms,2,1,30,7170,-1
                

                Hiermit schickt du ein dauerhaftes Signal (aktiviert mit -1) an GPIO2.
                Welches 7170ms-30ms low ist und 30ms High.

                Das triggest Du auf Änderung vom MQTT Signal und veränderst entsprechend die 7170ms.

                Schöne Sache.

                Liegt aktuell auf Github, dürfte aber im nächsten Release auch enthalten sein.

                B 1 Reply Last reply Reply Quote 0
                • B
                  Bernd Schwaiger @Dieter_P last edited by

                  @dieter_p
                  Hi Dieter,
                  hat zwar leider etwas gedauert (bin einfach nicht vorher dazukommen...), aber hab mich da jetzt mal was mit dem Projekt beschäftigt.

                  Hab mir die Norm (EN 62053-31) besorgt und alles soweit aufgebaut (mithilfe meines Arbeitskollegen), wie ich der Meinung bin, dass es stimmen sollte^^

                  62053-31_1.PNG

                  Die Schaltung dazu:
                  IMG_20230201_125750.jpg

                  Da ich die 5V vom Wemos D1 Mini abgreife um das 15mA Signal zu erzeugen konnte ich das fertige Modul hat leider nicht verwenden, da dort zu große Wiederstände verbaut sind (meine Kollege hat dann die Optokoppler ausgelötet und wir ahben die dann auf eine eigene Platine aufgebaut).
                  Ich hoffe jetzt, dass die Spannung vom Signal (ca. 4V) ausreichen für die S0-Schnittstelle, da in der Norm nichts von Min-Spannung steht.

                  Zum Programm:
                  Ich schicke die Werte vom Shelly EM3 & vom Fronius-Wechselrichter an 2 ESP8266 (2x Wemos D1 Mini) Mqtt.png
                  und wandle dann die Werte folgendermaßen in das Pulsen vom Ausgang D2:
                  Programm.png
                  (Taktet so lange gleich, bis der MQTT-Wert sich ändert)

                  Lt. Oszilloskop ist das Signal ein schönes Rechteck und die Pulsdauer passt auch super (im Versuch hab ich 30ms EIN und 30ms AUS getestet).

                  Mein Plan wäre die Schaltung diese Woche mal an die Wärmepumpe zu hängen.

                  LG
                  Bernd

                  D 4 Replies Last reply Reply Quote 0
                  • D
                    Dieter_P @Bernd Schwaiger last edited by Dieter_P

                    @bernd-schwaiger

                    Hallo Bernd, vielen Dank für dein Feedback und Norm-konformes s0 Signal hat natürlich viele Vorteile und ist spitze.

                    Ich hab nun endlich letzte Woche mein Handoszi bekommen und wollte nochmal was testen/spielen damit. Diese Woche werde ich es leider nicht schaffen.

                    VG

                    Edit: So das Spielkind hat etwas Zeit gefunden und kann Dir nur zustimmen, dass das gut aussieht. zB die 30mS trifft der ESP so recht gut bei ca. 3,3V die ein GPIO üblicherweise liefert:
                    cfd2d40c-c799-4a67-bcc2-24a356bb2de4-grafik.png

                    1 Reply Last reply Reply Quote 0
                    • D
                      Dieter_P @Bernd Schwaiger last edited by Dieter_P

                      @bernd-schwaiger stolper gerade nochmal über Deine Schaltung. Du gibst dort aktiv 5V drauf auf den Ausgang des Optokopplers?

                      Warum?
                      Die Spannung und auch den Strom sollte der Eingang zur Verfügung stellen. Der Ausgang liefert nur den Schalter/die Diode die Auf/Zu macht. Gespeist wird das vom Eingang (der WP).

                      wie hier gezeigt:

                      die mcu-seite liefert der ESP32-GPIO und der Ausgang ist Dein S0+ (rot 3-24V) und S0- (signal output) der Wärmepumpe:

                      c39006cb-9c7a-4371-bc73-779ae2d1a4d1-grafik.png

                      was ich spontan vermisse wäre der 200Ohm Widerstand aber der lässt sich ja flott darein bringen
                      18d5cebc-bf4f-44a5-a609-79b34a53d5c3-grafik.png

                      1 Reply Last reply Reply Quote 0
                      • D
                        Dieter_P @Bernd Schwaiger last edited by

                        @bernd-schwaiger

                        Also zusammengedaddelt so:

                        d6d9c7f4-3b51-4f12-9c83-7a71a0238e2c-grafik.png

                        1 Reply Last reply Reply Quote 0
                        • D
                          Dieter_P @Bernd Schwaiger last edited by Dieter_P

                          @bernd-schwaiger said in S0 - Signal mit Wemos D1 Mini erzeugen?:

                          Da ich die 5V vom Wemos D1 Mini abgreife um das 15mA Signal zu erzeugen konnte ich das fertige Modul hat leider nicht verwenden, da dort zu große Wiederstände verbaut sind (meine Kollege hat dann die Optokoppler ausgelötet und wir ahben die dann auf eine eigene Platine aufgebaut).
                          Ich hoffe jetzt, dass die Spannung vom Signal (ca. 4V) ausreichen für die S0-Schnittstelle, da in der Norm nichts von Min-Spannung steht.

                          könnte funktionieren, da die Wärmepumpe mit 3,3V das s0 Signal speist:
                          cb58dbd4-afc4-4bc6-b567-6922f9726fc4-grafik.png

                          da eine Fremdspannung vom D1 Mini reinzubringen, gefällt mir nicht wirklich (unterschiedliche Potentiale und so ein "Gemüse"). mit 3,3V kommt man allerdings auch nicht wirklich weit. Würde dennoch mit der Spannungsversorgung der Wärmepumpe starten, da es erstmal so vorgesehen ist.

                          B 2 Replies Last reply Reply Quote 0
                          • B
                            Bernd Schwaiger @Dieter_P last edited by

                            @dieter_p
                            🤦‍♂️ mein fehler.
                            Habe die Schaltung in der Arbeit zusammengebastelt. Da hatte die ich Versorgung der Wp nicht. Deshalb hatten wir wir dann die 5V vom Wemos abgegriffen.
                            Da gings ja in erster Linie noch ums probieren, obs überhaupt geht, ob der Esp schnell genug schaltet. Bzw wie das mit den Impulsen dann am Oszi aussieht.

                            Hab dann i-wo nen Knoten im Gedankengang gehabt und mich verrannt… Vielen lieben Dank fürs berichtigen!

                            Ich werd die Schaltung Anfang nächster Woche anpassen, da ich jetzt über WE in Ungarn bin.

                            LG
                            Bernd

                            1 Reply Last reply Reply Quote 0
                            • B
                              Bernd Schwaiger @Dieter_P last edited by

                              @dieter_p
                              Schönen guten Abend Dieter,

                              hab die Schaltung angepasst. Die 3,3V werden von der WP über die S0-Klemme (Bei mir S26 & S29) bereitgestellt. Die Optokoppler musste ich sowieso auslöten, da der verbaute Widerstand am Optokoppler-Modul zu hoch war.
                              Im Moment habe ich einen 100Ohm Widerstand mit drin (Optokoppler = ca. 100Ohm + 100Ohm Widerstand = ca. 200 Ohm).
                              Weiters habe ich die Programmierung vom ESP etwas erweitert, damit ich Rückmeldung bekomme, sollte sich der MQTT-Wert 5 Minuten nicht ändern.

                              IoBroker Skripte:
                              Screenshot_20230207_194124.png
                              Screenshot_20230207_194154.png
                              IoBroker MQTT:
                              Screenshot_20230207_194246.png
                              ESP Devices:
                              Screenshot_20230207_194309.png
                              ESP Rules:
                              Screenshot_20230207_194343.png

                              Hab jetzt kurzzeitig 10kW Einspeisung simuliert und hat soweit funktioniert.
                              LG
                              Bernd

                              D 1 Reply Last reply Reply Quote 0
                              • D
                                Dieter_P @Bernd Schwaiger last edited by

                                @bernd-schwaiger

                                Besten Dank. Hab gerade eine andere Baustelle (Heizung) und hab nicht weiter probiert. Aber auch wieder was gelernt und wie Du die Verbindung bzw. über MQTT prüft sieht gut aus. Hab da bisher immer einen Wert/DP kontinuierlich gesendet/empfangen und im IOBroker den Zeitstempel geprüft auf sein Alter.
                                "MQTT Alive" gefällt mir
                                Thx!

                                Sven Wessel 1 Reply Last reply Reply Quote 0
                                • Sven Wessel
                                  Sven Wessel @Dieter_P last edited by

                                  @dieter_p Guten Abend Dieter,
                                  ich habe euren Verlauf interessiert verfolgt da ich vor dem gleichen Problem stehe, jedoch nicht vom Fach bin.
                                  Ich habe eine Remko WKF130, in welcher ich die PV-Überschluss-Funktion nutzen möchte, S0-Zähler verbauen zu müssen. Über den iobroker liegen mir via Modbus alle Daten zur Produktion, Einspeisung und Netzbezug vor. Perspektivisch werde ich mittels Shelly sogar noch die WP selbst einbeziehen.
                                  In meiner Naivität war ich nun davon ausgegangen es genügt, wenn ich mittels Blockly und GIPO die S29 (PV-Einspeisung) der Wärmepumpe mit einem Impulssignal gem. der SmartMeter Einspeise-Daten belege. Also ein 3,3V GIPO meines Raspberry an den S29 sowie Ground auf Ground.
                                  Ich habe das Handbuch auch so verstanden, dass die WP selbst saldiert. Daher war ich davon ausgegangen, das S29 genügen müsste (Überschuss - 0 = Überschuss). Leider scheint die WP den PV-Überschuss nicht zu erkennen. Zwar kann ich über den Expertenzugang im Status sehen, dass der Energiezähler Eingänge registriert, allerdings bekomme ich in der grafischen Infoübersicht neben dem WP-Verbrauch keinen PV-Überschuss angezeigt.

                                  Hast du Erfahrungen dazu ob ich noch weitere "Zählerwerte" einbinden muss oder klappt es tatsächlich nur mit einer Hardware-Erweiterung wie in deinem Beispiel per ESP (was natürlich wesentlich aufwendiger und für einen Amateur wie mich nicht so leicht zu realiseren ist)?

                                  Ich würde mich super freuen, wenn ihr mir weiterhelfen könnt und ich damit noch eine Stück mehr Autarkie bekäme.

                                  Viele Grüße!

                                  MartinP D 2 Replies Last reply Reply Quote 0
                                  • MartinP
                                    MartinP @Sven Wessel last edited by

                                    Man lernt doch nie aus ...

                                    Hatte den S0-Bus noch aus Zeiten von ISDN in Erinnerung,

                                    https://de.wikipedia.org/wiki/S0-Bus

                                    https://www.energie-zaehler.com/Energiezaehler-mit-S0-Schnittstelle

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      Dieter_P @Sven Wessel last edited by Dieter_P

                                      @sven-wessel

                                      Hallo Sven,

                                      wenn ich Deine Schilderung richtig verstanden hab, dann liegt bei Dir ein Missverständnis bzgl. eines S0 Eingangs vor. Den solltest Du Dir noch einmal anschauen auch um Deiner WP keinen Schaden zuzuführen. Oben habe ich aber auch bereits Auszüge und Schaltungen gezeigt.

                                      Der Punkt ist dass der S0 Eingang Deiner Wärmepumpe die Spannungsversorgung für den S0-Ausgang (wo auch immer der herkommt) liefert.
                                      Der S0 Ausgang schaltet die Spannung kommend vom S0 Eingang wieder durch zum Ausgang um dort detektiert zu werden.

                                      Du gibst aktuell vom Raspberry (S0 Ausgang) eine "Fremdspannung" (3,3V) darein und davon würde ich Abstand nehmen!
                                      Prinzipiell liefert der Raspberry aber nichts anderes wie ein angediskutierter ESP. Wenn Du ihn als S0-Ausgang bereits konfiguriert hast (durch was auch immer), dann könntest Du aus meiner sicht versuchen mit so einem Optokoppler-Modul ihn an den S0 Eingang Deiner Wärmepumpe zu bringen.

                                      Per IObroker den Raspberry als S0-Ausgang zu konfigurieren, hab ich bisher noch nicht gesehen und keine Ahnung ob es da etwas Fertiges gibt oder es extrem aufwendig wird. Bei Letzterem könnte man ja auf Idee kommen doch einen ESP8266 zu benutzen und vom IObroker per MQTT (über WLan) die Infos über den Überschuß an den ESP zu schicken. Der macht dann dann über den Optokoppler ein S0 daraus. Klingt etwas umständlich, aber halbwegs schon mal hier durchdiskutiert.

                                      Was hier als MCU bezeichnet wird, ist dann dein RPI:
                                      b398f47c-4c47-4043-af89-bf2e696bf2b4-grafik.png

                                      M Homoran 2 Replies Last reply Reply Quote 0
                                      • M
                                        Mistral @Dieter_P last edited by

                                        @dieter_p
                                        Hallo zusammen
                                        Ich bin mir auch ein S0 Signal am erstellen. Ich habe bereits etwas Software auf einem ESP32 erstellt, damit ich das Signal erzeugen kann. Über MQTT gebe ich die kW Info dem ESP32 an (die Info betreffs aktueller kW Einspeisung beziehe ich vom Wechselrichter) und ich dann per S0 Signal der WP weiterleiten kann (bisher habe ich nur eine LED am ESP32 am Blinken; sobald ich die korrekten Komponenten für den S0 Ausgang angeschlossen habe, prüfe ich dies dann noch mit einem Oszilloskop).
                                        Jetzt muss ich "nur" noch die Hardware dafür zusammenlöten.
                                        Wegen den Schemas hier bin ich auf diesen Forumsbeitrag von Euch gekommen. Habt ihr dies inzwischen bereits im Betrieb und welche Komponenten verwendet ihr? Welchen Optokoppler, welchen Widerstand und welche Diode? Gibt es bestimmte Anforderungen an die Diode, sollte dies z.B. eine general purpose Diode oder eine Schottky Diode sein oder ...? Gibt es bestimmte Anforderungen an die Diode?
                                        Und ich habe den Eindruck, dass in den oberen Schaltungen nur der Widerstand hinzugefügt wurde und die Diode noch fehlt. Oder ist diese nicht erforderlich?
                                        Vielen Dank!

                                        B 1 Reply Last reply Reply Quote 0
                                        • B
                                          Bernd Schwaiger @Mistral last edited by

                                          @mistral

                                          Hi Mistral,

                                          Ich habe zwei ESP8266 mit jeweils einen EL817 dafür verwendet.
                                          Am einfachsten ist es, wenn du dir ein Modul holst, wie es @Dieter_P in seinem 2 Beitrag verlinkt hat und den Widerstand am Ausgang ersetzt durch einen 100Ohm-Widerstand.
                                          Habe das ganze seit Februar in Betrieb und läuft einwandfrei.
                                          Was ich allerdings sagen muss: solltest du die Dinger in der Wärmepumpe verbauen, so wie ich das getan habe, nimm entweder ESP32 oder führe die WLAN-Antenne der ESP aus dem Gehäuse heraus.
                                          Kommt zwar nicht häufig vor, aber hin und wieder gibts Probleme mit dem Signal…

                                          LG
                                          Bernd

                                          M 1 Reply Last reply Reply Quote 1
                                          • M
                                            Mistral @Bernd Schwaiger last edited by

                                            @bernd-schwaiger
                                            Hi Bernd
                                            Vielen Dank für Deine Antwort!
                                            Ja, das Modul habe ich mir auch überlegt und finde ich eigentlich auch gut. Nur habe ich bei diesen Modulen bisher kein Schaltplan gefunden. Ich weiss daher nicht, welche Widerstände verbaut sind und ob die Diode vorhanden ist. z.B. wurde in einem früheren post erwähnt, dass der Widerstand darin zu gross ist ("Die Optokoppler musste ich sowieso auslöten, da der verbaute Widerstand am Optokoppler-Modul zu hoch war."). Daher ist meine Annahme, dass es einfacher ist, die Komponenten direkt einzeln zu verwenden und zu löten.
                                            Hast Du eventuell einen Schaltplan betreffs diesen Komponenten?
                                            Meine Annahme zur Zeit: 220 Ohm Widerstände (habe ich bereits) + 4N35 als Optokoppler (habe ich auch bereits) + noch eine Diode; wobei ich mir insbesondere bei der Diode unschlüssig bin, was die Anforderungen sind und ob eine "normale" Diode verwendet werden kann (z.B. 1N4007) oder ob Schottky Diode (z.B. 1N5817) besser ist; oder ob beide oder keine davon gut sind.
                                            Ist Dir bekannt, ob dies gut ist? Vielen Dank!
                                            P.S.: Ja, ESP32 habe ich dafürgeplant. Dafür habe ich die Software dafür ich inzwischen erstellt. Die LED zumindest blinkt bereits so, wie diese aus meiner Sicht sollte (habe ich zum Testen statt der S0 Schaltung bisher angeschlossen). Und auch beim ESP32 habe ich die WLAN Verbindung "überwacht" und führe bei Bedarf disconnect() und reconnect() durch.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            495
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            fronius wechselrichter pv-anlage pv-überschuss s0-signal wemos d1 mini wärmepumpe wärmepumpe pv photovoltaik
                                            7
                                            78
                                            6024
                                            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