Navigation

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

    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

    F
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 2
    • Best 0
    • Groups 0

    Feivelzz

    @Feivelzz

    0
    Reputation
    6
    Profile views
    2
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Feivelzz Follow

    Latest posts made by Feivelzz

    • RE: Android TV in Kombination mit KNX schalten

      Danke für die schnelle Antwort.
      Kann ich mir das dann so vorstellen das der Trigger dann wirklich nur ausgelöst wird, wenn sich der Status der Steckdose ändert? Es kann aber dennoch passieren, wenn ich einschalte, dass er gleich wieder ausschaltet, weil der Status von der Box noch nicht geändert ist? Dann müsste man doch eigentlich noch ein bisschen nach dem Einschalten warten, bis man das "Freigabe-Flag" (flag_switch_tv) setzt um den entgegenzuwirken oder?

      posted in JavaScript
      F
      Feivelzz
    • Android TV in Kombination mit KNX schalten

      Hallo,

      vorweg ich bin ziemlich neu unterwegs im IOBroker und JavaScript und habe folgendes Problem bzw. würde gerne das Verhalten verstehen.

      Ich habe eine Android TV Box die ich über den ADB Adapter steuern kann. Nun möchte ich wenn ich über meinen KNX Taster die Steckdose wo der Fernseher angeschlossen ist aktiviere, die Android TV Box aus dem Standby Modus holen.
      Wenn man fertig ist mit dem Fernsehen, möchte ich per Fernbedienung die Android TV Box wieder in den Standby Modus bringen und dann die Steckdose wieder abschalten.

      Ich hab dafür folgendes Script erstellt bzw. zusammenkopiert 🙂

      var Name, Initialisation, Description, Type, Role, SmartName, Text_Alexa, Alexa_Notification, Message, timeout;
      var flag_switch_tv = 1;
      
      
      function Create_DP(Name, Initialisation, Description, Type, Role, SmartName) {
          createState(Name, Initialisation, {
            name: Description,
            read: true, 
            write: true, 
            type: Type, 
            role: Role,
            smartName: SmartName
          });
       
      }
      
      function SendAdbKey(keycode)
      {
          exec('adb connect 192.168.14.110:5555');
          exec('adb shell input keyevent "' + keycode + '"');
      }
       
      function SendAdbPower()
      {
          SendAdbKey('KEYCODE_POWER');
      }
       
      function SendAdbHome()
      {
          SendAdbKey('KEYCODE_HOME');
      }
       
      function CheckAdbKNXPowerState()
      {
          // Funktion überprüft den Status der Android TV Box. Wenn diese in den Standby-Modus geht, wird die Steckdose vom TV ausgeschalten
          exec('adb connect 192.168.14.110:5555') 
          exec('adb shell dumpsys activity | grep -c "mWakefulness=Asleep"', function (error, stdout, stderr) {
              setState("0_userdata.0.Devices.AndroidTV.info.state", stdout);
              if (stdout == 1 && flag_switch_tv == 0)
              {
                  console.log("Schalte Android TV in Standby");
                  setState('openknx.0.Steckdosen.Erdgeschoss.Wohnzimmer_Steckdose_TV_Schalten' /* Wohnzimmer_Steckdose_TV_Schalten */, false);
                  flag_switch_tv = 1;
                  
              }
          });
          // Funktion überprüft den Status der Steckdose vom TV. Wenn diese eingeschalten wird, wird auch die Android TV Box gestartet
          on({ id: 'openknx.0.Rückmelde&Statusobjekte.Erdgeschoss.Wohnzimmer_Steckdose_TV_Status' /* Wohnzimmer_Steckdose_TV_Status */, change: 'any' }, (obj) => {
          if (obj.oldState.val == false && obj.state.val == true && flag_switch_tv == 1)
          {
              exec('adb connect 192.168.14.110:5555');
              exec('adb shell input keyevent "' + 'KEYCODE_POWER' + '"');
              console.log("Schalte Android TV ein!!!");
              flag_switch_tv = 0;
          }
          });
      }
       
      /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       
      Create_DP('0_userdata.0.Devices.AndroidTV.info.state', '', 'Power State', 'string', 'state','');
      Create_DP('0_userdata.0.Devices.AndroidTV.power.switch', false, 'Power Switch', 'boolean', 'switch','Anroid TV');
       
      schedule("*/5 * * * * *", function () {
          CheckAdbKNXPowerState();
      
      });
       
      on({id: '0_userdata.0.Devices.AndroidTV.power.switch'}, function (obj) {
          SendAdbPower();
      });
      

      Prinzipiell funktioniert es, jedoch hab ich ab und zu den Effekt wenn ich die Steckdose einschalte, dann wird sie sofort wieder ausgeschalten. Das ganze Spiel geht oft nur einmal so, ab und zu aber auch drei bis viermal. Danach läuft es wie gewünscht. Das Problem tritt auch nur beim Einschalten auf, sprich das Ausschalten funktioniert immer.

      Was ist hier das Problem bzw. was verstehe ich noch nicht 🙂
      Ich hoffe ihr könnt mir weiterhelfen.

      lg

      posted in JavaScript
      F
      Feivelzz
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo