Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Automatisierung
    5. einfaches skript

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    einfaches skript

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

      Hallo,
      bin erst kurz mit dem iobroker beschäftigt....
      ich würde gerne aus einem Datenpunkt (%Wert) einen Zahlenwert erhalten.
      Mit folgender einfacher Rechnung:

      (0_userdata.0.BatteryPercent) Datenpunkt % Wert / 100 * 460 = Ergebnis

      Das Ergebnis soll dann in einem neuen Datenpunkt (0_userdata.0.odometerps) erscheinen.

      Ich hab es mit blockly versucht, bin aber leider nicht fähig genug... über jede Hilfe würde ich mich freuen.

      Vielen Dank vorab und Gruß

      Homoran Great SUN 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @freo last edited by Homoran

        @freo sagte in einfaches skript:

        Ich hab es mit blockly versuch

        dann zeig das mal!
        dann sieht man vielleicht wo es klemmt

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

          @homoran Hallo,

          ich weiß nicht mal was ich im blockly nehmen muß, alles was ich angefangen habe ergab für mich keinen Sinn.

          da ich schon etwas über 70 bin, ist das nicht so einfach☺

          ich möcht eigentlich nur den SoC meine E Autos, welche als Datenpunkt im iobrocker vorliegt, in range umrechnen lassen um mir das in evcc anzeigen zu lassen.
          Datenpunkt SoC ist 0_userdata.0.BatteryPercent , der Datenpunkt
          für range ist 0_userdata.0.odometerps.

          Beide sind natürlich angelegt.

          Die Berechnung ist ja einfach, komme aber überhaupt nicht mit dem schreiben des scripts zurecht, da blutiger Anfänger!

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

            @freo sagte in einfaches skript:

            alles was ich angefangen habe ergab für mich keinen Sinn.

            aber du hast ja schon überlegt was du tun willst.
            Das wird schon passen...irgendwie

            @freo sagte in einfaches skript:

            da ich schon etwas über 70 bin, ist das nicht so einfach

            das ist eine Ausrede!
            das bekommen wir schon hin

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

              @homoran
              den SoC meines E autos habe ich jedenfalls schon mal in iobroker hinbekommen,
              allerdings nur über coppy und paste, da evcc mein Auto nicht einbinden kann.

              Jetzt wäre es wunderbar, die Reichweite auch noch in evcc zu sehen....

              ( und doch, das Alter spielt eine Rolle, es wird alles immer komplexer)

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

                @freo sagte in einfaches skript:

                das Alter spielt eine Rolle,

                aber nicht nur für dich!

                noch ein Denkanstoss
                javascript arbeitet eventbasiert. Also überleg dir was wann warum gemacht werden soll.
                wir bauen das schon gemeinsam hin. Du willst es doch auch verstehen!
                ich bin nur am Handy! muss also etwas von dir sehen um das zu kommentieren.

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

                  @homoran ok, du meinst ich soll's nochmal mit dem blockly probieren...

                  Werde heute nicht mehr dazu kommen, morgen werde ich noch mal starten und meine Versuche dann mitteilen.

                  Vielen Dank erstmal für deine Hilfe

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

                    @freo passt!
                    ich geh jetzt auch in deep standby

                    1 Reply Last reply Reply Quote 0
                    • Great SUN
                      Great SUN @freo last edited by Great SUN

                      @freo Ganz einfach mit einem JS-Script:

                      let originalValue = getState('0_userdata.0.BatteryPercent').val;
                      let newValue = originalValue / 100 * 460;
                      setState('0_userdata.0.odometerps', newValue, true);
                      

                      // setState(<Datenpunkt>, <Wert>, <Bestätigt>);

                      Homoran paul53 2 Replies Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @Great SUN last edited by Homoran

                        @great-sun Das geht auch mit einem ganz einfachen Blockly!

                        ich denke aber dass es ihm auf Dauer mehr hilft, dieses mit eigenem Hirnschmalz gemeinsam zu "entwickeln", als einfach nur abzutippen.

                        Great SUN 1 Reply Last reply Reply Quote 0
                        • Great SUN
                          Great SUN @Homoran last edited by

                          @homoran sagte in einfaches skript:

                          @great-sun Das geht auch mit einem ganz einfachen Blockly!

                          ich denke aber dass es ihm auf Dauer mehr hilft, dieses mit eigenem Hirnschmalz gemeinsam zu "entwickeln", als einfach nur abzutippen.

                          Bin Grundsätzlich Deiner Meinung, aber manchmal steht man wie der Ochse vor dem Berg und wenn man noch nie wirklich etwas mit Programmierlogik zu tun hatte, dann kann so etwas richtig schwer sein, wenn man nicht einmal ein Beispiel gesehen hat.

                          Kurzgesagt:
                          @Homoran Wenn ich jemandem erst Programm-Logik beibringen muss, damit das Ergebnis erreicht wird, wird das ganze für denjenigen evtl. so problematisch in der Umsetzung, dass er es ganz lässt. Dann lieber einen Dreizeiler 😉

                          @freo Für Fragen steh ich gern zur Verfügung, sofern wir das dann zumindest, wenn es irgend einen Sinn ergibt, der Community als Anleitung zur Verfügung stellen.

                          Homoran 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @Great SUN last edited by

                            @great-sun sagte: einfach mit einem JS-Script:

                            Das funktioniert nur einmal bei Skriptstart, denn es fehlt ein Trigger.

                            Homoran Great SUN 2 Replies Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @Great SUN last edited by

                              @great-sun sagte in einfaches skript:

                              Bin Grundsätzlich Deiner Meinung, aber manchmal steht man wie der Ochse vor dem Berg und wenn man noch nie wirklich etwas mit Programmierlogik zu tun hatte, dann kann so etwas richtig schwer sein, wenn man nicht einmal ein Beispiel gesehen hat.

                              ich bin grenzenloser Optimist 🙂

                              @freo fängt gerade erst an, und da bin ich hoffnungsvoll dass man ihn leitend an die Hand nehmen kann um ihm das Verständnis der Funktionsweise und der Logik zu erklären.

                              Beim Abtippen/Abschauen von fertigen Blocklys besteht immer die Gefahr, dass mansich wegen des fehlenden Wissens/Verständnissses dabei D7nge interpretiert und dauerhaft ins Hirn einbrennt, die ganz anders gemeint sind.
                              Erst beim 30. ähnlichen Skript kommt es dann zu "unvorhergesehenen" Abläufen.

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

                                @paul53 sagte in einfaches skript:

                                @great-sun sagte: einfach mit einem JS-Script:

                                Das funktioniert nur einmal bei Skriptstart, denn es fehlt ein Trigger.

                                als Basis um einem Einsteiger die gesamte Funktionsweise von js/blockly zu erklären, wäre das genau richtig.

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

                                  @paul53 sagte in einfaches skript:

                                  @great-sun sagte: einfach mit einem JS-Script:

                                  Das funktioniert nur einmal bei Skriptstart, denn es fehlt ein Trigger.

                                  Aye:

                                  async function setValueUpdate() {
                                      let originalValue = getState('0_userdata.0.BatteryPercent').val;
                                      let newValue = originalValue / 100 * 460;
                                      setState('0_userdata.0.odometerps', newValue, true);
                                  }
                                  on({id: '0_userdata.0.BatteryPercent', change: 'ne'}, setValueUpdate);
                                  

                                  Alle Funktionen, die im Javascript Adapter verfügbar sind, werden https://www.iobroker.net/docu/index-81.htm?page_id=5809&lang=en beschrieben.
                                  Die On-Funktion https://www.iobroker.net/docu/index-81.htm?page_id=5809&lang=en#on_8211_Subscribe_on_changes_or_updates_of_some_state

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

                                    Leute!
                                    Das verwirrt doch jetzt nur!
                                    ohne Rückmeldung von @freo , wieweit er jetzt folgen kann, oder gar verstanden hat, ist das zum Lernen kontraproduktiv.

                                    Great SUN 1 Reply Last reply Reply Quote 0
                                    • Great SUN
                                      Great SUN @Homoran last edited by

                                      @homoran Da hast auch wieder total recht 🙂

                                      @freo Sag uns doch mal, was Du verstanden hast bzw. ob Du das verstanden hast und ob wir Dir noch weiter helfen können mit irgendwelchen Anleitungen oder Dummy-Fragen 🙂

                                      F 1 Reply Last reply Reply Quote 1
                                      • F
                                        freo @Great SUN last edited by

                                        @great-sun Hallo zusammen,

                                        ich bin beeindrukt von den Antworten zu meinem Thema😊 ,
                                        mein Versuch sieht so aus:

                                        Screenshot 2023-10-08 at 15-34-30 javascript - buanet-iobroker2.png

                                        Mir ist aber dann überhaupt nich klar, wie ich die einfache Rechenformel einfügen muss, bzw. ob ich überhaupt auf dem richtigen Weg bin.

                                        Konnte dann nicht wiederstehen, und habe das Script von GreatSun ausprobiert:

                                        Screenshot 2023-10-08 at 15-30-16 Ladesteuerung SKODA Citigo e IV und Polestar 2 evcc.png

                                        Es funktioniert!!!
                                        Ich wäre nicht darauf gekommen, ehrlich👍

                                        Natürlich möchte jemand keine fertigen Lösungen anbieten ohne das der Empfänger das auch verstanden hat.
                                        Da ich aber noch nie etwas mit programieren zu tun hatte fällt mir das Verständnis dafür schwer.

                                        Allen hier sage ich : herzlichen Dank, für eure Hilfe👏 👍

                                        DJMarc75 Homoran 3 Replies Last reply Reply Quote 0
                                        • DJMarc75
                                          DJMarc75 @freo last edited by

                                          @freo sagte in einfaches skript:

                                          mein Versuch sieht so aus

                                          da könnte man helfen wie es damit richtig funktionieren würde.

                                          @freo sagte in einfaches skript:

                                          Da ich aber noch nie etwas mit programieren zu tun hatte fällt mir das Verständnis dafür schwe

                                          learning by doing - und hast Du dieses Skript welches Du jetzt verwendest auch verstanden ?

                                          VG

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

                                            @freo sagte in einfaches skript:

                                            ob ich überhaupt auf dem richtigen Weg bin.

                                            ja, für den Anfang schon, obwphl ich diesen Baustein noch nie verwendet habe.

                                            Vielleicht zäumen wir das Pferd diesmal von hinten auf.

                                            @freo sagte in einfaches skript:

                                            Mir ist aber dann überhaupt nich klar, wie ich die einfache Rechenformel einfügen muss, bzw. ob ich überhaupt auf dem richtigen Weg bin.

                                            Aber so eine Rechenformel hast du doch schon mal gehabt, oder?

                                            Mach dir Gedanken,

                                            • was du verrechnen willst
                                            • wo du diese Daten herbekommst
                                            • wo das Ergebnis hin soll

                                            Edit:
                                            ich denke ich weiss warum du diesen Block mit Wert von genommen hast!

                                            Dieser
                                            Screenshot_20231008-162457_Firefox.jpg

                                            lässt sich nicht andocken.
                                            Aus gutem Grund.

                                            Doch dazu später 🙂

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            24
                                            1143
                                            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