Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. ioBroker Allgemein
  4. S7 Adapter Temperatur Siemens Logo

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    725

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    5.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

S7 Adapter Temperatur Siemens Logo

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
36 Beiträge 6 Kommentatoren 2.5k Aufrufe 2 Beobachtet
  • Ä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.
  • Elektroniker86E Offline
    Elektroniker86E Offline
    Elektroniker86
    schrieb am zuletzt editiert von
    #5

    Hallo Paul53,

    das ging ja mal verdammt schnell. :-)

    Das Script funktioniert einwandfrei !!!

    Vielen vielen Dank für die schnelle Hilfe.

    Gruß

    1 Antwort Letzte Antwort
    0
    • Elektroniker86E Offline
      Elektroniker86E Offline
      Elektroniker86
      schrieb am zuletzt editiert von
      #6

      Hallo Leute,

      ich muss das Thema nochmal aufgreifen. Ich habe nämlich bezüglich der Außentemperatur noch ein Problem das ich nicht lösen konnte ......

      In ioBroker unter Objekte wird sobald es kalt wird bzw ab - 0 C° ein komischer Wert angezeigt ( 65446 C°) in der LOGO wird mir der richtige Wert angezeigt, der Wert sollte eigentlich - 9,0 C° anzeigen bzw. 90 C° das Komma wird ja mit dem Script gemacht.
      keine Ahnung wie ioBroker auf diesen wert kommt?
      Sobald es wieder +0,1 C° wird, ist alles wieder wunderbar und der Wert stimmt. Hat das auch schon jemand beobachtet?

      Den Wert frage ich über AM2 ab. Hier ein paar Screenshots.

      Logosoft.png

      iobroker.png

      Kann mir da vielleicht jemand helfen?

      1 Antwort Letzte Antwort
      0
      • paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #7
        
        function S7Celsius(val) {
           if(val > 32768) val = val - 65536;
           setState(idTemp, val / 10, true);
        }
        
        on(idS7Temp, function(dp) { // Wertänderung
           S7Celsius(dp.state.val);
        });
        
        // Skriptstart
        S7Celsius(getState(idS7Temp).val);
        

        EDIT: Vorzeichen korrigiert.

        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

        1 Antwort Letzte Antwort
        0
        • Elektroniker86E Offline
          Elektroniker86E Offline
          Elektroniker86
          schrieb am zuletzt editiert von
          #8

          Danke, das ging ja mal wieder blitzschnell, vielen Dank dafür. ☺

          Aber wo muss das Script hin ? Unter common oder global?
          Wenn ich es im Ordner LOGO unter common speichere und starte dann kommen Fehler. Siehe Screenshots.

          iobroker.png

          iobroker2.png

          Elektroniker86E paul53P 2 Antworten Letzte Antwort
          0
          • Elektroniker86E Elektroniker86

            Danke, das ging ja mal wieder blitzschnell, vielen Dank dafür. ☺

            Aber wo muss das Script hin ? Unter common oder global?
            Wenn ich es im Ordner LOGO unter common speichere und starte dann kommen Fehler. Siehe Screenshots.

            iobroker.png

            iobroker2.png

            Elektroniker86E Offline
            Elektroniker86E Offline
            Elektroniker86
            schrieb am zuletzt editiert von Elektroniker86
            #9

            @Elektroniker86 sagte in S7 Adapter Temperatur Siemens Logo:

            Danke, das ging ja mal wieder blitzschnell, vielen Dank dafür. ☺

            Aber wo muss das Script hin ? Unter common oder global?
            Wenn ich es im Ordner LOGO unter common speichere und starte dann kommen Fehler. Siehe Screenshots.

            iobroker.png

            iobroker2.png

            O.K. hat sich erledigt, habs selbst hinbekommen, das Script musste in das Script von ganz oben hinzugefügt werden.

            Aber es wird nicht angezeigt ob es sich jetzt um eine Minus Temperatur dreht oder nicht.

            Kann man irgendwie ein Minus (-) hinzufügen?

            paul53P 1 Antwort Letzte Antwort
            0
            • Elektroniker86E Elektroniker86

              Danke, das ging ja mal wieder blitzschnell, vielen Dank dafür. ☺

              Aber wo muss das Script hin ? Unter common oder global?
              Wenn ich es im Ordner LOGO unter common speichere und starte dann kommen Fehler. Siehe Screenshots.

              iobroker.png

              iobroker2.png

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

              @Elektroniker86 sagte

              dann kommen Fehler.

              Das ist nicht das komlplette Skript, da ich davon ausgegangen bin, dass Du schon ein Skript zur Umrechnung verwendest und es nur anpassen musst.
              Es fehlt die Deklaration und Zuweisung der Datenpunkt-IDs am Anfang des Skripts:

              const idS7Temp = 's7.2.DBs.DB1.AM2'; // Datenpunkt-ID von LOGO
              const idTemp = 'LOGO.Außentemperatur'; // Datenpunkt unter javascript.0
               
              

              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

              1 Antwort Letzte Antwort
              0
              • Elektroniker86E Elektroniker86

                @Elektroniker86 sagte in S7 Adapter Temperatur Siemens Logo:

                Danke, das ging ja mal wieder blitzschnell, vielen Dank dafür. ☺

                Aber wo muss das Script hin ? Unter common oder global?
                Wenn ich es im Ordner LOGO unter common speichere und starte dann kommen Fehler. Siehe Screenshots.

                iobroker.png

                iobroker2.png

                O.K. hat sich erledigt, habs selbst hinbekommen, das Script musste in das Script von ganz oben hinzugefügt werden.

                Aber es wird nicht angezeigt ob es sich jetzt um eine Minus Temperatur dreht oder nicht.

                Kann man irgendwie ein Minus (-) hinzufügen?

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

                @Elektroniker86 sagte

                Aber es wird nicht angezeigt ob es sich jetzt um eine Minus Temperatur dreht oder nicht.

                Mein Fehler, habe es im Skript korrigiert.

                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

                1 Antwort Letzte Antwort
                0
                • Elektroniker86E Offline
                  Elektroniker86E Offline
                  Elektroniker86
                  schrieb am zuletzt editiert von
                  #12

                  @paul53 sagte in S7 Adapter Temperatur Siemens Logo:

                                                                                                                                                                                                                                                                                                                           function S7Celsius(val) {                                                                                                                                                                               if(val > 32768) val = val - 65536;                                                                                                                                                                               setState(idTemp, val / 10, true);                                                                                                                                                                            }                                                                                                                                                                                                                                                                                                                                                         on(idS7Temp, function(dp) { // Wertänderung                                                                                                                                                                               S7Celsius(dp.state.val);                                                                                                                                                                            });                                                                                                                                                                                                                                                                                                                                                         // Skriptstart                                                                                                                                                                            S7Celsius(getState(idS7Temp).val);                                            
                  

                  Ja, das scripten ist nicht so meine Spezialität, ich habs aber dann doch noch gecheckt..... :-)

                  Einfach Klasse, es funktioniert .........
                  Respekt!!!! Wirklich, vielen lieben Dank für die promte Hilfe. 😊

                  1 Antwort Letzte Antwort
                  0
                  • Elektroniker86E Offline
                    Elektroniker86E Offline
                    Elektroniker86
                    schrieb am zuletzt editiert von
                    #13

                    Guten Abend,

                    ich muss das hier nochmal hoch holen. Was muss im Script geändert werden damit bei den Temperaturen ein Komma statt ein Punkt angezeigt wird und bei ganzen Temperaturen z.B 5,0°C statt 5°C angezeigt wird? Kann mir dabei vielleicht jemand unter die Arme greifen?

                    Vielen Dank im Voraus!!!

                    const idS7Temp = 's7.2.DBs.DB1.AM05'; // Datenpunkt-ID vom S7 eingeben !
                    const idTemp = 'LOGO.Temperaturen.Außentemperatur'; // neuer Datenpunkt unter javascript.0
                     
                    createState(idTemp, 0, {type: 'number', unit: '°C', role: 'value.temperature'}); // Neuen Datenpunkt erzeugen
                     
                    on(idS7Temp, function(dp) { // Wertänderung
                       setState(idTemp, dp.state.val / 10, true);
                    });
                     
                    // Skriptstart
                    setState(idTemp, getState(idS7Temp).val / 10, true);
                    
                      
                    function S7Celsius(val) {
                       if(val > 32768) val = val - 65536;
                       setState(idTemp, val / 10, true);
                    }
                     
                    on(idS7Temp, function(dp) { // Wertänderung
                       S7Celsius(dp.state.val);
                    });
                     
                    // Skriptstart
                    S7Celsius(getState(idS7Temp).val);
                    
                    
                    paul53P 1 Antwort Letzte Antwort
                    0
                    • Elektroniker86E Elektroniker86

                      Guten Abend,

                      ich muss das hier nochmal hoch holen. Was muss im Script geändert werden damit bei den Temperaturen ein Komma statt ein Punkt angezeigt wird und bei ganzen Temperaturen z.B 5,0°C statt 5°C angezeigt wird? Kann mir dabei vielleicht jemand unter die Arme greifen?

                      Vielen Dank im Voraus!!!

                      const idS7Temp = 's7.2.DBs.DB1.AM05'; // Datenpunkt-ID vom S7 eingeben !
                      const idTemp = 'LOGO.Temperaturen.Außentemperatur'; // neuer Datenpunkt unter javascript.0
                       
                      createState(idTemp, 0, {type: 'number', unit: '°C', role: 'value.temperature'}); // Neuen Datenpunkt erzeugen
                       
                      on(idS7Temp, function(dp) { // Wertänderung
                         setState(idTemp, dp.state.val / 10, true);
                      });
                       
                      // Skriptstart
                      setState(idTemp, getState(idS7Temp).val / 10, true);
                      
                        
                      function S7Celsius(val) {
                         if(val > 32768) val = val - 65536;
                         setState(idTemp, val / 10, true);
                      }
                       
                      on(idS7Temp, function(dp) { // Wertänderung
                         S7Celsius(dp.state.val);
                      });
                       
                      // Skriptstart
                      S7Celsius(getState(idS7Temp).val);
                      
                      
                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von paul53
                      #14

                      @elektroniker86 sagte: ein Komma statt ein Punkt angezeigt wird

                      const idS7Temp = 's7.2.DBs.DB1.AM05'; // Datenpunkt-ID vom S7 eingeben !
                      const idTemp = '0_userdata.0.LOGO.Temperaturen.Außentemperatur'; // neuer Datenpunkt
                       
                      createState(idTemp, '0,0', {type: 'string', role: 'state'}); // Neuen Datenpunkt erzeugen
                       
                      function S7Celsius(val) {
                         if(val > 32768) val = val - 65536;
                         setState(idTemp, (val / 10).toFixed(1).replace('.', ',') + ' °C', true);
                      }
                       
                      on(idS7Temp, function(dp) { // Wertänderung
                         S7Celsius(dp.state.val);
                      });
                       
                      // Skriptstart
                      S7Celsius(getState(idS7Temp).val);
                      

                      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

                      Elektroniker86E 1 Antwort Letzte Antwort
                      1
                      • paul53P paul53

                        @elektroniker86 sagte: ein Komma statt ein Punkt angezeigt wird

                        const idS7Temp = 's7.2.DBs.DB1.AM05'; // Datenpunkt-ID vom S7 eingeben !
                        const idTemp = '0_userdata.0.LOGO.Temperaturen.Außentemperatur'; // neuer Datenpunkt
                         
                        createState(idTemp, '0,0', {type: 'string', role: 'state'}); // Neuen Datenpunkt erzeugen
                         
                        function S7Celsius(val) {
                           if(val > 32768) val = val - 65536;
                           setState(idTemp, (val / 10).toFixed(1).replace('.', ',') + ' °C', true);
                        }
                         
                        on(idS7Temp, function(dp) { // Wertänderung
                           S7Celsius(dp.state.val);
                        });
                         
                        // Skriptstart
                        S7Celsius(getState(idS7Temp).val);
                        
                        Elektroniker86E Offline
                        Elektroniker86E Offline
                        Elektroniker86
                        schrieb am zuletzt editiert von
                        #15

                        @paul53
                        Hi, vielen Dank für die, wie immer schnelle Hilfe ! :-)
                        Geil, funktioniert! Ich habe ein neues Skript angelegt mit Außenbeleuchtung Norden. Aber mir wird zwei mal °C angezeigt.

                        Hab ich da was falsch gemacht?

                        Screenshot (7).png

                        Screenshot (8).png

                        Screenshot (9).png

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • Elektroniker86E Elektroniker86

                          @paul53
                          Hi, vielen Dank für die, wie immer schnelle Hilfe ! :-)
                          Geil, funktioniert! Ich habe ein neues Skript angelegt mit Außenbeleuchtung Norden. Aber mir wird zwei mal °C angezeigt.

                          Hab ich da was falsch gemacht?

                          Screenshot (7).png

                          Screenshot (8).png

                          Screenshot (9).png

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

                          @elektroniker86 sagte: mir wird zwei mal °C angezeigt.

                          Ändere den Datenpunkt-Typ in "string" ohne "unit". Oder lösche ihn, dann wird er mit createState() bei Skriptstart richtig erzeugt.

                          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

                          Elektroniker86E 1 Antwort Letzte Antwort
                          1
                          • paul53P paul53

                            @elektroniker86 sagte: mir wird zwei mal °C angezeigt.

                            Ändere den Datenpunkt-Typ in "string" ohne "unit". Oder lösche ihn, dann wird er mit createState() bei Skriptstart richtig erzeugt.

                            Elektroniker86E Offline
                            Elektroniker86E Offline
                            Elektroniker86
                            schrieb am zuletzt editiert von Elektroniker86
                            #17

                            @paul53
                            Vielen Dank !!! Funktioniert einwandfrei!!!

                            Daumen hoch! 👍

                            1 Antwort Letzte Antwort
                            0
                            • Elektroniker86E Offline
                              Elektroniker86E Offline
                              Elektroniker86
                              schrieb am zuletzt editiert von
                              #18

                              Hi, ich habe leider noch ein Problem.
                              Seit dem ich das Script wie oben mit Komma usw. geändert habe werden im odometer Widget und im vis-material-advanced - list temp Widget die Temperaturwerte nicht mehr angezeigt. Wenn ich den alten Datenpunkt vom alten Script her nehme dann wird der Wert angezeigt.

                              Im basic-number widget und im vis-inventwo -universal switch widget als Binding funktionieren die neuen Datenpunkte. Kann man das auch irgendwie fixen damit man die Datenpunkte für alle Widgets verwenden kann?

                              Vielen Dank vorab!

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • Elektroniker86E Elektroniker86

                                Hi, ich habe leider noch ein Problem.
                                Seit dem ich das Script wie oben mit Komma usw. geändert habe werden im odometer Widget und im vis-material-advanced - list temp Widget die Temperaturwerte nicht mehr angezeigt. Wenn ich den alten Datenpunkt vom alten Script her nehme dann wird der Wert angezeigt.

                                Im basic-number widget und im vis-inventwo -universal switch widget als Binding funktionieren die neuen Datenpunkte. Kann man das auch irgendwie fixen damit man die Datenpunkte für alle Widgets verwenden kann?

                                Vielen Dank vorab!

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

                                @elektroniker86 sagte: werden im odometer Widget und im vis-material-advanced - list temp Widget die Temperaturwerte nicht mehr angezeigt.

                                Die Widgets benötigen wahrscheinlich Zahlen und können mit dem String nichts anfangen.

                                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

                                Elektroniker86E 1 Antwort Letzte Antwort
                                0
                                • paul53P paul53

                                  @elektroniker86 sagte: werden im odometer Widget und im vis-material-advanced - list temp Widget die Temperaturwerte nicht mehr angezeigt.

                                  Die Widgets benötigen wahrscheinlich Zahlen und können mit dem String nichts anfangen.

                                  Elektroniker86E Offline
                                  Elektroniker86E Offline
                                  Elektroniker86
                                  schrieb am zuletzt editiert von
                                  #20

                                  @paul53

                                  Nun gut, ist dann wenigstens möglich das alte Skript (number) so umzubauen damit 0.0 angezeigt wird ? Mit dem Punkt kann ich leben wenn ich auf das Komma verzichten muss.... Oder geht das auch nicht ?

                                  paul53P 1 Antwort Letzte Antwort
                                  0
                                  • Elektroniker86E Elektroniker86

                                    @paul53

                                    Nun gut, ist dann wenigstens möglich das alte Skript (number) so umzubauen damit 0.0 angezeigt wird ? Mit dem Punkt kann ich leben wenn ich auf das Komma verzichten muss.... Oder geht das auch nicht ?

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

                                    @elektroniker86 sagte: möglich das alte Skript (number) so umzubauen damit 0.0 angezeigt wird ?

                                    Nein, Zahlen werden nicht mit einer 0 nach dem Punkt angezeigt. Das Problem für das Widget ist der String.

                                    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

                                    L 1 Antwort Letzte Antwort
                                    0
                                    • paul53P paul53

                                      @elektroniker86 sagte: möglich das alte Skript (number) so umzubauen damit 0.0 angezeigt wird ?

                                      Nein, Zahlen werden nicht mit einer 0 nach dem Punkt angezeigt. Das Problem für das Widget ist der String.

                                      L Offline
                                      L Offline
                                      lucky51179
                                      schrieb am zuletzt editiert von
                                      #22

                                      @paul53 @paul53 ![0_1619332250706_Bildschirmfoto 2021-04-25 um 08.30.35.png](Uploading 100%)

                                      Kann mir jemand sagen wo da der Fehler liegt ?

                                      L 1 Antwort Letzte Antwort
                                      0
                                      • L lucky51179

                                        @paul53 @paul53 ![0_1619332250706_Bildschirmfoto 2021-04-25 um 08.30.35.png](Uploading 100%)

                                        Kann mir jemand sagen wo da der Fehler liegt ?

                                        L Offline
                                        L Offline
                                        lucky51179
                                        schrieb am zuletzt editiert von
                                        #23

                                        @lucky51179 Bildschirmfoto 2021-04-25 um 08.30.35.png

                                        Kann mir jemand sagen wo da der Fehler liegt ?

                                        WalW paul53P 2 Antworten Letzte Antwort
                                        0
                                        • L lucky51179

                                          @lucky51179 Bildschirmfoto 2021-04-25 um 08.30.35.png

                                          Kann mir jemand sagen wo da der Fehler liegt ?

                                          WalW Online
                                          WalW Online
                                          Wal
                                          Developer
                                          schrieb am zuletzt editiert von
                                          #24

                                          @lucky51179 ,
                                          du brauchst kein Skript mehr um das umzurechnen. Nimm den Alias-Manager und du kannst eine Regel bei Alias read-Funktion hinzufügen.
                                          Alias-ID ist dein S7-Logo Objekt
                                          Alias Read-Function ist deine Regel -> val/10 (d.h. dein Logo-Objekt wird durch 10 geteilt)
                                          Screenshot 2021-04-25 094219.png

                                          Gruß
                                          Walter

                                          DoorIO-Adapter
                                          wioBrowser-Adapter und wioBrowser

                                          L 1 Antwort Letzte Antwort
                                          0

                                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                          Registrieren Anmelden
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          544

                                          Online

                                          32.7k

                                          Benutzer

                                          82.6k

                                          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