Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Kabelcodierung vom Go-e Charger in Variable schreiben

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Kabelcodierung vom Go-e Charger in Variable schreiben

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @Henrik 0 last edited by

      @henrik-0 Nutzst du den go-e Adapter oder nur die api per script?

      im Adapter liegt der DP vor:
      go-e_Datenpunkte.png

      sowohl für das Kabel zum Auto (cable ampere code), als auch für das Kabel zum go-e charger (adapter_in) falls mobile box

      H 1 Reply Last reply Reply Quote 0
      • H
        Henrik 0 @Homoran last edited by

        @homoran ich nutze den Adapter und versuche "cable ampere code" in eine Variable zu schreiben.

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

          @henrik-0 sagte in Kabelcodierung vom Go-e Charger in Variable schreiben:

          @homoran ich nutze den Adapter und versuche "cable ampere code" in eine Variable zu schreiben.

          ok!
          Das war nicht klar.
          Der DP ist vom Typ number, welchen Typ hat die Variable?

          paul53 H 2 Replies Last reply Reply Quote 0
          • H
            Henrik 0 @Henrik 0 last edited by

            Oder gibt es noch eine andere simplere Methode festzustellen, ob ein Ladekabel gesteckt ist?

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

              @homoran sagte: welchen Typ hat die Variable?

              In Javascript sind Variablen nicht typgebunden.

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

                @paul53 sagte in Kabelcodierung vom Go-e Charger in Variable schreiben:

                In Javascript sind Variablen nicht typgebunden.

                außer sie wurden vorher schon mal definiert

                @Henrik-0

                kabelkabel.png

                bei mir klappt es genau so wie du es hast
                zeig doch bitte dein ganzes Blockly

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

                  @homoran sagte: außer sie wurden vorher schon mal definiert

                  Auch dann nicht.

                  Homoran 1 Reply Last reply Reply Quote 0
                  • H
                    Henrik 0 @Homoran last edited by

                    @homoran wie kann ich denn den Typ einer Variablen bestimmen/auswählen?
                    Wenn ich eine neue Variabel in Blockly erstelle, kann ich ja nicht auswählen, welchen Typs sie sein soll. oder doch? ich bin erst seit ein paar tagen mit Blockly unterwegs. Ich kannte es von Java, dass man immer angeben musste, welchen Typ die Variable haben soll. (Int, string, boolean, float.......).

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

                      @paul53 sagte in Kabelcodierung vom Go-e Charger in Variable schreiben:

                      Auch dann nicht.

                      dann wechselt die Variable den Typ?
                      ich dachte sie behält den Typ der ersten Zuweisung.

                      Hab ich das falsch verstanden?

                      @Henrik-0
                      Das diskutieren wir gerade - mag sein, dass ich das falsch verstanden hatte

                      paul53 2 Replies Last reply Reply Quote 0
                      • paul53
                        paul53 @Homoran last edited by

                        @homoran sagte: dann wechselt die Variable den Typ?

                        Ja, beliebig oft.

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

                          @paul53 sagte in Kabelcodierung vom Go-e Charger in Variable schreiben:

                          @homoran sagte: dann wechselt die Variable den Typ?

                          Ja, beliebig oft.

                          Danke - wieder was gelernt!

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

                            @homoran sagte: ich dachte sie behält den Typ der ersten Zuweisung.

                            Nicht durch den JS-Editor verunsichern lassen: Dessen Prüfungen basieren auf Typescript - nicht auf Javascript.

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

                              @henrik-0 sagte in Kabelcodierung vom Go-e Charger in Variable schreiben:

                              @homoran wie kann ich denn den Typ einer Variablen bestimmen/auswählen?
                              Wenn ich eine neue Variabel in Blockly erstelle, kann ich ja nicht auswählen, welchen Typs sie sein soll. oder doch? ich bin erst seit ein paar tagen mit Blockly unterwegs. Ich kannte es von Java, dass man immer angeben musste, welchen Typ die Variable haben soll. (Int, string, boolean, float.......).

                              So, das ist jetzt geklärt.
                              Wenn du der Variablen eine Zahl zuweist, hat die Variable den Typ number.
                              Da liegt das Problem also schon mal nicht.

                              Wie ich dir gezeigt habe scheint es auch daran nicht zu liegen, weil es bei mir funktioniert.

                              Ich habe noch ein wenig weiter recherchiert und den RAW des Datenpunktes angesehen:

                              {
                                "_id": "go-e.0.cable_ampere_code",
                                "type": "state",
                                "common": {
                                  "name": "Kabel Ampere codierung (cbl)",
                                  "type": "number",
                                  "role": "level.volume",
                                  "read": true,
                                  "write": false,
                                  "states": {
                                    "0": "no cable",
                                    "16": "16 Ampere",
                                    "32": "32 Ampere"
                                  }
                                },
                                "from": "system.host.ioBroker01.cli",
                                "ts": 1613758204602,
                                "acl": {
                                  "object": 1636,
                                  "state": 1636,
                                  "owner": "system.user.admin",
                                  "ownerGroup": "system.group.administrator"
                                },
                                "native": {}
                              }
                              

                              anscheinend gibt es nur 0, 16 und 32 als mögliche Zahl.
                              in der API steht jedoch 0,13...32

                              cbl	uint8_t	Typ2 ​Kabel Ampere codierung
                              13-32: Ampere Codierung
                              0: kein Kabel
                              

                              Steht bei dir tatsächlich eine 20 in den Objekten?

                              H 1 Reply Last reply Reply Quote 0
                              • H
                                Henrik 0 @Homoran last edited by

                                @homoran also in meinen Objekten stehen auch nur die Zahlen "0","16" und "32" drin:

                                {
                                  "from": "system.adapter.go-e.0",
                                  "ts": 1620734504293,
                                  "user": "system.user.admin",
                                  "common": {
                                    "name": "Kabel Ampere codierung (cbl)",
                                    "type": "mixed",
                                    "role": "level.volume",
                                    "read": true,
                                    "write": false,
                                    "states": {
                                      "0": "no cable",
                                      "16": "16 Ampere",
                                      "32": "32 Ampere"
                                    }
                                  },
                                  "native": {},
                                  "acl": {
                                    "object": 1636,
                                    "owner": "system.user.admin",
                                    "ownerGroup": "system.group.administrator",
                                    "state": 1636
                                  },
                                  "_id": "go-e.0.cable_ampere_code",
                                  "type": "state"
                                }
                                

                                ich habe mal ein neues Skript geschrieben wo ich nur den Wert des Objektes auf die Variable des Objektes legen und dann ausgebe. Das funktioniert wunderbar.:

                                1.png

                                2.png

                                Das heißt, irgendwo in meinem Skript "PVÜberschussladen" läuft irgendwas verkehrt.

                                Hier ein Ausschnitt aus dem Blocky (ja, ich weiß, dass man einiges sicherlich einfacher und sauberer schreiben kann):

                                3.png

                                H Homoran paul53 3 Replies Last reply Reply Quote 0
                                • H
                                  Henrik 0 @Henrik 0 last edited by

                                  @henrik-0 FEHLER GEFUNDEN! (hoffentlich)

                                  4.png

                                  ich habe mal nach dem Lesen des Wertes eine Pause eingefügt. Dann klappt es. Kann es sein, dass das Skript "zu schnell" ist und das Auslesen vom Go-e noch nicht abgeschlossen ist?
                                  Warum auch immer, mit der Pause zwischen Lesen und Schreiben läuft es.

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

                                    @henrik-0 sagte in Kabelcodierung vom Go-e Charger in Variable schreiben:

                                    Das heißt, irgendwo in meinem Skript "PVÜberschussladen" läuft irgendwas verkehrt.

                                    Das hatte ich ja geschriebn.
                                    Deswegen wollte ich ja das ganze Blockly sehen

                                    @henrik-0 sagte in Kabelcodierung vom Go-e Charger in Variable schreiben:

                                    ich habe mal nach dem Lesen des Wertes eine Pause eingefügt. Dann klappt es. Kann es sein, dass das Skript "zu schnell" ist und das Auslesen vom Go-e noch nicht abgeschlossen ist?

                                    eher nicht.
                                    umgekehrt ergäbe sich da ein Sinn, weil das Schreiben in einen Datenpunkt immer eine Gewisse zeit dauert.
                                    Eine Variable sollte sofort gefüllt sein.

                                    Wie lange ist denn da das Kabel schon am Auto?

                                    EDIT:
                                    sehe gerade dein "Wiederhole solange",
                                    Das feuert im Millisekundentakt Wiederholungen und kann deinen js-Adapter lahmlegen

                                    H 1 Reply Last reply Reply Quote 0
                                    • H
                                      Henrik 0 @Homoran last edited by

                                      @homoran said in Kabelcodierung vom Go-e Charger in Variable schreiben:

                                      sehe gerade dein "Wiederhole solange",
                                      Das feuert im Millisekundentakt Wiederholungen und kann deinen js-Adapter lahmlegen

                                      Wie kann ich das denn verbessern? Gibts eine bessere Möglichkeit den Skriptteil zu wiederholen?
                                      Ich habe vor dem Ende des "Wiederhole solange" eine 60 Sekunden Pause drin. Dürfte daher doch unproblematisch sein oder ?

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

                                        @henrik-0 sagte in Kabelcodierung vom Go-e Charger in Variable schreiben:

                                        Wie kann ich das denn verbessern?

                                        solange 1=1 halte ich sowieso für sinnfrei!

                                        @henrik-0 sagte in Kabelcodierung vom Go-e Charger in Variable schreiben:

                                        Ich habe vor dem Ende des "Wiederhole solange" eine 60 Sekunden Pause drin. Dürfte daher doch unproblematisch sein oder ?

                                        Oder!

                                        gefeuert wird sofort und vor der Ausführung dann tausend mal die Pause gemacht - also eher noch schlimmer.

                                        Nutze einen Intervall-Baustein

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

                                          @henrik-0 sagte: Hier ein Ausschnitt aus dem Blocky

                                          "wiederhole solange" erzeugt regelmäßig eine Endlosschleife!
                                          Setze die Variable StatusKabel beim Skript-Start und durch einen Trigger auf "Kabel Ampere codierung", dann ist ein Polling überflüssig.

                                          Bild_2021-05-15_163547.png

                                          Wert findet man unter "Trigger".

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

                                            Danke für die ganzen Tipps. Ihr habt mir sehr geholfen!!

                                            Es läuft jetzt so wie ich es mir vorstelle. Mal sehen wie lange ...

                                            Jetzt brauch ich nur noch Sonne 😳

                                            ein schönes WE noch

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            829
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            21
                                            970
                                            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