Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Blocky Error ==> cannot extract Blockly code!

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

Blocky Error ==> cannot extract Blockly code!

Scheduled Pinned Locked Moved ioBroker Allgemein
23 Posts 6 Posters 2.2k Views 5 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • HomoranH Homoran

    @tcfigge sagte in Blocky Error ==> cannot extract Blockly code!:

    Endet allerdings in einem endlosen Kauderwelsch, welches ich kürzen musste...

    das sind die Blockly Definitionen

    @tcfigge sagte in Blocky Error ==> cannot extract Blockly code!:

    Hilft aber nur neu schreiben?

    warum?
    klick mal die checkered flag an.


    Hast du das Blockly irgendwo kopiert und importiert?

    T Offline
    T Offline
    tcfigge
    wrote on last edited by
    #9

    @homoran
    Kopiert oder importiert. Nein, geschrieben, immer mal zwischengespeichert, und beim letzten Mal, alles wech...

    HomoranH 1 Reply Last reply
    0
    • HomoranH Homoran

      @tcfigge sagte in Blocky Error ==> cannot extract Blockly code!:

      Endet allerdings in einem endlosen Kauderwelsch, welches ich kürzen musste...

      das sind die Blockly Definitionen

      @tcfigge sagte in Blocky Error ==> cannot extract Blockly code!:

      Hilft aber nur neu schreiben?

      warum?
      klick mal die checkered flag an.


      Hast du das Blockly irgendwo kopiert und importiert?

      T Offline
      T Offline
      tcfigge
      wrote on last edited by tcfigge
      #10

      @homoran sagte in [Blocky Error ==> cannot extract

      klick mal die checkered flag an.

      Versuch ich gleich... bin gerade unterwegs.

      1 Reply Last reply
      0
      • T tcfigge

        @homoran
        Kopiert oder importiert. Nein, geschrieben, immer mal zwischengespeichert, und beim letzten Mal, alles wech...

        HomoranH Do not disturb
        HomoranH Do not disturb
        Homoran
        Global Moderator Administrators
        wrote on last edited by
        #11

        @tcfigge sagte in Blocky Error ==> cannot extract Blockly code!:

        Nein, geschrieben, immer mal zwischengespeichert,

        Diese Meldung kommt üblicherweise beim Import eines Blockly das einen Block eines Adapters enthält, den man selber nicht installiert hat.

        Hast du zwischenzeitlich einen Adapter/ eine Instanz gelöscht?

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        T 1 Reply Last reply
        0
        • HomoranH Homoran

          @tcfigge sagte in Blocky Error ==> cannot extract Blockly code!:

          Nein, geschrieben, immer mal zwischengespeichert,

          Diese Meldung kommt üblicherweise beim Import eines Blockly das einen Block eines Adapters enthält, den man selber nicht installiert hat.

          Hast du zwischenzeitlich einen Adapter/ eine Instanz gelöscht?

          T Offline
          T Offline
          tcfigge
          wrote on last edited by
          #12

          @homoran sagte in Blocky Error ==> cannot extract Blockly code!:

          Hast du zwischenzeitlich einen Adapter/ eine Instanz gelöscht?

          Nun, sagen wir mal so, ich hab das nicht in einem Rutsch geschrieben, und jetzt mal nen Adapter installiert.
          Aber keinen der in dem Script vorkommt!

          HomoranH 1 Reply Last reply
          0
          • T tcfigge

            @homoran sagte in Blocky Error ==> cannot extract Blockly code!:

            Hast du zwischenzeitlich einen Adapter/ eine Instanz gelöscht?

            Nun, sagen wir mal so, ich hab das nicht in einem Rutsch geschrieben, und jetzt mal nen Adapter installiert.
            Aber keinen der in dem Script vorkommt!

            HomoranH Do not disturb
            HomoranH Do not disturb
            Homoran
            Global Moderator Administrators
            wrote on last edited by
            #13

            @tcfigge sagte in Blocky Error ==> cannot extract Blockly code!:

            und jetzt mal nen Adapter installiert.

            welchen?

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            T 1 Reply Last reply
            0
            • HomoranH Homoran

              @tcfigge sagte in Blocky Error ==> cannot extract Blockly code!:

              und jetzt mal nen Adapter installiert.

              welchen?

              T Offline
              T Offline
              tcfigge
              wrote on last edited by
              #14

              @homoran sagte in Blocky Error ==> cannot extract Blockly code!:

              @tcfigge sagte in Blocky Error ==> cannot extract Blockly code!:

              und jetzt mal nen Adapter installiert.

              welchen?

              Energiefluss erweitert über npm

              klick mal die checkered flag an.

              Damit meinst Du doch bei debuggen nen Haken setzten?
              Passiert aber nüscht.

              HomoranH 1 Reply Last reply
              0
              • T tcfigge

                @homoran sagte in Blocky Error ==> cannot extract Blockly code!:

                @tcfigge sagte in Blocky Error ==> cannot extract Blockly code!:

                und jetzt mal nen Adapter installiert.

                welchen?

                Energiefluss erweitert über npm

                klick mal die checkered flag an.

                Damit meinst Du doch bei debuggen nen Haken setzten?
                Passiert aber nüscht.

                HomoranH Do not disturb
                HomoranH Do not disturb
                Homoran
                Global Moderator Administrators
                wrote on last edited by
                #15

                @tcfigge sagte in Blocky Error ==> cannot extract Blockly code!:

                Energiefluss erweitert

                der liefert keine eigenen Blöcke

                @tcfigge sagte in Blocky Error ==> cannot extract Blockly code!:

                klick mal die checkered flag an.

                Damit meinst Du doch bei debuggen nen Haken setzten?

                nein!
                die große Zielflagge.

                Da

                @tcfigge sagte in Blocky Error ==> cannot extract Blockly code!:

                Passiert aber nüscht.

                wenn du keine Blöcke mehr siehst

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                T 1 Reply Last reply
                0
                • HomoranH Homoran

                  @tcfigge sagte in Blocky Error ==> cannot extract Blockly code!:

                  Energiefluss erweitert

                  der liefert keine eigenen Blöcke

                  @tcfigge sagte in Blocky Error ==> cannot extract Blockly code!:

                  klick mal die checkered flag an.

                  Damit meinst Du doch bei debuggen nen Haken setzten?

                  nein!
                  die große Zielflagge.

                  Da

                  @tcfigge sagte in Blocky Error ==> cannot extract Blockly code!:

                  Passiert aber nüscht.

                  wenn du keine Blöcke mehr siehst

                  T Offline
                  T Offline
                  tcfigge
                  wrote on last edited by
                  #16

                  @homoran
                  Zielflagge = Keine Blöcke gefunden

                  Wenn ich aus der "Übersetzungsfunktion" das JS Script rauskopiere
                  und als Script hinzufüge (natürlich ohne die falschen "'ID auswählen'"), läuft es!

                  HomoranH 1 Reply Last reply
                  0
                  • T tcfigge

                    @homoran
                    Zielflagge = Keine Blöcke gefunden

                    Wenn ich aus der "Übersetzungsfunktion" das JS Script rauskopiere
                    und als Script hinzufüge (natürlich ohne die falschen "'ID auswählen'"), läuft es!

                    HomoranH Do not disturb
                    HomoranH Do not disturb
                    Homoran
                    Global Moderator Administrators
                    wrote on last edited by Homoran
                    #17

                    @tcfigge sagte in Blocky Error ==> cannot extract Blockly code!:

                    Zielflagge = Keine Blöcke gefunden

                    Natürlich nicht. Sind ja überhaupt keine da

                    @tcfigge dann such mal im Forum nach der Möglichkeit Blocklys wiederherzustellen.
                    Da gibt es einen (etwas holprigen) Workaround.
                    Der war von @codierknecht glaube ich.

                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    T 1 Reply Last reply
                    0
                    • HomoranH Homoran

                      @tcfigge sagte in Blocky Error ==> cannot extract Blockly code!:

                      Zielflagge = Keine Blöcke gefunden

                      Natürlich nicht. Sind ja überhaupt keine da

                      @tcfigge dann such mal im Forum nach der Möglichkeit Blocklys wiederherzustellen.
                      Da gibt es einen (etwas holprigen) Workaround.
                      Der war von @codierknecht glaube ich.

                      T Offline
                      T Offline
                      tcfigge
                      wrote on last edited by
                      #18

                      @homoran
                      Ich glaube Du meinst den: https://forum.iobroker.net/topic/51702/scripte-aus-backup-wiederherstellen/4

                      Das muss ich mir in Ruhe ansehen... ;-)
                      Läuft ja soweit, wenn auch als JS.

                      Danke soweit!

                      HomoranH CodierknechtC 2 Replies Last reply
                      0
                      • T tcfigge

                        @homoran
                        Ich glaube Du meinst den: https://forum.iobroker.net/topic/51702/scripte-aus-backup-wiederherstellen/4

                        Das muss ich mir in Ruhe ansehen... ;-)
                        Läuft ja soweit, wenn auch als JS.

                        Danke soweit!

                        HomoranH Do not disturb
                        HomoranH Do not disturb
                        Homoran
                        Global Moderator Administrators
                        wrote on last edited by
                        #19

                        @tcfigge sagte in Blocky Error ==> cannot extract Blockly code!:

                        Ich glaube Du meinst

                        Fehlglaube! :grin:

                        das sind js, keine Blockly

                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        1 Reply Last reply
                        0
                        • T tcfigge

                          @homoran
                          Ich glaube Du meinst den: https://forum.iobroker.net/topic/51702/scripte-aus-backup-wiederherstellen/4

                          Das muss ich mir in Ruhe ansehen... ;-)
                          Läuft ja soweit, wenn auch als JS.

                          Danke soweit!

                          CodierknechtC Online
                          CodierknechtC Online
                          Codierknecht
                          Developer Most Active
                          wrote on last edited by
                          #20

                          @tcfigge
                          Schau mal hier:
                          https://forum.iobroker.net/topic/68740/ein-skript-aus-backup-zurückspielen/2

                          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                          HmIP|ZigBee|Tasmota|Unifi
                          Zabbix Certified Specialist
                          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                          1 Reply Last reply
                          2
                          • T tcfigge

                            Hallo zusammen,
                            ich habe ein Blockly geschrieben, welches die über Modbus Empfangenen Daten eines Gerätes in einem anderen Datenpunkt unter 0.userdata in Text übersetzen soll.
                            Wenn ich fertig bin und es speichere, kommt die Fehlermeldung und es werden keine Blöcke mehr angezeigt.
                            Wenn ich auf "in JS übersetzen" klicke, ist das Script verfügbar (sh. Code Tags).
                            Endet allerdings in einem endlosen Kauderwelsch, welches ich kürzen musste...

                            Was kann das sein?
                            Danke!

                            'ID auswählen'
                            // Glutbett
                            on({ id: [].concat(['modbus.0.holdingRegisters._Glutbett']), change: 'ne' }, async (obj) => {
                              let value = obj.state.val;
                              let oldValue = obj.oldState.val;
                              if ((obj.state ? obj.state.val : '') == 1100) {
                                setState('0_userdata.0.Heizung.eta.kessel.Glutbett_Info' /* Glutbett_Info */, 'Hoch', true);
                              } else if ((obj.state ? obj.state.val : '') == 1101) {
                                setState('0_userdata.0.Heizung.eta.kessel.Glutbett_Info' /* Glutbett_Info */, 'OK', true);
                              } else if ((obj.state ? obj.state.val : '') == 1102) {
                                setState('0_userdata.0.Heizung.eta.kessel.Glutbett_Info' /* Glutbett_Info */, 'Verriegelt', true);
                              } else if ((obj.state ? obj.state.val : '') == 1103) {
                                setState('0_userdata.0.Heizung.eta.kessel.Glutbett_Info' /* Glutbett_Info */, 'Sicherung defekt', true);
                              } else if ((obj.state ? obj.state.val : '') == 1104) {
                                setState('0_userdata.0.Heizung.eta.kessel.Glutbett_Info' /* Glutbett_Info */, 'Keine Klemme zugewiesen', true);
                              } else if ((obj.state ? obj.state.val : '') == 1105) {
                                setState('0_userdata.0.Heizung.eta.kessel.Glutbett_Info' /* Glutbett_Info */, 'Klemme nicht verfügbar', true);
                              }
                            });
                            // HK Pumpe
                            on({ id: [].concat(['modbus.0.holdingRegisters._HK_Pumpe']), change: 'ne' }, async (obj) => {
                              let value = obj.state.val;
                              let oldValue = obj.oldState.val;
                              if ((obj.state ? obj.state.val : '') == 1040) {
                                setState('0_userdata.0.Heizung.eta.hk.1.pumpe' /* Heizkreis Pumpe */, 'Aus', true);
                              } else if ((obj.state ? obj.state.val : '') == 1041) {
                                setState('0_userdata.0.Heizung.eta.hk.1.pumpe' /* Heizkreis Pumpe */, 'Ein', true);
                              } else if ((obj.state ? obj.state.val : '') == 1042) {
                                setState('0_userdata.0.Heizung.eta.hk.1.pumpe' /* Heizkreis Pumpe */, 'Verriegelt', true);
                              } else if ((obj.state ? obj.state.val : '') == 1043) {
                                setState('0_userdata.0.Heizung.eta.hk.1.pumpe' /* Heizkreis Pumpe */, 'Sicherung defekt', true);
                              } else if ((obj.state ? obj.state.val : '') == 1044) {
                                setState('0_userdata.0.Heizung.eta.hk.1.pumpe' /* Heizkreis Pumpe */, 'Keine Klemme zugewiesen', true);
                              } else if ((obj.state ? obj.state.val : '') == 1045) {
                                setState('0_userdata.0.Heizung.eta.hk.1.pumpe' /* Heizkreis Pumpe */, 'Klemme nicht verfügbar', true);
                              }
                            });
                            // HK Anforderung
                            on({ id: [].concat(['modbus.0.holdingRegisters._Heizkreis']), change: 'ne' }, async (obj) => {
                              let value = obj.state.val;
                              let oldValue = obj.oldState.val;
                              if ((obj.state ? obj.state.val : '') == 4000) {
                                setState('0_userdata.0.Heizung.eta.hk.1.anforderung' /* Heizkreis Anforderung */, 'Ausgeschaltet', true);
                              } else if ((obj.state ? obj.state.val : '') == 4001) {
                                setState('0_userdata.0.Heizung.eta.hk.1.anforderung' /* Heizkreis Anforderung */, 'Bereit', true);
                              } else if ((obj.state ? obj.state.val : '') == 4002) {
                                setState('0_userdata.0.Heizung.eta.hk.1.anforderung' /* Heizkreis Anforderung */, 'Geladen', true);
                              } else if ((obj.state ? obj.state.val : '') == 4003) {
                                setState('0_userdata.0.Heizung.eta.hk.1.anforderung' /* Heizkreis Anforderung */, 'Voll', true);
                              } else if ((obj.state ? obj.state.val : '') == 4004) {
                                setState('0_userdata.0.Heizung.eta.hk.1.anforderung' /* Heizkreis Anforderung */, 'Entaschen', true);
                              } else if ((obj.state ? obj.state.val : '') == 4005) {
                                setState('0_userdata.0.Heizung.eta.hk.1.anforderung' /* Heizkreis Anforderung */, 'Position wechseln', true);
                              } else if ((obj.state ? obj.state.val : '') == 4006) {
                                setState('0_userdata.0.Heizung.eta.hk.1.anforderung' /* Heizkreis Anforderung */, 'Spülen', true);
                              } else if ((obj.state ? obj.state.val : '') == 4007) {
                                setState('0_userdata.0.Heizung.eta.hk.1.anforderung' /* Heizkreis Anforderung */, 'Startvorgang', true);
                              } else if ((obj.state ? obj.state.val : '') == 4008) {
                                setState('0_userdata.0.Heizung.eta.hk.1.anforderung' /* Heizkreis Anforderung */, 'Ein', true);
                              } else if ((obj.state ? obj.state.val : '') == 4009) {
                                setState('0_userdata.0.Heizung.eta.hk.1.anforderung' /* Heizkreis Anforderung */, 'in Betrieb', true);
                              } else if ((obj.state ? obj.state.val : '') == 4010) {
                                setState('0_userdata.0.Heizung.eta.hk.1.anforderung' /* Heizkreis Anforderung */, 'Fördern', true);
                              } else if ((obj.state ? obj.state.val : '') == 4011) {
                                setState('0_userdata.0.Heizung.eta.hk.1.anforderung' /* Heizkreis Anforderung */, 'Heizen', true);
                              } else if ((obj.state ? obj.state.val : '') == 4012) {
                                setState('0_userdata.0.Heizung.eta.hk.1.anforderung' /* Heizkreis Anforderung */, 'Absenken', true);
                              } else if ((obj.state ? obj.state.val : '') == 4013) {
                                setState('0_userdata.0.Heizung.eta.hk.1.anforderung' /* Heizkreis Anforderung */, 'Laden', true);
                              } else if ((obj.state ? obj.state.val : '') == 4014) {
                                setState('0_userdata.0.Heizung.eta.hk.1.anforderung' /* Heizkreis Anforderung */, 'Abstellen', true);
                              } else if ((obj.state ? obj.state.val : '') == 4015) {
                                setState('0_userdata.0.Heizung.eta.hk.1.anforderung' /* Heizkreis Anforderung */, 'Glutabbrand', true);
                              } else if ((obj.state ? obj.state.val : '') == 4016) {
                                setState('0_userdata.0.Heizung.eta.hk.1.anforderung' /* Heizkreis Anforderung */, 'Störung', true);
                              }
                            });
                            // HK Info
                            on({ id: [].concat(['modbus.0.holdingRegisters._Heizkreis_Info']), change: 'ne' }, async (obj) => {
                              let value = obj.state.val;
                              let oldValue = obj.oldState.val;
                              if ((obj.state ? obj.state.val : '') == 2200) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Aus', true);
                              } else if ((obj.state ? obj.state.val : '') == 2201) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Ein Heizen', true);
                              } else if ((obj.state ? obj.state.val : '') == 2202) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Ein Absenken', true);
                              } else if ((obj.state ? obj.state.val : '') == 2203) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Ein Urlaub', true);
                              } else if ((obj.state ? obj.state.val : '') == 2204) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Aus nach Warmwasser', true);
                              } else if ((obj.state ? obj.state.val : '') == 2205) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Aus Freigabe', true);
                              } else if ((obj.state ? obj.state.val : '') == 2206) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Aus Soll Heizen', true);
                              } else if ((obj.state ? obj.state.val : '') == 2207) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Aus Soll Absenken', true);
                              } else if ((obj.state ? obj.state.val : '') == 2208) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Aus Soll Urlaub', true);
                              } else if ((obj.state ? obj.state.val : '') == 2209) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Aus Raum Heizen', true);
                              } else if ((obj.state ? obj.state.val : '') == 2210) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Aus Raum Absenken', true);
                              } else if ((obj.state ? obj.state.val : '') == 2211) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Aus Raum Urlaub', true);
                              } else if ((obj.state ? obj.state.val : '') == 2212) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Aus Heizgrenze Heizen', true);
                              } else if ((obj.state ? obj.state.val : '') == 2213) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Aus Heizgrenze Absenken', true);
                              } else if ((obj.state ? obj.state.val : '') == 2214) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Aus Heizgrenze Urlaub', true);
                              } else if ((obj.state ? obj.state.val : '') == 2215) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Aus Sommer', true);
                              } else if ((obj.state ? obj.state.val : '') == 2216) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Aus Warmwasser', true);
                              } else if ((obj.state ? obj.state.val : '') == 2217) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Ein Frostschutz Raum', true);
                              } else if ((obj.state ? obj.state.val : '') == 2218) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Ein Frostschutz Vorlauf', true);
                              } else if ((obj.state ? obj.state.val : '') == 2219) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Ein Restwärme', true);
                              } else if ((obj.state ? obj.state.val : '') == 2220) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Ein abschöpfen', true);
                              } else if ((obj.state ? obj.state.val : '') == 2221) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Ein Estrich', true);
                              } else if ((obj.state ? obj.state.val : '') == 2222) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Ein Fühler Fehler', true);
                              } else if ((obj.state ? obj.state.val : '') == 2223) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Ein Frostschutz Vorlauf', true);
                              } else if ((obj.state ? obj.state.val : '') == 2224) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Solar abschöpfen', true);
                              } else if ((obj.state ? obj.state.val : '') == 2225) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Aus verriegelt', true);
                              } else if ((obj.state ? obj.state.val : '') == 2226) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Ein', true);
                              } else if ((obj.state ? obj.state.val : '') == 2227) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Bereit', true);
                              } else if ((obj.state ? obj.state.val : '') == 2228) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'Ventile öffnen', true);
                              } else if ((obj.state ? obj.state.val : '') == 2229) {
                                setState('0_userdata.0.Heizung.eta.hk.1.info' /* Heizkreis Info */, 'VL-hoch, Mischer zu', true);
                              }
                            });
                            // HK Betrieb
                            on({ id: [].concat(['modbus.0.holdingRegisters._Heizkreis_Betrieb']), change: 'ne' }, async (obj) => {
                              let value = obj.state.val;
                              let oldValue = obj.oldState.val;
                              if ((obj.state ? obj.state.val : '') == 2301) {
                                setState('0_userdata.0.Heizung.eta.hk.1.zustand' /* Heizkreis Zustand */, 'Heizen', true);
                              } else if ((obj.state ? obj.state.val : '') == 2302) {
                                setState('0_userdata.0.Heizung.eta.hk.1.zustand' /* Heizkreis Zustand */, 'Absenken', true);
                              } else if ((obj.state ? obj.state.val : '') == 2303) {
                                setState('0_userdata.0.Heizung.eta.hk.1.zustand' /* Heizkreis Zustand */, 'Heizen', true);
                              } else if ((obj.state ? obj.state.val : '') == 2304) {
                                setState('0_userdata.0.Heizung.eta.hk.1.zustand' /* Heizkreis Zustand */, 'Absenken', true);
                              } else if ((obj.state ? obj.state.val : '') == 2305) {
                                setState('0_userdata.0.Heizung.eta.hk.1.zustand' /* Heizkreis Zustand */, 'Aus', true);
                              } else if ((obj.state ? obj.state.val : '') == 2306) {
                                setState('0_userdata.0.Heizung.eta.hk.1.zustand' /* Heizkreis Zustand */, 'Urlaub', true);
                              } else if ((obj.state ? obj.state.val : '') == 2307) {
                                setState('0_userdata.0.Heizung.eta.hk.1.zustand' /* Heizkreis Zustand */, 'Estrich', true);
                              }
                            });
                            // Tagesbehälter Info
                            on({ id: [].concat(['modbus.0.holdingRegisters._Tagesbehaelter']), change: 'ne' }, async (obj) => {
                              let value = obj.state.val;
                              let oldValue = obj.oldState.val;
                              if ((obj.state ? obj.state.val : '') == 1080) {
                                setState('0_userdata.0.Heizung.eta.lager.Pellets_Tagesbehaelter_Info' /* Pellets_Tagesbehaelter_Info */, 'Voll', true);
                              } else if ((obj.state ? obj.state.val : '') == 1081) {
                                setState('0_userdata.0.Heizung.eta.lager.Pellets_Tagesbehaelter_Info' /* Pellets_Tagesbehaelter_Info */, 'nicht Voll', true);
                              } else if ((obj.state ? obj.state.val : '') == 1082) {
                                setState('0_userdata.0.Heizung.eta.lager.Pellets_Tagesbehaelter_Info' /* Pellets_Tagesbehaelter_Info */, 'Verriegelt', true);
                              } else if ((obj.state ? obj.state.val : '') == 1083) {
                                setState('0_userdata.0.Heizung.eta.lager.Pellets_Tagesbehaelter_Info' /* Pellets_Tagesbehaelter_Info */, 'Sicherung defekt', true);
                              } else if ((obj.state ? obj.state.val : '') == 1084) {
                                setState('0_userdata.0.Heizung.eta.lager.Pellets_Tagesbehaelter_Info' /* Pellets_Tagesbehaelter_Info */, 'Keine Klemme zugewiesen', true);
                              } else if ((obj.state ? obj.state.val : '') == 1085) {
                                setState('0_userdata.0.Heizung.eta.lager.Pellets_Tagesbehaelter_Info' /* Pellets_Tagesbehaelter_Info */, 'Klemme nicht verfügbar', true);
                              }
                            });
                            // Zündung Info
                            on({ id: [].concat(['modbus.0.holdingRegisters._Zuendung']), change: 'ne' }, async (obj) => {
                              let value = obj.state.val;
                              let oldValue = obj.oldState.val;
                              if ((obj.state ? obj.state.val : '') == 1040) {
                                setState('0_userdata.0.Heizung.eta.kessel.Zuendung_Info' /* Zuendung_Info */, 'Aus', true);
                              } else if ((obj.state ? obj.state.val : '') == 1041) {
                                setState('0_userdata.0.Heizung.eta.kessel.Zuendung_Info' /* Zuendung_Info */, 'Ein', true);
                              } else if ((obj.state ? obj.state.val : '') == 1042) {
                                setState('0_userdata.0.Heizung.eta.kessel.Zuendung_Info' /* Zuendung_Info */, 'Verriegelt', true);
                              } else if ((obj.state ? obj.state.val : '') == 1043) {
                                setState('0_userdata.0.Heizung.eta.kessel.Zuendung_Info' /* Zuendung_Info */, 'Sicherung defekt', true);
                              } else if ((obj.state ? obj.state.val : '') == 1044) {
                                setState('0_userdata.0.Heizung.eta.kessel.Zuendung_Info' /* Zuendung_Info */, 'Keine Klemme zugewiesen', true);
                              } else if ((obj.state ? obj.state.val : '') == 1045) {
                                setState('0_userdata.0.Heizung.eta.kessel.Zuendung_Info' /* Zuendung_Info */, 'Klemme nicht verfügbar', true);
                              }
                            });
                            // Kessel Zustand
                            on({ id: [].concat(['modbus.0.holdingRegisters._Kessel_Zustand']), change: 'ne' }, async (obj) => {
                              let value = obj.state.val;
                              let oldValue = obj.oldState.val;
                              if ((obj.state ? obj.state.val : '') == 1000) {
                                setState('0_userdata.0.Heizung.eta.kessel.aktion' /* Kessel Zustand */, 'Aus', true);
                              } else if ((obj.state ? obj.state.val : '') == 1001) {
                                setState('0_userdata.0.Heizung.eta.kessel.aktion' /* Kessel Zustand */, 'Ein', true);
                              } else if ((obj.state ? obj.state.val : '') == 1002) {
                                setState('0_userdata.0.Heizung.eta.kessel.aktion' /* Kessel Zustand */, 'nicht verwendet', true);
                              } else if ((obj.state ? obj.state.val : '') == 1003) {
                                setState('0_userdata.0.Heizung.eta.kessel.aktion' /* Kessel Zustand */, 'Kurzschluss', true);
                              } else if ((obj.state ? obj.state.val : '') == 1004) {
                                setState('0_userdata.0.Heizung.eta.kessel.aktion' /* Kessel Zustand */, 'Unterbrechung', true);
                              } else if ((obj.state ? obj.state.val : '') == 1005) {
                                setState('0_userdata.0.Heizung.eta.kessel.aktion' /* Kessel Zustand */, 'Heizen', true);
                              } else if ((obj.state ? obj.state.val : '') == 1006) {
                                setState('0_userdata.0.Heizung.eta.kessel.aktion' /* Kessel Zustand */, 'Auto', true);
                              } else if ((obj.state ? obj.state.val : '') == 1007) {
                                setState('0_userdata.0.Heizung.eta.kessel.aktion' /* Kessel Zustand */, 'Absenken', true);
                              } else if ((obj.state ? obj.state.val : '') == 1008) {
                                setState('0_userdata.0.Heizung.eta.kessel.aktion' /* Kessel Zustand */, 'keine Verbindung', true);
                              } else if ((obj.state ? obj.state.val : '') == 1009) {
                                setState('0_userdata.0.Heizung.eta.kessel.aktion' /* Kessel Zustand */, 'Initialisierung', true);
                              } else if ((obj.state ? obj.state.val : '') == 1010) {
                                setState('0_userdata.0.Heizung.eta.kessel.aktion' /* Kessel Zustand */, '0_1010', true);
                              } else if ((obj.state ? obj.state.val : '') == 1011) {
                                setState('0_userdata.0.Heizung.eta.kessel.aktion' /* Kessel Zustand */, 'Fehler', true);
                              } else if ((obj.state ? obj.state.val : '') == 1012) {
                                setState('0_userdata.0.Heizung.eta.kessel.aktion' /* Kessel Zustand */, 'Last State', true);
                              } else if ((obj.state ? obj.state.val : '') == 1013) {
                                setState('0_userdata.0.Heizung.eta.kessel.aktion' /* Kessel Zustand */, 'Nicht unterstützter Sensortyp', true);
                              } else if ((obj.state ? obj.state.val : '') == 1014) {
                                setState('0_userdata.0.Heizung.eta.kessel.aktion' /* Kessel Zustand */, 'Verriegelt', true);
                              } else if ((obj.state ? obj.state.val : '') == 1015) {
                                setState('0_userdata.0.Heizung.eta.kessel.aktion' /* Kessel Zustand */, 'Sicherung defekt', true);
                              } else if ((obj.state ? obj.state.val : '') == 1016) {
                                setState('0_userdata.0.Heizung.eta.kessel.aktion' /* Kessel Zustand */, 'Keinen Klemme zugewiesen', true);
                              } else if ((obj.state ? obj.state.val : '') == 1017) {
                                setState('0_userdata.0.Heizung.eta.kessel.aktion' /* Kessel Zustand */, 'Klemme nicht verfügbar', true);
                              } else if ((obj.state ? obj.state.val : '') == 1018) {
                                setState('0_userdata.0.Heizung.eta.kessel.aktion' /* Kessel Zustand */, 'Notbetrieb', true);
                              } else if ((obj.state ? obj.state.val : '') == 1019) {
                                setState('0_userdata.0.Heizung.eta.kessel.aktion' /* Kessel Zustand */, 'Demo', true);
                              }
                            });
                            // Puffer Zustand
                            on({ id: [].concat(['modbus.0.holdingRegisters._Puffer_Zustand']), change: 'ne' }, async (obj) => {
                              let value = obj.state.val;
                              let oldValue = obj.oldState.val;
                              if ((obj.state ? obj.state.val : '') == 2440) {
                                setState('0_userdata.0.Heizung.eta.puffer.zustand' /* Puffer Zustand */, 'Aus', true);
                              } else if ((obj.state ? obj.state.val : '') == 2441) {
                                setState('0_userdata.0.Heizung.eta.puffer.zustand' /* Puffer Zustand */, 'Geladen', true);
                              } else if ((obj.state ? obj.state.val : '') == 2442) {
                                setState('0_userdata.0.Heizung.eta.puffer.zustand' /* Puffer Zustand */, 'Anfordern', true);
                              } else if ((obj.state ? obj.state.val : '') == 2443) {
                                setState('0_userdata.0.Heizung.eta.puffer.zustand' /* Puffer Zustand */, 'Laden', true);
                              } else if ((obj.state ? obj.state.val : '') == 2444) {
                                setState('0_userdata.0.Heizung.eta.puffer.zustand' /* Puffer Zustand */, 'Frostschutz', true);
                              } else if ((obj.state ? obj.state.val : '') == 2445) {
                                setState('0_userdata.0.Heizung.eta.puffer.zustand' /* Puffer Zustand */, 'Restwärme', true);
                              } else if ((obj.state ? obj.state.val : '') == 2446) {
                                setState('0_userdata.0.Heizung.eta.puffer.zustand' /* Puffer Zustand */, 'Abschöpfen', true);
                              } else if ((obj.state ? obj.state.val : '') == 2447) {
                                setState('0_userdata.0.Heizung.eta.puffer.zustand' /* Puffer Zustand */, 'Fühlerfehler', true);
                              } else if ((obj.state ? obj.state.val : '') == 2448) {
                                setState('0_userdata.0.Heizung.eta.puffer.zustand' /* Puffer Zustand */, 'Aus Schaltuhr', true);
                              } else if ((obj.state ? obj.state.val : '') == 2449) {
                                setState('0_userdata.0.Heizung.eta.puffer.zustand' /* Puffer Zustand */, 'Extra Warmwasser laden', true);
                              } else if ((obj.state ? obj.state.val : '') == 2450) {
                                setState('0_userdata.0.Heizung.eta.puffer.zustand' /* Puffer Zustand */, 'Aus Schaltuhr', true);
                              } else if ((obj.state ? obj.state.val : '') == 2451) {
                                setState('0_userdata.0.Heizung.eta.puffer.zustand' /* Puffer Zustand */, 'Solar Vorrang', true);
                              } else if ((obj.state ? obj.state.val : '') == 2452) {
                                setState('0_userdata.0.Heizung.eta.puffer.zustand' /* Puffer Zustand */, 'Puffer laden', true);
                              } else if ((obj.state ? obj.state.val : '') == 2453) {
                                setState('0_userdata.0.Heizung.eta.puffer.zustand' /* Puffer Zustand */, 'Warmwasser laden', true);
                              } else if ((obj.state ? obj.state.val : '') == 2454) {
                                setState('0_userdata.0.Heizung.eta.puffer.zustand' /* Puffer Zustand */, 'Solar abschöpfen', true);
                              }
                            });
                            // Puffer Info
                            on({ id: [].concat(['0_userdata.0.Heizung.eta.puffer.Puffer_Info']), change: 'ne' }, async (obj) => {
                              let value = obj.state.val;
                              let oldValue = obj.oldState.val;
                              if ((obj.state ? obj.state.val : '') == 4000) {
                                setState('0_userdata.0.Heizung.eta.puffer.Puffer_Info' /* Puffer_Info */, 'Ausgeschaltet', true);
                              } else if ((obj.state ? obj.state.val : '') == 4001) {
                                setState('0_userdata.0.Heizung.eta.puffer.Puffer_Info' /* Puffer_Info */, 'Bereit', true);
                              } else if ((obj.state ? obj.state.val : '') == 4002) {
                                setState('0_userdata.0.Heizung.eta.puffer.Puffer_Info' /* Puffer_Info */, 'Geladen', true);
                              } else if ((obj.state ? obj.state.val : '') == 4003) {
                                setState('0_userdata.0.Heizung.eta.puffer.Puffer_Info' /* Puffer_Info */, 'Voll', true);
                              } else if ((obj.state ? obj.state.val : '') == 4004) {
                                setState('0_userdata.0.Heizung.eta.puffer.Puffer_Info' /* Puffer_Info */, 'Entaschen', true);
                              } else if ((obj.state ? obj.state.val : '') == 4005) {
                                setState('0_userdata.0.Heizung.eta.puffer.Puffer_Info' /* Puffer_Info */, 'Position wechseln', true);
                              } else if ((obj.state ? obj.state.val : '') == 4006) {
                                setState('0_userdata.0.Heizung.eta.puffer.Puffer_Info' /* Puffer_Info */, 'Spülen', true);
                              } else if ((obj.state ? obj.state.val : '') == 4007) {
                                setState('0_userdata.0.Heizung.eta.puffer.Puffer_Info' /* Puffer_Info */, 'Startvorgang', true);
                              } else if ((obj.state ? obj.state.val : '') == 4008) {
                                setState('0_userdata.0.Heizung.eta.puffer.Puffer_Info' /* Puffer_Info */, 'Ein', true);
                              } else if ((obj.state ? obj.state.val : '') == 4009) {
                                setState('0_userdata.0.Heizung.eta.puffer.Puffer_Info' /* Puffer_Info */, 'in Betrieb', true);
                              } else if ((obj.state ? obj.state.val : '') == 4010) {
                                setState('0_userdata.0.Heizung.eta.puffer.Puffer_Info' /* Puffer_Info */, 'Fördern', true);
                              } else if ((obj.state ? obj.state.val : '') == 4011) {
                                setState('0_userdata.0.Heizung.eta.puffer.Puffer_Info' /* Puffer_Info */, 'Heizen', true);
                              } else if ((obj.state ? obj.state.val : '') == 4012) {
                                setState('0_userdata.0.Heizung.eta.puffer.Puffer_Info' /* Puffer_Info */, 'Absenken', true);
                              } else if ((obj.state ? obj.state.val : '') == 4013) {
                                setState('0_userdata.0.Heizung.eta.puffer.Puffer_Info' /* Puffer_Info */, 'Laden', true);
                              } else if ((obj.state ? obj.state.val : '') == 4014) {
                                setState('0_userdata.0.Heizung.eta.puffer.Puffer_Info' /* Puffer_Info */, 'Abstellen', true);
                              } else if ((obj.state ? obj.state.val : '') == 4015) {
                                setState('0_userdata.0.Heizung.eta.puffer.Puffer_Info' /* Puffer_Info */, 'Glutabbrand', true);
                              } else if ((obj.state ? obj.state.val : '') == 4016) {
                                setState('0_userdata.0.Heizung.eta.puffer.Puffer_Info' /* Puffer_Info */, 'Störung', true);
                              }
                            });
                            // Kessel Info
                            on({ id: [].concat(['modbus.0.holdingRegisters._Kessel_Info']), change: 'ne' }, async (obj) => {
                              let value = obj.state.val;
                              let oldValue = obj.oldState.val;
                              if ((obj.state ? obj.state.val : '') == 4000) {
                                setState('0_userdata.0.Heizung.eta.kessel.Kessel_Info' /* Kessel_Info */, 'Ausgeschaltet', true);
                              } else if ((obj.state ? obj.state.val : '') == 4001) {
                                setState('0_userdata.0.Heizung.eta.kessel.Kessel_Info' /* Kessel_Info */, 'Bereit', true);
                              } else if ((obj.state ? obj.state.val : '') == 4002) {
                                setState('0_userdata.0.Heizung.eta.kessel.Kessel_Info' /* Kessel_Info */, 'Geladen', true);
                              } else if ((obj.state ? obj.state.val : '') == 4003) {
                                setState('0_userdata.0.Heizung.eta.kessel.Kessel_Info' /* Kessel_Info */, 'Voll', true);
                              } else if ((obj.state ? obj.state.val : '') == 4004) {
                                setState('0_userdata.0.Heizung.eta.kessel.Kessel_Info' /* Kessel_Info */, 'Entaschen', true);
                              } else if ((obj.state ? obj.state.val : '') == 4005) {
                                setState('0_userdata.0.Heizung.eta.kessel.Kessel_Info' /* Kessel_Info */, 'Position wechseln', true);
                              } else if ((obj.state ? obj.state.val : '') == 4006) {
                                setState('0_userdata.0.Heizung.eta.kessel.Kessel_Info' /* Kessel_Info */, 'Spülen', true);
                              } else if ((obj.state ? obj.state.val : '') == 4007) {
                                setState('0_userdata.0.Heizung.eta.kessel.Kessel_Info' /* Kessel_Info */, 'Startvorgang', true);
                              } else if ((obj.state ? obj.state.val : '') == 4008) {
                                setState('0_userdata.0.Heizung.eta.kessel.Kessel_Info' /* Kessel_Info */, 'Ein', true);
                              } else if ((obj.state ? obj.state.val : '') == 4009) {
                                setState('0_userdata.0.Heizung.eta.kessel.Kessel_Info' /* Kessel_Info */, 'in Betrieb', true);
                              } else if ((obj.state ? obj.state.val : '') == 4010) {
                                setState('0_userdata.0.Heizung.eta.kessel.Kessel_Info' /* Kessel_Info */, 'Fördern', true);
                              } else if ((obj.state ? obj.state.val : '') == 4011) {
                                setState('0_userdata.0.Heizung.eta.kessel.Kessel_Info' /* Kessel_Info */, 'Heizen', true);
                              } else if ((obj.state ? obj.state.val : '') == 4012) {
                                setState('0_userdata.0.Heizung.eta.kessel.Kessel_Info' /* Kessel_Info */, 'Absenken', true);
                              } else if ((obj.state ? obj.state.val : '') == 4013) {
                                setState('0_userdata.0.Heizung.eta.kessel.Kessel_Info' /* Kessel_Info */, 'Laden', true);
                              } else if ((obj.state ? obj.state.val : '') == 4014) {
                                setState('0_userdata.0.Heizung.eta.kessel.Kessel_Info' /* Kessel_Info */, 'Abstellen', true);
                              } else if ((obj.state ? obj.state.val : '') == 4015) {
                                setState('0_userdata.0.Heizung.eta.kessel.Kessel_Info' /* Kessel_Info */, 'Glutabbrand', true);
                              } else if ((obj.state ? obj.state.val : '') == 4016) {
                                setState('0_userdata.0.Heizung.eta.kessel.Kessel_Info' /* Kessel_Info */, 'Störung', true);
                              }
                            });
                            
                            'ID auswählen'
                            'ID auswählen'
                            //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJJJTI1TnNrJTNENi05KDlkb2JLJTVCSWh2MiUyMiUyMHglM0QlMjIwJTIyJTIweSUzRCUyMjAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VJRCUJTIyJTNFSUQlMjBhdXN3JUMzJUE0aGxlbiUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGeG1sJTNF
                            
                            gekürzt
                            
                            F Offline
                            F Offline
                            fastfoot
                            wrote on last edited by
                            #21

                            @tcfigge poste doch mal bitte nur die komplette allerletzte Zeile

                            iobroker läuft unter Docker auf QNAP TS-451+
                            SkriptRecovery: https://forum.iobroker.net/post/930558

                            1 Reply Last reply
                            0
                            • T Offline
                              T Offline
                              tcfigge
                              wrote on last edited by
                              #22

                              Screenshot 2024-05-28 18.41.42.png

                              Geht nicht.... irre lang!

                              F 1 Reply Last reply
                              0
                              • T tcfigge

                                Screenshot 2024-05-28 18.41.42.png

                                Geht nicht.... irre lang!

                                F Offline
                                F Offline
                                fastfoot
                                wrote on last edited by
                                #23

                                @tcfigge ok, dann ist das der Grund für den Fehler, selbst die grössten Blocklys sind nicht sooo groß. Manchmal zerhagelt es diese Zeile, aber so selten dass man es nicht nachvollziehen kann...

                                iobroker läuft unter Docker auf QNAP TS-451+
                                SkriptRecovery: https://forum.iobroker.net/post/930558

                                1 Reply Last reply
                                1
                                Reply
                                • Reply as topic
                                Log in to reply
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes


                                Support us

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

                                762

                                Online

                                32.5k

                                Users

                                81.7k

                                Topics

                                1.3m

                                Posts
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2025
                                logo
                                • Login

                                • Don't have an account? Register

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Home
                                • Recent
                                • Tags
                                • Unread 0
                                • Categories
                                • Unreplied
                                • Popular
                                • GitHub
                                • Docu
                                • Hilfe