Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Ansteuerung S7 mit snips und ioBroker

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    Ansteuerung S7 mit snips und ioBroker

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Servus last edited by

      Hallo liebe ioBroker-Community, freut mich hier sein zu dürfen!

      Ich bin Student im 7. Semester und soll im Rahmen einer Arbeit einen Roboter per Sprache ansteuern. Dies soll über eine S7 1200 geschehen.

      Nach einiger Recherche bin ich auf den Sprachassistenten snips.ai und auf die Plattform ioBroker gestoßen.

      Nach Lesen des folgenden Threads:

      viewtopic.php?f=20&t=16556&p=173769&hil … ai#p173769

      bin ich der Ansicht, dass ich mit diesen Plattformen eine S7 ansteuern kann.

      Leider hab ich noch keinen Ansatz bezüglich der Umsetzung. Mit meinen aktuellen Wissensstand hab ich bis jetzt nur folgenden Ansatz:

      • snips auf einem Raspberry Pi (mit entsprechender Hardware) spielen

      • ioBroker auf einen weiteren Pi spielen und dort Note-Red installieren

      • snips -> ioBroker mit Note-Red -> S7

      Beim letzten Punkt steh ich jedoch richtig auf den Schlauch. Leider bin ich mir nach der Recherche durch Foren / Videos noch nicht im Klaren wie ich die beidne Pi's kommunizieren lasse, bzw wie mit der S7.

      Liege ich mit meinem Ansatz richtig? Brauche ich überhaupt ioBroker für mein Vorhaben? Wenn ja, wie gehe ich bezüglich der Kommunikation vor, vorallem mit der SPS?

      Ich wäre um jeden Denkanstoß dankbar 🙂

      Liebe Grüße!

      1 Reply Last reply Reply Quote 0
      • apollon77
        apollon77 last edited by

        Nimm doch einfach den s7 Adapter in iobroker … Dann hast Du die Anbindung und kannst den Rest per Javascript oder Node-Red machen

        1 Reply Last reply Reply Quote 0
        • M
          munk last edited by

          Hallo, mein Vorschlag: libnodave

          Diese Bibliothek ist das Opensource Gegenstück zum mächtig kostenpflichtigigen Original von Siemens und kann z.B. unter Perl oder C alles Mögliche machen.

          Transparenter Zugriff auf alle Bausteine und Register.

          Ich hatte damit schon verschiedene wirklich komplexe Steuerungsvisualisierungen gebaut und aktuell vom Pi im kleinen Rahmen soetwas auf eine S7 ET200 laufen.

          1 Reply Last reply Reply Quote 0
          • S
            Servus last edited by

            @apollon77:

            Nimm doch einfach den s7 Adapter in iobroker … Dann hast Du die Anbindung und kannst den Rest per Javascript oder Node-Red machen `

            Alles klar, wusste garnicht, dass es dafür nen Adapter gibt! Brauch ich da ne Hardwaretechnishce Verbindung (Profinet?)

            @!munk:

            Hallo, mein Vorschlag: libnodave

            Diese Bibliothek ist das Opensource Gegenstück zum mächtig kostenpflichtigigen Original von Siemens und kann z.B. unter Perl oder C alles Mögliche machen.

            Transparenter Zugriff auf alle Bausteine und Register.

            Ich hatte damit schon verschiedene wirklich komplexe Steuerungsvisualisierungen gebaut und aktuell vom Pi im kleinen Rahmen soetwas auf eine S7 ET200 laufen. `

            Schau ich mir auch mal an, Danke!

            1 Reply Last reply Reply Quote 0
            • apollon77
              apollon77 last edited by

              @Servus:

              @apollon77:

              Nimm doch einfach den s7 Adapter in iobroker … Dann hast Du die Anbindung und kannst den Rest per Javascript oder Node-Red machen `

              Alles klar, wusste garnicht, dass es dafür nen Adapter gibt! Brauch ich da ne Hardwaretechnishce Verbindung (Profinet?) `

              Zitat von https://github.com/ioBroker/ioBroker.s7

              ` > Der Siemens S7 Adapter basiert auf Snap7, wobei Snap7 bei der Erstinstallation des S7 Adapters mitinstalliert wird und die eigentliche S7-Kommunikation zwischen ioBroker und der S7 über TCP/IP organisiert.

              Es ist also notwendig, dass die S7 über eine Ethernet-Schnittstelle verfügt (in der CPU integriert oder als separater CP) und über TCP/IP mit der Hardware kommunizieren kann, auf der ioBroker läuft.

              Es wird vorausgesetzt, dass der Anwender über die notwendigen Kenntnisse zur TCP/IP-Kommunikation verfügt und in der Lage ist, die S7 mittels Step7 entsprechend zu konfigurieren und zu programmieren. Der geübte Umgang mit PC und verschiedenen Betriebssystem ist ebenfalls Voraussetzung. Diese Anforderungen stellen sicherlich keine Herausforderung für jemanden dar, der die Kommunikation zwischen ioBroker und einer S7 in Erwägung zieht. `

              1 Reply Last reply Reply Quote 0
              • Bluefox
                Bluefox last edited by

                @!munk:

                Hallo, mein Vorschlag: libnodave

                Diese Bibliothek ist das Opensource Gegenstück zum mächtig kostenpflichtigigen Original von Siemens und kann z.B. unter Perl oder C alles Mögliche machen.

                Transparenter Zugriff auf alle Bausteine und Register.

                Ich hatte damit schon verschiedene wirklich komplexe Steuerungsvisualisierungen gebaut und aktuell vom Pi im kleinen Rahmen soetwas auf eine S7 ET200 laufen. `

                Wie schon Apollon77 geschrieben hat, es gibt sehr guten und durchdachten S7 Adapter für ioBroker.

                1 Reply Last reply Reply Quote 0
                • S
                  Servus last edited by

                  @apollon77:

                  @Servus:

                  @apollon77:

                  Nimm doch einfach den s7 Adapter in iobroker … Dann hast Du die Anbindung und kannst den Rest per Javascript oder Node-Red machen `

                  Alles klar, wusste garnicht, dass es dafür nen Adapter gibt! Brauch ich da ne Hardwaretechnishce Verbindung (Profinet?) `

                  Zitat von https://github.com/ioBroker/ioBroker.s7

                  ` > Der Siemens S7 Adapter basiert auf Snap7, wobei Snap7 bei der Erstinstallation des S7 Adapters mitinstalliert wird und die eigentliche S7-Kommunikation zwischen ioBroker und der S7 über TCP/IP organisiert.

                  Es ist also notwendig, dass die S7 über eine Ethernet-Schnittstelle verfügt (in der CPU integriert oder als separater CP) und über TCP/IP mit der Hardware kommunizieren kann, auf der ioBroker läuft.

                  Es wird vorausgesetzt, dass der Anwender über die notwendigen Kenntnisse zur TCP/IP-Kommunikation verfügt und in der Lage ist, die S7 mittels Step7 entsprechend zu konfigurieren und zu programmieren. Der geübte Umgang mit PC und verschiedenen Betriebssystem ist ebenfalls Voraussetzung. Diese Anforderungen stellen sicherlich keine Herausforderung für jemanden dar, der die Kommunikation zwischen ioBroker und einer S7 in Erwägung zieht.

                  S7 Adapter runtergeladen, genau das was ich suche! Perfekt!

                  Diese Thematik muss ich aber noch nach hinten schieben. Sitz seit heute 07:00 Uhr vor nem anderen (wahrscheinlich peinlichen) Problem: Der Kommunikation des Raspi mit Snips und des Raspi mit ioBroker via MQTT

                  Im ioBroker hab ich den MQTT-Adapter runtergeladen. Durch Netzrecherche habe ich erfahren, dass Snips selbst nen Broker hat. Also werde ich ioBroker wahrscheinlich auf Client stellen müssen. Habe auch rausgefunden, dass snips den Broker auf Port 9898 laufen lässt.

                  EDIT: der Befehl sam mqtt (vorgeschlagener Befehl) ruft auch nix auf

                  Also im Browser die ip des Snips-Pi mit den Port eingegeben - nix geschieht.

                  Beide Raspis sind in nem Netzwerk.

                  Im Netz finde ich ausschließlich Tutorials für snips-OpenHab bzw snips-HAAS.

                  Hier im Forum hab ich noch was von nem Snips Adapter gelesen - hab ich gleich auf den Pi mit ioBroker gespielt, aber der Adapter ist in der Oberfläche nicht zu sehen.

                  https://github.com/Bettman66/ioBroker.snips

                  Muss ich da bei meinem snips-Pi noch was konfigurieren? Oder bin ich gerade einfach zu blöd dafür :? :mrgreen:

                  Verwirrte Grüße 😄

                  1 Reply Last reply Reply Quote 0
                  • Bluefox
                    Bluefox last edited by

                    ### Configure Snips Adapter
                    - Url      : Address of the Snips-MQTT-Servers
                    - Port     : Port of the Snips-MQTT-Servers
                    - Instanz  : Text2Command-Instanz (for example 0)
                    - Filter   : for example understand
                    - ClientID : ID (for example 0)
                    
                    URL: localhost oder IP
                    port: 1883 
                    instanz: 0
                    filter: *
                    clientId: 0
                    
                    1 Reply Last reply Reply Quote 0
                    • S
                      Servus last edited by

                      @Bluefox:

                      ### Configure Snips Adapter
                      - Url      : Address of the Snips-MQTT-Servers
                      - Port     : Port of the Snips-MQTT-Servers
                      - Instanz  : Text2Command-Instanz (for example 0)
                      - Filter   : for example understand
                      - ClientID : ID (for example 0)
                      
                      URL: localhost oder IP
                      port: 1883 
                      instanz: 0
                      filter: *
                      clientId: 0
                      ```` `  
                      

                      Ok, dass kommt in ein Verzeichnis des snips pi oder?

                      EDIT: Oder doch in den pi mit iobroker? der snipsadapter wird mir nicht angezeigt

                      Im Verzeichnis ist er auch nicht unter "node_modules" wie die anderen. Hab den Ordner nun händisch reingeschoben

                      Oder war das jetzt falsch? 😮

                      EDIT EDIT:

                      Hab jetzt im MQTT Adapter die IP des snips mit port :1883 eingegeben und die Verbindung getestet. Daraufhin erscheint die Meldung "verbunden", unter Instanzen steht aber bei Verbindung MQTT "FALSCH"

                      Hilft mir eh noch nicht weiter denke ich, da mir noch jeder blasse Schimmer fehlt, was ich bei snips machen muss :shock: :? Peinlich Peinlich von mir..

                      habe den snips-adapter nun gefunden (Expertenmodus anklicken). Jedoch kann ich ihn nicht runterladen (siehe Bild)
                      9155_forum.png
                      9155_forum_2.png
                      9155_forum3.png

                      1 Reply Last reply Reply Quote 0
                      • S
                        Servus last edited by

                        UPDATE:

                        Konnte nun den snips-Adapter installieren (Hab beide Pis platt gemacht). Jedoch kann ich mich nicht mit den Host verbinden (ich hänge ein paar Screenshots an, zur Übersicht wies bei mir grade aussieht). MQTT verbindet sich auch noch nicht. IP-Adresse des Snips-Pi und der Host stimmen aber.. :?

                        Im Logfile steht folgendes in knallrot (sieht aus, als fehle ne Installation bzw ein Paket aufm Pi??)

                        ` > undefined2018-10-17 15:10:38.976 - info: snips.0 starting. Version 0.0.4 in /opt/iobroker/node_modules/iobroker.snips, node: v8.11.1

                        2018-10-17 15:10:39.013 - error: snips.0 uncaught exception: Cannot find module 'mqtt'

                        2018-10-17 15:10:39.014 - error: snips.0 Error: Cannot find module 'mqtt'

                        at Function.Module._resolveFilename (module.js:547:15)

                        at Function.Module._load (module.js:474:25)

                        at Module.require (module.js:596:17)

                        at require (internal/module.js:11:18)

                        at Object. (/opt/iobroker/node_modules/iobroker.snips/lib/client.js:3:25)

                        at Module._compile (module.js:652:30)

                        at Object.Module._extensions..js (module.js:663:10)

                        at Module.load (module.js:565:32)

                        at tryModuleLoad (module.js:505:12)

                        at Function.Module._load (module.js:497:3)

                        2018-10-17 15:10:39.521 - info: snips.0 terminating

                        2018-10-17 15:10:39.538 - error: Caught by controller[0]: { Error: Cannot find module 'mqtt'

                        2018-10-17 15:10:39.539 - error: Caught by controller[0]: at Function.Module._resolveFilename (module.js:547:15)

                        2018-10-17 15:10:39.539 - error: Caught by controller[0]: at Function.Module._load (module.js:474:25)

                        2018-10-17 15:10:39.540 - error: Caught by controller[0]: at Module.require (module.js:596:17)

                        2018-10-17 15:10:39.540 - error: Caught by controller[0]: at require (internal/module.js:11:18)

                        2018-10-17 15:10:39.540 - error: Caught by controller[0]: at Object. (/opt/iobroker/node_modules/iobroker.snips/lib/client.js:3:25)

                        2018-10-17 15:10:39.541 - error: Caught by controller[0]: at Module._compile (module.js:652:30)

                        2018-10-17 15:10:39.541 - error: Caught by controller[0]: at Object.Module._extensions..js (module.js:663:10)

                        2018-10-17 15:10:39.541 - error: Caught by controller[0]: at Module.load (module.js:565:32)

                        2018-10-17 15:10:39.542 - error: Caught by controller[0]: at tryModuleLoad (module.js:505:12)

                        2018-10-17 15:10:39.542 - error: Caught by controller[0]: at Function.Module._load (module.js:497:3) code: 'MODULE_NOT_FOUND' }

                        2018-10-17 15:10:39.542 - error: host.iobroker instance system.adapter.snips.0 terminated with code 0 (OK)

                        2018-10-17 15:10:39.543 - info: host.iobroker Restart adapter system.adapter.snips.0 because enabled `

                        Habe nun in der Snips Console einen Assistenten erstellt (mit ein paar trainierten Sätzen keine Slots, keine Intents).

                        Wenn ich auf dem Snips-Pi mir das ganze via sam watch anschau kommt nach erkennen meines Intents immer: "The session was ended because one of the components didn't respond in a timely manner."

                        Zu guter letzt will ich ja nur Eingänge der SPS setzen, den Rest mach ich dann dort. In meinem Leichtsinn dachte ich mir, ich mach hier zum Anfang 2 Intents (An/Aus), schicke sie mit meinem Snips-Assistenten zu ioBroker und mit note-red, text2command und den S7-Assistenten ein Bit (oder Zahlenwert) zur S7. Und je mehr ich recherchiere desto größer die Verwirrung und die Erkenntnis, das es nicht so einfach sein wird.

                        Muss ich in snips noch files mit der "Funktionalität" erstellen? In Github finde ich leider nix, was nur an und aus schaltet, bzw bits setzt. In der Theorie ist die Aktion ja kein großer Akt. Hoffe ich mal :shock: :?

                        Kurzum mein Stand:

                        GEKLAPPT:

                        • Snips installiert

                        • simplen Assistenten erstellt

                        • ioBroker installiert

                        • auf ioBroker den snips, sowie mqtt und S7 Assistenten installiert. Ebenso node-red

                        • text2command installiert

                        PROBLEME:

                        • Wie "schicke" ich den Befehl zu ioBroker und wie verarbeite ich diesen?

                        • In welcher Reihenfolge muss ich die Komponenten einsetzen?

                        • Wie bring ich den snips-Adapter zu laufen? Muss ich an den Pis in der Kommandozeile noch was machen? Vllt. was installieren?

                        • Und die oben beschriebenen Probleme 😐

                        Sprich: snips läuft auf Pi 1, ioBroker auf Pi 2, die beiden reden einfach nicht.

                        Und das nach 3 Sitzungen a 12 Stunden :?
                        9155_forum_2.png
                        9155_forum_4.png
                        9155_forum_5.png
                        9155_forum_6.png
                        9155_forum.png
                        9155_forum3.png

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate
                        FAQ Cloud / IOT
                        HowTo: Node.js-Update
                        HowTo: Backup/Restore
                        Downloads
                        BLOG

                        563
                        Online

                        32.0k
                        Users

                        80.6k
                        Topics

                        1.3m
                        Posts

                        4
                        10
                        1584
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo