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. Ereignis: Nachricht empfangen auch via API erreichbar?

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    308

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

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

Ereignis: Nachricht empfangen auch via API erreichbar?

Geplant Angeheftet Gesperrt Verschoben Blockly
12 Beiträge 6 Kommentatoren 839 Aufrufe 5 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • N Offline
    N Offline
    Neral12
    schrieb am zuletzt editiert von
    #1

    Wie kann ich mit Blockly Nachrichten via API empfangen?

    Ich habe diverse Scripte die Nachrichten an andere Scripte senden
    626b7a2e-384a-46ac-b060-4c65307e9b88-grafik.png

    Empfangen werden die Nachrichten mit diesem Block:
    1603b8a0-93d6-4244-9c53-f9d3e7ece4f3-grafik.png

    Die Sender würde ich gerne durch "externe" nicht auf dem ioBroker laufende Anwendungen ersetzen möglichst ohne Dabei die Empfangsscripte anzupassen.

    Ich habe das testweise mal mit NodeRed versucht an script.js.receiver (receiver ist das script aus dem 2. Screenshot) zu senden aber leider ohne Erfolg. Komme ich da irgendwie via API/ws oder so an das Script?

    mickymM paul53P BananaJoeB 3 Antworten Letzte Antwort
    0
    • N Neral12

      Wie kann ich mit Blockly Nachrichten via API empfangen?

      Ich habe diverse Scripte die Nachrichten an andere Scripte senden
      626b7a2e-384a-46ac-b060-4c65307e9b88-grafik.png

      Empfangen werden die Nachrichten mit diesem Block:
      1603b8a0-93d6-4244-9c53-f9d3e7ece4f3-grafik.png

      Die Sender würde ich gerne durch "externe" nicht auf dem ioBroker laufende Anwendungen ersetzen möglichst ohne Dabei die Empfangsscripte anzupassen.

      Ich habe das testweise mal mit NodeRed versucht an script.js.receiver (receiver ist das script aus dem 2. Screenshot) zu senden aber leider ohne Erfolg. Komme ich da irgendwie via API/ws oder so an das Script?

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

      @neral12 Mit NodeRed kannst du einen Webserver erstellen.

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

      N 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @neral12 Mit NodeRed kannst du einen Webserver erstellen.

        N Offline
        N Offline
        Neral12
        schrieb am zuletzt editiert von
        #3

        @mickym ja, weiß ich. Aber was genau willst du damit sagen - Bezug zur Frage?

        mickymM 1 Antwort Letzte Antwort
        0
        • N Neral12

          @mickym ja, weiß ich. Aber was genau willst du damit sagen - Bezug zur Frage?

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

          @neral12 Nun damit kannst Du doch dann Datenpunkte mit NodeRed beschreiben, die Blocklies Deiner Wahl triggern könnten. Ansonsten kenn ich mich in Blockly zuwenig aus - glaube aber nicht, dass Blockly hier eine ähnliche Funktionalität bietet.

          Du kannst aber auch die iobroker simpleAPI nehmen um Datenpunkte zu beschreiben, um Blocklys zu triggern.

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

          N 1 Antwort Letzte Antwort
          0
          • mickymM mickym

            @neral12 Nun damit kannst Du doch dann Datenpunkte mit NodeRed beschreiben, die Blocklies Deiner Wahl triggern könnten. Ansonsten kenn ich mich in Blockly zuwenig aus - glaube aber nicht, dass Blockly hier eine ähnliche Funktionalität bietet.

            Du kannst aber auch die iobroker simpleAPI nehmen um Datenpunkte zu beschreiben, um Blocklys zu triggern.

            N Offline
            N Offline
            Neral12
            schrieb am zuletzt editiert von
            #5

            Nun damit kannst Du doch dann Datenpunkte mit NodeRed beschreiben, die Blocklies Deiner Wahl triggern könnten.

            @mickym Das ist mir klar, aber nicht meine Absicht. Ich möchte im Script diesen Callback von extern aufrufen.

            onMessage('customMessage', async (data, callback) => {
              console.info(JSON.stringify(data, null, 2));
              typeof callback === 'function' && callback({ result: true }); // default callback
            });
            
            

            Hier der Aufruf aus eine Script:

            messageTo({ instance: 0, script: 'script.js.dev.receiver' , message: 'customMessage' }, 'message', { timeout: 1000 });
            

            Ich dachte das geht mit NodeRed einfach damit: c0b10856-b50b-4451-afd3-81862c2b8d60-grafik.png

            Die simpleAPI bringt mir auch nichts ich will ja keine Datenpunkte beschreiben sondern onMessage aufrufen und da habe ich in keiner API was gefunden...

            mickymM 1 Antwort Letzte Antwort
            0
            • N Neral12

              Nun damit kannst Du doch dann Datenpunkte mit NodeRed beschreiben, die Blocklies Deiner Wahl triggern könnten.

              @mickym Das ist mir klar, aber nicht meine Absicht. Ich möchte im Script diesen Callback von extern aufrufen.

              onMessage('customMessage', async (data, callback) => {
                console.info(JSON.stringify(data, null, 2));
                typeof callback === 'function' && callback({ result: true }); // default callback
              });
              
              

              Hier der Aufruf aus eine Script:

              messageTo({ instance: 0, script: 'script.js.dev.receiver' , message: 'customMessage' }, 'message', { timeout: 1000 });
              

              Ich dachte das geht mit NodeRed einfach damit: c0b10856-b50b-4451-afd3-81862c2b8d60-grafik.png

              Die simpleAPI bringt mir auch nichts ich will ja keine Datenpunkte beschreiben sondern onMessage aufrufen und da habe ich in keiner API was gefunden...

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

              @neral12 Ok - da bin ich raus. Ich würde aber sagen, dass man dass nur innerhalb von Adaptern aufrufen kann und nicht von außen. - Ich habe schon mal versucht eine iobroker API von extern zu finden und kann nicht mehr dazu sagen.
              Früher konnte man über socket.io noch was machen - momentan glaube ich aber, dass es nicht gewünscht ist die iobroker API ausserhalb von Adaptern zur Verfügung zu stellen. Aber wie gesagt, ich kann Dir nicht weiterhelfen.

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

              N 1 Antwort Letzte Antwort
              0
              • N Neral12

                Wie kann ich mit Blockly Nachrichten via API empfangen?

                Ich habe diverse Scripte die Nachrichten an andere Scripte senden
                626b7a2e-384a-46ac-b060-4c65307e9b88-grafik.png

                Empfangen werden die Nachrichten mit diesem Block:
                1603b8a0-93d6-4244-9c53-f9d3e7ece4f3-grafik.png

                Die Sender würde ich gerne durch "externe" nicht auf dem ioBroker laufende Anwendungen ersetzen möglichst ohne Dabei die Empfangsscripte anzupassen.

                Ich habe das testweise mal mit NodeRed versucht an script.js.receiver (receiver ist das script aus dem 2. Screenshot) zu senden aber leider ohne Erfolg. Komme ich da irgendwie via API/ws oder so an das Script?

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #7

                @neral12 sagte: Die Sender würde ich gerne durch "externe" nicht auf dem ioBroker laufende Anwendungen ersetzen

                Was für Anwendungen? Es muss irgendeine Kommunikation der Anwendung zu ioBroker (z.B. über Simple-API) erfolgen.

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                N 1 Antwort Letzte Antwort
                0
                • mickymM mickym

                  @neral12 Ok - da bin ich raus. Ich würde aber sagen, dass man dass nur innerhalb von Adaptern aufrufen kann und nicht von außen. - Ich habe schon mal versucht eine iobroker API von extern zu finden und kann nicht mehr dazu sagen.
                  Früher konnte man über socket.io noch was machen - momentan glaube ich aber, dass es nicht gewünscht ist die iobroker API ausserhalb von Adaptern zur Verfügung zu stellen. Aber wie gesagt, ich kann Dir nicht weiterhelfen.

                  N Offline
                  N Offline
                  Neral12
                  schrieb am zuletzt editiert von
                  #8

                  @mickym OK- trotzdem Danke! :spock-hand:

                  OliverIOO 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @neral12 sagte: Die Sender würde ich gerne durch "externe" nicht auf dem ioBroker laufende Anwendungen ersetzen

                    Was für Anwendungen? Es muss irgendeine Kommunikation der Anwendung zu ioBroker (z.B. über Simple-API) erfolgen.

                    N Offline
                    N Offline
                    Neral12
                    schrieb am zuletzt editiert von
                    #9

                    @paul53 ja, Simple-API, da ist die Frage wie? Das wäre ja grundsätzlich möglich den Callback aufzurufen, ist aber eben nicht dokumentiert/vorhanden (die anderen Scripte machen das ja ähnlich).

                    oder eben z.B 960a58a5-f0e2-45c2-954c-01caed39dedb-1732225496226-c0b10856-b50b-4451-afd3-81862c2b8d60-grafik.png was im Grunde auch nichts anderes als ein API-call ist.

                    Vermutlich ist das noch zu neu und fehlt schlicht...

                    P 1 Antwort Letzte Antwort
                    0
                    • N Neral12

                      @mickym OK- trotzdem Danke! :spock-hand:

                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      schrieb am zuletzt editiert von
                      #10

                      @neral12

                      ich würde sagen das geht nicht.
                      die onMessage/sendMessage-Kombination ist eine Funktion von socketio.
                      Das ist nur entfernt eine API unter zuhilfenahme von websockets(soviel ich weiß)

                      Du hast auch nix zu den besonderen Anforderungen geschrieben, warum du meinst das muss von einer API aus aufgerufen werden? Bei APIs muss der Sender und der Empfänger ja auch zusammenpassen. Das einfachste wäre, wenn du von der anderen Anwendung auch bestimmen kannst, was da gesendet werden soll: du überlegst dir einen Kommunikationsdatenpunkt.
                      Die andere Anwendung kann dann per REST diesen Datenpunkt beschreiben.
                      Dein Skript horcht auf Änderungen dieses Datenpunkts, wertet die Informationen darin aus und führt dann die Aktionen aus.

                      Meine Adapter und Widgets
                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                      Links im Profil

                      1 Antwort Letzte Antwort
                      1
                      • N Neral12

                        @paul53 ja, Simple-API, da ist die Frage wie? Das wäre ja grundsätzlich möglich den Callback aufzurufen, ist aber eben nicht dokumentiert/vorhanden (die anderen Scripte machen das ja ähnlich).

                        oder eben z.B 960a58a5-f0e2-45c2-954c-01caed39dedb-1732225496226-c0b10856-b50b-4451-afd3-81862c2b8d60-grafik.png was im Grunde auch nichts anderes als ein API-call ist.

                        Vermutlich ist das noch zu neu und fehlt schlicht...

                        P Offline
                        P Offline
                        peterfido
                        schrieb am zuletzt editiert von
                        #11

                        @neral12 Entweder mit Simple Api direkt, oder über Umwege per Node-Red-Server, welcher es dann an einen Datenpunkt in ioBroker weitergibt. Auf diesen Datenpunkt lauscht dann entweder ein Skript, oder es handelt sich um einen Datenpunkt eines Adapters, welcher da direkt drauf hört.

                        Am besten kann man Dir helfen, wenn Du den genauen Anwendungsfall schilderst.

                        Gruß

                        Peterfido


                        Proxmox auf Intel NUC12WSHi5
                        ioBroker: Debian (VM)
                        CCU: Debmatic (VM)
                        Influx: Debian (VM)
                        Grafana: Debian (VM)
                        eBus: Debian (VM)
                        Zigbee: Debian (VM) mit zigbee2mqtt

                        1 Antwort Letzte Antwort
                        0
                        • N Neral12

                          Wie kann ich mit Blockly Nachrichten via API empfangen?

                          Ich habe diverse Scripte die Nachrichten an andere Scripte senden
                          626b7a2e-384a-46ac-b060-4c65307e9b88-grafik.png

                          Empfangen werden die Nachrichten mit diesem Block:
                          1603b8a0-93d6-4244-9c53-f9d3e7ece4f3-grafik.png

                          Die Sender würde ich gerne durch "externe" nicht auf dem ioBroker laufende Anwendungen ersetzen möglichst ohne Dabei die Empfangsscripte anzupassen.

                          Ich habe das testweise mal mit NodeRed versucht an script.js.receiver (receiver ist das script aus dem 2. Screenshot) zu senden aber leider ohne Erfolg. Komme ich da irgendwie via API/ws oder so an das Script?

                          BananaJoeB Online
                          BananaJoeB Online
                          BananaJoe
                          Most Active
                          schrieb am zuletzt editiert von
                          #12

                          @neral12 Vielleicht hilft dir das hier weiter:

                          Ich habe neulich hier

                          https://forum.iobroker.net/topic/43361/gelöst-vis-intance-id-automatisiert-ermitteln/117?_=1732261133718

                          ein Beispiel für einen eigenen Webserver per JavaScript veröffentlicht. Zusammengesucht aus diversen Beispielen.
                          Wichtig ist die onStop Funktion die den Webserver beim beenden des Skriptes auch wieder beendet. Der läuft sonst auch weiter wenn das Skript nicht läuft.

                          So könntest du auf deinem eigenen gewählten Port auf http-Aufrufe lauschen. Du könntest auch 2 Skripte auf verschiedenen Ports laufen lassen und über httpGet Nachrichten austauschen.

                          Das ganze könntest du natürlich auch in JavaScript-Blöcke in Blockly setzen.

                          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
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          668

                          Online

                          32.5k

                          Benutzer

                          81.7k

                          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