Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Trigger mit Strings

    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

    Trigger mit Strings

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

      Guten Morgen,

      ich brauche mal kurz Hilfe: Und zwar will ich eine Telegram Nachricht schicken, sobald der Wert SOC/Ladezustand sich ändert, einen bestimmten Ladezustand erreicht hat und das Fahrzeug natürlich verbunden (=connected) ist. Aber es scheint so zu sein, dass plugConnectionState kein einfacher boolescher Operator (true/false) ist. Dementsprechend funktioniert das Blockly leider nicht. Worauf muss ich dann prüfen?

      f9868b28-8d72-4448-ab7e-23ff722df795-image.png

      Danke vorab!

      Dr. Bakterius 1 Reply Last reply Reply Quote 0
      • Dr. Bakterius
        Dr. Bakterius Most Active @fir3drag0n last edited by Dr. Bakterius

        @fir3drag0n Versuche es mal so:

        blockly.png

        oder noch einfacher mit 'ist größer als letztes':

        blockly.png

        F 1 Reply Last reply Reply Quote 0
        • F
          fir3drag0n @Dr. Bakterius last edited by

          @dr-bakterius danke, ich habe jetzt noch eine Zwischeninfo (Auto ist angeschlossen) eingebaut:

          7c0b09f7-d531-4a40-bd6f-b3aa449a2a01-image.png

          mal sehen, ob es damit funktioniert

          Dr. Bakterius 1 Reply Last reply Reply Quote 0
          • Dr. Bakterius
            Dr. Bakterius Most Active @fir3drag0n last edited by

            @fir3drag0n Da bekommst du halt bei jedem Prozent Ladung eine Nachricht das geladen wird. Ebenso solange der Ladestand unter 10% ist. Aber wenn du das möchtest.

            F 1 Reply Last reply Reply Quote 0
            • F
              fir3drag0n @Dr. Bakterius last edited by

              @dr-bakterius nee, eigentlich soll er mir nur 1x bei weniger als 10% und jeweils bei 10%-Schritten eine Nachricht senden

              F 1 Reply Last reply Reply Quote 0
              • F
                fir3drag0n @fir3drag0n last edited by fir3drag0n

                @fir3drag0n said in Trigger mit Strings:

                @dr-bakterius nee, eigentlich soll er mir nur 1x bei weniger als 10% und jeweils bei 10%-Schritten eine Nachricht senden

                Wie müsste ich es ändern?

                1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators last edited by Homoran

                  @fir3drag0n

                  Zusätzlich zu

                  @dr-bakterius sagte in Trigger mit Strings:

                  @fir3drag0n Da bekommst du halt bei jedem Prozent Ladung eine Nachricht das geladen wird. Ebenso solange der Ladestand unter 10% ist. Aber wenn du das möchtest.

                  ist die Frage wie schnell/häufig der ID3 den SOC meldet. sonst kann es ja sein, dass die "ganzen 10er" übersprungen werden.

                  z.B. 21 -> 19

                  F 1 Reply Last reply Reply Quote 0
                  • F
                    fir3drag0n @Homoran last edited by

                    @homoran Ginge es ggf. auch andersherum mit "größer als letztes" und dann gibt er mir z.B. 10 Folgewerte aus - so könnte ich umgehen, dass er die Werte überspringt?

                    F 1 Reply Last reply Reply Quote 0
                    • F
                      fir3drag0n @fir3drag0n last edited by

                      ich werde es jetzt mal mit "größer als letztes" und >= 10/20/30 usw. probieren und schauen, wie oft Werte bzw. der SOC über den Adapter übermittelt werden.

                      Kann ich denn die Anzahl der zu übermittelnden Werte begrenzen?

                      Dr. Bakterius 1 Reply Last reply Reply Quote 0
                      • Dr. Bakterius
                        Dr. Bakterius Most Active @fir3drag0n last edited by

                        @fir3drag0n sagte in Trigger mit Strings:

                        Kann ich denn die Anzahl der zu übermittelnden Werte begrenzen?

                        Du meinst, dass er dich nur einmalig benachrichtigt wenn z.B. die 10% erreicht sind? Ja das kann man indem man eine Variable auf true setzt wenn benachrichtigt wurde und vor der Benachrichtigung abfragt ob diese ungleich true ist. Wenn die Ladung abgeschlossen ist, setzt man die Variable(n) wieder auf false.

                        F 1 Reply Last reply Reply Quote 0
                        • F
                          fir3drag0n @Dr. Bakterius last edited by

                          @dr-bakterius Screenshot_20220831-173923.png

                          Leider wird jetzt genau das gemeldet und immer nur 10%

                          F 1 Reply Last reply Reply Quote 0
                          • F
                            fir3drag0n @fir3drag0n last edited by fir3drag0n

                            also so in etwa?

                            69bac35b-e93d-4e91-b387-3ea5e3ffd23d-image.png
                            ....
                            34f970f4-a129-4efb-ac2f-f04896a30639-image.png

                            Wie verhindere ich, dass es bei den 10% stehen bleibt?

                            F Dr. Bakterius 2 Replies Last reply Reply Quote 0
                            • F
                              fir3drag0n @fir3drag0n last edited by

                              ich versuche es nun mal mit Intervallen:

                              b154ca11-1da3-425c-ac40-64899b1a6f81-image.png

                              Asgothian 1 Reply Last reply Reply Quote 0
                              • Asgothian
                                Asgothian Developer @fir3drag0n last edited by Asgothian

                                @fir3drag0n warum so kompliziert ? Warum nicht einfach :

                                Screenshot 2022-09-01 at 08.05.55.png

                                Und wenn du nur ganze Vielfache von 10 haben willst:

                                Screenshot 2022-09-01 at 08.14.05.png

                                Nachtrag:

                                Mit dieser Anpassung bekommst du beim Anstöpseln eine Meldung wie weit der ID3 aktuell geladen ist.
                                Wenn du alle 10 % über den Ladezustand informiert werden willst würde ich den Folgenden Ansatz nutzen:
                                Screenshot 2022-09-01 at 09.43.20.png

                                F 1 Reply Last reply Reply Quote 1
                                • Dr. Bakterius
                                  Dr. Bakterius Most Active @fir3drag0n last edited by

                                  @fir3drag0n sagte in Trigger mit Strings:

                                  Wie verhindere ich, dass es bei den 10% stehen bleibt?

                                  Indem du für jeden 10%-Schritt eine eigene Variable nimmst und darauf prüfst. Oder du schreibst in die Variable den gemeldeten Wert rein und prüfst darauf. Also wenn 10% erreicht, dann schreibst du '10' in die Variable. Und du prüft bei 10% ob die Variable kleiner 10 ist, bei 20% ob sie kleiner 20 ist, usw...

                                  1 Reply Last reply Reply Quote 0
                                  • F
                                    fir3drag0n @Asgothian last edited by

                                    @asgothian das funktioniert jetzt, perfekt!

                                    kann ich noch die Bedingung einbauen, dass er mir immer einen neuen Wert übermittelt (bei > 10 SOC), wenn der Wert mindestens um 5 höher liegt?

                                    Asgothian 1 Reply Last reply Reply Quote 0
                                    • Asgothian
                                      Asgothian Developer @fir3drag0n last edited by Asgothian

                                      @fir3drag0n Klar.. du musst nur die Berechnung des "Limits" und des Textes anpassen. Wenn du dir die Formel hinter Screenshot 2022-09-09 at 15.08.10.png und Screenshot 2022-09-09 at 15.08.18.png

                                      anschaust dann liefern die immer Zahlen im 10-er Raster. Wenn Du ein 5er Raster haben willst sollte es reichen die beiden Zahlen in den Formeln durch 5 zu ersetzen.

                                      A.

                                      F 1 Reply Last reply Reply Quote 0
                                      • F
                                        fir3drag0n @Asgothian last edited by fir3drag0n

                                        @asgothian aber /10 * 10 ist doch einfach immer nur der Wert?

                                        Zumindest erhalte ich da immer Werte, die nur durch das Update Interval des Adapters bestimmt werden und wie oft da neue Werte übertragen werden.

                                        Asgothian 1 Reply Last reply Reply Quote 0
                                        • Asgothian
                                          Asgothian Developer @fir3drag0n last edited by Asgothian

                                          @fir3drag0n

                                          x/10 * 10 wird auch nie berechnet.

                                          Da steht im einen Fall roundup(x/10) * 10, im anderen rounddown(x/10) * 10

                                          Das Updateintervall des Adapters bestimmt die maximale Frequenz mit der du Meldungen bekommen kannst. Wenn du eine Meldung bekommen hast führt das hochstehen der Meldeschwelle dazu das der nächste wert erst gemeldet wird wenn die neue Meldeschwelle überschritten wurde.

                                          A.

                                          F 1 Reply Last reply Reply Quote 1
                                          • F
                                            fir3drag0n @Asgothian last edited by fir3drag0n

                                            @asgothian ok, verstanden, aber wieso wird die Abfolge dann nicht berechnet, z.B. bei einem SOC von 60 (%), dann rechnet er also nicht (60/10)*10, sondern macht mit "Limit" was?

                                            Und warum erst dividieren und dann wieder mit dem selben Wert multiplizieren?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            545
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            25
                                            1017
                                            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