Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Alle 10min Meldung im Telegram "Bitte wähle einen Button" aus Script

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Alle 10min Meldung im Telegram "Bitte wähle einen Button" aus Script

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

      Mir wäre jetzt nicht bekannt dass IoBroker generell Scripte zyklisch neu startet. Bei mir tritt dieses Phänomen auf wenn bspw. der Javascript-Adapter neu gestartet wird.
      Dein Button-Script wird das von mehreren anderen Scripten aufgerufen? Liegt es im global Order?
      Es ist ein bisschen wie Glaskugel-lesen ☺ Aber wenn du noch paar mehr Infos hast würde das helfen.

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

        Hallo,
        der Java-Adapter startet andauernd neu. Das ist bei mir auch zur Zeit der Fall. Da ist sicherlich ein Fehler im Adapter.

        Gruß Steffen

        Dutchman 1 Reply Last reply Reply Quote 0
        • Dutchman
          Dutchman Developer Most Active Administrators @Steffengr last edited by

          @Steffengr sagte in Alle 10min Meldung im Telegram "Bitte wähle einen Button" aus Script:

          der Java-Adapter startet andauernd neu. Das ist bei mir auch zur Zeit der Fall. Da ist sicherlich ein Fehler im Adapter.

          mja das kan sein, oder du hast ein script mit Fehlern drinnen wodurch er Crash ?

          • welche JS-Adapter version ?
          • warum schmiert er ab (was sagt das log in dem moment)
          Peoples 1 Reply Last reply Reply Quote 0
          • Peoples
            Peoples @Dutchman last edited by Peoples

            Das mit dem fehlerhaften Script wäre auch meine Vermutung.

            Hast du mal versucht alle deine Scripte auf Pause zu stellen und dann zu schauen ob der Adapter immernoch neu startet?
            Wenn dem nicht so ist, könntest du der Reihe nach immer wieder eines dazu schalten und sehen ab wann er wieder das spinnen anfängt.

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

              Hallo,

              danke schon mal für die Antworten 🙂

              Hab mir in Log mal angeschaut da kommen Fehler. Scheinbar liegt es an den Tado Scripts.
              Bin leider nicht so der Profi such mir das alles immer hier im Forum zusammen oder Google.

              Häng mal screenshots dran
              Screenshot 2019-03-07 20.59.46.jpg Screenshot 2019-03-07 21.01.44.jpg

              Scripts liegen im Common

              Werd mal Heizung Scripts abschalten und schau mal weiter ob dann eure Hilfe schon fruchtet 🙂

              Peoples 1 Reply Last reply Reply Quote 0
              • Peoples
                Peoples @Audidriver last edited by

                @Audidriver sagte in Alle 10min Meldung im Telegram "Bitte wähle einen Button" aus Script:

                Hallo,

                danke schon mal für die Antworten 🙂

                Hab mir in Log mal angeschaut da kommen Fehler. Scheinbar liegt es an den Tado Scripts.
                Bin leider nicht so der Profi such mir das alles immer hier im Forum zusammen oder Google.

                Häng mal screenshots dran
                Screenshot 2019-03-07 20.59.46.jpg Screenshot 2019-03-07 21.01.44.jpg

                Scripts liegen im Common

                Werd mal Heizung Scripts abschalten und schau mal weiter ob dann eure Hilfe schon fruchtet 🙂

                So würde ich auch anfangen

                A 1 Reply Last reply Reply Quote 0
                • A
                  Audidriver @Peoples last edited by

                  @Peoples Tado Skripte sind aus und siehe da es ist Ruhe, jetzt muss ich mal kucken warum die Tado Scripte diesen Fehler verursachen.

                  Leide gibt es ja keinen Adapter für IoBroker um Tado zu steuern .

                  Vielen Dank schon mal

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

                    @Audidriver sagte in Alle 10min Meldung im Telegram "Bitte wähle einen Button" aus Script:

                    ... jetzt muss ich mal kucken warum die Tado Scripte diesen Fehler verursachen.

                    Steht im Log..
                    Cannot read property 'celsius' of null..

                    Er versucht also aus irgend einem Objekt einen Wert mit dem namen celsius auszulesen,.. Aber dieses Objekt gibt es nicht..
                    Deswegen der Fehler.

                    Du musst also zuerst prüfen ob das Objekt überhaupt existiert bevor du versuchst einen Wert daraus auszulesen.

                    Gruß

                    A 1 Reply Last reply Reply Quote 0
                    • A
                      Audidriver @BuZZy last edited by

                      @BuZZy Ok danke, hab ich mir kopiert mit meinen Daten gefüttert. Mit diesen Programmierungen bin ich leider gar nicht Fit.

                      Evtl mal etwas im Netz suchen wenn ich Zeit hab 🙂

                      Wichtig ist erst mal das nicht alle 10min nee Nachricht in Telegram kommt.

                      BuZZy 1 Reply Last reply Reply Quote 0
                      • Peoples
                        Peoples last edited by

                        Was verwendest du denn für Hardware die du abfragen möchtest?

                        1 Reply Last reply Reply Quote 0
                        • BuZZy
                          BuZZy @Audidriver last edited by

                          @Audidriver dafür musst du mal den Code zeigen..

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

                            Ich habe Tado Heizungsregler an 4 Heizkörper.

                            Hier mal der Code :

                            '{"time":{"start":"00:00","end":"23:59","mode":"hours","interval":1},"period":{"days":1}}'/* -- do not edit following lines - START --
                            {
                            "expert": true,
                            "debug": false,
                            "verbose": false
                            }
                            -- do not edit previous lines - END --*/
                            // tado Script für ioBroker
                            // Version 0.1
                            //
                            // Anleitung:
                            // 1. Pro Thermostat muss ein Script erstellt und individuell konfiguriert werden!
                            // 2. Eindeutigen Raumname im Konfig-Bereich des Scripts für das Thermostat angeben. Bei mehreren Thermostaten in einem Raum bitte unterschiedliche Raumnamen verwenden.
                            // 3. Über folgende URL (Nutzername und Passwort in der URL angeben) per WEbbrowser die HomeID ermitteln und in dem Konfigurations-Teil des Scripts eintragen:
                            // https://my.tado.com/api/v2/me?username=USERNAME&password=PASSWORT
                            // 4. Über folgende URL (HOME ID, Nutzername und Passwort in der URL angeben) per Webbrowser die ZoneID ermitteln und in dem Konfigurations-Teil des Scripts eintragen:
                            // https://my.tado.com/api/v2/homes/HOMEID/zones/2/state?username=USERNAME&password=PASSWORT
                            // - Die "2" im Link steht für ZoneID 2, in meinem Fall war das das Thermostat im Wohnzimmer
                            // - am besten unterschiedliche Temperaturen in den Räumen per App einstellen und dann verschiedene Zahlen im Link durchprobieren
                            //
                            //
                            // Quellen die bei der Scripterstellung geholfen haben:
                            // http://wirres.net/article/articleview/10326/1/6/
                            // http://blog.scphillips.com/posts/2017/01/the-tado-api-v2/

                            schedule("*/10 * * * *", function () { // Zeiteinstellung: Script aktualisiert alle 10 Min die Werte. Bei geringeren Abfrageintervallen kann es zu Verbindungsabbrüchen kommen und alle Geräte müssen neugestartet werden!

                            //[b]Konfiguration:[/b]
                            var Raumname = 'Badezimmer'; // Der hier angegebene Raumname dient zur Benennung des erzeugten Channel Objekts in ioBroker
                            var ZoneID = "****************"; // Zonennummer des Raums (muss über API URL ermittelt werden, siehe Anleitung)
                            var HomeID = "***************"; // HomeID (muss über API URL ermittelt werden, siehe Anleitung)
                            var Username = "*************; // tado Username (E-Mail Adresse)
                            var Password = "************"; // tado Passwort (Sonderzeichen müssen entsprechend umgewandelt werden, z.B. # = %23)
                            
                            // SCRIPTBEGINN - AB HIER NICHTS VERÄNDERN !
                            
                             var url = "https://my.tado.com/api/v2/homes/"+HomeID+"/zones/"+ZoneID+"/state?username="+Username+"&password="+Password; // API URL
                            
                            //läd die Json herunter
                            var request = require("request");
                            request(url, function (error, response, body) {
                            //parst die Json
                            var json = JSON.parse(body);
                            
                            //Datenpunkterstellung:
                            createState("tado." + Raumname + ".temperature", 0, false, {type: "number", name: "temperature", desc: "Eingestellte Temperatur", role: "value.temperature", unit: "°C", read: true, write: true});
                            createState("tado." + Raumname + ".power", "OFF", false, {type: "string", name: "power", desc: "Aufheizen", read: true, write: true});
                            createState("tado." + Raumname + ".inside_temperature", 0, false, {type: "number", name: "inside_temperature", desc: "Gemessene (Raum-)Temperatur", role: "value.temperature", unit: "°C", read: true, write: true});
                            createState("tado." + Raumname + ".humidity", 0, false, {type: "number", name: "humidity", desc: "Luftfeuchtigkeit", role: "value.humidity", unit: "%", min: 0, max: 100, read: true, write: true});
                            createState("tado." + Raumname + ".heatingpower", 0, false, {type: "number", name: "heatingpower", desc: "Heizkraft", unit: "%", min: 0, max: 100, read: true, write: true});
                            
                            //Datenabfrage:
                            //Temperatur:
                            setState("javascript.0.tado."+Raumname+".temperature", json.setting.temperature.celsius);
                            log('tado Temperatur '+Raumname+': ' + json.setting.temperature.celsius);
                            //Power:
                            setState("javascript.0.tado."+Raumname+".power", json.setting.power);
                            log('tado Power-Setting '+Raumname+': ' + json.setting.power);
                            //Humidity:
                            setState("javascript.0.tado."+Raumname+".humidity", json.sensorDataPoints.humidity.percentage);
                            log('tado Humidity '+Raumname+': ' + json.sensorDataPoints.humidity.percentage);
                            //Inside Temperature:
                            setState("javascript.0.tado."+Raumname+".inside_temperature", json.sensorDataPoints.insideTemperature.celsius);
                            log('tado Inside Temperature '+Raumname+': ' + json.sensorDataPoints.insideTemperature.celsius);
                            //Heating Power:
                            setState("javascript.0.tado."+Raumname+".heatingpower", json.activityDataPoints.heatingPower.percentage);
                            log('tado Heating Power '+Raumname+': ' + json.activityDataPoints.heatingPower.percentage);
                            });
                            

                            });

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            436
                            Online

                            31.8k
                            Users

                            80.0k
                            Topics

                            1.3m
                            Posts

                            5
                            13
                            691
                            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