Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Siemens LOGO!8 FS04

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Siemens LOGO!8 FS04

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

      @Vumer:

      Zu den LogoDec2Hex und LogoHex2Dec, Tobias Kolb von "Frickelzeugs" erlärt das so:
      > Die Logo speichert Uhrzeiten (z.B. der Wochenschaltuhr) relativ seltsam ab. Eine Zeit von 18:30 Uhr wird als Hex-Wert 0x1830 im VM-Speicher abgelegt, dies entspricht der Dezimalzahl 6192\. Für die Visualisierung muss diese Dezimalzahl also wieder in Hex umgerechnet werden. Die Funktion LogoDec2Hex entspricht also einer einfachen Dec->Hex-Konvertierung mit einem Sonderfall: die Umrechnung wird nur durchgeführt, wenn der sich ergebende Hex-Wert ausschließlich aus Ziffern bestünde (kein A-F erlaubt!). Ist dies nicht der Fall, liefert die Funktion -1 zurück. Dieser Kunstgriff ist nötig, da NCalc nicht mit Hex-Werten umgehen kann. Die Funktion LogoHex2Dec erledigt die Konvertierung in die entgegengesetzte Richtung.
      das muss dann warscheinlich im Widget gemacht werden

      Schöne Grüße `
      @Bluefox

      @all

      habe leider von programmieren keine Ahnung, hoffe das wird sich ändern 🙂

      Was meinst ihr, wo kann man dem Konverter einbauen?

      In meine Rolllädensteuerung sind über 20 Uhren

      Schöne Grüße

      1 Reply Last reply Reply Quote 0
      • E
        Elektroman last edited by

        Moin Moin ,

        Langsam wird ein Schuh draus

        Wofür sind beim Adapter S7 nur "poll" "RW" und "WP" [emoji848]

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

          poll -> zyklische Abfrage

          RW -> schreiben

          WP -> schreiben Pulse

          hier wie man die LOGO einstellt http://snap7.sourceforge.net/logo.html

          @Bluefox:

          Gründsächlich sollte die Kommunikation gehen, weil Snap7 Adapter das unterstützt:

          http://snap7.sourceforge.net/plc_connection.html

          Da ich Logo8 nie gesehen habe, könnte ich auch nicht testen und weiß auch nicht ob es funktioniert. `
          kann das sein das der Adapter älter ist und nur die LOGO7 unterstützt? Bei der LOGO8 haben sich die VM-Adressen geendert

          1 Reply Last reply Reply Quote 0
          • E
            Elektroman last edited by

            Super danke

            1 Reply Last reply Reply Quote 0
            • E
              Elektroman last edited by

              Jetzt funktioniert nur noch der analoge Eingang [emoji24]

              1 Reply Last reply Reply Quote 0
              • G
                gramlgu last edited by

                @Vumer:

                @Vumer:

                Zu den LogoDec2Hex und LogoHex2Dec, Tobias Kolb von "Frickelzeugs" erlärt das so:
                > Die Logo speichert Uhrzeiten (z.B. der Wochenschaltuhr) relativ seltsam ab. Eine Zeit von 18:30 Uhr wird als Hex-Wert 0x1830 im VM-Speicher abgelegt, dies entspricht der Dezimalzahl 6192\. Für die Visualisierung muss diese Dezimalzahl also wieder in Hex umgerechnet werden. Die Funktion LogoDec2Hex entspricht also einer einfachen Dec->Hex-Konvertierung mit einem Sonderfall: die Umrechnung wird nur durchgeführt, wenn der sich ergebende Hex-Wert ausschließlich aus Ziffern bestünde (kein A-F erlaubt!). Ist dies nicht der Fall, liefert die Funktion -1 zurück. Dieser Kunstgriff ist nötig, da NCalc nicht mit Hex-Werten umgehen kann. Die Funktion LogoHex2Dec erledigt die Konvertierung in die entgegengesetzte Richtung.
                das muss dann warscheinlich im Widget gemacht werden

                Schöne Grüße `
                @Bluefox

                @all

                habe leider von programmieren keine Ahnung, hoffe das wird sich ändern 🙂

                Was meinst ihr, wo kann man dem Konverter einbauen?

                In meine Rolllädensteuerung sind über 20 Uhren

                Schöne Grüße `

                Habe nun Umrechner! Es gibt leider kein Widget, das eine solche Umrechnung "im Bauch" hat (vielleicht bin ich ja auch nur nicht fündig geworden), deshalb Umweg über Javascript:

                Im ioBroker.admin den Adapter "Scripte" installieren. In der neuen Lasche Scripte im Order Common u.a. Zeilen einfügen und speichern und Script auf Play stellen. In diesem Fall wollte ich den Sonnenaufgang richtig darstellen (sunrisenf:ohne Formatierung, sunrise: mit Formatierung - mit Doppelpunkt). Natürlich ist Sunrise nur 3 stellig (weil morgens), deshalb habe ich auch für 4stellige Uhrzeiten Zeile eingefügt und für diesen Fall auskommentiert. In der Visu dann ein Widget mit Stringvariablen auswählen und als Obekt ID gewünschte Variable einfügen. Hier: sunrise bzw. sunrisenf. Diese werden wie die S7 Variablen im Objektexplorer im Ordner javascript.0 geführt.

                Achtung: Script wird nur bei Änderung ausgeführt!!(change: "ne")

                Mein Dank gilt an Faisalman fyzlman@gmail.com(https://gist.github.com/faisalman/4213592) für diese Passage:

                __//decimal to hexadecimal

                ConvertBase.dec2hex = function (num) {

                return ConvertBase(num).from(10).to(16);

                };

                this.ConvertBase = ConvertBase;

                })(this);__

                und meinem Arbeitskollegen.

                __/**

                • Beschreibe diese Funktion …

                */

                createState('Sunrise', 0);

                createState('Sunrisenf', 0);

                on({id: "s7.1.DBs.DB1.Sunrise", change: "ne"}, function (obj) {

                (function(){

                var ConvertBase = function (num) {

                return {

                from : function (baseFrom) {

                return {

                to : function (baseTo) {

                return parseInt(num, baseFrom).toString(baseTo);

                }

                };

                }

                };

                };

                // decimal to hexadecimal

                ConvertBase.dec2hex = function (num) {

                return ConvertBase(num).from(10).to(16);

                };

                this.ConvertBase = ConvertBase;

                })(this);

                setState("javascript.0.Sunrisenf",ConvertBase.dec2hex(getState("s7.1.DBs.DB1.Sunrise").val));

                var Sunrisetmp= ConvertBase.dec2hex(getState("s7.1.DBs.DB1.Sunrise").val).toString();

                //setState("javascript.0.Sunrise",Sunrisetmp.slice(0, 2) + String(":") + Sunrisetmp.slice(2, 4)) ; //bei 4 stelliger Zeit

                setState("javascript.0.Sunrise",Sunrisetmp.slice(0, 1) + String(":") + Sunrisetmp.slice(1, 3)) ; //bei 3 stelliger Zeit

                });__

                1 Reply Last reply Reply Quote 0
                • N
                  Nitroboarder last edited by

                  Ich muss jetzt echt mal eine doofe Frage stellen, was ist das für ein S7 Adapter bzw. was ist das für ein Modul von Siemens?

                  Hab mal im Internet danach gesucht, aber keinen Adapter für die Logo!8 auf S7 gefunden!

                  1 Reply Last reply Reply Quote 0
                  • G
                    gramlgu last edited by

                    @Nitroboarder:

                    Ich muss jetzt echt mal eine doofe Frage stellen, was ist das für ein S7 Adapter bzw. was ist das für ein Modul von Siemens?

                    Hab mal im Internet danach gesucht, aber keinen Adapter für die Logo!8 auf S7 gefunden! `

                    Der S7 Adapter ist zugleich der Adapter für die Logo!8-Steuerungen

                    1 Reply Last reply Reply Quote 0
                    • N
                      Nitroboarder last edited by

                      Das hab ich schon verstanden, aber was ist das für ein Teil?

                      Kann ich mir den irgendwo im Internet mal anschauen? Hat irgendeiner von euch mal einen Link für mich?

                      Steh glaub echt auf dem Schlauch!

                      1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators last edited by

                        @Nitroboarder:

                        aber was ist das für ein Teil? `
                        Das ist ein Teil der ioBroker Software 😄

                        Gruß

                        Rainer

                        1 Reply Last reply Reply Quote 0
                        • N
                          Nitroboarder last edited by

                          Jetzt ist der Groschen gefallen!!! Vielen Dank

                          1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators last edited by

                            Die Module mit denen sich ioBroker zu externer Hardware (oder Services) vetbindet heißen Adapter.

                            Gruß

                            Rainer

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

                              @gramlgu:

                              Habe nun Umrechner! Es gibt leider kein Widget, das eine solche Umrechnung "im Bauch" hat (vielleicht bin ich ja auch nur nicht fündig geworden), deshalb Umweg über Javascript:

                              Im ioBroker.admin den Adapter "Scripte" installieren. In der neuen Lasche Scripte im Order Common u.a. Zeilen einfügen und speichern und Script auf Play stellen. In diesem Fall wollte ich den Sonnenaufgang richtig darstellen (sunrisenf:ohne Formatierung, sunrise: mit Formatierung - mit Doppelpunkt). Natürlich ist Sunrise nur 3 stellig (weil morgens), deshalb habe ich auch für 4stellige Uhrzeiten Zeile eingefügt und für diesen Fall auskommentiert. In der Visu dann ein Widget mit Stringvariablen auswählen und als Obekt ID gewünschte Variable einfügen. Hier: sunrise bzw. sunrisenf. Diese werden wie die S7 Variablen im Objektexplorer im Ordner javascript.0 geführt.

                              Achtung: Script wird nur bei Änderung ausgeführt!!(change: "ne") `
                              Super!!! Dankeschön!!!

                              Jetzt sehe ich die Uhr richtig. Leider kann ich die nicht über ioBroker einstellen. Mache ich was falsch oder ist der Script nur zum auslesen?

                              Schöne Grüße

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

                                @Elektroman:

                                Jetzt funktioniert nur noch der analoge Eingang [emoji24] `
                                ????

                                1 Reply Last reply Reply Quote 0
                                • E
                                  Elektroman last edited by

                                  Hallo Vumer,

                                  Hat sich schon fast wieder erledigt[emoji849]

                                  Ich habe nachträglich DB1 0.0 gelöscht

                                  Die ganzen Einträge die danach kommen funktionieren nicht mehr

                                  Auch exportieren und danach importieren geht auch nicht. Nur als erstes löschen und danach wieder anlegen funktioniert [emoji30]

                                  Hatte schon alle Ein- und Ausgänge abgebildet [emoji20]

                                  Ach ja was macht man(n) nicht alles für sein Hobby [emoji12]

                                  Damit kann ich auch nur bestätigen "DB1 0.0" muss da sein !

                                  1 Reply Last reply Reply Quote 0
                                  • E
                                    Elektroman last edited by

                                    Ach so mit dem LDR Widerstand funktioniert super

                                    Ich habe jetzt einen Dämmerungsschalter für 0,30€

                                    Habe mir jetzt noch für den analogen Eingang einen Festspannungsregler 10Volt bestellt

                                    Ich erhoffe mir dadurch ein etwas besseren Analogbereich als mit dem jetzigen Spannungsteiler

                                    Jetzt kann ich schön die Homematic Rollos darüber schalten[emoji3]

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

                                      @Elektroman:

                                      Ach ja was macht man(n) nicht alles für sein Hobby [emoji12] `
                                      aber dem WAF nicht vergessen :lol:

                                      @Elektroman:

                                      Damit kann ich auch nur bestätigen "DB1 0.0" muss da sein ! `
                                      Auch wichtig bei Word oder Dword die Adresse immer geradzahlig wählen.

                                      1 Reply Last reply Reply Quote 0
                                      • G
                                        gramlgu last edited by

                                        @Vumer:

                                        @gramlgu:

                                        Habe nun Umrechner! Es gibt leider kein Widget, das eine solche Umrechnung "im Bauch" hat (vielleicht bin ich ja auch nur nicht fündig geworden), deshalb Umweg über Javascript:

                                        Im ioBroker.admin den Adapter "Scripte" installieren. In der neuen Lasche Scripte im Order Common u.a. Zeilen einfügen und speichern und Script auf Play stellen. In diesem Fall wollte ich den Sonnenaufgang richtig darstellen (sunrisenf:ohne Formatierung, sunrise: mit Formatierung - mit Doppelpunkt). Natürlich ist Sunrise nur 3 stellig (weil morgens), deshalb habe ich auch für 4stellige Uhrzeiten Zeile eingefügt und für diesen Fall auskommentiert. In der Visu dann ein Widget mit Stringvariablen auswählen und als Obekt ID gewünschte Variable einfügen. Hier: sunrise bzw. sunrisenf. Diese werden wie die S7 Variablen im Objektexplorer im Ordner javascript.0 geführt.

                                        Achtung: Script wird nur bei Änderung ausgeführt!!(change: "ne") `
                                        Super!!! Dankeschön!!!

                                        Jetzt sehe ich die Uhr richtig. Leider kann ich die nicht über ioBroker einstellen. Mache ich was falsch oder ist der Script nur zum auslesen?

                                        Schöne Grüße `

                                        Script zum Schreiben wird noch folgen, ich forsche….melde mich wieder!

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

                                          Ja, klar. Bin schon gespant.

                                          Hast wahrscheinlich schon geseh, aber so sieht das bei LogoControl aus:

                                           <calculation id="time"><valuetotext calculation="{Floor(LogoDec2Hex([value])/100)}:{if(LogoDec2Hex([value])%100>9,'','0')}{LogoDec2Hex([value])%100}"><texttovalue valueparseregex="(\d+):(\d+)" calculation="{LogoHex2Dec([value1]*100+[value2])}"></texttovalue></valuetotext></calculation> 
                                          

                                          wäre super wenn man das im S7 Adapter einbauen könnte, unter Rolle z.B. LOGO!Time

                                          1 Reply Last reply Reply Quote 0
                                          • G
                                            gramlgu last edited by

                                            So, nun ist auch der Weg analoger Werte von ioBroker nach Logo! fertig.

                                            Wichtig: Variable muss im Adapter "RW" angehakt werden und als "switch" in der Spalte "Rolle" deklariert werden (ja, auch analoge Werte werden geschaltet 😉 )

                                            Als Widget dient "Input"

                                            Leider muss für einlesen und schreiben ein eigener Script geschrieben werden. Vielleicht findet jemand einen Weg beides in einem zu machen.

                                            Weiters wäre es toll, diese Funktion in ein Widget zu integrieren….Vielleicht gibt es ja einen Editor für Widgets?

                                            __/**

                                            • Beschreibe diese Funktion …

                                            */

                                            createState('ZeitEinnf_in', 0);

                                            on({id: "javascript.0.ZeitEinnf_in"/ZeitEinnf_in/, change: "ne"}, function (obj) {

                                            (function(){

                                            var ConvertBase = function (num) {

                                            return {

                                            from : function (baseFrom) {

                                            return {

                                            to : function (baseTo) {

                                            return parseInt(num, baseFrom).toString(baseTo);

                                            }

                                            };

                                            }

                                            };

                                            };

                                            // hexadecimal to decimal

                                            ConvertBase.hex2dec = function (num) {

                                            return ConvertBase(num).from(16).to(10);

                                            };

                                            this.ConvertBase = ConvertBase;

                                            })(this);

                                            setState("s7.1.DBs.DB1.ZeitEin",ConvertBase.hex2dec(getState("javascript.0.ZeitEinnf_in"/ZeitEinnf_in/).val));

                                            });__

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            907
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            14
                                            88
                                            23556
                                            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