Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] LOGO! & Wochenschaltuhr

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] LOGO! & Wochenschaltuhr

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

      OK, das macht Sinn.

      Ich dachte das gibt ein Problem beim Neustarten von ioBroker. Habe aber gerade mal neu gestartet, ist alle so wie es

      sein soll!

      Dann kann ich mich jetzt ja an die Wochentage der Schaltuhr ranmachen.

      Danke nochmals!

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

        @Steff:

        Macht das Sinn die Punkte gleich mit einem "richtigen" Wert sprich Uhrzeit anzulegen? `
        Sauberer ist es.

        const idLogo = 's7.0.DBs.DB1.B023-a1';
        const nameVis = 'LOGO.Uhr1-1_Ein';
        const idVis = 'javascript.' + instance + '.' + nameVis;
        
        createState(nameVis, '0:00', {type: 'string'});
        
        on(idLogo, function(dp) {
           setStateDelayed(idVis, logotime2str(dp.state.val), 5000);
        });
        
        on(idVis, function(dp) {
           setState(idLogo, str2logotime(dp.state.val));
        });
        
        1 Reply Last reply Reply Quote 0
        • Steff
          Steff last edited by

          Hallo paul53,

          danke für die Rückmeldung, bin gerade unterwegs. Sobald ich wieder vor meiner Kiste sitze probiere ich das aus.

          Gruß Steffen

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

            Hallo paul53,

            wie immer genial! Danke!

            ich habe aber die '0:00' rausgenommen, der Grund ist: wenn man dem Skript startet überschreibt er die Zein in der LOGO in 0:00. Das ist nicht gut.

            Es reicht die LOGO neu zu starten, danach greift der Skript und wir haben die richtige Zeit.

            const idLogo = 's7.0.DBs.DB1.B023-a1';
            const nameVis = 'LOGO.Uhr1-1_Ein';
            const idVis = 'javascript.' + instance + '.' + nameVis;
            
            createState(nameVis, {type: 'string'});
            
            on(idLogo, function(dp) {
               setStateDelayed(idVis, logotime2str(dp.state.val), 5000);
            });
            
            on(idVis, function(dp) {
               setState(idLogo, str2logotime(dp.state.val));
            });
            

            @Steff

            es reicht im LOGO!Soft "LOGO -> PC" auszuführen

            Schöne Grüße

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

              Hallo paul53,

              danke funzt problemlos!

              @Vumer

              was meinst Du mit "LOGO –> PC"?

              Gruß

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

                2071_logo2pc.jpg
                es reicht aber auch die LOGO für ein Paar sek zustopen und danach starten

                so das neue/aktualisierte Werte am Skript ankommen. Weil werend des Anhaltens gehen die Werte im S7 Adapter auf "0"

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

                  Hallo Vumer,

                  habe das gerade mit dem Stoppen und Starten ausprobiert. Bei mir wird die zuvor eingegebene Zeit trotzdem gespeichert.

                  Ich werde das mal im Auge behalten. In jedem Fall ist das mit den Schaltuhren eine Super Lösung geworden!!

                  Gruß

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

                    bei mir sieht es während des Anhaltens so aus
                    2071_logo-stop.jpg

                    A 1 Reply Last reply Reply Quote 0
                    • Steff
                      Steff last edited by

                      Hi,

                      Sieht bei mir auch so aus.

                      Nach dem Starten der Logo habe ich wieder den alten Wert drin!

                      Evtl. liegt es daran, das meine Schaltuhren nur auf Impulsausgabe parametriert sind.

                      Gruß

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

                        @Steff:

                        Nach dem Starten der Logo habe ich wieder den alten Wert drin! `
                        so soll es auch sein. Deine LOGO's sind ja alle programmiert und die Zeiten ungefähr richtig eingestellt. Jetzt kannst du die im vis oder unter Objekte wenn nötig anpassen.

                        Wenn du jetzt einen neuen Skript für eine andere Uhr erstellst hast zuerst dem Wert "null". Nach LOGO anhalten und starten hast du die aktuelle Zeiten aus die LOGO.

                        1 Reply Last reply Reply Quote 0
                        • F
                          Farmer-cb last edited by

                          Servus

                          wie machst du das mit den Checkboxen für die Wochentage???
                          4639_zeitschaltuhr.png

                          @Vumer:

                          Falsches Gedanke

                          Der Script macht nur was wenn sich der Wert verendert, damit er nicht immer leuft. z.B wenn du in der LOGO die Zeit verenderst dann aktualisiert der Skript das. Oder du nimms im vis dem Widget "Jqui ctrl Input Datetime" umd stellst die Uhr im vis ein `

                          Elektroniker86 1 Reply Last reply Reply Quote 0
                          • F
                            Farmer-cb last edited by

                            Hat sich erledigt, bin selber drauf gekommen

                            @Farmer-cb:

                            Servus

                            wie machst du das mit den Checkboxen für die Wochentage???

                            zeitschaltuhr.png

                            @Vumer:

                            Falsches Gedanke

                            Der Script macht nur was wenn sich der Wert verendert, damit er nicht immer leuft. z.B wenn du in der LOGO die Zeit verenderst dann aktualisiert der Skript das. Oder du nimms im vis dem Widget "Jqui ctrl Input Datetime" umd stellst die Uhr im vis ein

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

                              @Farmer-cb:

                              Hat sich erledigt, bin selber drauf gekommen `
                              Hi

                              das ist der basic - Bool Checkbox, aber der basic - Bool Select ist auch interessant

                              Schöne Grüße

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

                                @paul53:

                                Hier die beiden Funktionen:

                                function logotime2str(time) {
                                   var x = parseInt(time, 10).toString(16);
                                   if(parseInt(x) < 10) return '0:0' + x;
                                   if(parseInt(x) < 100) return '0:' + x;
                                   if(parseInt(x) < 1000) return x.slice(0, 1) + ':' + x.slice(1, 3);
                                   return x.slice(0, 2) + ':' + x.slice(2, 4);
                                }
                                
                                function str2logotime(str) {  // str im Format "hh:mm:ss"
                                   var x = str.split(':');
                                   x = parseInt(x[0] + x[1], 16).toString(10);
                                   return parseInt(x);
                                }
                                

                                EDIT: Habe das Skript noch für Zeiten < 0:10 Uhr und < 1:00 Uhr angepasst. `
                                hab es für mich ein bisschen angepasst. Damit im vis anstatt 7:00, 07:00 angezeigt wird. So kann man das z.B mit 21:00 zentrieren.

                                function logotime2str(time) {
                                   var x = parseInt(time, 10).toString(16);
                                   if(parseInt(x) < 10) return '00:0' + x;
                                   if(parseInt(x) < 100) return '00:' + x;
                                   if(parseInt(x) < 1000) return '0' + x.slice(0, 1) + ':' + x.slice(1, 3);
                                   return x.slice(0, 2) + ':' + x.slice(2, 4);
                                }
                                
                                function str2logotime(str) {  // str im Format "hh:mm:ss"
                                   var x = str.split(':');
                                   x = parseInt(x[0] + x[1], 16).toString(10);
                                   return parseInt(x);
                                }
                                

                                Hoffe dass ich nichts falsch gemacht habe, angezeigt wird das richtig und Fehler im Log sind auch keine.

                                Schöne Grüße

                                1 Reply Last reply Reply Quote 0
                                • Elektroniker86
                                  Elektroniker86 @Farmer-cb last edited by

                                  @Farmer-cb sagte in [gelöst] LOGO! & Wochenschaltuhr:

                                  Servus

                                  wie machst du das mit den Checkboxen für die Wochentage???
                                  4639_zeitschaltuhr.png

                                  @Vumer:

                                  Falsches Gedanke

                                  Der Script macht nur was wenn sich der Wert verendert, damit er nicht immer leuft. z.B wenn du in der LOGO die Zeit verenderst dann aktualisiert der Skript das. Oder du nimms im vis dem Widget "Jqui ctrl Input Datetime" umd stellst die Uhr im vis ein `

                                  Hallo liebe LOGO Fans,

                                  das Thema ist zwar etwas alt aber ich muss das hier nochmal aufgreifen.......

                                  Wie funktioniert das nun mit den Checkboxen ?
                                  Da braucht man doch bestimmt ein Script um die Wochentage umzurechnen oder ?

                                  Kann mir da vielleicht jemand unter die Arme greifen?

                                  Steff 1 Reply Last reply Reply Quote 0
                                  • Steff
                                    Steff @Elektroniker86 last edited by Steff

                                    @Elektroniker86
                                    Da brauchst Du kein Script dafür. Du stellst die Wochentage der Logo über einen Eintrag in der LOGO VM-Tabelle dem ioBroker zur Verfügung. Im Screenshot rot umrandet ist der Eintrag, der in der LOGO Schaltuhr die Wochentage repräsentiert. Die Wochentage werden als Byte im VM-Bereich der LOGO bereitgestellt. In meiner Installation eben das Byte 28.

                                    53d80cee-5648-49fa-a31c-cb8e11ca975a-image.png

                                    Auf dieses Byte (bzw. auf die einzelnen Bit´s aus diesem Byte) kannst Du nun im S7-Adapter im DB-Bereich deine ioBroker Objekte anlegen.
                                    f0c70d83-66e7-4016-8294-ad90f11dd6bc-image.png

                                    Somit hast Du nun die Möglichkeit auf die einzelnen Tage lesend und schreiben zuzugreifen.

                                    Gruß Steffen

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

                                      Hallo Steff,

                                      danke für die schnelle Antwort 🙂
                                      Ahh so wird das gemacht....... da wäre ich nie drauf gekommen.
                                      Ich hatte in der VM Zuordnung die Wochtentage schon hinzugefügt aber im S7 Adapter habe ich den Datenpunkt genau so auch ausgelesen, sprich mit genau der Adresse unter Objekte konnte ich logischerweise mit diesem Wert nichts anfangen. ( 0010101)
                                      Super vielen Dank so macht das auch sinn, echt Klasse! Danke für deine Hilfe!!!

                                      Ach übrigens , ich habe immer noch sporadische Verbindungsabbrüche, aber nur bei der einen LOGO..... Dein Rat habe ich befolgt aber es scheint nicht weg zu sein....

                                      Jetzt habe ich allerdings noch eine Frage bezüglich der Checkbox im Vis .... die ist ja verdammt klein, gibt es eine Möglichkeit diese Checkbox zu vergrößern???

                                      Steff 1 Reply Last reply Reply Quote 0
                                      • Steff
                                        Steff @Elektroniker86 last edited by

                                        @Elektroniker86,
                                        wegen der sporadischen Verbindungsabbrüche bin ich echt überfragt. Ich habe selbst ab und zu noch welche, wenn auch extrem selten (ca. alle 2 Wochen oder so), da sich das ganze (bisher) nicht negativ ausgewirkt hat nehme ich es mal so hin.

                                        Und wegen der Checkboxen kann ich dir leider auch keine wirkliche Hilfe anbieten, ich weiß auch nicht wie man die größer bekommt. Muss mal etwas in den Einstellungen spielen vielleicht fällt mir noch was dazu ein.

                                        Gruß Steffen

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          Stingray @Vumer last edited by

                                          @Vumer
                                          Hallo bin neu hier leider bin ich mit java auch nicht vertraut.
                                          iobroken und logo laufen schon einige Zeit jetzt möcht ich gern die Zeiten der Uhren ändern habe eure anleitung nicht ganz verstanden
                                          brächte eine Anleitung

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            Stingray @paul53 last edited by

                                            @paul53 Hallo , kannst du mir die Skripe zeigen die laufen bei mir kann ich leider nur die Werte von der Logo > Iobroker ändern nicht vom Iobroker > Logo .
                                            Bin Leider völliger Anfänger bei Java

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            448
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            61
                                            7949
                                            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