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. Nudging - Nur einen Wert in eine Variable für Sayit

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

Nudging - Nur einen Wert in eine Variable für Sayit

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
60 Beiträge 8 Kommentatoren 7.9k Aufrufe
  • Ä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.
  • P Offline
    P Offline
    pix
    schrieb am zuletzt editiert von
    #4

    Hallo,

    @Fitti:

    var idSayIt = "sayit.0.tts.text"  /*Text to speech*/
    var Temperatursensor = getState("hm-rpc.0.LEQ0099999.1.TEMPERATURE"); /*Garten Terrasse Temperatur und Feuchte:1.TEMPERATURE*/
    var temperatur = Temperatursensor.val.toString();
    var temp_array = [];
    var d = new Date ();
    // Zerlege Wert
    temp_array = temperatur.split(".");
    
    setState (idSayIt, "Es ist jetzt " + d.getHours() + " Uhr und " + d.getMinutes() + "Die Temperatur beträgt " + temp_array[0] + "," + temp_array[1] + " Grad.");
    
    

    Es ist kein Fehler zu finden (abgesehen, von dem fehlenden Semikolon nach der ersten Zeile). Die Zeile var temp_array =[][/i] _kannst du evtl weglassen.

    Was geben denn````
    log(temperatur);
    log(temp_array[1]);

    
    Gruß
    
    Pix_

    ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

    1 Antwort Letzte Antwort
    0
    • F Offline
      F Offline
      Fitti
      schrieb am zuletzt editiert von
      #5

      interessant - jetzt geht es.

      Vorher sagte aber auch das log "undefined". Den Text hatte ich aus dem log kopiert.

      Dafür bekomme ich kein Log nach 0.00h. Die letzten Einträge sind von 23:59:49 …

      Ein reload brachte auch nichts. :(

      Was muss man denn machen?

      "Es wird die Zeit kommen, da ihr euch entscheiden müsst zwischen dem, was richtig ist, und dem, was bequem ist."
      Plural von Status ist auch Status!

      1 Antwort Letzte Antwort
      0
      • htreckslerH Offline
        htreckslerH Offline
        htrecksler
        Forum Testing
        schrieb am zuletzt editiert von
        #6

        liegt es vielleicht daran, dass es für jeden Tag ein eigenes log gibt?

        Gruss Hermann

        ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

        1 Antwort Letzte Antwort
        0
        • F Offline
          F Offline
          Fitti
          schrieb am zuletzt editiert von
          #7

          Ich frage mich schon die ganze Zeit, wie das mit dem Logging gelöst ist. Ich finde keine Auswahl für ein altes logging , noch eine Stelle, wo man die Größe der Logs einstellen kann.

          Ich hab' gerade eben herausgefunden woran das "undefined" liegt. Der HM Sensor speichert zwar 16.0 als Wert, bei ,0 Zahlen werden diese aber als 16 gespeichert. Somit gibt es kein Split und das Array[1] ist undefined.

          Warum aber die ,0 verschwinden ist mit schleierhaft.

          "Es wird die Zeit kommen, da ihr euch entscheiden müsst zwischen dem, was richtig ist, und dem, was bequem ist."
          Plural von Status ist auch Status!

          1 Antwort Letzte Antwort
          0
          • HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #8

            das gesamte log findest du auf der banane

            Gesendet von meinem Cynus T7 mit Tapatalk

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            1 Antwort Letzte Antwort
            0
            • htreckslerH Offline
              htreckslerH Offline
              htrecksler
              Forum Testing
              schrieb am zuletzt editiert von
              #9

              Bis vor einigen Wochen/Monaten?? gab es nur eine einzige log Datei. Da gab es an der ein oder anderen Stelle Probleme mit der Größe der log-files.

              Bluefox hat das dann so gelöst, das das log immer für die letzten 3 Tage abgespeichert wird.

              Du findest die 3 log-Dateien im Verzeichnis ioBroker/log.

              Ich bin mir nicht ganz sicher, aber im Moment ist das logging (Größe, Anzahl der Logfiles…) (noch) nicht einstellbar.
              305_manadjustments.txt

              Gruss Hermann

              ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

              1 Antwort Letzte Antwort
              0
              • F Offline
                F Offline
                Fitti
                schrieb am zuletzt editiert von
                #10

                Danke.

                Das mit der 0 habe ich jetzt abgefangen.

                // Einfache Temperaturansage mit SayIt.
                // Variante 1 mittels splitten der Temperatur, damit die Ansage nicht
                // "Es sind 18 Punkt 2 Grad " sagt.
                
                var idSayIt = "sayit.0.tts.text";  /*Text to speech*/
                var Temperatursensor = getState("hm-rpc.0.LEQ00xxxxx.1.TEMPERATURE"); /*Temperatursensor:1.TEMPERATURE*/
                var temperatur = Temperatursensor.val.toString();
                var temp_array = [];
                
                temp_array = temperatur.split(".");
                
                // Fange leere Nachkommastellen ab. Das passiert, wenn die Temperatur z. B. 18.0 ist.
                // Es wird dann nur "18" gelesen.
                if (!temp_array[1]) {
                    temp_array[1] = "0";
                    log("Die Nach-Kommastelle in temp_array[1] war nicht vorhanden und wird nun fest auf 0 gesetzt.");
                }
                setState (idSayIt, "Die Temperatur beträgt " + temp_array[0] + "," + temp_array[1] + " Grad.");
                
                
                // Einfache Temperaturansage mit SayIt.
                // Variante 2 mittels ersetzen des Punktes in ein Komma, damit die Ausgabe nicht
                // "Es sind 18 Punkt 2 Grad " sagt.
                
                var idSayIt = "sayit.0.tts.text";  /*Text to speech*/
                var Temperatursensor = getState("hm-rpc.0.LEQ00xxxxx.1.TEMPERATURE"); /*Temperatursensor:1.TEMPERATURE*/
                var temperatur = Temperatursensor.val.toString();
                
                temperatur = temperatur.replace('\.', '\,');
                
                setState (idSayIt, "Die Temperatur beträgt " + temperatur + " Grad.");
                

                Vielleicht hat ja jemand auch mal das Problem.

                "Es wird die Zeit kommen, da ihr euch entscheiden müsst zwischen dem, was richtig ist, und dem, was bequem ist."
                Plural von Status ist auch Status!

                1 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  skorpil
                  schrieb am zuletzt editiert von
                  #11

                  Ich bin mit dem JS Script noch ein Dummy. Wo wird das hingeschrieben und wie wird es aufgerufen? Danke für Hilfe.

                  1 Antwort Letzte Antwort
                  0
                  • HomoranH Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von
                    #12

                    @skorpil:

                    Wo wird das hingeschrieben `
                    siehe:

                    http://www.iobroker.net/docu/?page_id=156&lang=de

                    Gruß

                    Rainer

                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    1 Antwort Letzte Antwort
                    0
                    • S Offline
                      S Offline
                      skorpil
                      schrieb am zuletzt editiert von
                      #13

                      Rainer,

                      Jetzt weiß ich, wie und wo ich Scripte anlege. Fehlt nur noch, wie ich sie aufrufe? Da ich kein Profi bin, verzeih mir meine vlt. dumme Frage. Und danke für die Hilfe.

                      Bernd

                      1 Antwort Letzte Antwort
                      0
                      • P Offline
                        P Offline
                        pix
                        schrieb am zuletzt editiert von
                        #14

                        @skorpil:

                        Fehlt nur noch, wie ich sie aufrufe? ` eigentlich solltest du sie nicht manuell aufrufen. Sie starten sich selbst beim Speichern. Wenn dann eine, der überwachten Bedingungen eintritt (Schedule, Aktorstatus, etc.), dann wird nach Skript abgearbeitet.

                        Gruß

                        Pix

                        ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                        1 Antwort Letzte Antwort
                        0
                        • S Offline
                          S Offline
                          skorpil
                          schrieb am zuletzt editiert von
                          #15

                          Pix,

                          Ich danke Dir. Bedeutet "eigentlich ",' dass ein Aufruf resp. einAauslösen des Scripts über den Browser zu Testzwecken gar nicht geht? Denn bei CCU.io war das ja möglich…

                          Liebe Grüße

                          Bernd

                          1 Antwort Letzte Antwort
                          0
                          • BluefoxB Offline
                            BluefoxB Offline
                            Bluefox
                            schrieb am zuletzt editiert von
                            #16

                            @skorpil:

                            Pix,

                            Ich danke Dir. Bedeutet "eigentlich ",' dass ein Aufruf resp. einAauslösen des Scripts über den Browser zu Testzwecken gar nicht geht? Denn bei CCU.io war das ja möglich…

                            Liebe Grüße

                            Bernd `
                            Du rufst dem auf, wenn du denn speicherst.

                            1 Antwort Letzte Antwort
                            0
                            • F Offline
                              F Offline
                              Fitti
                              schrieb am zuletzt editiert von
                              #17

                              Oder wenn du auf den Reload Button klickst 8-) :
                              578_say_reload.png

                              Fitti

                              "Es wird die Zeit kommen, da ihr euch entscheiden müsst zwischen dem, was richtig ist, und dem, was bequem ist."
                              Plural von Status ist auch Status!

                              1 Antwort Letzte Antwort
                              0
                              • S Offline
                                S Offline
                                skorpil
                                schrieb am zuletzt editiert von
                                #18

                                Danke, Fitti
                                6305_hm_sv_tuer.png

                                1 Antwort Letzte Antwort
                                0
                                • S Offline
                                  S Offline
                                  skorpil
                                  schrieb am zuletzt editiert von
                                  #19

                                  So, erster Test mit dem ersten Script von Fitti auch hier bei mir erfolgreich. Jetzt brauche ich noch Hilfe zum triggern. Kann mir jemand sagen, wie ich in JS programmiere, z. B. : Türe auf (Tür/Fenster Kontakt vorhanden), Durchsage auslösen?

                                  Danke für die Hilfe!

                                  1 Antwort Letzte Antwort
                                  0
                                  • P Offline
                                    P Offline
                                    pix
                                    schrieb am zuletzt editiert von
                                    #20

                                    @skorpil:

                                    Kann mir jemand sagen, wie ich in JS programmiere, z. B. : Türe auf (Tür/Fenster Kontakt vorhanden), Durchsage auslösen? `

                                    var status_zustand_tfk = ['geschlossen','geöffnet'];
                                    on("hm-rpc.0.SERIENNUNMERTFK.1.STATE"/*Fenster links Wohnzimmer.STATE*/, function (data) {
                                        var status_geraet = 'Wohnzimmer Fenster links';         // Klartextname des Gerätes // alternativ: status_geraet = data.name;
                                        var ansage = status_geraet + ' ' + status_zustand_tfk[data.newState.val]
                                        log(ansage, 'info');
                                        setState("sayit.0.tts.text"/*Text to speech*/, ansage);
                                    });
                                    
                                    

                                    Seriennummer und Name des Gerätes noch anpassen. Sayit-Adapter sollte natürlich installiert und aktiviert sein.

                                    Gruß,

                                    Pix

                                    ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                                    1 Antwort Letzte Antwort
                                    0
                                    • S Offline
                                      S Offline
                                      skorpil
                                      schrieb am zuletzt editiert von
                                      #21

                                      Wow! Danke!

                                      1 Antwort Letzte Antwort
                                      0
                                      • S Offline
                                        S Offline
                                        steinwedel
                                        schrieb am zuletzt editiert von
                                        #22

                                        Die Lösung Deiner Frage findest DU in der Javascript-Doku unter "subscribe" bzw. "on".

                                        Trotzdem hier ein Beispiel, welches eine Nachricht ausgibt (nicht über sayit sondern über pushover):

                                        subscribe({id: "hm-rpc.0.KEQ0955279.1.STATE"/*Wohungstür Kontakt*/ , val: true}, function (obj) {
                                                sendTo("pushover", "Wohnungstür geöffnet");
                                        });
                                        
                                        

                                        Gruß Gerhard

                                        1 Antwort Letzte Antwort
                                        0
                                        • S Offline
                                          S Offline
                                          skorpil
                                          schrieb am zuletzt editiert von
                                          #23

                                          Vielleicht nerve ich ja das Forum, aber…

                                          Ich möchte mit JS Script eine homematic Variable ansprechen resp. verändern. Die device finde ich. Aber wo verstecken sich die ganzen homematic Variablen, die ich in der CCU gesetzt habe?

                                          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

                                          572

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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