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. Skripten / Logik
  4. Blockly
  5. Shopping List Alexa

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    13
    1
    142

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

Shopping List Alexa

Scheduled Pinned Locked Moved Blockly
blockly
68 Posts 10 Posters 6.8k Views 11 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.
  • BananaJoeB BananaJoe

    @tiobb Das Skript reagiert auf Änderung. Füge mal was neues hinzu oder aber starte das Skript noch mal.
    Schlecht programmiert, beim ersten mal werden die Datenpunkte erstellt, die Befüllung klappt aber nicht weil gerade erst erstellt.

    Also Skript einmal neu starten. Oder einen Eintrag hinzufügen/entfernen

    tiobbT Offline
    tiobbT Offline
    tiobb
    wrote on last edited by tiobb
    #15

    @bananajoe
    Es tut sich jedenfalls etwas.

    Einkaufsliste_Blockly2.png
    Wenn ich jetzt in den Objekten "Telegram_Send" manuell auf "true" setze, bekomme ich die Liste per Telegram.
    @BananaJoe
    Nachtrag: Aber nur einmal, danach tut sich nichts mehr, erst wenn ich wieder manuell auf "true" setze bekomme ich die Liste, es fehlt noch etwas, dass diesen Datenpunkt automatisch kurz auf "true" setzt. DIe hinzugefügten Artikel in der Einkaufsliste werden in "JSON_all", JSON_completed und "JSON_uncompleted aktualisiert, nur "Telegram_Send" bleibt immer auf "false" stehen, wird auch nicht mal kurz grün oder so.

    Raspberry Pi 4 8gb

    tiobbT BananaJoeB 2 Replies Last reply
    0
    • tiobbT tiobb

      @bananajoe
      Es tut sich jedenfalls etwas.

      Einkaufsliste_Blockly2.png
      Wenn ich jetzt in den Objekten "Telegram_Send" manuell auf "true" setze, bekomme ich die Liste per Telegram.
      @BananaJoe
      Nachtrag: Aber nur einmal, danach tut sich nichts mehr, erst wenn ich wieder manuell auf "true" setze bekomme ich die Liste, es fehlt noch etwas, dass diesen Datenpunkt automatisch kurz auf "true" setzt. DIe hinzugefügten Artikel in der Einkaufsliste werden in "JSON_all", JSON_completed und "JSON_uncompleted aktualisiert, nur "Telegram_Send" bleibt immer auf "false" stehen, wird auch nicht mal kurz grün oder so.

      tiobbT Offline
      tiobbT Offline
      tiobb
      wrote on last edited by
      #16

      @liv-in-sky
      Danke Dir, ich werde es mir mal anschauen.
      Gruß,
      tiobb

      Raspberry Pi 4 8gb

      1 Reply Last reply
      0
      • tiobbT tiobb

        @bananajoe
        Es tut sich jedenfalls etwas.

        Einkaufsliste_Blockly2.png
        Wenn ich jetzt in den Objekten "Telegram_Send" manuell auf "true" setze, bekomme ich die Liste per Telegram.
        @BananaJoe
        Nachtrag: Aber nur einmal, danach tut sich nichts mehr, erst wenn ich wieder manuell auf "true" setze bekomme ich die Liste, es fehlt noch etwas, dass diesen Datenpunkt automatisch kurz auf "true" setzt. DIe hinzugefügten Artikel in der Einkaufsliste werden in "JSON_all", JSON_completed und "JSON_uncompleted aktualisiert, nur "Telegram_Send" bleibt immer auf "false" stehen, wird auch nicht mal kurz grün oder so.

        BananaJoeB Offline
        BananaJoeB Offline
        BananaJoe
        Most Active
        wrote on last edited by
        #17

        @tiobb wenn du dir das Blockly ansiehst wirst du erkennen können das es dieses Skript ist was auf den Datenpunkt für das Senden reagiert. Und das Skript setzt ganz am Ende mit einer Verzögerung von 5 Sekunden den Datenpunkt wieder auf false.

        Das habe ich für meine VIS gemacht. Wenn ich den Button für Senden drücke schaltet dessen Ansicht um als Feedback das gesendet wird. Und Nach 5 Sekunden springt dieser wieder zurück.

        ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 10 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV APC 750W kaskadiert || Creality CR-10 SE 3D-Drucker

        tiobbT 1 Reply Last reply
        0
        • ChrisNettC ChrisNett

          huhu,

          könntest du dir eine Alexa Anbindung vorstellen? Das würde es für mich Perfekt machen.

          Etwas hinzufügen würde mir schon reichen per Alexa... ich weiß schon... da steckt bestimmt viel dahinter.

          Christian

          BananaJoeB Offline
          BananaJoeB Offline
          BananaJoe
          Most Active
          wrote on last edited by
          #18

          @christian-sandkaulen du meinst mich?
          Was möchtest du, das man per Alexa-Sprachbefehl die Einkaufsliste senden kann?

          ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 10 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV APC 750W kaskadiert || Creality CR-10 SE 3D-Drucker

          1 Reply Last reply
          0
          • ChrisNettC ChrisNett

            huhu,

            könntest du dir eine Alexa Anbindung vorstellen? Das würde es für mich Perfekt machen.

            Etwas hinzufügen würde mir schon reichen per Alexa... ich weiß schon... da steckt bestimmt viel dahinter.

            Christian

            liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            wrote on last edited by liv-in-sky
            #19

            @christian-sandkaulen

            Alexa, füge eier meiner Liste einkauf hinzu.

            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

            1 Reply Last reply
            0
            • BananaJoeB BananaJoe

              @tiobb wenn du dir das Blockly ansiehst wirst du erkennen können das es dieses Skript ist was auf den Datenpunkt für das Senden reagiert. Und das Skript setzt ganz am Ende mit einer Verzögerung von 5 Sekunden den Datenpunkt wieder auf false.

              Das habe ich für meine VIS gemacht. Wenn ich den Button für Senden drücke schaltet dessen Ansicht um als Feedback das gesendet wird. Und Nach 5 Sekunden springt dieser wieder zurück.

              tiobbT Offline
              tiobbT Offline
              tiobb
              wrote on last edited by
              #20

              @bananajoe sagte in Shopping List Alexa:

              @tiobb wenn du dir das Blockly ansiehst wirst du erkennen können das es dieses Skript ist was auf den Datenpunkt für das Senden reagiert. Und das Skript setzt ganz am Ende mit einer Verzögerung von 5 Sekunden den Datenpunkt wieder auf false.

              Das habe ich für meine VIS gemacht. Wenn ich den Button für Senden drücke schaltet dessen Ansicht um als Feedback das gesendet wird. Und Nach 5 Sekunden springt dieser wieder zurück.

              Guten Morgen,
              das mit der 5 Sekunden Verzögerung und dem Setzen auf "false" habe ich gesehen, aber wie realisiere ich denn, dass mir die Einkaufsliste bei Änderung automatisch zugesendet wird. Für mich sieht das Blockly so aus als würde die Einkaufliste versendet sobald eine Änderung in der Einkaufsliste passiert, aber leider wird nicht gesendet. Habe ich etwas übersehen?

              Raspberry Pi 4 8gb

              BananaJoeB 1 Reply Last reply
              0
              • tiobbT tiobb

                @bananajoe sagte in Shopping List Alexa:

                @tiobb wenn du dir das Blockly ansiehst wirst du erkennen können das es dieses Skript ist was auf den Datenpunkt für das Senden reagiert. Und das Skript setzt ganz am Ende mit einer Verzögerung von 5 Sekunden den Datenpunkt wieder auf false.

                Das habe ich für meine VIS gemacht. Wenn ich den Button für Senden drücke schaltet dessen Ansicht um als Feedback das gesendet wird. Und Nach 5 Sekunden springt dieser wieder zurück.

                Guten Morgen,
                das mit der 5 Sekunden Verzögerung und dem Setzen auf "false" habe ich gesehen, aber wie realisiere ich denn, dass mir die Einkaufsliste bei Änderung automatisch zugesendet wird. Für mich sieht das Blockly so aus als würde die Einkaufliste versendet sobald eine Änderung in der Einkaufsliste passiert, aber leider wird nicht gesendet. Habe ich etwas übersehen?

                BananaJoeB Offline
                BananaJoeB Offline
                BananaJoe
                Most Active
                wrote on last edited by
                #21

                @tiobb also:

                1. Das willst du nicht .... dann würde er auch jedes mal senden wenn du einen Eintrag aus der Liste nimmst
                2. Falls doch: Ersetze im Blockly einfach den Datenpunkt von Falls Objekt mit dem Telegram Datenpunkt.
                  Die Erstellung des true/false Datenpunktes kannst du dann löschen

                ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 10 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV APC 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                tiobbT 1 Reply Last reply
                0
                • ChrisNettC Offline
                  ChrisNettC Offline
                  ChrisNett
                  wrote on last edited by
                  #22

                  @bananajoe

                  Alexa, setze .... auf meine Einkaufsliste.

                  das wäre cool

                  BananaJoeB liv-in-skyL 2 Replies Last reply
                  0
                  • ChrisNettC ChrisNett

                    @bananajoe

                    Alexa, setze .... auf meine Einkaufsliste.

                    das wäre cool

                    BananaJoeB Offline
                    BananaJoeB Offline
                    BananaJoe
                    Most Active
                    wrote on last edited by BananaJoe
                    #23

                    @christian-sandkaulen Probier mal aus - das funktioniert schon.
                    Mein Skript holt sich nur die Daten aus eben dieser Liste (vom Alexa2 Adapter).

                    Ist die gleiche Liste die auch in der Alexa-App zu sehen ist.

                    ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 10 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV APC 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                    1 Reply Last reply
                    0
                    • ChrisNettC ChrisNett

                      @bananajoe

                      Alexa, setze .... auf meine Einkaufsliste.

                      das wäre cool

                      liv-in-skyL Offline
                      liv-in-skyL Offline
                      liv-in-sky
                      wrote on last edited by
                      #24

                      @christian-sandkaulen

                      bin ich unsichtbar ?

                      Alexa, füge eier meiner Liste einkauf hinzu - oder ähnliche

                      das ist standard und funktioniert schon längst bei alexa

                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                      ChrisNettC 1 Reply Last reply
                      0
                      • liv-in-skyL liv-in-sky

                        @christian-sandkaulen

                        bin ich unsichtbar ?

                        Alexa, füge eier meiner Liste einkauf hinzu - oder ähnliche

                        das ist standard und funktioniert schon längst bei alexa

                        ChrisNettC Offline
                        ChrisNettC Offline
                        ChrisNett
                        wrote on last edited by
                        #25

                        @liv-in-sky

                        danke, habe dich tatsächlich überlesen sorry :man-bowing:

                        1 Reply Last reply
                        0
                        • BananaJoeB BananaJoe

                          @tiobb also:

                          1. Das willst du nicht .... dann würde er auch jedes mal senden wenn du einen Eintrag aus der Liste nimmst
                          2. Falls doch: Ersetze im Blockly einfach den Datenpunkt von Falls Objekt mit dem Telegram Datenpunkt.
                            Die Erstellung des true/false Datenpunktes kannst du dann löschen
                          tiobbT Offline
                          tiobbT Offline
                          tiobb
                          wrote on last edited by
                          #26

                          @bananajoe sagte in Shopping List Alexa:

                          @tiobb also:

                          1. Das willst du nicht .... dann würde er auch jedes mal senden wenn du einen Eintrag aus der Liste nimmst
                          2. Falls doch: Ersetze im Blockly einfach den Datenpunkt von Falls Objekt mit dem Telegram Datenpunkt.
                            Die Erstellung des true/false Datenpunktes kannst du dann löschen

                          Das habe ich gemacht, bis auf das Löschen des Datenpunktes "true/false", aber die Liste wird einfach nicht gesendet. Ich könnte mir vorstellen, wenn ich mal weiter bin, mir die Liste einmal oder alle 2 Tage schicken zu lassen.

                          Raspberry Pi 4 8gb

                          BananaJoeB 1 Reply Last reply
                          0
                          • tiobbT tiobb

                            @bananajoe sagte in Shopping List Alexa:

                            @tiobb also:

                            1. Das willst du nicht .... dann würde er auch jedes mal senden wenn du einen Eintrag aus der Liste nimmst
                            2. Falls doch: Ersetze im Blockly einfach den Datenpunkt von Falls Objekt mit dem Telegram Datenpunkt.
                              Die Erstellung des true/false Datenpunktes kannst du dann löschen

                            Das habe ich gemacht, bis auf das Löschen des Datenpunktes "true/false", aber die Liste wird einfach nicht gesendet. Ich könnte mir vorstellen, wenn ich mal weiter bin, mir die Liste einmal oder alle 2 Tage schicken zu lassen.

                            BananaJoeB Offline
                            BananaJoeB Offline
                            BananaJoe
                            Most Active
                            wrote on last edited by
                            #27

                            @tiobb kontrolliere noch mal. Wenn der Wert im Datenpunkt Telegram sich ändert müsste er eigentlich anspringen.
                            Sonst stell den Auslöser mal auf "Aktualisierung"

                            ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 10 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV APC 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                            tiobbT 1 Reply Last reply
                            0
                            • BananaJoeB BananaJoe

                              @tiobb kontrolliere noch mal. Wenn der Wert im Datenpunkt Telegram sich ändert müsste er eigentlich anspringen.
                              Sonst stell den Auslöser mal auf "Aktualisierung"

                              tiobbT Offline
                              tiobbT Offline
                              tiobb
                              wrote on last edited by
                              #28

                              @bananajoe
                              Du meinst in den Objekten schauen, ob sich nach einem Neueintrag in die Einkaufsliste, der Datenpunkt Telegram ändert? JA, er "Einkaufsliste" wird dann kurz grün.

                              Raspberry Pi 4 8gb

                              BananaJoeB 1 Reply Last reply
                              0
                              • tiobbT tiobb

                                @bananajoe
                                Du meinst in den Objekten schauen, ob sich nach einem Neueintrag in die Einkaufsliste, der Datenpunkt Telegram ändert? JA, er "Einkaufsliste" wird dann kurz grün.

                                BananaJoeB Offline
                                BananaJoeB Offline
                                BananaJoe
                                Most Active
                                wrote on last edited by
                                #29

                                @tiobb die Falls Prüfung darunter muss raus, da darf dann sofort der Telegram Block kommen.

                                ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 10 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV APC 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                                tiobbT 1 Reply Last reply
                                0
                                • BananaJoeB BananaJoe

                                  @tiobb die Falls Prüfung darunter muss raus, da darf dann sofort der Telegram Block kommen.

                                  tiobbT Offline
                                  tiobbT Offline
                                  tiobb
                                  wrote on last edited by
                                  #30

                                  @bananajoe
                                  Den Eintrag "Telegram_Send" habe ich gelöscht, wird aber sofort wieder geschrieben sobald das Blockly neu startet, dann bekomme ich die Einkaufsliste gesendet, nach einem Neueintrag aber nicht mehr.

                                  Raspberry Pi 4 8gb

                                  BananaJoeB 1 Reply Last reply
                                  0
                                  • tiobbT tiobb

                                    @bananajoe
                                    Den Eintrag "Telegram_Send" habe ich gelöscht, wird aber sofort wieder geschrieben sobald das Blockly neu startet, dann bekomme ich die Einkaufsliste gesendet, nach einem Neueintrag aber nicht mehr.

                                    BananaJoeB Offline
                                    BananaJoeB Offline
                                    BananaJoe
                                    Most Active
                                    wrote on last edited by BananaJoe
                                    #31

                                    @tiobb
                                    Entweder so:
                                    2e439aae-83a3-4b1c-89eb-c798a008fa96-image.png

                                    <xml xmlns="https://developers.google.com/blockly/xml">
                                      <block type="on" id="STQgQd/_%KTr#@y8Yf_G" x="-562" y="-349">
                                        <field name="OID">javascript.0.echos.Alexa_Einkaufsliste.Telegram</field>
                                        <field name="CONDITION">ne</field>
                                        <field name="ACK_CONDITION"></field>
                                        <statement name="STATEMENT">
                                          <block type="telegram" id="GE$#W-0gtdu%.fo|x^l-">
                                            <field name="INSTANCE">.0</field>
                                            <field name="LOG"></field>
                                            <field name="SILENT">FALSE</field>
                                            <field name="PARSEMODE">default</field>
                                            <value name="MESSAGE">
                                              <shadow type="text" id="My{v]B:XX^OLrAQyZ]k$">
                                                <field name="TEXT">text</field>
                                              </shadow>
                                              <block type="get_value" id="NZItI|!GO#o;IUW3Vl?O">
                                                <field name="ATTR">val</field>
                                                <field name="OID">javascript.0.echos.Alexa_Einkaufsliste.Telegram</field>
                                              </block>
                                            </value>
                                          </block>
                                        </statement>
                                      </block>
                                    </xml>
                                    

                                    Oder so:
                                    6cf42153-922f-4360-84de-903c9e756748-image.png

                                    <xml xmlns="https://developers.google.com/blockly/xml">
                                      <block type="on" id="STQgQd/_%KTr#@y8Yf_G" x="-562" y="-349">
                                        <field name="OID">javascript.0.echos.Alexa_Einkaufsliste.Telegram</field>
                                        <field name="CONDITION">ne</field>
                                        <field name="ACK_CONDITION"></field>
                                        <statement name="STATEMENT">
                                          <block type="telegram" id="GE$#W-0gtdu%.fo|x^l-">
                                            <field name="INSTANCE">.0</field>
                                            <field name="LOG"></field>
                                            <field name="SILENT">FALSE</field>
                                            <field name="PARSEMODE">default</field>
                                            <value name="MESSAGE">
                                              <shadow type="text" id="My{v]B:XX^OLrAQyZ]k$">
                                                <field name="TEXT">text</field>
                                              </shadow>
                                              <block type="on_source" id="(vEVb6b9H.zJS8G[81w@">
                                                <field name="ATTR">state.val</field>
                                              </block>
                                            </value>
                                          </block>
                                        </statement>
                                      </block>
                                    </xml>
                                    

                                    Das Name-Attribut des Datenopunktes für die Telegram Meldung ist eventuell etwas unglücklich ... oder das ich hier einfach meine Quick-und-Dirty Lösungen reinkopiere

                                    ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 10 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV APC 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                                    1 Reply Last reply
                                    0
                                    • tiobbT Offline
                                      tiobbT Offline
                                      tiobb
                                      wrote on last edited by tiobb
                                      #32

                                      @bananajoe
                                      Merci Dir, das vorletzte Blockly von Dir hatte ich auch "schon" hinbekommen, leider wurde dann immer der letzte Listeneintrag nicht in die gesendete Einkaufliste übernommen, aber mit deinem letzten Blockly funktioniert es. Habe jetzt noch einen Zeitplan daran gehängt, so das ich die aktualisierung einmal am Tag die Liste per Telegram bekomme. Ich habe da aber noch einen Fehler drin, denn ich bekomme die Liste dann 2 mal geschickt :smile: aber das bekomme ich schon hin. Danke nochmals für Deine Geduld.

                                      @bananaJoe
                                      Läuft wieder, musste nur den Alexa Adapter neu starten.
                                      Schönes Wochenende.

                                      Raspberry Pi 4 8gb

                                      1 Reply Last reply
                                      0
                                      • BananaJoeB BananaJoe

                                        @tiobb Ich habe es mit folgendem Skript gelöst:

                                        // ####################################################################################################################################################
                                        // Setup
                                        var s_target_JSON = "javascript.0.echos.Alexa_Einkaufsliste.";
                                        var s_source_JSON = "alexa2.0.Lists.SHOPPING_LIST.json";
                                        //var s_source_JSON = "javascript.0.echos.Alexa_Einkaufsliste.tester";
                                        // ####################################################################################################################################################
                                        // Zielpunkte anlegen falls noch nicht vorhanden
                                        // JSON_uncompleted
                                        createState(s_target_JSON + "JSON_uncompleted", false, {
                                          read: true, 
                                          write: true, 
                                          name: 'Only uncompleted entries', 
                                          type: 'string', 
                                          def: "empty"
                                        });
                                        createState(s_target_JSON + "JSON_completed", false, {
                                          read: true, 
                                          write: true, 
                                          name: 'Only completed entries', 
                                          type: 'string', 
                                          def: "empty"
                                        });
                                        createState(s_target_JSON + "JSON_all", false, {
                                          read: true, 
                                          write: true, 
                                          name: 'completed and uncompleted entries', 
                                          type: 'string', 
                                          def: "empty"
                                        });
                                        createState(s_target_JSON + "Telegram", false, {
                                          read: true, 
                                          write: true, 
                                          name: 'Message for Telegram', 
                                          type: 'string', 
                                          def: "empty"
                                        });
                                        
                                        // ####################################################################################################################################################
                                        // Hilfsvariablen
                                        var s_JSON_uncompleted;
                                        var s_JSON_completed;
                                        var s_JSON_all;
                                        var s_Telegram;
                                        // ####################################################################################################################################################
                                        // Funktionen
                                        function ReWorkAlexaJSON(json) {
                                            s_JSON_uncompleted = '[';
                                            s_JSON_completed = '[';
                                            s_JSON_all = '[';
                                            s_Telegram = '**Einkaufsliste** \n';
                                        
                                            try {
                                                // JSON einlesen
                                                var obj = JSON.parse(json);
                                                //nur die wichtigen Felder holen
                                                for (var item in obj) {
                                                    let b_completed = obj[item].completed;
                                                    let s_ItemName = obj[item].value;
                                                    // Anfangsbuchstaben in Großbuchstaben umwandeln
                                                    s_ItemName = s_ItemName.replace(/(^|\s)\S/g, l => l.toUpperCase());
                                                    // Änderungsdatum auslesen und als normales Datum und als "ist Stunden Minuten Sekunden her" speichern
                                                    let s_updatedDateTime = obj[item].updatedDateTime;
                                                    let s_CreatedTime = (new Date()).getTime();
                                                    var yy = (Math.round((new Date()).getTime() / 1000)) - Math.round(s_updatedDateTime/1000);
                                                    s_updatedDateTime=formatDate(getDateObject(s_updatedDateTime), "TT.MM(SS:mm)");
                                                    s_CreatedTime=(Math.floor( ((yy)/60/60/24) )+"d "+ Math.floor(((yy)/60/60) % 24) +"h "+ Math.floor( ((yy)/60) % 60 )+"m");
                                                    s_CreatedTime = s_CreatedTime.replace("0d ", "");
                                                    s_CreatedTime = s_CreatedTime.replace("0h ", "");
                                                    // Die 3 JSON befüllen
                                                    s_JSON_all = s_JSON_all + '{"Artikel":"' + s_ItemName + '","Erstellt vor":"' + s_CreatedTime + '"},';
                                                    if ( b_completed == false ) {
                                                        s_JSON_uncompleted = s_JSON_uncompleted + '{"Artikel":"' + s_ItemName + '","Erstellt vor":"' + s_CreatedTime + '"},';
                                                        s_Telegram = s_Telegram + s_ItemName + "\n";
                                                    } else {
                                                        s_JSON_completed = s_JSON_completed + '{"Artikel":"' + s_ItemName + '","Erstellt vor":"' + s_CreatedTime + '"},';
                                                    }
                                                }
                                                // letztes Komma wieder abschneiden
                                                s_JSON_all = s_JSON_all.slice(0, -1);
                                                s_JSON_uncompleted = s_JSON_uncompleted.slice(0, -1);
                                                s_JSON_completed = s_JSON_completed.slice(0, -1);
                                                // Und JSON abschließen
                                                s_JSON_all = s_JSON_all + ']';
                                                s_JSON_uncompleted = s_JSON_uncompleted + ']';
                                                s_JSON_completed = s_JSON_completed + ']';
                                                //und wegschreiben
                                                setState(s_target_JSON + "JSON_all", s_JSON_all);
                                                setState(s_target_JSON + "JSON_uncompleted", s_JSON_uncompleted);
                                                setState(s_target_JSON + "JSON_completed", s_JSON_completed);
                                                setState(s_target_JSON + "Telegram", s_Telegram);
                                            } catch (e) {
                                                return;
                                            }
                                        }
                                        
                                        // Beim Start einmal abarbeiten
                                        ReWorkAlexaJSON(getState(s_source_JSON));
                                        // Und an die Liste dranhängen und auf Änderungen warten
                                        on(s_source_JSON, function(dp) { ReWorkAlexaJSON(dp.state.val);});
                                        

                                        Das baut dir 4 Datenpunkte:
                                        ab368bab-fe76-41a1-ad9d-b6cee1ddfce2-image.png

                                        Die ersten 3 kann man sich in der VIS mit gängigen Widgets die JSON als Tabelle darstellen können darstellen
                                        Der letzte hat die Liste schon mal aufbereitet für Telegram. Alles versuche mit Fettschrift etc. schlugen fehl.

                                        Für das Senden habe ich diese Block im Einsatz:
                                        ca2dcd0d-22e0-4bf4-b49c-a4f9ce5a6451-image.png

                                        <xml xmlns="https://developers.google.com/blockly/xml">
                                          <block type="create" id="V2-39mm:6haG3hdXJh4C" x="-562" y="-487">
                                            <field name="NAME">javascript.0.echos.Alexa_Einkaufsliste.Telegram_Send</field>
                                            <value name="VALUE">
                                              <block type="logic_boolean" id="XY0{f!Gh$;GmolUM-HC$">
                                                <field name="BOOL">FALSE</field>
                                              </block>
                                            </value>
                                            <value name="COMMON">
                                              <block type="text" id="!x$cT)VV(u[.%oS+#?[t">
                                                <field name="TEXT">{"type":"boolean", "read":"true", "write":"true", "desc":"Sendet Einkaufsliste per Telegram"}</field>
                                              </block>
                                            </value>
                                            <next>
                                              <block type="on" id="STQgQd/_%KTr#@y8Yf_G">
                                                <field name="OID">javascript.0.echos.Alexa_Einkaufsliste.Telegram_Send</field>
                                                <field name="CONDITION">ne</field>
                                                <field name="ACK_CONDITION"></field>
                                                <statement name="STATEMENT">
                                                  <block type="controls_if" id="g{S+cv8fSPNeCoxUV3/j">
                                                    <value name="IF0">
                                                      <block type="logic_compare" id="$M$a|:D2p2EBusCcp-4[">
                                                        <field name="OP">EQ</field>
                                                        <value name="A">
                                                          <block type="get_value" id="cauUX[NC5?Ixwk}ox]jn">
                                                            <field name="ATTR">val</field>
                                                            <field name="OID">javascript.0.echos.Alexa_Einkaufsliste.Telegram_Send</field>
                                                          </block>
                                                        </value>
                                                        <value name="B">
                                                          <block type="logic_boolean" id="*cxxrDDurr]cmty4%VQ$">
                                                            <field name="BOOL">TRUE</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </value>
                                                    <statement name="DO0">
                                                      <block type="telegram" id="GE$#W-0gtdu%.fo|x^l-">
                                                        <field name="INSTANCE">.0</field>
                                                        <field name="LOG"></field>
                                                        <field name="SILENT">FALSE</field>
                                                        <field name="PARSEMODE">default</field>
                                                        <value name="MESSAGE">
                                                          <shadow type="text" id="My{v]B:XX^OLrAQyZ]k$">
                                                            <field name="TEXT">text</field>
                                                          </shadow>
                                                          <block type="get_value" id="NZItI|!GO#o;IUW3Vl?O">
                                                            <field name="ATTR">val</field>
                                                            <field name="OID">javascript.0.echos.Alexa_Einkaufsliste.Telegram</field>
                                                          </block>
                                                        </value>
                                                        <next>
                                                          <block type="update" id="@mrv6@vN4]=qx56Va`h0">
                                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                            <field name="OID">javascript.0.echos.Alexa_Einkaufsliste.Telegram_Send</field>
                                                            <field name="WITH_DELAY">TRUE</field>
                                                            <field name="DELAY_MS">5</field>
                                                            <field name="UNIT">sec</field>
                                                            <field name="CLEAR_RUNNING">FALSE</field>
                                                            <value name="VALUE">
                                                              <block type="logic_boolean" id=";LmD#uLt=}#E,^gOIuu#">
                                                                <field name="BOOL">FALSE</field>
                                                              </block>
                                                            </value>
                                                          </block>
                                                        </next>
                                                      </block>
                                                    </statement>
                                                  </block>
                                                </statement>
                                              </block>
                                            </next>
                                          </block>
                                        </xml>
                                        

                                        Es erzeugt einen True/False Datenpunkt auf den man in der VIS einen Switch legen kann, so sendet er per Button-Druck.
                                        e5bcd17f-cbb1-4322-8633-fe32376a2ba0-image.png
                                        Alternativ ginge natürlich auch ein Zeitplan.

                                        Nachtrag: Ich bin mir nicht sicher ob ich das Skript für die Listen ganz selbst geschrieben habe oder ob es hier aus dem Forum stammt. Ich hab es zumindest an meine Bedürfnisse anpasst

                                        S Offline
                                        S Offline
                                        stema
                                        wrote on last edited by
                                        #33

                                        @bananajoe Hallo miteinander,
                                        Ich bin absoluter Anfänger was das Iobroker usw angeht.
                                        Jetzt habe ich das obere Script kopiert und in den JS eingefügt und es funktionieret alles soweit.
                                        Ich würde aber gerne nur die Artikel angezeigt bekommen, also nur eine Spalte, weis aber nicht was ich löschen oder ändern muss.
                                        Für Eure Hilfe wäre ich sehr dankbar.

                                        Grüße Stefan

                                        BananaJoeB 1 Reply Last reply
                                        0
                                        • S stema

                                          @bananajoe Hallo miteinander,
                                          Ich bin absoluter Anfänger was das Iobroker usw angeht.
                                          Jetzt habe ich das obere Script kopiert und in den JS eingefügt und es funktionieret alles soweit.
                                          Ich würde aber gerne nur die Artikel angezeigt bekommen, also nur eine Spalte, weis aber nicht was ich löschen oder ändern muss.
                                          Für Eure Hilfe wäre ich sehr dankbar.

                                          Grüße Stefan

                                          BananaJoeB Offline
                                          BananaJoeB Offline
                                          BananaJoe
                                          Most Active
                                          wrote on last edited by
                                          #34

                                          @stema Ohne das ich noch mal lese was ich vorher alles geschrieben habe:
                                          Es werden ja Datenpunkte mit JSONs erzeugt.
                                          Diese kann man in der VIS per JSON Table Widget darstellen. Es gibt mindestens 2, ich verwende das von Inventwo.
                                          In diesem kannst du die Reihenfolge der Spalten ändern, aber auch welche weglassen und so z.B. nur eine bzw. die erste anzeigen lassen.

                                          ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 10 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV APC 750W kaskadiert || Creality CR-10 SE 3D-Drucker

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          570

                                          Online

                                          32.7k

                                          Users

                                          82.4k

                                          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