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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Shopping List Alexa

NEWS

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

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

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

Shopping List Alexa

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
68 Beiträge 10 Kommentatoren 6.2k Aufrufe 11 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • tiobbT tiobb

    @bananajoe
    Habe beides probiert, Telegram schweigt noch.

    ChrisNettC Offline
    ChrisNettC Offline
    ChrisNett
    schrieb am zuletzt editiert von
    #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 Antworten Letzte Antwort
    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
      schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #16

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

        Raspberry Pi 4 8gb

        1 Antwort Letzte Antwort
        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 Online
          BananaJoeB Online
          BananaJoe
          Most Active
          schrieb am zuletzt editiert von
          #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, 9 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 750W kaskadiert || Creality CR-10 SE 3D-Drucker

          tiobbT 1 Antwort Letzte Antwort
          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 Online
            BananaJoeB Online
            BananaJoe
            Most Active
            schrieb am zuletzt editiert von
            #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, 9 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 750W kaskadiert || Creality CR-10 SE 3D-Drucker

            1 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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 Online
                  BananaJoeB Online
                  BananaJoe
                  Most Active
                  schrieb am zuletzt editiert von
                  #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, 9 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 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                  tiobbT 1 Antwort Letzte Antwort
                  0
                  • ChrisNettC Offline
                    ChrisNettC Offline
                    ChrisNett
                    schrieb am zuletzt editiert von
                    #22

                    @bananajoe

                    Alexa, setze .... auf meine Einkaufsliste.

                    das wäre cool

                    BananaJoeB liv-in-skyL 2 Antworten Letzte Antwort
                    0
                    • ChrisNettC ChrisNett

                      @bananajoe

                      Alexa, setze .... auf meine Einkaufsliste.

                      das wäre cool

                      BananaJoeB Online
                      BananaJoeB Online
                      BananaJoe
                      Most Active
                      schrieb am zuletzt editiert von 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, 9 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 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                      1 Antwort Letzte Antwort
                      0
                      • ChrisNettC ChrisNett

                        @bananajoe

                        Alexa, setze .... auf meine Einkaufsliste.

                        das wäre cool

                        liv-in-skyL Offline
                        liv-in-skyL Offline
                        liv-in-sky
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #25

                          @liv-in-sky

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

                          1 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            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 Online
                              BananaJoeB Online
                              BananaJoe
                              Most Active
                              schrieb am zuletzt editiert von
                              #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, 9 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 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                              tiobbT 1 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                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 Online
                                  BananaJoeB Online
                                  BananaJoe
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #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, 9 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 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                                  tiobbT 1 Antwort Letzte Antwort
                                  0
                                  • BananaJoeB BananaJoe

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

                                    tiobbT Offline
                                    tiobbT Offline
                                    tiobb
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    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 Online
                                      BananaJoeB Online
                                      BananaJoe
                                      Most Active
                                      schrieb am zuletzt editiert von 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, 9 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 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                                      1 Antwort Letzte Antwort
                                      0
                                      • tiobbT Offline
                                        tiobbT Offline
                                        tiobb
                                        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                        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
                                          schrieb am zuletzt editiert von
                                          #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 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          884

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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