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 und das script ist sicher korrekt?
      am Ende der scripte steht dieses?

      // Erster Start und Initialisierung
      shelly_verbrauch_erster_start();
      
      // Alle 15 Minuten das Skript für den Tagesverbrauch ausführen
      schedule('*/15 * * * *', shelly_verbrauch_update);
      
      // Nachts um 24 Uhr werden die Werte in andere Variablen gespeichert, um den Verlauf zu erstellen
      schedule('0 0 * * *', shelly_vebrauch_tag);
      

      Ja ist alles vorhanden. Hab alles mal verglichen, hätte ja sein können das beim Kopieren was verloren gegangen ist.
      War aber nicht der Fall, ist alles vorhanden, deshalb verstehe ich das auch nicht so wirklich.
      Die Werte werden ja geschrieben/aktualisiert nur halt für den vergangenen Tag halt nicht, was ja um 0:00Uhr passieren sollte.

      1 Reply Last reply Reply Quote 0
      • crunchip
        crunchip Forum Testing Most Active @RoddiEF last edited by

        @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

        RoddiEF 1 Reply Last reply Reply Quote 0
        • 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

                                861
                                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