Navigation

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

    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

    B
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 23
    • Best 2
    • Groups 1

    bluefish

    @bluefish

    2
    Reputation
    13
    Profile views
    23
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    bluefish Follow
    Starter

    Best posts made by bluefish

    • RE: Xiaomi Smartmi Air Humidifier2

      @Pittini sagte in Xiaomi Smartmi Air Humidifier2:

      @Pittini meine Kenntnisse reichen nicht, um ein Adapter dahingehend anzupassen. Was meinst du, ist es kompliziert die miOT Unterstützung in deinen Adapter einzubauen? 🙂

      Naja, is ja nicht "mein" Adapter. Ich hab an sich kein Plan von Adapterentwicklung, nur war der von mir gefixte Fehler so easy dass ich das hingekriegt hab. Da muss wer anders ran.

      okay, schade... Vielleicht findet sich ja sonst einer. So wie ich das gelesen habe, könnte es sein, dass das alte Protokoll auf den alten Geräten durch ein Systemupdate ersetzt wird, dann würde der Adapter nicht mehr funktionieren...

      posted in ioBroker Allgemein
      B
      bluefish
    • RE: Tuya Thermostat (_TZE200_hue3yfsn)

      @diti sagte in Neue Tuya Thermostat Zigbee 3.0:

      atei speichern, Ziegbee-Adapter neu starten und mit Kopplung anfangen.

      Danke, auch wenn es vielleicht nicht die beste Lösung ist, aber es funktioniert bei mir auch. Habe sonst auch keine Tuya Thermostate, daher kein Problem mit den data-point id's 🙂

      Danke für deine Anleitung 👍

      posted in ioBroker Allgemein
      B
      bluefish

    Latest posts made by bluefish

    • RE: Ikea Dimmer RODRET E2201

      @jack01 Versuche es mal mit der Zigbee Adapter Version 1.10.4 (aus Github). Damit funktioniert es bei mir.

      Nur blöd ist bei dem Rodret Schalter, dass es nicht wie beim Tradfri Switch einen state Datenpunkt gibt mit true/false. Beim Rodret gibt es nur einen on und einen off Datenpunkt, der jeweils kurz mit true getriggert wird und anschließend wieder zurück auf false fällt. Man muss also hier jeweils on und off auf true überwachen, um andere Geräte zu steuern...

      posted in Hardware
      B
      bluefish
    • RE: [Gelöst] Keine gültige VIS Lizenz gefunden /Docker/MACVLAN

      @automationnico Eine weitere Lösung wäre im Portainer im iobroker-Container unter Netzwerk die iobroker.net + IP-Adresse des Servers manuell in das hosts file hinzuzufügen. Danach leitet der Container die Domain auch richtig um.

      Bildschirm­foto 2023-04-15 um 17.25.07.png

      (Funktioniert natürlich nur so lange sich die IP-Adresse des Servers nicht ändert...)

      posted in ioBroker Allgemein
      B
      bluefish
    • RE: Xiaomi Smartmi Air Humidifier2

      @thomas-braun du meinst die Updates mittels "sudo apt update && sudo apt upgrade"!?
      Natürlich gibt es auch Befehle, um alle pip (Python) Module zu updaten, aber das möchte man / ich eigentlich nicht. Kleines Beispiel zu diesem Beispiel. In python3-miio wurden durch ein Update Zeilen für den Humidifier2 hinzugefügt. Damit stimmte meine Zuordnung mittels "MiioList[x]" natürlich auch nicht mehr... Hätte ich das nun automatisch geupdatet, hätte ich es vermutlich nicht direkt mitbekommen. Daher update ich Python Module lieber manuell und abhängig zur entsprechenden Virtual Environment 😉

      Ja, pip installiert auch die zugehörigen Module, aber wie gesagt, es geht auch der Weg über apt. Viele Wege führen nach Rom 😉

      posted in ioBroker Allgemein
      B
      bluefish
    • RE: Xiaomi Smartmi Air Humidifier2

      @thomas-braun ob man python3-miio mittels apt oder pip installiert, sollte eigentlich keinen Unterschied machen, das Resultat ist doch das selbe! Ich habe mir jedoch angewöhnt alles in Virtual Environments zu installieren, aber das kann jeder machen wie er will 🙂

      posted in ioBroker Allgemein
      B
      bluefish
    • RE: Xiaomi Smartmi Air Humidifier2

      @derioalex
      Kurze Anleitung:

      1. Du installierst dir python-miio, am besten in eine Virtuelle Environment (z.B. Ordner "cd /opt/python/miio" dann "python3 -m venv venv" , "source venv/bin/activate" , "pip install python-miio")

      2. Anschließend bekommst du mit du mittels "/opt/python/miio/venv/bin/miiocli airhumidifiermiot --ip 192.168.xxx.xx --token xxxxxxxxxxxx status":
        Bildschirmfoto 2022-02-17 um 17.52.20.png

      3. Das ganze kannst du nun auch im iobroker mittels Blockly exec-Block abfragen oder mittels javascript... Die Werte kannst du dann extrahieren und in Datenpunkte schreiben 😉

      Zum Beispiel (natürlich musst du die Datenpunkte davor anlegen und die Variablen anpassen):

      schedule("*/15 * * * * *", function () {
      
          exec(Path + ' airhumidifiermiot --ip ' + IPaddress + ' --token ' + Token + ' status', function (error, result, stderr) {
      
              var noconnection = result.indexOf('Error: Unable to discover the device') + 1;
              
              if (noconnection == 1) {setState("humidifier2.0.info.availability", false, true)};
      
              if (noconnection == 0) {
      
                  setState("humidifier2.0.info.availability", true, true); 
      
                  var MiioList = result.split("\n");
      
                  setState("humidifier2.0.info.power", MiioList[0].split(": ")[1], true);                                        // Power: off
                  setState("humidifier2.0.info.error", MiioList[1].split(": ")[1], true);                                        // Error: 0
                  setState("humidifier2.0.info.targethumidity", parseFloat(MiioList[2].split(": ")[1].split(" %")[0]), true);    // Target Humidity: 70 %
                  setState("humidifier2.0.info.humidity", parseFloat(MiioList[3].split(": ")[1].split(" %")[0]), true);          // Humidity: 60 %
                  setState("humidifier2.0.info.temp", parseFloat(MiioList[4].split(": ")[1].split(" °C")[0]), true);             // Temperature: 23.6 °C
                  //setState("", MiioList[5].split(": ")[1].split(" °F")[0], true);                                              // Temperature: 74.5 °F
                  setState("humidifier2.0.info.depth", parseFloat(MiioList[6].split(": ")[1].split(" %")[0]), true);             // Water Level: 0 %
                  setState("humidifier2.0.info.waterTankDetached", MiioList[7].split(": ")[1], true);                            // Water tank detached: False
                  setState("humidifier2.0.info.mode", MiioList[8].split(": ")[1].split(".")[1], true);                           // Mode: OperationMode.Auto
                  setState("humidifier2.0.info.ledBrightnessLevel", MiioList[9].split(": ")[1].split(".")[1], true);             // LED brightness: LedBrightness.Dim
                  setState("humidifier2.0.info.buzzer", MiioList[10].split(": ")[1], true);                                      // Buzzer: False
                  setState("humidifier2.0.info.childLock", MiioList[11].split(": ")[1], true);                                   // Child lock: False
                  setState("humidifier2.0.info.dryMode", MiioList[12].split(": ")[1], true);                                     // Dry mode: True
                  //setState("", MiioList[13].split(": ")[1].split(".")[1], true);                                               // Button pressed PressedButton.No
                  setState("humidifier2.0.info.targetmotorspeed", parseFloat(MiioList[14].split(": ")[1].split(" rpm")[0]), true); // Target motor speed: 200 rpm
                  setState("humidifier2.0.info.actualmotorspeed", parseFloat(MiioList[15].split(": ")[1].split(" rpm")[0]), true); // Actual motor speed: 0 rpm
                  setState("humidifier2.0.info.usedTime", parseFloat(MiioList[16].split(": ")[1].split(" s")[0]), true);         // Use time: 447787 s
                  setState("humidifier2.0.info.powerTime", parseFloat(MiioList[17].split(": ")[1].split("s")[0]), true);         // Power time: 155905 s
                  setState("humidifier2.0.info.cleanMode", MiioList[18].split(": ")[1], true);                                   // Clean mode: False
              }
          });
      });
      

      Und mit diesem Codebeispiel kannst du dann das Gerät ein- und ausschalten. (Kannst du natürlich auf jeden anderen benötigten Wert anpassen um z.B. LED steuern, motorSpeed etc.)

      on({id: "humidifier2.0.control.power", change: "ne"}, function (obj) {
        if ((obj.state ? obj.state.val : "")) {
          exec(Path + ' airhumidifiermiot --ip ' + IPaddress + ' --token ' + Token + ' on');
        } else {
          exec(Path + ' airhumidifiermiot --ip ' + IPaddress + ' --token ' + Token + ' off');
        }
      });
      

      Ich hoffe du bekommst es mit diesen Infos hin, ansonsten schreib mir eine PN, dann schaue ich mal, wie ich dir sonst helfen kann 😉

      posted in ioBroker Allgemein
      B
      bluefish
    • RE: Xiaomi Smartmi Air Humidifier2

      @derioalex Was genau suchst du bzw. willst du denn? Ich habe bei mir mittels Javascript (nicht über den MiHome Adapter) den Humidifier2 bei mir eingebunden...

      posted in ioBroker Allgemein
      B
      bluefish
    • RE: Tuya Thermostat (_TZE200_hue3yfsn)

      @diti Danke für deinen Tipp mit dem Moes.

      Damit lässt sich easy ein externer Converter basteln, der den Vorteil hat, dass man nicht in den node_modules herumwerkeln muss und es überlebt updates...

      Hier ein bei mir funktionierender Code auf basis des Moes _TZE200_e9ba97vf Thermostats.
      Abspeichern als z.B. tuya_radiator_valve.js, irgendwo auf den Pi speichern und Pfad+Dateiname in den iobroker Einstellungen hinterlegen.

      const fz = {...require('zigbee-herdsman-converters/converters/fromZigbee'), legacy: require('zigbee-herdsman-converters/lib/legacy').fromZigbee};
      const tz = require('zigbee-herdsman-converters/converters/toZigbee');
      const tuya = require('zigbee-herdsman-converters/lib/tuya');
      const globalStore = require('zigbee-herdsman-converters/lib/store');
      const exposes = require('zigbee-herdsman-converters/lib/exposes');
      const reporting = require('zigbee-herdsman-converters/lib/reporting');
      const e = exposes.presets;
      const ea = exposes.access;
       
      const device = {
          fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_hue3yfsn'}],
          model: 'TS0601',
          vendor: 'Tuya',
          description: 'Thermostat radiator valve',
          fromZigbee: [fz.moes_thermostat_tv, fz.ignore_tuya_set_time],
          toZigbee: [tz.moes_thermostat_tv],
          exposes: [
              e.battery(), 
              // e.child_lock(), 
              // e.window_detection(),
              // exposes.binary('frost_detection', ea.STATE_SET, true, false).withDescription('Enables/disables frost detection on the device'),
              exposes.binary('heating_stop', ea.STATE_SET, true, false).withDescription('Stop heating'),
              exposes.numeric('holiday_temperature', ea.STATE_SET).withDescription('Holiday mode temperature'),
              exposes.numeric('comfort_temperature', ea.STATE_SET).withDescription('Comfort mode temperature'),
              exposes.numeric('eco_temperature', ea.STATE_SET).withDescription('Eco mode temperature'),
              exposes.numeric('open_window_temperature', ea.STATE_SET).withDescription('Open window mode temperature'),
              // exposes.numeric('boost_heating_countdown', ea.STATE).withDescription('Boost heating countdown'),
              // exposes.numeric('error_status', ea.STATE).withDescription('Error status'),
              // exposes.binary('boost_mode', ea.STATE_SET).withDescription('Enables/disables boost mode'),
              exposes.climate().withSetpoint('current_heating_setpoint', 5, 29.5, 1, ea.STATE_SET)
                  .withLocalTemperature(ea.STATE).withLocalTemperatureCalibration(ea.STATE_SET)
                  .withSystemMode(Object.values(tuya.tvThermostatMode), ea.STATE_SET)
                  .withPreset(Object.values(tuya.tvThermostatPreset)),
          ],
          onEvent: tuya.onEventSetLocalTime,
      };
       
      module.exports = device;
      
      

      Ergebnis:
      Bildschirmfoto 2021-11-03 um 12.46.29.png

      Child_lock, window_detection, frost_detection, boost_mode und error_status funktionieren bei mir nicht, daher habe ich es auskommentiert. Sollten bei deiner Methode @diti eigentlich auch nicht funktionieren oder?

      Die local_temperature aktualisiert sich bei mir leider nicht von selbst, wenn man jedoch die local_temperature_calibration aktualisiert, wird auch die aktuelle local_temperature aktualisiert.

      posted in ioBroker Allgemein
      B
      bluefish
    • RE: Tuya Thermostat (_TZE200_hue3yfsn)

      Hier die Beantwortung meiner eigenen Frage, vielleicht hat ja noch jemand die Frage zur Einbindung von converter files im iobroker...

      1. Man besorgt sich ein converter file für das nicht unterstützte Gerät. Ich habe dieses gefunden: https://github.com/PeWu/tuya-valve-z2m/blob/main/tuya_radiator_valve.js
        Funktioniert zwar nicht alles, aber setpoint, mode und child lock funktionieren, mehr hoffentlich bald

      2. Man legt das converter file (tuya_radiator_valve.js) zum Beispiel mit ftp irgendwo auf dem Pi ab. Ich habe dies einfach mal ins Verzeichnis /opt/iobroker/iobroker-data/ gelegt.

      3. Im iobroker Adapter gibt es unter dem Punkt Einstellungen eine Rubrik "External converters", ganz am Ende der Seite. Dort gibt man den Pfad zur .js Datei an.
        Bildschirmfoto 2021-11-02 um 12.03.10.png

      4. Adapter neu starten und _TZE200_hue3yfsn neu pairen. Anschließend wird das Gerät gefunden und hinzugefügt:
        Bildschirmfoto 2021-11-02 um 12.07.53.png

      M.M.n. die bessere Lösung gegenüber der Lösung von @diti mit der Modifikation von /opt/iobroker/node_modules/zigbee-herdsman-converters/devices/tuya.js und /opt/iobroker/node_modules/zigbee-herdsman-converters/lib/tuya.js

      posted in ioBroker Allgemein
      B
      bluefish
    • RE: Tuya Thermostat (_TZE200_hue3yfsn)

      Weiß jemand, wie man ein converter file (z.B. https://github.com/PeWu/tuya-valve-z2m/blob/main/tuya_radiator_valve.js) im iobroker hinzufügt?

      posted in ioBroker Allgemein
      B
      bluefish
    • RE: Tuya Thermostat (_TZE200_hue3yfsn)

      @diti sagte in Neue Tuya Thermostat Zigbee 3.0:

      atei speichern, Ziegbee-Adapter neu starten und mit Kopplung anfangen.

      Danke, auch wenn es vielleicht nicht die beste Lösung ist, aber es funktioniert bei mir auch. Habe sonst auch keine Tuya Thermostate, daher kein Problem mit den data-point id's 🙂

      Danke für deine Anleitung 👍

      posted in ioBroker Allgemein
      B
      bluefish
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo