Navigation

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

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    M
    • Profile
    • Following 0
    • Followers 0
    • Topics 0
    • Posts 11
    • Best 0
    • Groups 0

    Mater1984

    @Mater1984

    0
    Reputation
    8
    Profile views
    11
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Mater1984 Follow

    Latest posts made by Mater1984

    • RE: Blockly: Timeout in Schleife wird ignoriert (Beispiel: Harmony)

      Blockly macht doch alles richtig. Wiederhole 10 mal den Befehl.

      Die Wartezeit sollte ja zwischen zwei Wiederholungen und nicht innerhalb von 2 Wiederholungen sein.

      Kenne Blockly nicht aber Versuch mal

      Wenn timeout2 < 10 dann

      Starte Skript Klima

      Wenn Rückgabewert Klima <> 1 dann Timeout2 = timeout2 +1 und warte 1 min

      Sonst tineout2 = 1

      Sonst sende Fehler

      posted in Skripten / Logik
      M
      Mater1984
    • RE: Heizungssteuerung - manuelle Übersteuerung der Automatik

      @helge939:

      Hallo Zusammen ,

      ich habe mir mit blockly ein Script für die Heizungssteuerung gebaut und komme hier bei zwei Problemen nicht weiter:

      • die Telegramm Nachrichten kommen doppelt, scheint das das Script doppelt durchlaufen wird?

      • ich möchte über einen manuellen Datenpunkt (wenn kein Urlaub aktiviert wurde) durch manuelle Temperaturen ersetzen, habe aber keine Idee wie ich dies umsetzen kann.

      Bin für jeden Hinweis dankbar.

      matze

      var timeout6, Feiertag, Werktag, Heizung_Temperatur_Anwesenheit, Heizung_Temperatur_Abwesend, Anwesenheit_Werktag, Anwesenheit_kein_Werktag, timeout, timeout2, timeout3, timeout4, timeout5;
      
      on({id: new RegExp('mihome\\.0\\.devices\\.magnet_158d0001c224b5\\.state' + "|" + 'mihome\\.0\\.devices\\.weather_v1_158d000223a01d\\.temperature' + "|" + 'maxcube\\.0\\.Urlaubsmodus_Heizung' + "|" + 'maxcube\\.0\\.devices\\.thermostat_17af81\\.Wunschtemperatur_Wohnzimmer'), change: "ne"}, function (obj) {
          // prüfen ob Urlaubsmodus oder Automatik
        // Urlaubsmodus
        if (getState("maxcube.0.Urlaubsmodus_Heizung").val == true) {
          setState("maxcube.0.devices.thermostat_17af81.setpoint"/*Thermostat grosse Heizung setpoint*/, '15');
          timeout6 = setTimeout(function () {
            sendTo("telegram.0", "send", {
                text: (['Urlaubsmodus Heizung wurde aktiviert, die Temperatur auf ',getState("maxcube.0.devices.thermostat_17af81.setpoint").val,' °C eingestellt.'].join(''))
            });
            setState("maxcube.0.devices.thermostat_17af81.Wunschtemperatur_Wohnzimmer_letzte"/*Wunschtemperatur_Wohnzimmer_letzte*/, parseFloat(getState("maxcube.0.devices.thermostat_17af81.setpoint").val), true);
          }, 2000);
        } else {
          // Automatik
          // prüfen was für eine Art Tag es ist
          if (getState("feiertage.0.heute.boolean").val == true) {
            Feiertag = true;
          } else {
            Feiertag = false;
          }
          if (formatDate(new Date(), "WW", "de") != 'Freitag' && formatDate(new Date(), "WW", "de") != 'Samstag' && formatDate(new Date(), "WW", "de") != 'Sonntag' && Feiertag == false) {
            Werktag = true;
          } else {
            Werktag = false;
          }
          // Heizungstemperatur Variablen setzen
          Heizung_Temperatur_Anwesenheit = '20';
          Heizung_Temperatur_Abwesend = '17';
          // Start Steuerung
          // Status setzen Heizung
          // Arbeitstag
          if (Werktag == true && (new Date().getHours()) >= '5' && (new Date().getHours()) <= '8') {
            Anwesenheit_Werktag = true;
          } else if (Werktag == true && (new Date().getHours()) >= '15' && (new Date().getHours()) <= '22') {
            Anwesenheit_Werktag = true;
          } else {
            Anwesenheit_Werktag = false;
          }
          // Fr. Sa. So. + Feiertag
          if (Werktag == false && (new Date().getHours()) >= '5' && (new Date().getHours()) <= '22') {
            Anwesenheit_kein_Werktag = true;
          } else {
            Anwesenheit_kein_Werktag = false;
          }
          sendTo("telegram.0", "send", {
              text: (['Heizungsscript Variable Werktag:  ',Werktag,', Variable Feiertag:  ',Feiertag,', Variable Anwesenheit Werktag:  ',Anwesenheit_Werktag,', Variable Anwesenheit kein Werktag:  ',Anwesenheit_kein_Werktag,', Variable Heizung Temperatur Abwesend:  ',Heizung_Temperatur_Abwesend,'°C',', Variable Heizung Temperatur Anwesend:  ',Heizung_Temperatur_Anwesenheit,'°C'].join(''))
          });
          if (getState("mihome.0.devices.magnet_158d0001c224b5.state").val == true) {
            // Fenster auf, dann immer 16 °C
            setState("maxcube.0.devices.thermostat_17af81.setpoint"/*Thermostat grosse Heizung setpoint*/, 16);
            timeout = setTimeout(function () {
              setState("maxcube.0.devices.thermostat_17af81.Wunschtemperatur_Wohnzimmer_letzte"/*Wunschtemperatur_Wohnzimmer_letzte*/, parseFloat(getState("maxcube.0.devices.thermostat_17af81.setpoint").val), true);
            }, 5000);
          } else if (getState("mihome.0.devices.magnet_158d0001c224b5.state").val == false) {
            // Werktag und anwesend
            if (Werktag == true && Anwesenheit_Werktag == true) {
              setState("maxcube.0.devices.thermostat_17af81.setpoint"/*Thermostat grosse Heizung setpoint*/, parseFloat(Heizung_Temperatur_Anwesenheit));
              timeout2 = setTimeout(function () {
                setState("maxcube.0.devices.thermostat_17af81.Wunschtemperatur_Wohnzimmer_letzte"/*Wunschtemperatur_Wohnzimmer_letzte*/, parseFloat(getState("maxcube.0.devices.thermostat_17af81.setpoint").val), true);
              }, 5000);
              // Werktag und abwesend
            } else if (Werktag == true && Anwesenheit_Werktag == false) {
              setState("maxcube.0.devices.thermostat_17af81.setpoint"/*Thermostat grosse Heizung setpoint*/, parseFloat(Heizung_Temperatur_Abwesend));
              timeout3 = setTimeout(function () {
                setState("maxcube.0.devices.thermostat_17af81.Wunschtemperatur_Wohnzimmer_letzte"/*Wunschtemperatur_Wohnzimmer_letzte*/, parseFloat(getState("maxcube.0.devices.thermostat_17af81.setpoint").val), true);
              }, 5000);
              // kein Werktag und anwesend
            } else if (Werktag == false && Anwesenheit_kein_Werktag == true) {
              setState("maxcube.0.devices.thermostat_17af81.setpoint"/*Thermostat grosse Heizung setpoint*/, parseFloat(Heizung_Temperatur_Anwesenheit));
              timeout4 = setTimeout(function () {
                setState("maxcube.0.devices.thermostat_17af81.Wunschtemperatur_Wohnzimmer_letzte"/*Wunschtemperatur_Wohnzimmer_letzte*/, parseFloat(getState("maxcube.0.devices.thermostat_17af81.setpoint").val), true);
              }, 5000);
              // kein Werktag und abwesend
            } else if (Werktag == false && Anwesenheit_kein_Werktag == false) {
              setState("maxcube.0.devices.thermostat_17af81.setpoint"/*Thermostat grosse Heizung setpoint*/, parseFloat(Heizung_Temperatur_Abwesend));
              timeout5 = setTimeout(function () {
                setState("maxcube.0.devices.thermostat_17af81.Wunschtemperatur_Wohnzimmer_letzte"/*Wunschtemperatur_Wohnzimmer_letzte*/, parseFloat(getState("maxcube.0.devices.thermostat_17af81.setpoint").val), true);
              }, 5000);
            }
          }
        }
      });
      
      // Fensterkontakt
      // Raumtemperatur
      
      // manueller Datenpunkt Urlaub
      
      // Datenpunkt für manuelle Übersteuerung
      
      ```` `  
      

      Ich finde den Code verwirrend aber ich kenne Blockly auch nicht.

      Würde es einfacher gestalten. Wozu die Timeouts viermal?

      Temperatur=16 Grad

      Anwesend ja/nein

      Werktag ja/nein

      Fenster offen ja/nein

      Manueller Modus ja/nein

      Urlaub, Abwesend und Fenster auf würde ich immer dieselbe Temp setzen.

      Wenn manueller Modus dann Temp gesetzt aus Manuellem Datenpunkt

      Sonst

      Wenn anwesend dann

      Wenn Werktag dann

      Wenn Uhrzeit….

      Sonst Temp = Grad

      Sonst Temp = Grad

      Wenn Uhrzeit....

      Sonst Temp = Grad

      Sonst Temp = 16 Grad

      Wenn Fenster offen und Timer > 5 min dann temp = 16 Graf

      Sonst Temperatur=16 Grad

      Hoffe es ist verständlich. So ähnlich hatte ich es mal an meiner Homematic gelöst.

      posted in Skripten / Logik
      M
      Mater1984
    • RE: Probleme mit Schleife… ??

      Ganz andere Frage… warum löst du nicht bei Motion einen Zähler aus der jedesmal auf 1 Minute steht. Und wenn der Zähler einmal runtergezählt hat auf 0 Sekunden dann geht das Licht aus.

      posted in Skripten / Logik
      M
      Mater1984
    • RE: Test Adapter Philips-TV v0.2.x

      @AlCalzone:

      Das ist auch nicht das richtige Objekt (system.adapter….) kann aber sein dass das nur per Skript zu bearbeiten geht.

      Edit: Probier mal das hier als Skript im Skripte-Adapter:

      const obj = getObject("system.adapter.philips-tv.0");
      obj.native.username = "dein username hier";
      obj.native.password = "dein passwort hier";
      setObject("system.adapter.philips-tv.0", obj);
      

      Danach wieder löschen oder deaktivieren. `

      Geht!

      Philips Adapter geht auf grün 🙂

      Danke!

      posted in Tester
      M
      Mater1984
    • RE: [gelöst] Ein- und Ausschalten mittels HTML-Req. und Alexa

      @Wuaza:

      Nächster Schritt wäre jetzt noch, dass sich der Echo Dot automatisch mit dem AV-Receiver über BT verbindet. Sollte ich das hinkriegen, stelle ich mein Script hier zur Verfügung.

      Danke nochmals für die Hilfe! `

      Kann man das nicht im Echo dot einstellen? Aber dann ist der Receiver glaube ich immer verbunden als Ausgabegerät.

      posted in Skripten / Logik
      M
      Mater1984
    • RE: IoBroker Raspi startet nicht mehr

      Vorgehen:

      Per ssh einloggen und mal mit top schauen ob die Dienste laufen.

      Dann die Dienste neu starten

      Datenverlust sollte es ja nur geben wenn die Datenbank defekt ist oder es ungespeicherte Änderungen gibt.

      Im Zweifel Raspi neu booten

      posted in ioBroker Allgemein
      M
      Mater1984
    • RE: [gelöst] Ein- und Ausschalten mittels HTML-Req. und Alexa

      Alexa Anbindung kenne ich mich nicht aus…

      Oder du machst zwei Skripte und zwei Aktionen in Alexa. Also „Alexa receiver an“ startet das an Skript und

      „Alexa receiver aus“ das Aus Skript.

      Das mit der Statusabfrage verhindert besonders das jemand manuell ausgeschalten hat und dein Status im iobroker ist noch auf an. 🙂

      posted in Skripten / Logik
      M
      Mater1984
    • RE: [gelöst] Ein- und Ausschalten mittels HTML-Req. und Alexa

      Ohne die genaue Funktion im IoBroker zu kennen würde ich eine Variable setzen die „Status“ oder so heißt und bestimmt ob an oder ausgeschaltet ist.

      Am besten natürlich vorher den Status des Denon AVR abfragen ob er grade an oder aus ist.

      http://blue-pc.net/2013/12/28/denon-av- … p-steuern/

      Weiß nicht ob das dein Receiver ist aber hier sind ja verschiedene Abfragewerte beschrieben.

      Und je nach Status entsprechend den Status umsetzen und ggf. Nochmal abfragen ob er auch wirklich den Status gewechselt hat.

      posted in Skripten / Logik
      M
      Mater1984
    • RE: Test Adapter Philips-TV v0.2.x

      @AlCalzone:

      @Mater1984:

      Dort habe ich jetzt Username und Passwort ausgelesen

      Kann man das schon manuell in der Settings Datei eintragen?

      Was muss denn noch am Admin Modul geändert werden?

      Viele Grüße `
      Ich kämpfe aktuell mit der Schnittstelle zum Admin v3, sonst wäre ich gestern schon fertig geworden. Bin mir nicht sicher ob ich das schon fertig implementiert hab, aber die neueste Version von github sollte mit username/Passwort funktionieren. Dazu das Objekt system.adapter.philips-tv.0 bearbeiten und bei username und password deine Daten eintragen.

      Gesendet von unterwegs `

      Irgendwie finde ich das Bearbeiten nicht. Bin aber auch ganz neu bei iobroker.
      5696_2d029e58-38b9-44c0-9d0e-83cb5c27bd38.jpeg

      posted in Tester
      M
      Mater1984
    • RE: Test Adapter Philips-TV v0.2.x

      @AlCalzone:

      @Mater1984:

      Dort habe ich jetzt Username und Passwort ausgelesen

      Kann man das schon manuell in der Settings Datei eintragen?

      Was muss denn noch am Admin Modul geändert werden?

      Viele Grüße `
      Ich kämpfe aktuell mit der Schnittstelle zum Admin v3, sonst wäre ich gestern schon fertig geworden. Bin mir nicht sicher ob ich das schon fertig implementiert hab, aber die neueste Version von github sollte mit username/Passwort funktionieren. Dazu das Objekt system.adapter.philips-tv.0 bearbeiten und bei username und password deine Daten eintragen.

      Gesendet von unterwegs `

      Von wann ist die aktuelle Version?

      Hab es gestern Abend via git heruntergeladen.

      Schau es mit nachher mal an. Aber leider sind meine Programmierkenntnisse in dem Bereich nicht so Dolle. Eher dann in Cloudformation und Lambda 😉

      posted in Tester
      M
      Mater1984
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo