Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. IoBroker mit Warema WMS Web Control

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

IoBroker mit Warema WMS Web Control

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
127 Beiträge 26 Kommentatoren 38.7k Aufrufe 18 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Marc BergM Marc Berg

    @patrickr sagte in IoBroker mit Warema WMS Web Control:

    vermutlich interessiert meine Frage die wenigsten da HA.

    Um ganz ehrlich zu sein: Mich interessiert HA auch nicht. Deshalb kann ich diesbezüglich auch keinen Support leisten.

    Wenn du dir selbst was zusammenstricken möchtest, dann musst du neben der index.js auch die Module unter addon-warema-wms/warema-bridge/srv/warema-wms-venetian-blinds anpassen, denn diese übernehmen die eigentliche Kommunikation mit dem WMS Netzwerk. Wegen der von mir entfernen HA-Funktionalität kannst du die Dateien aber nicht 1:1 ersetzen.

    P Offline
    P Offline
    PatrickR
    schrieb am zuletzt editiert von
    #121

    @marc-berg Vielen Dank

    P 1 Antwort Letzte Antwort
    0
    • P PatrickR

      @marc-berg Vielen Dank

      P Offline
      P Offline
      PatrickR
      schrieb am zuletzt editiert von
      #122

      @Marc-Berg
      Hallo Marc,
      ich mußte bzgl. Wetterstation Pro
      bei mir im wms-util.js noch einen Wert ändern.

      Das wäre bei Dir
      wms2mqtt/warema-bridge/srv/warema-wms-venetian-blinds/wms-util.js
      Zeile 272
      params.temp = parseInt(payload.substr(18, 2), 16) / 2 - 35;

      Ich muß 40 abziehen, um die korrekten Werte zu erhalten.
      Vergleich mit WMS Stick und WMS studio pro.

      Gruß
      Patrick

      PS: Sieh bitte auch meinen Kommentar zum " Squash deduplication #6"
      Und vielen Dank für das "Implement comprehensive weather data deduplication"

      Marc BergM 1 Antwort Letzte Antwort
      0
      • P PatrickR

        @Marc-Berg
        Hallo Marc,
        ich mußte bzgl. Wetterstation Pro
        bei mir im wms-util.js noch einen Wert ändern.

        Das wäre bei Dir
        wms2mqtt/warema-bridge/srv/warema-wms-venetian-blinds/wms-util.js
        Zeile 272
        params.temp = parseInt(payload.substr(18, 2), 16) / 2 - 35;

        Ich muß 40 abziehen, um die korrekten Werte zu erhalten.
        Vergleich mit WMS Stick und WMS studio pro.

        Gruß
        Patrick

        PS: Sieh bitte auch meinen Kommentar zum " Squash deduplication #6"
        Und vielen Dank für das "Implement comprehensive weather data deduplication"

        Marc BergM Offline
        Marc BergM Offline
        Marc Berg
        Most Active
        schrieb am zuletzt editiert von
        #123

        @patrickr sagte in IoBroker mit Warema WMS Web Control:

        Das wäre bei Dir
        wms2mqtt/warema-bridge/srv/warema-wms-venetian-blinds/wms-util.js
        Zeile 272
        params.temp = parseInt(payload.substr(18, 2), 16) / 2 - 35;

        Ich muß 40 abziehen, um die korrekten Werte zu erhalten.

        Da hast du Recht, das passt nicht. Habe ich aber auch nur aus der original Library übernommen. Ich verwende die Temperatur der Wetterstation nicht, da bei starker Sonneneinstrahlung gern mal Mondwerte ankommen. Auch in der Warema App wird die Temperatur nicht direkt angezeigt, dem Hersteller ist wohl auch klar, dass man darauf nichts geben kann. Passe ich aber trotzdem bei Gelegenheit mal an.

        Und vielen Dank für das "Implement comprehensive weather data deduplication"

        Ich dachte erst, es sei ein Fehler im Code, aber die Wetterstation sendet wirklich ständig doppelt und dreifach. Wahrscheinlich kann ich noch viel mehr Duplikate rausfiltern, auch das schaue ich mir nochmal an.

        NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+RabbitMQ+Grafana

        Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

        Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

        P 1 Antwort Letzte Antwort
        0
        • Marc BergM Marc Berg

          @patrickr sagte in IoBroker mit Warema WMS Web Control:

          Das wäre bei Dir
          wms2mqtt/warema-bridge/srv/warema-wms-venetian-blinds/wms-util.js
          Zeile 272
          params.temp = parseInt(payload.substr(18, 2), 16) / 2 - 35;

          Ich muß 40 abziehen, um die korrekten Werte zu erhalten.

          Da hast du Recht, das passt nicht. Habe ich aber auch nur aus der original Library übernommen. Ich verwende die Temperatur der Wetterstation nicht, da bei starker Sonneneinstrahlung gern mal Mondwerte ankommen. Auch in der Warema App wird die Temperatur nicht direkt angezeigt, dem Hersteller ist wohl auch klar, dass man darauf nichts geben kann. Passe ich aber trotzdem bei Gelegenheit mal an.

          Und vielen Dank für das "Implement comprehensive weather data deduplication"

          Ich dachte erst, es sei ein Fehler im Code, aber die Wetterstation sendet wirklich ständig doppelt und dreifach. Wahrscheinlich kann ich noch viel mehr Duplikate rausfiltern, auch das schaue ich mir nochmal an.

          P Offline
          P Offline
          PatrickR
          schrieb am zuletzt editiert von
          #124

          @marc-berg sagte in IoBroker mit Warema WMS Web Control:
          Wo noch ein allgemeines Problem liegt, ist bei den Jalousien, der maximale Winkel welcher wie in meinem Fall auf 80° steht.

          Und bei der Umrechnung in % muss ich genau diesen maximal Wert als 100% hernehmen, ansonsten verwende ich einen falschen Wert.

          So ging es mir anfänglich.

          Da dieser Maximalwert für jeden Actuator unterschiedlich sein kann,
          gibt es für unterschiedliche Werte auch unterschiedliche Winkelwerte die 100% bedeuten.

          Man müßte eigentlich für jeden Actuator den maxWert als Berechnungsbasis ablegen und diesen in der Konfiguration übergeben (alles machbar aber mit Aufwand).

          Was anderes noch.
          Es gibt bestimmt eine Botschaft um im WMS-Mesh-System die Geräte auf "Abwesend" zu setzen.
          Ist Dir da etwas bekannt?

          Danke.
          Patrick

          Marc BergM 1 Antwort Letzte Antwort
          0
          • P PatrickR

            @marc-berg sagte in IoBroker mit Warema WMS Web Control:
            Wo noch ein allgemeines Problem liegt, ist bei den Jalousien, der maximale Winkel welcher wie in meinem Fall auf 80° steht.

            Und bei der Umrechnung in % muss ich genau diesen maximal Wert als 100% hernehmen, ansonsten verwende ich einen falschen Wert.

            So ging es mir anfänglich.

            Da dieser Maximalwert für jeden Actuator unterschiedlich sein kann,
            gibt es für unterschiedliche Werte auch unterschiedliche Winkelwerte die 100% bedeuten.

            Man müßte eigentlich für jeden Actuator den maxWert als Berechnungsbasis ablegen und diesen in der Konfiguration übergeben (alles machbar aber mit Aufwand).

            Was anderes noch.
            Es gibt bestimmt eine Botschaft um im WMS-Mesh-System die Geräte auf "Abwesend" zu setzen.
            Ist Dir da etwas bekannt?

            Danke.
            Patrick

            Marc BergM Offline
            Marc BergM Offline
            Marc Berg
            Most Active
            schrieb am zuletzt editiert von
            #125

            @patrickr sagte in IoBroker mit Warema WMS Web Control:

            Wo noch ein allgemeines Problem liegt, ist bei den Jalousien, der maximale Winkel welcher wie in meinem Fall auf 80° steht.
            Und bei der Umrechnung in % muss ich genau diesen maximal Wert als 100% hernehmen, ansonsten verwende ich einen falschen Wert.

            Da ich keine Jalousien von Warema besitze, kann ich das nicht nachstellen.

            Es gibt bestimmt eine Botschaft um im WMS-Mesh-System die Geräte auf "Abwesend" zu setzen.
            Ist Dir da etwas bekannt?

            Nein, keine Ahnung.

            NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+RabbitMQ+Grafana

            Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

            Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

            P 1 Antwort Letzte Antwort
            0
            • Marc BergM Marc Berg

              @patrickr sagte in IoBroker mit Warema WMS Web Control:

              Wo noch ein allgemeines Problem liegt, ist bei den Jalousien, der maximale Winkel welcher wie in meinem Fall auf 80° steht.
              Und bei der Umrechnung in % muss ich genau diesen maximal Wert als 100% hernehmen, ansonsten verwende ich einen falschen Wert.

              Da ich keine Jalousien von Warema besitze, kann ich das nicht nachstellen.

              Es gibt bestimmt eine Botschaft um im WMS-Mesh-System die Geräte auf "Abwesend" zu setzen.
              Ist Dir da etwas bekannt?

              Nein, keine Ahnung.

              P Offline
              P Offline
              PatrickR
              schrieb am zuletzt editiert von
              #126

              @marc-berg
              ich hab noch für mich eine Anpassung bzgl. Polling gemacht.
              Wenn ein neues Weather broadcast empfangen wird, wird der
              der Intervall-Zähler für "Weather polling function" retriggert.

              ///////////// index.js : Info

              //Neu: Info
              let weatherInterval;

              //Neu: Info
              function retriggerWeatherPolling() {
              if (weatherInterval) {
              clearInterval(weatherInterval);
              }
              weatherInterval = setInterval(pollWeatherData, pollingInterval);
              log.fkt_log_info('046:Restarted weather data polling every ' + pollingInterval + ' ms');
              }

              //Änderung : Info
              // Start weather polling with configurable interval
              weatherInterval = setInterval(pollWeatherData, pollingInterval);
              log.fkt_log_info('045:Started weather data polling every ' + pollingInterval + ' ms');

              //Neu: Info
              //function callback(err, msg)
              /////case 'wms-vb-rcv-weather-broadcast':
              ///////if (!cachedWeather || cachedWeather.hash !== weatherHash || (currentTime - cachedWeather.timestamp) > minTimeDiff) {
              /////////if (typeof client !== 'undefined' && client.connected) {
              retriggerWeatherPolling();

              Gruß
              Patrick

              P 1 Antwort Letzte Antwort
              0
              • P PatrickR

                @marc-berg
                ich hab noch für mich eine Anpassung bzgl. Polling gemacht.
                Wenn ein neues Weather broadcast empfangen wird, wird der
                der Intervall-Zähler für "Weather polling function" retriggert.

                ///////////// index.js : Info

                //Neu: Info
                let weatherInterval;

                //Neu: Info
                function retriggerWeatherPolling() {
                if (weatherInterval) {
                clearInterval(weatherInterval);
                }
                weatherInterval = setInterval(pollWeatherData, pollingInterval);
                log.fkt_log_info('046:Restarted weather data polling every ' + pollingInterval + ' ms');
                }

                //Änderung : Info
                // Start weather polling with configurable interval
                weatherInterval = setInterval(pollWeatherData, pollingInterval);
                log.fkt_log_info('045:Started weather data polling every ' + pollingInterval + ' ms');

                //Neu: Info
                //function callback(err, msg)
                /////case 'wms-vb-rcv-weather-broadcast':
                ///////if (!cachedWeather || cachedWeather.hash !== weatherHash || (currentTime - cachedWeather.timestamp) > minTimeDiff) {
                /////////if (typeof client !== 'undefined' && client.connected) {
                retriggerWeatherPolling();

                Gruß
                Patrick

                P Offline
                P Offline
                PatrickR
                schrieb am zuletzt editiert von PatrickR
                #127

                @Marc-Berg

                Noch eine Änderung des "weatherBroadcast" für meinen batteriebetrieben Temperatursensor "65".

                       case '7080':
                            msgType = 'weatherBroadcast';
                            params.unknown_1 = payload.substr(0, 2);
                            params.wind = parseInt(payload.substr(2, 2), 16) / 2;                  // 2025-06-28 PatrickR68 added / 2
                            params.lumen = payload.substr(4, 2) === '00' ? parseInt(payload.substr(12, 2), 16) * 2 : parseInt(payload.substr(4, 2), 16) * parseInt(payload.substr(12, 2), 16) * 2;
                            params.unknown_2 = payload.substr(6, 6);
                            params.batt = parseInt(payload.substr(14, 2), 16) / 2;                // 2025-08-24 PatrickR68 0.99.111 Battery in V 
                            params.rain = payload.substr(16, 2) === 'C8';
                            params.temp = parseInt(payload.substr(18, 2), 16) / 2 - 40;           // 2025-07-02 PatrickR68 changed 35->40 (range -40..87,5)
                            params.temp_in = parseInt(payload.substr(20, 2), 16) / 2 - 40;        // 2025-08-24 PatrickR68 0.99.111 indoor °C
                            params.unknown_4 = payload.substr(22,4);
                            params.humidity = parseInt(payload.substr(26, 2), 16) / 2;            // 2025-08-24 PatrickR68 0.99.111 Humidity in % 
                            params.unknown_5 = payload.substr(28,34);
                            params.temp_target_in = parseInt(payload.substr(62, 2), 16) / 2 - 40; // 2025-08-24 PatrickR68 0.99.111 indoor target °C
                            params.unknown_6 = payload.substr(64,2);                              // 2025-08-24 PatrickR68 0.99.111 
                            break;
                
                1 Antwort Letzte Antwort
                0
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate
                FAQ Cloud / IOT
                HowTo: Node.js-Update
                HowTo: Backup/Restore
                Downloads
                BLOG

                662

                Online

                32.4k

                Benutzer

                81.4k

                Themen

                1.3m

                Beiträge
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                ioBroker Community 2014-2025
                logo
                • Anmelden

                • Du hast noch kein Konto? Registrieren

                • Anmelden oder registrieren, um zu suchen
                • Erster Beitrag
                  Letzter Beitrag
                0
                • Aktuell
                • Tags
                • Ungelesen 0
                • Kategorien
                • Unreplied
                • Beliebt
                • GitHub
                • Docu
                • Hilfe