Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Mqtt zum Victron Cerbo GX ?

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

Mqtt zum Victron Cerbo GX ?

Geplant Angeheftet Gesperrt Verschoben Off Topic
218 Beiträge 7 Kommentatoren 34.0k Aufrufe 5 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • A ak68

    @mickym

    Ich habe jetzt eine ganz andere Lösung gefunden, aber noch 1 Problem: Der String wird nicht in der nötigen Reihenfolge zusammengesetzt: 1.2.3.4 sondern wahllos nach Werteingang (vgl MQTT-Explorer: "battery").
    Wie kann ich die Reihenfolge erzwingen (wie in Mqtt-Explorer: "Test")?

    6cb62f5b-8dd0-478a-a4df-8120cf931ebb-image.png

    f5ade5af-cb43-4664-9ea4-5bf23f95869b-image.png

    32ecb38b-6b0d-464d-882b-e6339cc410eb-image.png

    Vielen Dank schon einmal
    Andreas

    mickymM Offline
    mickymM Offline
    mickym
    Most Active
    schrieb am zuletzt editiert von mickym
    #209

    @ak68 Die Reihenfolge ist doch völlig egal, deswegen gibts ja JSON - weil die Werte ja durch ihre Eigenschaften benannt werden und diese komischen String Nodes braucht es erst recht nicht. Wie gesagt schreibe Dir über JSONATA das Objekt wie Du willst, aber nicht mit so komischen String Nodes - das ist ja grausam. Ich verstehe einfach nicht, warum Du nicht das machst was ich schreibe.

    Da installiert man keine unnützen Nodes und manipuliert mit Strings rum.

    Hier alle Möglichkeiten, die ich Dir beschrieben habe:

    dd022756-4939-48e1-b568-263141a3be2a-image.png

    und hier zum Import:

    [{"id":"c7201ca9b35c41de","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Power","payload":"200","payloadType":"num","x":220,"y":5840,"wires":[["93b9fc43fbdb0976"]]},{"id":"35e2146617724f00","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Voltage","payload":"12.7","payloadType":"num","x":210,"y":5880,"wires":[["93b9fc43fbdb0976"]]},{"id":"a0754d2f0668f818","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Current","payload":"3.6","payloadType":"num","x":220,"y":5920,"wires":[["93b9fc43fbdb0976"]]},{"id":"9fbd1b7d26378562","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"SoC","payload":"98","payloadType":"num","x":230,"y":5960,"wires":[["93b9fc43fbdb0976"]]},{"id":"93b9fc43fbdb0976","type":"join","z":"289f539dcc33814e","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":true,"timeout":"","count":"4","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":410,"y":5900,"wires":[["8cc29fcdc103c471","f596d1921af09aa5","d74fb7478d1ba60d","35b09d09d38b26f2"]]},{"id":"8cc29fcdc103c471","type":"debug","z":"289f539dcc33814e","name":"Eine Ebene","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":570,"y":5840,"wires":[]},{"id":"f596d1921af09aa5","type":"change","z":"289f539dcc33814e","name":"JSONATA","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\t   \"Dc\" : {\t       \"Power\":payload.Power,\t       \"Voltage\":payload.Voltage,\t       \"Current\":payload.Current\t   },\t   \"Soc\":payload.SoC\t}","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":560,"y":5900,"wires":[["fa634ed4ad493f6b"]]},{"id":"fa634ed4ad493f6b","type":"debug","z":"289f539dcc33814e","name":"mit JSONATA","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":760,"y":5900,"wires":[]},{"id":"d74fb7478d1ba60d","type":"change","z":"289f539dcc33814e","name":"Verschieben mit 2 Regeln","rules":[{"t":"move","p":"payload","pt":"msg","to":"payload.Dc","tot":"msg"},{"t":"move","p":"payload.Dc.SoC","pt":"msg","to":"payload.SoC","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":6000,"wires":[["fa49d579d8dde227"]]},{"id":"fa49d579d8dde227","type":"debug","z":"289f539dcc33814e","name":"Verschieben mit 2 Regeln","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":910,"y":6000,"wires":[]},{"id":"35b09d09d38b26f2","type":"change","z":"289f539dcc33814e","name":"Verschieben mit 3 Regeln","rules":[{"t":"move","p":"payload.Power","pt":"msg","to":"payload.Dc.Power","tot":"msg"},{"t":"move","p":"payload.Voltage","pt":"msg","to":"payload.Dc.Voltage","tot":"msg"},{"t":"move","p":"payload.Current","pt":"msg","to":"payload.Dc.Current","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":6060,"wires":[["3e287e17d547c959"]]},{"id":"3e287e17d547c959","type":"debug","z":"289f539dcc33814e","name":"Verschieben mit 3 Regeln","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":910,"y":6060,"wires":[]}]
    

    MACHE NIEMALS EIN OBJEKT durch STRINGMANIPULATIONEN kaputt!!!!

    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

    mickymM A 2 Antworten Letzte Antwort
    0
    • mickymM mickym

      @ak68 Die Reihenfolge ist doch völlig egal, deswegen gibts ja JSON - weil die Werte ja durch ihre Eigenschaften benannt werden und diese komischen String Nodes braucht es erst recht nicht. Wie gesagt schreibe Dir über JSONATA das Objekt wie Du willst, aber nicht mit so komischen String Nodes - das ist ja grausam. Ich verstehe einfach nicht, warum Du nicht das machst was ich schreibe.

      Da installiert man keine unnützen Nodes und manipuliert mit Strings rum.

      Hier alle Möglichkeiten, die ich Dir beschrieben habe:

      dd022756-4939-48e1-b568-263141a3be2a-image.png

      und hier zum Import:

      [{"id":"c7201ca9b35c41de","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Power","payload":"200","payloadType":"num","x":220,"y":5840,"wires":[["93b9fc43fbdb0976"]]},{"id":"35e2146617724f00","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Voltage","payload":"12.7","payloadType":"num","x":210,"y":5880,"wires":[["93b9fc43fbdb0976"]]},{"id":"a0754d2f0668f818","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Current","payload":"3.6","payloadType":"num","x":220,"y":5920,"wires":[["93b9fc43fbdb0976"]]},{"id":"9fbd1b7d26378562","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"SoC","payload":"98","payloadType":"num","x":230,"y":5960,"wires":[["93b9fc43fbdb0976"]]},{"id":"93b9fc43fbdb0976","type":"join","z":"289f539dcc33814e","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":true,"timeout":"","count":"4","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":410,"y":5900,"wires":[["8cc29fcdc103c471","f596d1921af09aa5","d74fb7478d1ba60d","35b09d09d38b26f2"]]},{"id":"8cc29fcdc103c471","type":"debug","z":"289f539dcc33814e","name":"Eine Ebene","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":570,"y":5840,"wires":[]},{"id":"f596d1921af09aa5","type":"change","z":"289f539dcc33814e","name":"JSONATA","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\t   \"Dc\" : {\t       \"Power\":payload.Power,\t       \"Voltage\":payload.Voltage,\t       \"Current\":payload.Current\t   },\t   \"Soc\":payload.SoC\t}","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":560,"y":5900,"wires":[["fa634ed4ad493f6b"]]},{"id":"fa634ed4ad493f6b","type":"debug","z":"289f539dcc33814e","name":"mit JSONATA","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":760,"y":5900,"wires":[]},{"id":"d74fb7478d1ba60d","type":"change","z":"289f539dcc33814e","name":"Verschieben mit 2 Regeln","rules":[{"t":"move","p":"payload","pt":"msg","to":"payload.Dc","tot":"msg"},{"t":"move","p":"payload.Dc.SoC","pt":"msg","to":"payload.SoC","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":6000,"wires":[["fa49d579d8dde227"]]},{"id":"fa49d579d8dde227","type":"debug","z":"289f539dcc33814e","name":"Verschieben mit 2 Regeln","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":910,"y":6000,"wires":[]},{"id":"35b09d09d38b26f2","type":"change","z":"289f539dcc33814e","name":"Verschieben mit 3 Regeln","rules":[{"t":"move","p":"payload.Power","pt":"msg","to":"payload.Dc.Power","tot":"msg"},{"t":"move","p":"payload.Voltage","pt":"msg","to":"payload.Dc.Voltage","tot":"msg"},{"t":"move","p":"payload.Current","pt":"msg","to":"payload.Dc.Current","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":6060,"wires":[["3e287e17d547c959"]]},{"id":"3e287e17d547c959","type":"debug","z":"289f539dcc33814e","name":"Verschieben mit 3 Regeln","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":910,"y":6060,"wires":[]}]
      

      MACHE NIEMALS EIN OBJEKT durch STRINGMANIPULATIONEN kaputt!!!!

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #210

      Ach ja und wenn Du was Multiplizieren musst - kannst Du es entweder auch direkt über JSONATA machen - und nicht wieder irgendwelche unnützen Nodes verwenden. Wenn Du es nicht weißt, wie dann lieber fragen - als solche unnützen Nodes installieren.

      Die Change Node ist SO mächtig, mit der kannst Du fast alles machen, ändern, transformieren!!!!

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @ak68 Die Reihenfolge ist doch völlig egal, deswegen gibts ja JSON - weil die Werte ja durch ihre Eigenschaften benannt werden und diese komischen String Nodes braucht es erst recht nicht. Wie gesagt schreibe Dir über JSONATA das Objekt wie Du willst, aber nicht mit so komischen String Nodes - das ist ja grausam. Ich verstehe einfach nicht, warum Du nicht das machst was ich schreibe.

        Da installiert man keine unnützen Nodes und manipuliert mit Strings rum.

        Hier alle Möglichkeiten, die ich Dir beschrieben habe:

        dd022756-4939-48e1-b568-263141a3be2a-image.png

        und hier zum Import:

        [{"id":"c7201ca9b35c41de","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Power","payload":"200","payloadType":"num","x":220,"y":5840,"wires":[["93b9fc43fbdb0976"]]},{"id":"35e2146617724f00","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Voltage","payload":"12.7","payloadType":"num","x":210,"y":5880,"wires":[["93b9fc43fbdb0976"]]},{"id":"a0754d2f0668f818","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Current","payload":"3.6","payloadType":"num","x":220,"y":5920,"wires":[["93b9fc43fbdb0976"]]},{"id":"9fbd1b7d26378562","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"SoC","payload":"98","payloadType":"num","x":230,"y":5960,"wires":[["93b9fc43fbdb0976"]]},{"id":"93b9fc43fbdb0976","type":"join","z":"289f539dcc33814e","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":true,"timeout":"","count":"4","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":410,"y":5900,"wires":[["8cc29fcdc103c471","f596d1921af09aa5","d74fb7478d1ba60d","35b09d09d38b26f2"]]},{"id":"8cc29fcdc103c471","type":"debug","z":"289f539dcc33814e","name":"Eine Ebene","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":570,"y":5840,"wires":[]},{"id":"f596d1921af09aa5","type":"change","z":"289f539dcc33814e","name":"JSONATA","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\t   \"Dc\" : {\t       \"Power\":payload.Power,\t       \"Voltage\":payload.Voltage,\t       \"Current\":payload.Current\t   },\t   \"Soc\":payload.SoC\t}","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":560,"y":5900,"wires":[["fa634ed4ad493f6b"]]},{"id":"fa634ed4ad493f6b","type":"debug","z":"289f539dcc33814e","name":"mit JSONATA","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":760,"y":5900,"wires":[]},{"id":"d74fb7478d1ba60d","type":"change","z":"289f539dcc33814e","name":"Verschieben mit 2 Regeln","rules":[{"t":"move","p":"payload","pt":"msg","to":"payload.Dc","tot":"msg"},{"t":"move","p":"payload.Dc.SoC","pt":"msg","to":"payload.SoC","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":6000,"wires":[["fa49d579d8dde227"]]},{"id":"fa49d579d8dde227","type":"debug","z":"289f539dcc33814e","name":"Verschieben mit 2 Regeln","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":910,"y":6000,"wires":[]},{"id":"35b09d09d38b26f2","type":"change","z":"289f539dcc33814e","name":"Verschieben mit 3 Regeln","rules":[{"t":"move","p":"payload.Power","pt":"msg","to":"payload.Dc.Power","tot":"msg"},{"t":"move","p":"payload.Voltage","pt":"msg","to":"payload.Dc.Voltage","tot":"msg"},{"t":"move","p":"payload.Current","pt":"msg","to":"payload.Dc.Current","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":6060,"wires":[["3e287e17d547c959"]]},{"id":"3e287e17d547c959","type":"debug","z":"289f539dcc33814e","name":"Verschieben mit 3 Regeln","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":910,"y":6060,"wires":[]}]
        

        MACHE NIEMALS EIN OBJEKT durch STRINGMANIPULATIONEN kaputt!!!!

        A Offline
        A Offline
        ak68
        schrieb am zuletzt editiert von
        #211

        @mickym sagte in Mqtt zum Victron Cerbo GX ?:

        @ak68 Die Reihenfolge ist doch völlig egal, deswegen gibts ja JSON - weil die Werte ja durch ihre Eigenschaften benannt werden und diese komischen String Nodes braucht es erst recht nicht. Wie gesagt schreibe Dir über JSONATA das Objekt wie Du willst, aber nicht mit so komischen String Nodes - das ist ja grausam. Ich verstehe einfach nicht, warum Du nicht das machst was ich schreibe.

        Da installiert man keine unnützen Nodes und manipuliert mit Strings rum.

        Hier alle Möglichkeiten, die ich Dir beschrieben habe:

        dd022756-4939-48e1-b568-263141a3be2a-image.png

        und hier zum Import:

        [{"id":"c7201ca9b35c41de","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Power","payload":"200","payloadType":"num","x":220,"y":5840,"wires":[["93b9fc43fbdb0976"]]},{"id":"35e2146617724f00","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Voltage","payload":"12.7","payloadType":"num","x":210,"y":5880,"wires":[["93b9fc43fbdb0976"]]},{"id":"a0754d2f0668f818","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Current","payload":"3.6","payloadType":"num","x":220,"y":5920,"wires":[["93b9fc43fbdb0976"]]},{"id":"9fbd1b7d26378562","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"SoC","payload":"98","payloadType":"num","x":230,"y":5960,"wires":[["93b9fc43fbdb0976"]]},{"id":"93b9fc43fbdb0976","type":"join","z":"289f539dcc33814e","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":true,"timeout":"","count":"4","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":410,"y":5900,"wires":[["8cc29fcdc103c471","f596d1921af09aa5","d74fb7478d1ba60d","35b09d09d38b26f2"]]},{"id":"8cc29fcdc103c471","type":"debug","z":"289f539dcc33814e","name":"Eine Ebene","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":570,"y":5840,"wires":[]},{"id":"f596d1921af09aa5","type":"change","z":"289f539dcc33814e","name":"JSONATA","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\t   \"Dc\" : {\t       \"Power\":payload.Power,\t       \"Voltage\":payload.Voltage,\t       \"Current\":payload.Current\t   },\t   \"Soc\":payload.SoC\t}","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":560,"y":5900,"wires":[["fa634ed4ad493f6b"]]},{"id":"fa634ed4ad493f6b","type":"debug","z":"289f539dcc33814e","name":"mit JSONATA","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":760,"y":5900,"wires":[]},{"id":"d74fb7478d1ba60d","type":"change","z":"289f539dcc33814e","name":"Verschieben mit 2 Regeln","rules":[{"t":"move","p":"payload","pt":"msg","to":"payload.Dc","tot":"msg"},{"t":"move","p":"payload.Dc.SoC","pt":"msg","to":"payload.SoC","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":6000,"wires":[["fa49d579d8dde227"]]},{"id":"fa49d579d8dde227","type":"debug","z":"289f539dcc33814e","name":"Verschieben mit 2 Regeln","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":910,"y":6000,"wires":[]},{"id":"35b09d09d38b26f2","type":"change","z":"289f539dcc33814e","name":"Verschieben mit 3 Regeln","rules":[{"t":"move","p":"payload.Power","pt":"msg","to":"payload.Dc.Power","tot":"msg"},{"t":"move","p":"payload.Voltage","pt":"msg","to":"payload.Dc.Voltage","tot":"msg"},{"t":"move","p":"payload.Current","pt":"msg","to":"payload.Dc.Current","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":6060,"wires":[["3e287e17d547c959"]]},{"id":"3e287e17d547c959","type":"debug","z":"289f539dcc33814e","name":"Verschieben mit 3 Regeln","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":910,"y":6060,"wires":[]}]
        

        MACHE NIEMALS EIN OBJEKT durch STRINGMANIPULATIONEN kaputt!!!!

        Du bist ein Schatz :)
        Läuft ....
        Sorry, aber ich komme aus der Edomi-Ecke und habe bisher keine Red-Node-Erfahrung :)
        Andreas

        ioBroker auf QNAP TVS-473
        Visu und Logiken mit node-red
        Anbindung an KNX per openKNX

        mickymM A 2 Antworten Letzte Antwort
        0
        • A ak68

          @mickym sagte in Mqtt zum Victron Cerbo GX ?:

          @ak68 Die Reihenfolge ist doch völlig egal, deswegen gibts ja JSON - weil die Werte ja durch ihre Eigenschaften benannt werden und diese komischen String Nodes braucht es erst recht nicht. Wie gesagt schreibe Dir über JSONATA das Objekt wie Du willst, aber nicht mit so komischen String Nodes - das ist ja grausam. Ich verstehe einfach nicht, warum Du nicht das machst was ich schreibe.

          Da installiert man keine unnützen Nodes und manipuliert mit Strings rum.

          Hier alle Möglichkeiten, die ich Dir beschrieben habe:

          dd022756-4939-48e1-b568-263141a3be2a-image.png

          und hier zum Import:

          [{"id":"c7201ca9b35c41de","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Power","payload":"200","payloadType":"num","x":220,"y":5840,"wires":[["93b9fc43fbdb0976"]]},{"id":"35e2146617724f00","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Voltage","payload":"12.7","payloadType":"num","x":210,"y":5880,"wires":[["93b9fc43fbdb0976"]]},{"id":"a0754d2f0668f818","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Current","payload":"3.6","payloadType":"num","x":220,"y":5920,"wires":[["93b9fc43fbdb0976"]]},{"id":"9fbd1b7d26378562","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"SoC","payload":"98","payloadType":"num","x":230,"y":5960,"wires":[["93b9fc43fbdb0976"]]},{"id":"93b9fc43fbdb0976","type":"join","z":"289f539dcc33814e","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":true,"timeout":"","count":"4","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":410,"y":5900,"wires":[["8cc29fcdc103c471","f596d1921af09aa5","d74fb7478d1ba60d","35b09d09d38b26f2"]]},{"id":"8cc29fcdc103c471","type":"debug","z":"289f539dcc33814e","name":"Eine Ebene","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":570,"y":5840,"wires":[]},{"id":"f596d1921af09aa5","type":"change","z":"289f539dcc33814e","name":"JSONATA","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\t   \"Dc\" : {\t       \"Power\":payload.Power,\t       \"Voltage\":payload.Voltage,\t       \"Current\":payload.Current\t   },\t   \"Soc\":payload.SoC\t}","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":560,"y":5900,"wires":[["fa634ed4ad493f6b"]]},{"id":"fa634ed4ad493f6b","type":"debug","z":"289f539dcc33814e","name":"mit JSONATA","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":760,"y":5900,"wires":[]},{"id":"d74fb7478d1ba60d","type":"change","z":"289f539dcc33814e","name":"Verschieben mit 2 Regeln","rules":[{"t":"move","p":"payload","pt":"msg","to":"payload.Dc","tot":"msg"},{"t":"move","p":"payload.Dc.SoC","pt":"msg","to":"payload.SoC","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":6000,"wires":[["fa49d579d8dde227"]]},{"id":"fa49d579d8dde227","type":"debug","z":"289f539dcc33814e","name":"Verschieben mit 2 Regeln","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":910,"y":6000,"wires":[]},{"id":"35b09d09d38b26f2","type":"change","z":"289f539dcc33814e","name":"Verschieben mit 3 Regeln","rules":[{"t":"move","p":"payload.Power","pt":"msg","to":"payload.Dc.Power","tot":"msg"},{"t":"move","p":"payload.Voltage","pt":"msg","to":"payload.Dc.Voltage","tot":"msg"},{"t":"move","p":"payload.Current","pt":"msg","to":"payload.Dc.Current","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":6060,"wires":[["3e287e17d547c959"]]},{"id":"3e287e17d547c959","type":"debug","z":"289f539dcc33814e","name":"Verschieben mit 3 Regeln","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":910,"y":6060,"wires":[]}]
          

          MACHE NIEMALS EIN OBJEKT durch STRINGMANIPULATIONEN kaputt!!!!

          Du bist ein Schatz :)
          Läuft ....
          Sorry, aber ich komme aus der Edomi-Ecke und habe bisher keine Red-Node-Erfahrung :)
          Andreas

          mickymM Offline
          mickymM Offline
          mickym
          Most Active
          schrieb am zuletzt editiert von
          #212

          @ak68 Na das ist ja kein Problem - Du solltest Dich nur mal mit Javascript Objekten und Arrays beschäftigen - jedenfalls nichts mit Strings machen.

          Auch über die Debug Node kann man Pfade ermitteln wenn man nicht weiß, wie man auf bestimmte Eigenschaften zugreifen kann.

          copy path.gif

          Es war auch nicht böse gemeint. Nur wenn ich Dir was mit Text beschreibe und Du es nicht verstehst, dann frage lieber nach bevor Du selbst in die falsche Richtung gehst. Anhand meines Flows siehst Du ja nun 3 Möglichkeiten und kannst Dir ja überlegen, welche Dir am Besten gefällt.

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          A 1 Antwort Letzte Antwort
          0
          • mickymM mickym

            @ak68 Na das ist ja kein Problem - Du solltest Dich nur mal mit Javascript Objekten und Arrays beschäftigen - jedenfalls nichts mit Strings machen.

            Auch über die Debug Node kann man Pfade ermitteln wenn man nicht weiß, wie man auf bestimmte Eigenschaften zugreifen kann.

            copy path.gif

            Es war auch nicht böse gemeint. Nur wenn ich Dir was mit Text beschreibe und Du es nicht verstehst, dann frage lieber nach bevor Du selbst in die falsche Richtung gehst. Anhand meines Flows siehst Du ja nun 3 Möglichkeiten und kannst Dir ja überlegen, welche Dir am Besten gefällt.

            A Offline
            A Offline
            ak68
            schrieb am zuletzt editiert von
            #213

            @mickym

            Hallo Mickym,

            leider habe ich offensichlich falsche Variablen.
            Mit den manuellen Werten klappt es, mit meinen per MQTT-zugeleiteten Werte NICH.

            Müssen diese noch umgewandelt werden ?

            8c815122-1d68-4236-9d36-619df0f94648-image.png

            Danke
            Andreas

            ioBroker auf QNAP TVS-473
            Visu und Logiken mit node-red
            Anbindung an KNX per openKNX

            mickymM 1 Antwort Letzte Antwort
            0
            • A ak68

              @mickym

              Hallo Mickym,

              leider habe ich offensichlich falsche Variablen.
              Mit den manuellen Werten klappt es, mit meinen per MQTT-zugeleiteten Werte NICH.

              Müssen diese noch umgewandelt werden ?

              8c815122-1d68-4236-9d36-619df0f94648-image.png

              Danke
              Andreas

              mickymM Offline
              mickymM Offline
              mickym
              Most Active
              schrieb am zuletzt editiert von mickym
              #214

              @ak68 Ja wahrscheinlich musst Du mit change Variablen noch das richtig topic setzen. Du siehst ja, dass ich in den Inject Nodes - die entsprechenden topics gesetzt habe. Setze also einfach hinter die mqtt In Nodes, Change Nodes und setze die korrekten Topics.

              Also zum Beispiel:

              e08a8688-336a-4579-83f0-b7a01d166a1c-image.png

              Ein Nachrichtenobjekt ist wie ein normales Object (JS oder JSON) aufgebaut und besitzt mehrere Eigenschaften, die Du frei definieren kannst.

              Gebräuchlich sind meist eine Eigenschaft "payload", die die Nutzdaten enthält, das ist aber nicht zwingend. Und meist auch ein "topic", das beschreibt um welchen Wert es sich handelt. Wenn Nachrichten nur Nutzwerte schicken würden, wie 3,23 usw. ohne dass man deren Bedeutung beschreibt, könnte man mit diesen Werten nichts anfangen. Deswegen setzt man ein topic.

              Und wie gesagt solche Multiplier Nodes kann man sich sparen. Rechnen kann man auch in Change NOdes mit JSONATA. Mehr machen diese Nodes auch nicht.

              Wenn Du das topic nicht setzt, dann steht halt in der Nachricht das mqtt-topic im topic - das siehst Du alles, wenn Du Dir das Nachrichtenobjekt über die Debug Nodes ausgibst. Gerne auch das komplette Nachrichtenobjekt.

              Lange Rede kurzer Sinn. Setze hinter Deine mqtt Nodes noch Change Nodes und setze das topic korrekt, wie in den Inject nodes, dann funktioniert das Ganze auch.

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              A 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @ak68 Ja wahrscheinlich musst Du mit change Variablen noch das richtig topic setzen. Du siehst ja, dass ich in den Inject Nodes - die entsprechenden topics gesetzt habe. Setze also einfach hinter die mqtt In Nodes, Change Nodes und setze die korrekten Topics.

                Also zum Beispiel:

                e08a8688-336a-4579-83f0-b7a01d166a1c-image.png

                Ein Nachrichtenobjekt ist wie ein normales Object (JS oder JSON) aufgebaut und besitzt mehrere Eigenschaften, die Du frei definieren kannst.

                Gebräuchlich sind meist eine Eigenschaft "payload", die die Nutzdaten enthält, das ist aber nicht zwingend. Und meist auch ein "topic", das beschreibt um welchen Wert es sich handelt. Wenn Nachrichten nur Nutzwerte schicken würden, wie 3,23 usw. ohne dass man deren Bedeutung beschreibt, könnte man mit diesen Werten nichts anfangen. Deswegen setzt man ein topic.

                Und wie gesagt solche Multiplier Nodes kann man sich sparen. Rechnen kann man auch in Change NOdes mit JSONATA. Mehr machen diese Nodes auch nicht.

                Wenn Du das topic nicht setzt, dann steht halt in der Nachricht das mqtt-topic im topic - das siehst Du alles, wenn Du Dir das Nachrichtenobjekt über die Debug Nodes ausgibst. Gerne auch das komplette Nachrichtenobjekt.

                Lange Rede kurzer Sinn. Setze hinter Deine mqtt Nodes noch Change Nodes und setze das topic korrekt, wie in den Inject nodes, dann funktioniert das Ganze auch.

                A Offline
                A Offline
                ak68
                schrieb am zuletzt editiert von
                #215

                @mickym

                Jetzt klapp´s, viele Dank auch für die "Basics" am Rande :)

                Andreas

                ioBroker auf QNAP TVS-473
                Visu und Logiken mit node-red
                Anbindung an KNX per openKNX

                1 Antwort Letzte Antwort
                0
                • A ak68

                  @mickym sagte in Mqtt zum Victron Cerbo GX ?:

                  @ak68 Die Reihenfolge ist doch völlig egal, deswegen gibts ja JSON - weil die Werte ja durch ihre Eigenschaften benannt werden und diese komischen String Nodes braucht es erst recht nicht. Wie gesagt schreibe Dir über JSONATA das Objekt wie Du willst, aber nicht mit so komischen String Nodes - das ist ja grausam. Ich verstehe einfach nicht, warum Du nicht das machst was ich schreibe.

                  Da installiert man keine unnützen Nodes und manipuliert mit Strings rum.

                  Hier alle Möglichkeiten, die ich Dir beschrieben habe:

                  dd022756-4939-48e1-b568-263141a3be2a-image.png

                  und hier zum Import:

                  [{"id":"c7201ca9b35c41de","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Power","payload":"200","payloadType":"num","x":220,"y":5840,"wires":[["93b9fc43fbdb0976"]]},{"id":"35e2146617724f00","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Voltage","payload":"12.7","payloadType":"num","x":210,"y":5880,"wires":[["93b9fc43fbdb0976"]]},{"id":"a0754d2f0668f818","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Current","payload":"3.6","payloadType":"num","x":220,"y":5920,"wires":[["93b9fc43fbdb0976"]]},{"id":"9fbd1b7d26378562","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"SoC","payload":"98","payloadType":"num","x":230,"y":5960,"wires":[["93b9fc43fbdb0976"]]},{"id":"93b9fc43fbdb0976","type":"join","z":"289f539dcc33814e","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":true,"timeout":"","count":"4","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":410,"y":5900,"wires":[["8cc29fcdc103c471","f596d1921af09aa5","d74fb7478d1ba60d","35b09d09d38b26f2"]]},{"id":"8cc29fcdc103c471","type":"debug","z":"289f539dcc33814e","name":"Eine Ebene","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":570,"y":5840,"wires":[]},{"id":"f596d1921af09aa5","type":"change","z":"289f539dcc33814e","name":"JSONATA","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\t   \"Dc\" : {\t       \"Power\":payload.Power,\t       \"Voltage\":payload.Voltage,\t       \"Current\":payload.Current\t   },\t   \"Soc\":payload.SoC\t}","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":560,"y":5900,"wires":[["fa634ed4ad493f6b"]]},{"id":"fa634ed4ad493f6b","type":"debug","z":"289f539dcc33814e","name":"mit JSONATA","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":760,"y":5900,"wires":[]},{"id":"d74fb7478d1ba60d","type":"change","z":"289f539dcc33814e","name":"Verschieben mit 2 Regeln","rules":[{"t":"move","p":"payload","pt":"msg","to":"payload.Dc","tot":"msg"},{"t":"move","p":"payload.Dc.SoC","pt":"msg","to":"payload.SoC","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":6000,"wires":[["fa49d579d8dde227"]]},{"id":"fa49d579d8dde227","type":"debug","z":"289f539dcc33814e","name":"Verschieben mit 2 Regeln","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":910,"y":6000,"wires":[]},{"id":"35b09d09d38b26f2","type":"change","z":"289f539dcc33814e","name":"Verschieben mit 3 Regeln","rules":[{"t":"move","p":"payload.Power","pt":"msg","to":"payload.Dc.Power","tot":"msg"},{"t":"move","p":"payload.Voltage","pt":"msg","to":"payload.Dc.Voltage","tot":"msg"},{"t":"move","p":"payload.Current","pt":"msg","to":"payload.Dc.Current","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":6060,"wires":[["3e287e17d547c959"]]},{"id":"3e287e17d547c959","type":"debug","z":"289f539dcc33814e","name":"Verschieben mit 3 Regeln","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":910,"y":6060,"wires":[]}]
                  

                  MACHE NIEMALS EIN OBJEKT durch STRINGMANIPULATIONEN kaputt!!!!

                  Du bist ein Schatz :)
                  Läuft ....
                  Sorry, aber ich komme aus der Edomi-Ecke und habe bisher keine Red-Node-Erfahrung :)
                  Andreas

                  A Offline
                  A Offline
                  ak68
                  schrieb am zuletzt editiert von ak68
                  #216

                  Hallo Mickym,

                  Ich habe die beiden Nodes "Verschieben mit 2 bzw 3 Regeln" nicht verstanden.
                  Was bewirken diese ?

                  Vielen Dank
                  Andreas

                  ioBroker auf QNAP TVS-473
                  Visu und Logiken mit node-red
                  Anbindung an KNX per openKNX

                  mickymM 1 Antwort Letzte Antwort
                  0
                  • A ak68

                    Hallo Mickym,

                    Ich habe die beiden Nodes "Verschieben mit 2 bzw 3 Regeln" nicht verstanden.
                    Was bewirken diese ?

                    Vielen Dank
                    Andreas

                    mickymM Offline
                    mickymM Offline
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von mickym
                    #217

                    @ak68 Na ja sie machen das gleiche wie die Change Node mit JSONATA - nur eben in dem die Eigenschaften verschoben werden - also mit anderen Mitteln oder einer anderen Methode. Du siehst ja das Ergebnis ist das Gleiche. Wenn Du zu den Regel eine Verständnisfrage hast, dann frag. Ansonsten kannst ja eine Regel löschen und sehen, wie das Ergebnis aussieht.

                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                    M 1 Antwort Letzte Antwort
                    0
                    • mickymM mickym

                      @ak68 Na ja sie machen das gleiche wie die Change Node mit JSONATA - nur eben in dem die Eigenschaften verschoben werden - also mit anderen Mitteln oder einer anderen Methode. Du siehst ja das Ergebnis ist das Gleiche. Wenn Du zu den Regel eine Verständnisfrage hast, dann frag. Ansonsten kannst ja eine Regel löschen und sehen, wie das Ergebnis aussieht.

                      M Offline
                      M Offline
                      MatzE46
                      schrieb am zuletzt editiert von
                      #218

                      Ahoi zusammen,

                      ich hatte Anfangs ebenfalls Probleme, Werte via MQTT von meiner Cerbo zu bekommen, Knackpunkt war tatsächlich auch der Wert "keepalive", welcher oben hier im Topic thematisiert wurde.
                      Der Hinweis zu den wichtigen Schritten, konkret dem "keepalive" von @adcrafter27 war Ausschlaggebend. Ich schicke der Cerbo jetzt einfach per Blockly Script alle 30s alternierend eine 0 und eine 1. Das sorgt dafür, dass die Session aktiv bleibt und die Cerbo mir konstant ihre Werte schickt.

                      Falls ihr ein Display an der Cerbo habt (oder ein EkranoGX mit integriertem Display betreibt), könnte eben das Display übrigens dafür verantwortlich sein, dass ihr nichts an den Keepalive schicken müsst, zumindest wenn die GUI v2 aktiv ist.
                      Bei einem Kumpel ist das jedenfalls so, CerboGX mit angeschlossenem Display und v2 GUI. Er muss kein Keepalive schicken. ;)

                      Das so als kleiner Erfahrungsbericht zur MQTT Kommunikation mit VenusOS, in meinem Fall auf einer CerboGX. :)

                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      494

                      Online

                      32.4k

                      Benutzer

                      81.5k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe