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
    16
    1
    232

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

  • 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.
  • tiobbT tiobb

    @bananajoe
    Habe beides probiert, Telegram schweigt noch.

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

    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 liv-in-skyL 2 Replies Last reply
    0
    • 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
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          473

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          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