Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. erkenbrecht

    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

    E
    • Profile
    • Following 0
    • Followers 0
    • Topics 2
    • Posts 5
    • Best 0
    • Groups 0

    erkenbrecht

    @erkenbrecht

    0
    Reputation
    15
    Profile views
    5
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    erkenbrecht Follow

    Latest posts made by erkenbrecht

    • Shelly Adapter setzt Wert in Datenpunkt Timer nicht

      Guten Abend,

      ich habe meinen Raspi neu gemacht, also alles neu installiert. Bei meiner vorherigen Installation konnte ich den Wert des Ausschalttimers meine Shelly über ioBroker setzen und das hat auch wunderbar funktioniert. Bei dieser alten Installation war die installierte Version des Adapter 2.0.1

      Nun in meiner neuen Installation ist die Version 2.0.5 des ShellyAdapter installiert. Leider kann ich jetzt den Wert des Ausschaltimers meines Shelly nicht mehr setzen. Dieser wird jedesmal mit dem alten Wert überschrieben.

      Weiß irgendwer woran das liegen könnte? Oder gibt es mit dieser Version des Adapters bekannte Probleme? Falls ja, wie kann ich die alte Version des Shellyadapter installieren? Bin leider ein Linuxnoob. Wäre sehr dankbar für ein paar Denkanstöße.

      Beste Grüße

      posted in ioBroker Allgemein
      E
      erkenbrecht
    • RE: Telegram und Inline Keyboard (Menu)

      @lobomau:

      Das Script kann ich gut gebrauchen. Zum Ausprobieren funktioniert es sofort ohne Anpassung. Jetzt will ich mal echte Geräte von mir da einbauen.

      Hast du schon weiter dran gearbeitet? Nett wäre wenn man da nicht nur AN/AUS, sondern auch Prozente mit übergeben könnte. Hast du dich mit dem Thema schon mal beschäftigt? `

      Hast du dafür schon eine Lösung gefunden? Also Prozente oder andere Werte zu übergeben.

      Beste Grüße

      posted in Skripten / Logik
      E
      erkenbrecht
    • RE: Text2command + Telegrambot - "künstliche Intelligenz" scripten?

      @BuZZy:

      Hab auch mal text2command außen vor gelassen und kurz & schnell ein Script erstellt womit man erstmal nur die Temperatur abfragen kann.

      Wenn man nicht genau definiert was man abfragen will dann kommt eine Rückfrage mit Vorschlägen.

      Beschäftige mich erst seit 2 Wochen mit Javascript.. Also bitte habt Verständnis falls es "komplizierter" Code ist.. 😄

      Geht bestimmt noch einfacher aber wie gesagt, bin Javascript Neuling. :mrgreen:

      on({id: 'telegram.0.communicate.request', change: 'any'}, function (obj) {
          var stateval = getState('telegram.0.communicate.request').val;              // Statevalue in Variable schreiben
          var benutzer = stateval.substring(1,stateval.indexOf("]"));                 // Benutzer aus Statevalue extrahieren
          var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length);   // Befehl/Text aus Statevalue extrahieren
          var unbekannt = [                                                           // Array für Antworten bei unbekanntem Befehl
              'Ich weiß leider nicht was du meinst.',
              'Das habe ich leider nicht verstanden.',
              'Tut mir leid. Ich verstehe das nicht.'
                          ];
          var zufall = Math.floor(Math.random()*unbekannt.length);                    // Setzt eine zufällige Zahl für Antworten bei unbekanntem Befehl
          
          //createState('Telegram.Bot.Menu' + benutzer, '');                          // EVENTUELL Datenpunkt für "Menüführung" erstellen
          //setState('Telegram.Bot.Menu' + benutzer, 'Ich bin hier');                 // EVENTUELL Schreiben in welchem Menü der Benutzer sich befindet.
      
      // Ab hier werden die zu beantwortenden Fragen definiert.
      // /(?=.*(\bTEMPERATUR\b|\bWARM\b|\bKALT\b))(?=.*(\bWOHNZIMMER\b|\bSTUBE\b)).+/ig
      // reagiert auf Sätze in denen die Wörter
      // (TEMPERATUR oder WARM oder KALT) UND (WOHNZIMMER oder STUBE) vorhanden sind.
      // Klar definierte Abfragen müssen logischerweise oben stehen (Wie ist die Temperatur im Wohnzimmer?),
      // damit das Script aufhört zu laufen wenn eine passende Antwort gefunden wurde.
      // Unklar definierte Abfragen wo der Bot nachfragen muss was gemeint ist müssen weiter unten definiert werden.
      // (Wie ist die Temperatur drin?) - Antwort vom Bot: "Welcher Raum ist gemeint? - Vorschlag 1, Vorschlag 2?"
      
          if (befehl.search(/(?=.*(\bTEMPERATUR\b|\bWARM\b|\bKALT\b))(?=.*(\bWOHNZIMMER\b|\bSTUBE\b)).+/ig) != -1) {
              sendTo('telegram', {
                  user: benutzer,
                  text: 'Die Temperatur im Wohnzimmer beträgt ' + getState("hm-rpc.0.OEQ0295648.1.TEMPERATURE").val + '°C!',
              });
          } 
          else if (befehl.search(/(?=.*(\bTEMPERATUR\b|\bWARM\b|\bKALT\b))(?=.*(\bSCHLAFZIMMER\b)).+/ig) != -1) {
              sendTo('telegram', {
                  user: benutzer,
                  text: 'Die Temperatur im Schlafzimmer beträgt ' + getState("hm-rpc.0.OEQ0291234.1.TEMPERATURE").val + '°C!',
              });
          } 
          else if (befehl.search(/(?=.*(\bTEMPERATUR\b|\bWARM\b|\bKALT\b))(?=.*(\bDRINNE\b|\bDRIN\b|\bIM\b|\bIN\b)).+/ig) != -1) {
              sendTo('telegram', {
                  user: benutzer,
                  text: 'Für welchen Raum möchtest du die Temperatur abfragen?',
                  reply_markup: {
                      inline_keyboard: [
                          [{ text: 'Wohnzimmer', callback_data: '%TempWohnzimmer'}],
                          [{ text: 'Schlafzimmer', callback_data: '%TempSchlafzimmer'}]
                      ]
                   }
              });
          }    
          
      // Ab hier werden die Reaktionen auf die returns zu "unklaren" Fragen definiert.
          
          else if (befehl === "%TempWohnzimmer") {
              sendTo('telegram', {
                  user: benutzer,
                  text: "Wohnzimmertemperatur angefragt",
                  answerCallbackQuery: {
                      text: 'Die Temperatur im Wohnzimmer beträgt ' + getState("hm-rpc.0.OEQ0295648.1.TEMPERATURE").val + '°C!',
                      showAlert: true
                  }
              });
          } 
          else if (befehl === "%TempSchlafzimmer") {
              sendTo('telegram', {
                  user: benutzer,
                  text: "Schlafzimmertemperatur angefragt",
                  answerCallbackQuery: {
                      text: 'Die Temperatur im Schlafzimmer beträgt ' + getState("hm-rpc.0.OEQ0291234.1.TEMPERATURE").val + '°C!',
                      showAlert: true
                  }
              });
          }
          
      // Wenn überhaupt kein Befehl erkannt wurde dann einen zufälligen Satz aus dem unbekannt Array senden
      
          else { 
              sendTo('telegram', {user: benutzer, text: unbekannt[zufall]});
          }
      });
      ```` `  
      

      Top. Genau sowas habe ich gesucht. Vielen Dank.

      Was müsste ich in das Script noch reinschreiben, wenn ich über Telegram die Temperatur des Heizungsthermostates einstellen will? Also wenn ich dem Bot schreibe "Stelle Heizung im Wohnzimmer auf 22 Grad"

      Hab jetzt schon eine Weile erfolglos gesucht ob ich etwas in der Art finde. Leider hab ich von Javascript so gar keinen Plan. In Blockly bekomme ich auch nur die einfachsten Sachen hin. Bin erst ein paar Tage dabei.

      Beste Grüße

      posted in ioBroker Allgemein
      E
      erkenbrecht
    • RE: [gelöst] Blockly setzt falschen Wert

      Danke läuft. Sauber 😄

      posted in Skripten / Logik
      E
      erkenbrecht
    • [gelöst] Blockly setzt falschen Wert

      Guten Tag zusammen,

      Ich habe ein kleines Blockly gebastelt, welches bei Bedarf den Ausschalttimer meines Shelly auf null setzt. Das funktioniert soweit. Wenn das Script den Timer wieder auf die ursprünglichen 600s einstellen soll, wird der Wert auf 100s eingestellt. Keine Ahnung was da falsch läuft. Hat irgendwer nen Tip für mich? Danke

      16215_blockly.png 16215_shelly_objekt.png

      posted in Skripten / Logik
      E
      erkenbrecht
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo