Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [gelöst]Negativwerte nach Shelly-Update

    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

    [gelöst]Negativwerte nach Shelly-Update

    This topic has been deleted. Only users with topic management privileges can see it.
    • RoddiEF
      RoddiEF @crunchip last edited by RoddiEF

      @crunchip sagte in Negativwerte nach Shelly-Update:

      @roddief sagte in Negativwerte nach Shelly-Update:

      Im Log steht folgendes:

      und in der Nacht ?

      kommt etwas wenn du das script neu startest?

      ansonsten bin ich da auch überfragt, entweder mal löschen und neu anlegen oder nur mal ein script laufen lassen.
      Seltsam das es in beiden Scripten zum selben Problem führt.(oder doch Kopie Fehler) eventuell neu rein kopieren

      Ich werde alles mal Löschen, neu anlegen und nur ein Script laufen lassen.
      Wenn das eine Funktioniert werde ich das zweite aktivieren.
      Da das aber dann erst in der Nacht passiert (Verbrauch Gestern/Heute), werde ich morgen berichten.
      So einmal neu Angelegt, hier mal der Log nach dem ersten Start:

      javascript.0
      2023-01-15 16:30:00.023	info	script.js.common.Shelly-CoAP: Shelly Verbrauch: Verbrauchswerte aktualisiert: 6 | Reboots korrigiert: 0 | Unveränderte Werte: 7
      javascript.0
      2023-01-15 16:25:50.514	info	script.js.common.Shelly-CoAP: Shelly Verbrauch: Verbrauchswerte aktualisiert: 0 | Reboots korrigiert: 0 | Unveränderte Werte: 13
      javascript.0
      2023-01-15 16:25:20.557	info	script.js.common.Shelly-CoAP: registered 0 subscriptions, 2 schedules, 0 messages, 0 logs and 0 file subscriptions
      javascript.0
      2023-01-15 16:25:20.503	info	script.js.common.Shelly-CoAP: Shelly Verbrauch: Datenpunkte erstellt! Erster Verbrauch steht nach 30 Sekunden zur Verfügung! Anzahl gefundener Shelly Datenpunkte: 13
      javascript.0
      2023-01-15 16:25:20.499	info	script.js.common.Shelly-CoAP: Shelly Verbrauch: Erster Start des Skriptes! Datenpunkte werden erstellt!
      javascript.0
      2023-01-15 16:25:20.432	info	Start javascript script.js.common.Shelly-CoAP
      
      crunchip 1 Reply Last reply Reply Quote 0
      • crunchip
        crunchip Forum Testing Most Active @RoddiEF last edited by

        @roddief du kannst es auch mit Pauls script und Sourceanalytics laufen lassen.

        du musst nur deinen aktuellen Wert vom shelly in den DP eintragen und danach das script im spoiler starten

        <xml xmlns="https://developers.google.com/blockly/xml">
          <variables>
            <variable id="gRZtH-i=mURhK^M?,:1X">server</variable>
          </variables>
          <block type="comment" id="uGzWd)zM)/9ehtR=6w@!" x="188" y="163">
            <field name="COMMENT">eigener Datenpunkt unter userdata.0</field>
          </block>
          <block type="variables_set" id="@x(~L-HC=|`;sLn-fuL." x="-9" y="193">
            <field name="VAR" id="gRZtH-i=mURhK^M?,:1X">server</field>
            <value name="VALUE">
              <block type="get_value" id="VWuq,%e,mz9NoD!ui9mv">
                <field name="ATTR">val</field>
                <field name="OID">0_userdata.0.Zaehlerstaende.PC-Server</field>
              </block>
            </value>
          </block>
          <block type="comment" id="*W9Rm.v?V[lHbGyAfMi_" x="212" y="238">
            <field name="COMMENT">shelly-Datenpunkt</field>
          </block>
          <block type="on_ext" id="E!u4Rp!Ln;+U|Qe9(G?$" x="-12" y="263">
            <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
            <field name="CONDITION">gt</field>
            <field name="ACK_CONDITION"></field>
            <value name="OID0">
              <shadow type="field_oid" id="[;3@^j=J)th6tuoWb1X2">
                <field name="oid">sonoff.0.PC-Server.ENERGY_Total</field>
              </shadow>
            </value>
            <statement name="STATEMENT">
              <block type="math_change" id="A7N,_:?fL.7q3-1|xUvD">
                <field name="VAR" id="gRZtH-i=mURhK^M?,:1X">server</field>
                <value name="DELTA">
                  <shadow type="math_number" id="Ud{I!jDSK(v34J#H.NX7">
                    <field name="NUM">1</field>
                  </shadow>
                  <block type="math_arithmetic" id=":vgyD5+[DpW$K]9i9H@x">
                    <field name="OP">MINUS</field>
                    <value name="A">
                      <shadow type="math_number" id="SkG4=+,k~pP;bo^qE4L[">
                        <field name="NUM">1</field>
                      </shadow>
                      <block type="on_source" id="~z(_7]7l_K/y/lYQ,j3(">
                        <field name="ATTR">state.val</field>
                      </block>
                    </value>
                    <value name="B">
                      <shadow type="math_number" id="r!_iE9H/Sqc!8fA@Q7#I">
                        <field name="NUM">1</field>
                      </shadow>
                      <block type="on_source" id="0cV}CvW)|ww,LHoWWv=T">
                        <field name="ATTR">oldState.val</field>
                      </block>
                    </value>
                  </block>
                </value>
                <next>
                  <block type="update" id="usej.;,e}*IG(bpPvt++">
                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                    <field name="OID">0_userdata.0.Zaehlerstaende.PC-Server</field>
                    <field name="WITH_DELAY">FALSE</field>
                    <value name="VALUE">
                      <block type="variables_get" id="5zy7ap0eqw4|yHXHs.:|">
                        <field name="VAR" id="gRZtH-i=mURhK^M?,:1X">server</field>
                      </block>
                    </value>
                  </block>
                </next>
              </block>
            </statement>
          </block>
        </xml>
        

        anschliessend loggst den DP unter userdata.0 anstatt den original DP vom shelly

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

          So hier ein kleines Update: Mit einem Script (Orginal) hat es jetzt Funktioniert.
          Die Werte Heute/Gestern werden geschrieben. (siehe Screenshot)
          Habe das Script per Copy kopiert (beide Scripts liegen im common Ordner) und aus:

          var shelly_dp = "shelly.0"; (Orginal)
          ein  var shelly_dp = "shelly.1"; gemacht.
          

          Die fehlenden Datenpunkte/Shellys wurden auch angelegt. Jetzt warte ich mal ab was heute nach 0:00 Uhr passiert, ob jetzt die anderen Werte (Heute/Gestern) von den hinzugefügten auch geschrieben werden.

          Update dann Morgen was passiert ist.

          JetztWerte.JPG

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

            Schluss Update:
            Leider hat es nicht Funktioniert wie ich gedacht hatte. Werte wurden nicht geschrieben.
            Nachdem ich nun Tage damit verbracht habe zu Experimentieren, hab ich wohl eine Lösung gefunden die Funktioniert.
            Hier die Original Einstellung (bei mir die Shellys mit CoIoT):

            var datenpunkt = "ShellyVerbrauch_0.";
            var shelly_dp = "shelly.0"
            

            Wenn man bei beiden "0" eine "1" daraus macht wie hier:

            var datenpunkt = "ShellyVerbrauch_1."
            var shelly_dp = "shelly.1";
            

            dann werden Werte für Heute/Gestern auch geschrieben.
            Der Unterschied der es aus macht ist der, das die zweiten Werte (bei mir für Shellys mit MQTT) in ein extra Ordner geschrieben werden und nicht in den selben wie für CoIoT.
            dieOrdner.JPG
            passt jetzt.JPG
            P.S. Wenn jemand so Freundlich wäre und mir den Erledigt-Button zeigen würde dann würde ich es als erledigt makieren.

            da_Woody 1 Reply Last reply Reply Quote 0
            • da_Woody
              da_Woody @RoddiEF last edited by

              @roddief sagte in Negativwerte nach Shelly-Update:

              P.S. Wenn jemand so Freundlich wäre und mir den Erledigt-Button zeigen würde dann würde ich es als erledigt makieren.

              einfach deinen ersten post editieren...

              RoddiEF 1 Reply Last reply Reply Quote 0
              • RoddiEF
                RoddiEF @da_Woody last edited by

                @da_woody sagte in Negativwerte nach Shelly-Update:

                @roddief sagte in Negativwerte nach Shelly-Update:

                P.S. Wenn jemand so Freundlich wäre und mir den Erledigt-Button zeigen würde dann würde ich es als erledigt makieren.

                einfach deinen ersten post editieren...

                Hatte ich versucht, nur es gibt keinen Punkt wo ich das als gelöst markieren könnte.
                Der Link brachte mich auch nicht weiter. Ich kann den nur Editieren, mehr nicht. Deshalb ja auch meine Frage wie?
                Kein Button.JPG

                DJMarc75 1 Reply Last reply Reply Quote 0
                • DJMarc75
                  DJMarc75 @RoddiEF last edited by DJMarc75

                  @roddief Bearbeiten auswählen und im TITEL ein [gelöst] voranstellen.

                  1 Reply Last reply Reply Quote 0
                  • metaxa
                    metaxa @paul53 last edited by metaxa

                    @paul53 sagte in [gelöst]Negativwerte nach Shelly-Update:

                    @crunchip sagte: script was dieses Problem zuverlässig abfängt

                    Dafür genügt auch ein eigener Datenpunkt für die kumulative Energie (Zählerstand), der von Sourceanalytix ausgewertet wird und ein einfaches Skript:

                    Bild_2023-01-13_132257117.png

                    @paul53 ich hätte da bitte eine Verständnisfrage:

                    Das Script tut super was es machen soll, danke paul53. Ich fürchte nur, bei einem reset des Shelly Zählerstand bei einem Stromausfall funktioniert es nicht, oder täusche ich mich.

                    Wenn am 1.1. um 11:00 der Zählerstand 1000 ist und danach der Zähler auf 0 gesetzt wird, dann wird ja nix mehr aufsummiert und der anglegte Zählerstand
                    dbb438d9-1dbe-44e2-b6b7-786d784903e9-image.png
                    bleibt bei 1000 bis der Shellyzählerstand (sagen wir) am 2.1. um 11:00 wieder > 1000 ist.

                    Habe ich da einen Denkfehler?

                    LG, mxa

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @metaxa last edited by

                      @metaxa sagte: Habe ich da einen Denkfehler?

                      Ja: Wenn auf 0 zurück gestellt wird, geht es mit Werten > 0 ansteigend weiter, so dass im eigenen Datenpunkt weiter gezählt wird.

                      metaxa 1 Reply Last reply Reply Quote 1
                      • metaxa
                        metaxa @paul53 last edited by metaxa

                        @paul53 sagte in [gelöst]Negativwerte nach Shelly-Update:

                        Ja: Wenn auf 0 zurück gestellt wird, geht es mit Werten > 0 ansteigend weiter, so dass im eigenen Datenpunkt weiter gezählt wird.

                        7fda3854-c691-4f5b-88d1-ade73c731cad-image.png

                        Lieben Dank @paul53 !

                        Könnte man diese Logik in einem Alias "Read" oder "Write" Bauteil auch unterbringen, oder ist ein Script dafür unumgänglich?

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @metaxa last edited by

                          @metaxa sagte: ist ein Script dafür unumgänglich?

                          Ja, im Alias hat man "vorheriger Wert" nicht zur Verfügung.

                          1 Reply Last reply Reply Quote 1
                          • rantanplan
                            rantanplan @paul53 last edited by

                            @paul53 Hallo paul53

                            Ich habe Dein Script etwas angepasst.
                            Du initialisierst die lokale Variable immer mit dem aktuellen Wert vom Shelly.
                            Wenn der Shelly mal resettet wurde und das Script neu gestartet wird kann es einem den alten Wert versemmeln.
                            Ich habe es nun so gelöst:
                            Shelly.png

                            Das klappt bei mir einwandfrei. (habe etliche Tests gemacht)
                            Auch das Umstellen läuft kinderleicht.

                            Datenpunkt anlegen
                            Blockly erstellen und starten
                            Datenpunkt beobachten ob alles richtig ist
                            Im Alias den CONSUMPTION auf den eigenen Datenpunkt setzen und fertig.
                            SA läuft sauber weiter und alle Werte stimmen.

                            Grüße

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate
                            FAQ Cloud / IOT
                            HowTo: Node.js-Update
                            HowTo: Backup/Restore
                            Downloads
                            BLOG

                            761
                            Online

                            31.9k
                            Users

                            80.2k
                            Topics

                            1.3m
                            Posts

                            negativwerte script shelly sourceanalytix
                            8
                            33
                            2058
                            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