Skip to content
  • Home
  • 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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] Edimax WLAN Steckdose schalten

NEWS

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

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

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

[gelöst] Edimax WLAN Steckdose schalten

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
13 Beiträge 7 Kommentatoren 4.0k Aufrufe 4 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.
  • uweklattU Offline
    uweklattU Offline
    uweklatt
    schrieb am zuletzt editiert von
    #2

    Hallo,

    ich habe es inzwischen selbst lösen können!

    Statt "PUT" muss "POST" als Methode gewählt werden…

    Also folgender Code funktioniert:

    var request = require('request');
      request(
        { method: 'POST',
          url: 'http://user:passwort@192.168.x.y:10000/smartplug.cgi',
          body: '<smartplug id="edimax"><cmd id="setup"><device.system.power.state>ON</device.system.power.state></cmd></smartplug>'
        },  
        function (error, response, body) 
        {
          console.log('error: '+ response.statusCode)
          console.log(body)
        }
      )
    
    

    Evtl. ist das allgemein hilfreich.

    Tschau

    Uwe

    Proxmox/LXC/Docker

    1 Antwort Letzte Antwort
    0
    • O Offline
      O Offline
      Orbitson
      schrieb am zuletzt editiert von
      #3

      Hi, bin absoluter Anfänger in Sachen Java, gibt es eventuell ein fertigen Script um die Aktuelle Leistung abzufragen?

      Mit freundlichen Grüßen

      1 Antwort Letzte Antwort
      0
      • uweklattU Offline
        uweklattU Offline
        uweklatt
        schrieb am zuletzt editiert von
        #4

        Hallo,

        mit neuster Edimax Firmware funktioniert das oben Genannte leider nicht mehr!

        Ansonsten kann man aber auf gleicher Art auch die aktuelle Leistung abfragen.

        Infos dazu findest Du z.B. hier:

        https://sun-watch.net/index.php/eigenve … -protokoll

        Dazu habe ich leider kein fertiges Script.

        Tschau

        Uwe

        Proxmox/LXC/Docker

        A 1 Antwort Letzte Antwort
        0
        • O Offline
          O Offline
          Orbitson
          schrieb am zuletzt editiert von
          #5

          Bekomm da leider keine Daten. :-(

          1 Antwort Letzte Antwort
          0
          • O Offline
            O Offline
            Orbitson
            schrieb am zuletzt editiert von
            #6

            Habe jetzt etwas für Node red gefunden was auch bei der aktuellen Version laufen soll. Nur bekomme ich das leider nicht zum laufen.

            https://github.com/johnwalicki/Node-RED … w.json#L21

            Kennst du dich da Eventuell aus?

            1 Antwort Letzte Antwort
            0
            • hg6806H Offline
              hg6806H Offline
              hg6806
              Most Active
              schrieb am zuletzt editiert von
              #7

              Hat mittlerweile jemand eine Lösung wie man die EdiMax Steckdose schalten kann?

              Am besten wäre es mit einem On/Off Widget zu schalten.

              1 Antwort Letzte Antwort
              0
              • uweklattU uweklatt

                Hallo,

                mit neuster Edimax Firmware funktioniert das oben Genannte leider nicht mehr!

                Ansonsten kann man aber auf gleicher Art auch die aktuelle Leistung abfragen.

                Infos dazu findest Du z.B. hier:

                https://sun-watch.net/index.php/eigenve … -protokoll

                Dazu habe ich leider kein fertiges Script.

                Tschau

                Uwe

                A Offline
                A Offline
                amgxda
                schrieb am zuletzt editiert von
                #8

                @uweklatt @Orbitson

                Das Thema ist zwar etwas älter, aber vielleicht ist das ja für den ein oder anderen doch von Interesse, Verbrauchsdaten aus den Edimax 2101W Steckdosen auszulesen.

                Der folgende Code-Schnipsel läuft hier sowohl unter 2101W V1, Firmware 2.08, als auch unter 2101W V2 3.0.0. Unter V1 nehmt ihr das Passwort aus der EdiLife App. Für die V2 müsst ihr die Anleitung hier befolgen, um das Passwort zu ermitteln: https://github.com/mwittig/edimax-smartplug/issues/17

                Alle 3 Min. die Verbrauchswerte in einen Datenpunkt schreiben:

                schedule("*/3 * * * *", function () {
                    exec('curl --digest -u admin:1234 -s POST "http://admin:1234@192.168.1.115:10000/smartplug.cgi" -d \'<SMARTPLUG id="edimax"><CMD id="get"><NOW_POWER><Device.System.Power.NowCurrent></Device.System.Power.NowCurrent><Device.System.Power.NowPower></Device.System.Power.NowPower></NOW_POWER></CMD></SMARTPLUG>\'',
                		function (error, stdout, stderr) {
                            const regex = /.NowPower>(\d.{0,1}\d+).*/gm;
                            const str = stdout;
                            let m;
                            while ((m = regex.exec(str)) !== null) {
                                // This is necessary to avoid infinite loops with zero-width matches
                                if (m.index === regex.lastIndex) {
                                    regex.lastIndex++;
                                }
                                // The result can be accessed through the `m`-variable.
                                m.forEach((match, groupIndex) => {
                                    //console.log(`Found match, group ${groupIndex}: ${match}`);
                                    setState('javascript.0.Strom.edimax_2_strom_xml', match, true);
                                });
                                
                            }
                            //log(stdout + " - " + stderr);
                           //setState('javascript.0.Strom.edimax_1_strom_xml', "0", true);
                        });
                });
                
                C 1 Antwort Letzte Antwort
                0
                • A amgxda

                  @uweklatt @Orbitson

                  Das Thema ist zwar etwas älter, aber vielleicht ist das ja für den ein oder anderen doch von Interesse, Verbrauchsdaten aus den Edimax 2101W Steckdosen auszulesen.

                  Der folgende Code-Schnipsel läuft hier sowohl unter 2101W V1, Firmware 2.08, als auch unter 2101W V2 3.0.0. Unter V1 nehmt ihr das Passwort aus der EdiLife App. Für die V2 müsst ihr die Anleitung hier befolgen, um das Passwort zu ermitteln: https://github.com/mwittig/edimax-smartplug/issues/17

                  Alle 3 Min. die Verbrauchswerte in einen Datenpunkt schreiben:

                  schedule("*/3 * * * *", function () {
                      exec('curl --digest -u admin:1234 -s POST "http://admin:1234@192.168.1.115:10000/smartplug.cgi" -d \'<SMARTPLUG id="edimax"><CMD id="get"><NOW_POWER><Device.System.Power.NowCurrent></Device.System.Power.NowCurrent><Device.System.Power.NowPower></Device.System.Power.NowPower></NOW_POWER></CMD></SMARTPLUG>\'',
                  		function (error, stdout, stderr) {
                              const regex = /.NowPower>(\d.{0,1}\d+).*/gm;
                              const str = stdout;
                              let m;
                              while ((m = regex.exec(str)) !== null) {
                                  // This is necessary to avoid infinite loops with zero-width matches
                                  if (m.index === regex.lastIndex) {
                                      regex.lastIndex++;
                                  }
                                  // The result can be accessed through the `m`-variable.
                                  m.forEach((match, groupIndex) => {
                                      //console.log(`Found match, group ${groupIndex}: ${match}`);
                                      setState('javascript.0.Strom.edimax_2_strom_xml', match, true);
                                  });
                                  
                              }
                              //log(stdout + " - " + stderr);
                             //setState('javascript.0.Strom.edimax_1_strom_xml', "0", true);
                          });
                  });
                  
                  C Offline
                  C Offline
                  ck_coke
                  schrieb am zuletzt editiert von
                  #9

                  @amgxda

                  Vielen Dank für das Skript. Läuft soweit gut bei mir. Habe bei meinen Edimax mit Firmware 3.0 das Passwort "heraus gelesen" und im Skript eingetragen. Daten kommen und werden in den Datenpunkt geschrieben. Probleme habe ich nur beim weiter verwenden des Datenpunktes mit folgendem Skript:

                  on({id: "javascript.0.Strom.edimax_2_strom_xml", change: "ne"}, function (obj) {
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    if ((obj.state ? obj.state.val : "") <= 32 && (obj.oldState ? obj.oldState.val : "") > 32) {
                      console.log('Neuer Wert ist kleiner');
                      console.log('ALT: ' + obj.oldState.val);
                      console.log('NEU: ' + obj.state.val);
                    } else {
                      console.log('Neuer Wert ist größer');
                      console.log('ALT: ' + obj.oldState.val);
                      console.log('NEU: ' + obj.state.val);    
                    }
                  });
                  

                  Ich denke es liegt daran das in der Schleife von Deinem Skript jeweils zwei "Ergebnisse" direkt hintereinander in den Datenpunkt geschrieben werden. Group 0 und Group 1. Der erste ist die komplette Rückmeldung aus dem Curl und die zweite nur das was von der RegEx ausgefiltert wurde (übrigens ohne Nachkommastellen). Da ich mich hierzu leider noch zu wenig auskenne wäre meine Frage ob Du das Skript vielleicht so umbauen könntest das nur das Ergebnis der RegEx also Group 1 (ob mit oder ohne Nachkommastellen ist mir persönlich egal) in den Datenpunkt geschrieben wird?
                  Dann würde mein Skript und damit eine Alarmierung wenn die Waschmaschine fertig ist funktionieren ;-)

                  Vielen Dank vorab!!!

                  S 1 Antwort Letzte Antwort
                  0
                  • C ck_coke

                    @amgxda

                    Vielen Dank für das Skript. Läuft soweit gut bei mir. Habe bei meinen Edimax mit Firmware 3.0 das Passwort "heraus gelesen" und im Skript eingetragen. Daten kommen und werden in den Datenpunkt geschrieben. Probleme habe ich nur beim weiter verwenden des Datenpunktes mit folgendem Skript:

                    on({id: "javascript.0.Strom.edimax_2_strom_xml", change: "ne"}, function (obj) {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      if ((obj.state ? obj.state.val : "") <= 32 && (obj.oldState ? obj.oldState.val : "") > 32) {
                        console.log('Neuer Wert ist kleiner');
                        console.log('ALT: ' + obj.oldState.val);
                        console.log('NEU: ' + obj.state.val);
                      } else {
                        console.log('Neuer Wert ist größer');
                        console.log('ALT: ' + obj.oldState.val);
                        console.log('NEU: ' + obj.state.val);    
                      }
                    });
                    

                    Ich denke es liegt daran das in der Schleife von Deinem Skript jeweils zwei "Ergebnisse" direkt hintereinander in den Datenpunkt geschrieben werden. Group 0 und Group 1. Der erste ist die komplette Rückmeldung aus dem Curl und die zweite nur das was von der RegEx ausgefiltert wurde (übrigens ohne Nachkommastellen). Da ich mich hierzu leider noch zu wenig auskenne wäre meine Frage ob Du das Skript vielleicht so umbauen könntest das nur das Ergebnis der RegEx also Group 1 (ob mit oder ohne Nachkommastellen ist mir persönlich egal) in den Datenpunkt geschrieben wird?
                    Dann würde mein Skript und damit eine Alarmierung wenn die Waschmaschine fertig ist funktionieren ;-)

                    Vielen Dank vorab!!!

                    S Offline
                    S Offline
                    slkschlumpf
                    schrieb am zuletzt editiert von
                    #10

                    Hallo zusammen,

                    wie könnte ich dann eine Steckdose Edimax mit Firmware 3.0 per Befehl ein und aus schalten ?

                    1 Antwort Letzte Antwort
                    0
                    • hg6806H Offline
                      hg6806H Offline
                      hg6806
                      Most Active
                      schrieb am zuletzt editiert von
                      #11

                      Zu dem (alten) Thread habe ich auch noch eine Frage.
                      Muss man den Datenpunkt erst anlegen?

                      javascript.0.Strom.edimax_2_strom_xml
                      

                      Wenn ja wie? Also boolean zumindest wird nichts geschrieben.

                      1 Antwort Letzte Antwort
                      0
                      • hg6806H Offline
                        hg6806H Offline
                        hg6806
                        Most Active
                        schrieb am zuletzt editiert von hg6806
                        #12

                        Hallo nochmal,

                        leider läuft das Ganze noch immer nicht.

                        Grundlegend erst einmal, wie kann man überhaupt die FW Version sehen?
                        Die App meldet immer nur, dass man die Version überprüfen kann und dass sie aktuell ist.

                        S 1 Antwort Letzte Antwort
                        0
                        • hg6806H hg6806

                          Hallo nochmal,

                          leider läuft das Ganze noch immer nicht.

                          Grundlegend erst einmal, wie kann man überhaupt die FW Version sehen?
                          Die App meldet immer nur, dass man die Version überprüfen kann und dass sie aktuell ist.

                          S Offline
                          S Offline
                          schuellerf
                          schrieb am zuletzt editiert von
                          #13

                          @hg6806 Ich bin der Anleitung https://github.com/mwittig/edimax-smartplug/issues/17 gefolgt und der Befehl im telnet "nvc all" hat dann auch so infos

                          Run.FW.Version=3.00c
                          oder
                          Device.Configuration.HW.ModelName=SP2101W_V2
                          ... diese Werte sind von mir natürlich...

                          Das Passwort so herausfinden ist sehr mühsam - aber muss man ja nur einmal machen....
                          Das ganze per "curl" abholen ist da schon schlimmer. Ich verwende gerade den Adapter "linux-control" um den curl Befehl auf einem SSH server auszuführen - ich hoffe es gibt bald eine bessere Möglichkeit.
                          Ich habe aber weder einen EdiMax Adapter, noch einen einfachen HTTP adapter gefunden der dieses XML schicken und parsen könnte.

                          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

                          966

                          Online

                          32.4k

                          Benutzer

                          81.5k

                          Themen

                          1.3m

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

                          • Du hast noch kein Konto? Registrieren

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