Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. S0 Signal an Wemos und ESPEasy auslesen

    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

    S0 Signal an Wemos und ESPEasy auslesen

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

      Hallo Zusammen
      So einiges hab ich fürs SmartHome bereits gebaut und eingebunden, aber jetzt komm ich mit dem neuen Proekt nicht weiter.

      Ich habe mir den S0 Zähler von stall.biz geholt um den Wasserzähler smart zu machen.
      Bisher hab ich nur mit Tasmota was gemacht.Das fällt, so wie ich das lese, hier allerdings flach.
      Hab dann, für mich unbekannt, ESPeasy geflasht und mal so konfiguriert wie ich mir das dachte dass es funktioniert. Falsch gedacht 🙂

      per mqtt ist alles im Iobroker, nur er zählt nicht. evtl. hab ich was falsch in den Einstellungen des ESP, da für mich das was neues ist.
      Für S0+ hab ich D6 benutzt.
      Kann sich mal einer meine Sreenshots anschauen und prüfen ob das richtig ist.

      hardware.PNG device1.PNG device.PNG

      1 Reply Last reply Reply Quote 0
      • T
        tobbes last edited by

        Hallo Jeba,

        ich habe das gleiche auch versucht. Mit ESPeasy habe ich es nicht stabil hinbekommen.
        Habe den gleichen Bausatz von Stall.biz und verwende ihn nun mit tasmota. Das funktioniert gut.

        Schau mal hier. Der Link war sehr hilfreich.
        Die Werte sende ich per mqtt an den ioBroker. Jede Nacht um 0 Uhr resete ich den Zähler per rule in tasmota.
        Schön ist, das die Messwerte einen Neustart des Wemos bei tasmota überstehen.

        Gruß tobbes

        J 1 Reply Last reply Reply Quote 0
        • J
          Jeba @tobbes last edited by

          @tobbes
          Hallo
          Ich hab jetzt den ursprünglichen Fehler gefunden. Es lag am falschen Widerstand zwischen 5v und S0+. Ein neuer rein und klappte direkt.
          Dein Tip war super. Tasmota ist mir lieber. Hab jetzt umgeflasht, und den „counter1“ auf D6 gelegt.
          Und läuft prima.
          Benutzt Du Blockly um eine Auswertung zu machen?

          1 Reply Last reply Reply Quote 0
          • T
            tobbes last edited by

            Schön, dass es nun läuft.
            Nein derzeit verwende ich nur blockly um die Werte an Thingspeak zu senden.
            Ich hätte gerne noch eine tägliche Mail mit dem Wasserverbrauch vom Vortag.

            Später hätte ich gerne ein Balkendiagramm, das mir den täglichen Verbrauch darstellt.
            Welche Art Auswertung möchtest Du machen?

            Gruß Tobbes

            J 1 Reply Last reply Reply Quote 0
            • J
              Jeba @tobbes last edited by

              @tobbes
              Der Plan ist, den Verbrauch in der Visu festzuhalten. Wochenweise und übers Jahr mitgeloggt via Diagramm. Aber bis ich zur Visu komme, wird noch dauern.
              Mir fehlt die Zeit dazu.
              Hab mir mal ein paar Blockly Beispiele angeschaut. Bin da noch nicht so der Profi.
              Deshalb hab ich mich mal konzentriert der Reihe nach mal die Sensoren zu bauen.
              Heizöltank via Ultraschall ist jetzt auch fertig.

              1 Reply Last reply Reply Quote 0
              • ChristianM
                ChristianM last edited by

                Hallo zusammen, verwendet ihr den Pulsecounter mit Tasmota, bzw ESPEasy ? wenn ja warum ?

                K 1 Reply Last reply Reply Quote 0
                • K
                  klassisch Most Active @ChristianM last edited by

                  @ChristianM Ich habe mal probehalber einen S0-Zähler mit ESPEasy aufgebaut.
                  Weil ich zu bequem war, meinen Wasserzähler zu duplizieren oder zu modifizieren. Und ich wollte mal ESPEasy testen.
                  Läuft bisher problemlos und gibg wirklich sehr schnell. Schon sehr professionell entwickelt mit einem beeindruckenden web-Interface.
                  Ob die Entscheidung richtig war, ist allerdings fraglich. ESPEasy hat zwar einen Summenzähler, aber der ist nicht persistent und geht bei Resets, Netzausfall etc. verloren. Ist also letztlich unbrauchbar. Deshalb muß man das in ioBroker machen. Habe es entsprechend in ioBroker programmiert. Wahrscheinlich kann man sich diese Programmierung mittlerweile sparen, denn es werden Sourceanalytics und Statistik Adapter entwickelt, die so etwas machen.
                  Meine Eigenentwicklung für die Wasseruhr schreibt die Zwischenwerte immer mal wieder in ein I2C gekoppeltes EEPROM.
                  Was mir an ESPEasy, Tasmota, ESPHome generell nicht so gut gefällt: Die liefern die Daten per MQTT. Damit landen die Daten im Verzeichnis des MQTT Adapters und nicht in meinem generellen DATA Verzeichnis. Das geht bei meinen neueren Selbstgebastelten via simpleAPI direkt dorthin. wohin ich es will.

                  1 Reply Last reply Reply Quote 0
                  • ChristianM
                    ChristianM last edited by

                    Ach so ok, ich hab hier zwar den Pulsecounter installiert, aber irgendwie bin ich davon leider nicht so begeistert. Er setzt hin und wieder die gezählten Werte zurück, die Aktualisierungsrate ist leider nicht einstellbar noch ist sie meiner Meinung nach in einem akzeptablen Zyklus. Des Weiteren ist die Durchschnittsverbrauchsrechnung eine totale Katastrophe. Wenn ich wie beim Wasser pro Impuls ein Signal habe, hängt der Durchschnittszähler eine viertel Stunde später immer noch bei irgendwelchen Werten rum. Um das ganze jetzt zu umgehen, bin ich auf der Suche nach einer bessere Lösung. Ich werde mir jetzt dann mal die Geschichte mit dem ESPEasy anschauen und hoffen, dass es besser funktioniert.

                    K 1 Reply Last reply Reply Quote 0
                    • K
                      klassisch Most Active @ChristianM last edited by klassisch

                      @ChristianM Da ich Eugens pulsecounter nur theoretisch - und das nur sehr oberflächlich - kenne, weiß ich nicht, ob der ESPEasy besser funktioniet. Ich habe den ESPEasy auch nicht ordentlich an einem Funktionsgenerator etc geprüft. Einfach das S0 Interface vorschriftsgemäß mit zusätzlichem Optokoppler aufgebaut, alles in ein AP Verteilergehäuse gepackt, an Versorgung und S0-Ausgang angeschlossen und HW fertig.
                      Von meinem Wasserzähler weiß ich, daß es beim ESP8266 zu Impulsverlusten kommen kann, wenn das Teil mit dem Webserver beschäftigt ist. Aber da habe ich deutlich höhere Abtastraten getestet, als so ein S0-Zähler braucht.
                      Die "Zeitbasis" kann man konfigurieren. Hatte ursprünglich 10 Skunden ud dann auf 60 Sekunden erhöht. In dieser Applikation gehts um den Stromverbrauch der Ölheizung, also Brenner, Pumpen, Regelung etc. Da liegt der Maximalwert so etwa unter 400W. Da sind 60 Sekunden Zeitbasis nicht schlecht. Könnte auch noch länger sein.
                      Im ESPEasy selbst könnte man auch Umrechnungsformeln eingeben. Da man die Totalisierung aber ohnehin in ioBroker vornehmen muß, habe ich mich damit nicht beschäftigt.
                      So sieht der entsprechende Teil im Menue aus. Unten kann man das "Interval" einstellen.
                      ESPEasy-pulscounter-config.JPG
                      Die Übertragung läuft über MQTT Protokolleinstellung "Home Assistant (openHAB) MQTT".
                      Die Totalisierung in ioBroker habe ich recht stmpf und straight forward umgesetzt:

                      /* S0-conter converter for heating electical energy
                         increments ticks
                         calculates energy
                         calculates power                      */
                      	
                      	const timeBase = 60; //seconds
                      	const ticksPerKWhOfCounter = 2000; // 2000 ticks per kWh for Eltaco S0 counter
                      	const kWhPerTick = 1/ticksPerKWhOfCounter;  // 
                      	const ticksToPower = 3600/ticksPerKWhOfCounter / timeBase ; 
                      	const initialEnergyValue = 4658.539; // kWh value of the counter when installing the S0 interface and this script ist started for the first time
                      	
                             const ticksName = 'mqtt.0.Heizraum-Energy.Heizraum-Energy-S0.ticks'/*Heizraum-Energy/Heizraum-Energy-S0/ticks*/;
                      	const ticksSumName = 'data.0.heating.Heizraum.Electricity.ticksSum'/*ticksSum*/; 
                      	const energyName = 'data.0.heating.Heizraum.Electricity.Energy'/*Energy*/;
                      	const powerName = 'data.0.heating.Heizraum.Electricity.Power'/*Power*/;
                      	
                              
                      	function calculatePowerEnergy (ticksSumName, energyName, powerName, ticks){
                             var ticksSum = getState(ticksSumName).val;
                      	   ticksSum = ticksSum  + ticks;
                      	   var Energy = initialEnergyValue + ticksSum * kWhPerTick;
                      	   var Power = ticks * ticksToPower; 
                             setState(ticksSumName, ticksSum);
                             setState(energyName, Energy); 
                      	   setState(powerName, Power); 
                          }
                      	
                      
                      // start subscriptions Add an subscription for each sensor 	
                      on({id: ticksName, change: "any" },
                       function (obj) {
                            ticks = getState(ticksName).val;
                      	 calculatePowerEnergy (ticksSumName, energyName, powerName, ticks);
                       });
                      			
                      
                      

                      Diese primitive Umsetzung hat allerdings den Nachteil, daß bei einem ioBroker Update Impulse in der Totalisierung verloren gehen.
                      Wenn der Absolutwert wichtig ist, kann man da noch die Totalisierung im ESP mit verwenden. Man müßte die dann plausibilisieren, um einen Neustart des ESP zu erkennen. Also generell auf die Totalisierung im ESP selbst setzen und nur wenn man ein Zurücksetzen dieser Summe erkannt hat, mit der Zwischenspeicherung im ioBroker aushelfen. Da man den ESP ohnehin nicht so oft updatet wie ioBroker wäre das das bessere Konzept - zumindest wenn das "grand total" sehr wichtig ist..

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      864
                      Online

                      31.9k
                      Users

                      80.2k
                      Topics

                      1.3m
                      Posts

                      s0 signal wemos stall.biz
                      4
                      9
                      6566
                      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