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. Cloud Dienste
  4. [Frage] Wemos über CUxD mit Alexa ansteuern..

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

[Frage] Wemos über CUxD mit Alexa ansteuern..

Geplant Angeheftet Gesperrt Verschoben Cloud Dienste
8 Beiträge 3 Kommentatoren 1.6k Aufrufe
  • Ä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.
  • K Offline
    K Offline
    knopers1
    schrieb am zuletzt editiert von
    #1

    MOD-Edit by eric2905; 03.05.2017/09:57; Betreff angepasst

    Hallo,

    ich habe mit Hilfe einigen Kollegen ein Wemo mit einem Relai über CUxD an die CCU angebunden. Unter IOBroker wurde ein neuer Adapter hm-rpc.1 installiert.

    Die Daten vom Wemo tauchen unter Objekte auf… Mit einem Lampen-Widget lässt sich das Teil auch EIN/AUS schalten. Soweit alles in Ordnung!

    Ich würde gerne den Wemo noch über die Alexa steuern können? Leider wird dieses Gerät nicht gefunden.

    Habt Ihr ne Idee was man da machen kann?? Vor einiger Zeit konnte man den smartNamen ändern.... Wo war das genau???

    Ich versuche mich diser Anleitung zu richten: http://www.iobroker.net/docu/?page_id=5910&lang=de

    Unter State, wo auch ich den Wemo mit dem Lampenwidget schalte sehe ich Name "" Dort lässt sich etwas eintragen.

    Wenn ich ein smartName eintragen möchte, kommt ein Fehler beim Speichern….

    Geht es überhaupt das was ich vor habe?

    {
      "type": "state",
      "common": {
        "def": false,
        "type": "boolean",
        "read": true,
        "write": true,
        "role": "state",
        "name": ""
      },
      "native": {
        "ID": "STATE",
        "UNIT": "",
        "TAB_ORDER": 3,
        "OPERATIONS": 7,
        "FLAGS": 1,
        "CONTROL": "SWITCH.STATE",
        "TYPE": "BOOL",
        "MIN": false,
        "MAX": true,
        "DEFAULT": false
      },
      "_id": "hm-rpc.1.CUX2801001.1.STATE",
      "acl": {
        "object": 1638,
        "state": 1638
      }
    }
    

    1526_unbenann15t.png
    1526_unbenannt16.png
    1526_unbenann17t.png
    1526_unbenannt18.png

    HP Microserver Gen8, RPI-4, IoBroker,

    1 Antwort Letzte Antwort
    0
    • ruhr70R Offline
      ruhr70R Offline
      ruhr70
      schrieb am zuletzt editiert von
      #2

      @knopers1:

      Ich würde gerne den Wemo noch über die Alexa steuern können? Leider wird dieses Gerät nicht gefunden.

      Habt Ihr ne Idee was man da machen kann?? Vor einiger Zeit konnte man den smartNamen ändern…. Wo war das genau??? `

      Du kannst den Datenpunkt, wenn er das richtige Format hat, über den Cloud-Adpter hinzufügen:

      327_cloud_neuer_dp.jpg

      Adapter: Fritzbox, Unify Circuit
      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

      1 Antwort Letzte Antwort
      0
      • K Offline
        K Offline
        knopers1
        schrieb am zuletzt editiert von
        #3

        @ruhr70

        genau das war es…. :mrgreen: Danke Dir.

        Jetzt bekomme ich die kleinen Wemos auch über die Alexa geschaltet. Wie geil ist das denn...

        Danke DIR. Damit bekommt man ganz viele Möglichkeiten sich die Aktoren selbst zu bauen. Ich bin begeistert....

        HP Microserver Gen8, RPI-4, IoBroker,

        1 Antwort Letzte Antwort
        0
        • ruhr70R Offline
          ruhr70R Offline
          ruhr70
          schrieb am zuletzt editiert von
          #4

          Kannst Du Deinen Sketch veröffentlichen?

          Adapter: Fritzbox, Unify Circuit
          Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

          1 Antwort Letzte Antwort
          0
          • K Offline
            K Offline
            knopers1
            schrieb am zuletzt editiert von
            #5

            selbstverständlich! :mrgreen:

            Vorgehensweise:

            Mit CUxD ein Geraet vom Typ (28)System/Exec/Schalter erstellen, und an der CCU im Posteingang konfigurieren.

            Den erstellten CUxD Schalter wie unten konfigurieren.

            SWITCH|CMD_SHORT: /usr/local/addons/cuxd/curl -s -m 5 'http://192.168.1.104/R1-0' // für AUS

            SWITCH|CMD_LONG: /usr/local/addons/cuxd/curl -s -m 5 'http://192.168.1.104/R1-1' // für EIN

            eigetragen. Jetzt lässt sich der Wemo schalten, und eine Statusanzeige gibt es auch!

            im Sketch Netz & CUxD anpassen!

            // ******* Einstellungen für CUxD, bitte anpassen! *******

            String transmit_state_R1 = "ja"; // ja/nein

            String CUxD_Geraet = "CUX2801001:1"; // SN:Kanal

            // ******* Netzwerkeinstellungen, bitte anpassen! *******

            const char* ssid = "o2 DSL"; // SSID des vorhandenen WLANs

            const char* password = "Rxxxxxxxxxxx"; // Passwort für das vorhandene WLAN

            const char* host = "192.168.1.70"; // IP-Adresse der CCU

            IPAddress ip(192,168,1,104); // feste IP-Adresse für den WeMos

            IPAddress dns_ip(192,168,1,001); // Adresse des DNS servers

            IPAddress gateway(192,168,1,001); // IP-Adresse des WLAN-Gateways

            IPAddress subnet(255,255,255,0); // Subnetzmaske

            und zum Schluss noch den Adapter Hm-rpc.1 im IObroker installieren und konfigurieren… Siehe Bild. Die Netzwerkeinstellungen natürlich anpassen.

             /*
                *  WeMos-Schaltaktor (mit Status-Meldung an CUxD und Taster-Support)
                *
                *  Getesteter Aufbau:
                *     WeMos D1 mini
                *     Relay Shield mini
                *     Pin-Belegung:
                *        D1: Steuerleitung Relais
                *        D2: Taster-Öffner
                */
            
                #include <esp8266wifi.h>
                #include <esp8266webserver.h>
            
                // ******* Netzwerkeinstellungen, bitte anpassen! *******
                const char* ssid     = "o2 DSL"; // SSID des vorhandenen WLANs
                const char* password = "Rxxxxxxxxxxx"; // Passwort für das vorhandene WLAN
                const char* host = "192.168.1.70"; // IP-Adresse der CCU
                IPAddress ip(192,168,1,104); // feste IP-Adresse für den WeMos
                IPAddress dns_ip(192,168,1,001); // Adresse des DNS servers
                IPAddress gateway(192,168,1,001); // IP-Adresse des WLAN-Gateways
                IPAddress subnet(255,255,255,0);  // Subnetzmaske
            
                // ******* Einstellungen für CUxD, bitte anpassen! *******
                String transmit_state_R1 = "ja"; // ja/nein
                String CUxD_Geraet = "CUX2801001:1"; // SN:Kanal
            
                // Definition der Ports ....
                const int relay_R1 = D1 ;
                const int switch_R1 = D2 ;
            
                // virtuelle CCU
                String virtual_CCU = "ja"; // ja/nein
            
                // ab hier muß eigentlich nichts mehr geändert werden.....
            
                // ******* Einstellungen HTML *******
                String HTML_title = "WeMos Schaltaktor";
                String HTML_background_color = "0D4C75"; //0D4C75
                String HTML_title_color = "C9C9C9"; //9A916C
                String HTML_text_color = "FFFFFF";
                String HTML_color1 = "CECECE";
                String HTML_color2 = "9A916C";
            
                ESP8266WebServer server(80); // Webserver initialisieren auf Port 80
                WiFiServer server2(8181);
            
                String Version = "1.2";
                String Status = "0";
                String Status_alt = "0";
                String Status_Aenderung = "nein";
                String Taster = "unbekannt";
                String action = "0";
                String transmit_state = "ja";
            
                String HTML_head = "
            
            ## " + HTML_title + "
            
            ";
                String HTML_end = "";
                String HTML_style = "style='background-color: #" + HTML_background_color +"; color: #" + HTML_text_color +";' alink='#" + HTML_color2 +"' link='#" + HTML_color1 +"' vlink='#" + HTML_color1 +"'";
            
                String zeitstempel() { // Betriebszeit als Stunde:Minute:Sekunde
                  char stempel[10];
                  int lfdStunden = millis()/3600000;
                  int lfdMinuten = millis()/60000-lfdStunden*60;
                  int lfdSekunden = millis()/1000-lfdStunden*3600-lfdMinuten*60;
                  sprintf (stempel,"%03d:%02d:%02d", lfdStunden, lfdMinuten, lfdSekunden);
                  return stempel;
                }
            
                void status_aktuallisieren(){
                  if (digitalRead(relay_R1) == HIGH) {Status = "1";}
                  if (digitalRead(relay_R1) == LOW) {Status = "0";}
                }
            
                void set_CUxD() {
                  String meldung = "";
                  WiFiClient client; // Webclient initialisieren
                  if (!client.connect(host, 8181)) { // mit dem CCU-Port 8181 verbinden
                    Serial.println(" Fehler: Verbindung zur CCU konnte nicht aufgebaut werden");
                    delay(50);
                    return;
                  }
                  meldung = meldung +"GET /WeMos.exe?state=dom.GetObject('CUxD." + CUxD_Geraet + ".SET_STATE').State('" + Status + "')";
                  client.println(meldung); // Daten an CCU melden
                }
            
                void root() { // bei Aufruf des Root-Verzeichnisses
                  String HTML_content = "";
                  String button_text = "null";
                  String button_color = "FFD06E";
                  String button = "" + button_text +"";
                  String HTML_start = "<title>" + HTML_title + "</title>";
                  String temp = zeitstempel();
                  String WeMos_ip = WiFi.localIP().toString();
                  HTML_content = HTML_start + HTML_head;
                  if (digitalRead(relay_R1) == HIGH) {
                  button_text = "eingeschalten";
                  button_color = "70E670";
                  button = "" + button_text +"";
                  HTML_content = HTML_content + "**Status: [" + button +"](http://" + WeMos_ip + "/cmd?R1=0)**
            
            ";
                  }
                  else {
                  button_text = "ausgeschalten";
                  button_color = "A8A8A8";
                  button = "" + button_text +"";
                  HTML_content = HTML_content + "**Status: [" + button +"](http://" + WeMos_ip + "/cmd?R1=1)**
            
            ";
                  }
                  HTML_content = HTML_content + "Betriebszeit: _" + temp + " (Std:Min:Sek)_
            ";
                  HTML_content = HTML_content + "Verbunden mit: _" + ssid + "_
            ";
                  int rssi = WiFi.RSSI();
                  HTML_content = HTML_content + "Signalstaerke: _" + String(rssi) + " dBm_
            
            ";
                  HTML_content = HTML_content + "**[Hilfe](http://" + WeMos_ip + "/help)**";
                  HTML_content = HTML_content + "<iframe name="answer_wemos" frameborder="no" height="0" width="0">Sorry, no frames.</iframe>";
                  server.send(300, "text/html", HTML_content + HTML_end);
                  delay(150);
                }
            
                void help() {
                String HTML_content = "";
                String HTML_start = "<title>" + HTML_title + "</title>";
                String WeMos_ip = WiFi.localIP().toString();
                  HTML_content = HTML_start + HTML_head;
                  HTML_content = HTML_content + "**Schaltaktor mit Taster und Statusmeldung an CUxD (28)exec, CCU-RemotePC kompatibel";
                  HTML_content = HTML_content + "   Version: _" + Version + "_**";
                  HTML_content = HTML_content + "
            
            ### Konfiguration fuer R1:
            
            ";
                  HTML_content = HTML_content + "*   Status senden: _" + transmit_state_R1 + "_";
                  HTML_content = HTML_content + "*   CUxD-Geraet: _" + CUxD_Geraet + "_";
                  HTML_content = HTML_content + "*   Taster-Typ: _" + Taster + "_
            ";
                  HTML_content = HTML_content + "
            
            ### HTTP-Befehlsuebersicht:
            
            ";
                  HTML_content = HTML_content + "*   \"http://" + WeMos_ip + "/cmd?R1=0\" schaltet das Relais mit Statusmeldung an CUxD aus";
                  HTML_content = HTML_content + "*   \"http://" + WeMos_ip + "/cmd?R1=1\" schaltet das Relais mit Statusmeldung an CUxD ein";
                  HTML_content = HTML_content + "*   \"http://" + WeMos_ip + "/cmd?R1=0&transmit=0\" schaltet das Relais ohne Statusmeldung an CUxD aus";
                  HTML_content = HTML_content + "*   \"http://" + WeMos_ip + "/cmd?R1=1&transmit=0\" schaltet das Relais ohne Statusmeldung an CUxD ein";
                  HTML_content = HTML_content + "*   \"http://" + WeMos_ip + "/cmd?R1=state\" gibt den Schaltzustand des Relais als Logikwert (\"0\" oder \"1\") zurueck";
                  HTML_content = HTML_content + "*   \"http://" + WeMos_ip + "/cmd?CUxD=0\" Statusmeldung an CUxD bis zum reboot ausschalten";
                  HTML_content = HTML_content + "*   \"http://" + WeMos_ip + "/cmd?CUxD=1\" Statusmeldung an CUxD einschalten
            ";
                  HTML_content = HTML_content + "
            
            ### CUxD-Integration:
            
            ";   
                  HTML_content = HTML_content + "*   Mit CUxD ein Geraet vom Typ (28)System/Exec/Schalter erstellen";
                  HTML_content = HTML_content + "*   In der CCU im Posteingang konfigurieren:
                ";
                      HTML_content = HTML_content + "   SWITCH|CMD_SHORT: /usr/local/addons/cuxd/curl -s -m 5 \'http://" + WeMos_ip + "/R1-0\'
                ";
                      HTML_content = HTML_content + "   SWITCH|CMD_LONG: /usr/local/addons/cuxd/curl -s -m 5 \'http://" + WeMos_ip + "/R1-1\'
            
            ";
            
                  HTML_content = HTML_content + "
            
            ### [CCU-RemotePC](http://ccu-remotepc.dragonfly.at/) kompatibel:
            
            ";   
                  HTML_content = HTML_content + "*   \"virtual_CCU\" im Sketch auf \"ja\" stellen";
                  HTML_content = HTML_content + "*   via TrayControl in CCU-RemotePC folgendes Geraet erstellen:
                ";
                      HTML_content = HTML_content + "   Plattform: CCU; Geraete Gruppe: Switch; Geraetetyp: CUxDAktor;
                ";
                      HTML_content = HTML_content + "   CCU IP-Adresse: " + WeMos_ip + "; SN:Kanal: WeMos00000:1";
                  HTML_content = HTML_content + "*   virtuelle CCU aktiv: _" + virtual_CCU + "_
            ";
                  HTML_content = HTML_content + "
            **[zurueck](http://" + WeMos_ip + ")**
            ";
                  server.send(300, "text/html", HTML_content + HTML_end);
                }
            
                void turn_on() {
                  digitalWrite(relay_R1, HIGH);
                  Serial.println("on");
                }
            
                void turn_off() {
                  digitalWrite(relay_R1, LOW);
                  Serial.println("off");
                }
            
                void action_1() { //keinen status senden
                  String aktor_status = "unbekannt";
                  if (action == "1") {turn_on(); aktor_status = "eingeschalten";}
                  if (action == "0") {turn_off(); aktor_status = "ausgeschalten";}
                  Status_alt = action;
                  status_aktuallisieren();
                  server.send(200, "text/plain", "WeMos-Schaltaktor ist "+ aktor_status +", keine Meldung an CUxD");
                }
            
                void action_2() { //status senden
                  String aktor_status = "unbekannt";
                  if (action == "1") {turn_on(); aktor_status = "eingeschalten";}
                  if (action == "0") {turn_off(); aktor_status = "ausgeschalten";}
                  Status_alt = action;
                  status_aktuallisieren();
                  if (transmit_state == "ja") {set_CUxD();}
                  server.send(200, "text/plain", "WeMos-Schaltaktor ist "+ aktor_status +", Meldung an CUxD");
                }
            
                void get_state() {
                  String temp = zeitstempel();
                  status_aktuallisieren();
                  server.send(200, "text/plain", Status);
                  delay(100);
                  Serial.println(zeitstempel() + " ueber HTTP Status gemeldet");
                }
                void get_state_CCU() {
                  String CCU_state = "null";
                  String temp = zeitstempel();
                  status_aktuallisieren();
                  if (Status == "0") {CCU_state = "<state>false</state>";} else {CCU_state = "<state>true</state>";}
                  server.send(200, "text/plain", CCU_state);
                  delay(100);
                  Serial.println(zeitstempel() + " ueber HTTP Status gemeldet");
                }
            
                void server_2() {
                 // Check if a client has connected
                  WiFiClient client = server2.available();
                  if (!client) {
                    return;
                  }
            
                  // Wait until the client sends some data
                  Serial.println("new client");
                  while(!client.available()){
                    delay(1);
                  }
            
                  // Read the first line of the request
                  String request = client.readStringUntil('\r');
                  Serial.println(request);
                  client.flush();   
            
                  // Match the request
                  if (request.indexOf("=dom.GetObject('CUxD.WeMos00000:1.STATE').State(1)") != -1) {action = "1"; action_1();}
                  if (request.indexOf("=dom.GetObject%28%27CUxD.WeMos00000%3A1.STATE%27%29.State%281%29") != -1) {action = "1"; action_1();}   
            
                  if (request.indexOf("=dom.GetObject('CUxD.WeMos00000:1.STATE').State(0)") != -1){action = "0"; action_1();}
                  if (request.indexOf("=dom.GetObject%28%27CUxD.WeMos00000%3A1.STATE%27%29.State%280%29") != -1) {action = "0"; action_1();}
            
                  if (request.indexOf("=dom.GetObject('CUxD.WeMos00000:1.STATE').Value()") != -1){get_state();}
                  if (request.indexOf("=dom.GetObject%28%27CUxD.WeMos00000%3A1.STATE%27%29.Value%28%29") != -1) {get_state();}
            
                  // Return the response
                  client.println("HTTP/1.1 200 OK");
                  client.println("Content-Type: text/xml");
                  client.println(""); //  do not forget this one
                  client.print("<xml><state>");
            
                  if(Status == "1") {
                    client.print("true");
                  } else {
                    client.print("false");
                  }
                    client.print("</state></xml>");
            
                  delay(1);
                  Serial.println("Client disconnected");
                  Serial.println("");
                }
            
                void setup() {
                  pinMode(relay_R1, OUTPUT); // Relais-Pin als Ausgang setzen
                  pinMode(switch_R1, INPUT_PULLUP); // Taster zum schalten
            
                  // Seriellen Monitor für Kontrollausgaben öffnen
                  Serial.begin(115200);
                  Serial.println("");
                  Serial.println("WeMos-Schaltaktor");
                //WiFi.mode(WIFI_STA);
                  // WLAN-Verbindung herstellen
                  WiFi.config(ip, dns_ip, gateway, subnet); // auskommentieren, falls eine dynamische IP bezogen werden soll
                  WiFi.begin(ssid, password);
                  Serial.print("Verbindungsaufbau");
            
                  // Verbindungsaufbau abwarten
                  byte maxwait = 30;
                  while ( (WiFi.status() != WL_CONNECTED) && (maxwait > 0) ) {
                    delay(500);
                    maxwait--;
                    Serial.print(".");
                    }
                  if (WiFi.status() != WL_CONNECTED) {Serial.println("keine Verbindung");}
                  else{
                    Serial.println(" erfolgreich!");
                    Serial.println("");
                    Serial.print("Verbunden mit: ");
                    Serial.println(ssid);
                    Serial.print("Signalstaerke: ");
                    int rssi = WiFi.RSSI();
                    Serial.print(rssi);
                    Serial.println(" dBm");
                    Serial.print("IP-Adresse: ");
                    Serial.println(WiFi.localIP());
                    Serial.println("");
                    }
                    server.on("/", root);
                  server.on("/R1-1", [](){action = "1"; action_1();});
                  server.on("/R1-0", [](){action = "0"; action_1();});
                    server.on("/cmd", cmd);
                    server.on("/help", help);
            
                  // HTTP-Server starten
                  server.begin();
                  Serial.println(zeitstempel() + " HTTP-Server gestartet");
                  if (transmit_state == "ja") {set_CUxD();}
                  int sensorVal = digitalRead(switch_R1);
                 // Serial.println(sensorVal);
                  if (sensorVal == HIGH) {Taster = "schliesser";} else {Taster = "oeffner";}
            
                  // Start server2
                  if (virtual_CCU == "ja") {server2.begin(); Serial.println(zeitstempel() + " virtuelle CCU gestarted");}
                }
            
                void cmd() { // bei Aufruf von "../cmd"  R1%3D0 R1%3D1
            
                  String CUxD = server.arg("CUxD");
                  String R1 = server.arg("R1");
                  String transmit = server.arg("transmit");
            
                  if (R1 == "0" && transmit == "0") {action = "0"; action_1();}
                  else if (R1 == "1" && transmit == "0") {action = "1"; action_1();}
                  else if ( (R1 == "0" && transmit == "1") || (R1 == "0") ) {action = "0"; action_2();}
                  else if ( (R1 == "1" && transmit == "1") || (R1 == "1") ) {action = "1"; action_2();}
                  else if (R1 == "state") {get_state();}
                  else if (CUxD == "1") {transmit_state_R1 = "ja"; help(); Serial.println("CUxD-Meldungen: ja");}
                  else if (CUxD == "0") {transmit_state_R1 = "nein"; help(); Serial.println("CUxD-Meldungen: nein");}
                  else {
                   help();
                        delay(100);
                        Serial.println(zeitstempel() + " Help");
                  }
                }
            
                void oeffner(){
                  int sensorVal = digitalRead(switch_R1);
                  if (sensorVal == HIGH && Status == "0") {turn_on(); delay(200);}
                  if (sensorVal == HIGH && Status == "1") {turn_off(); delay(200);}
                  if (sensorVal == LOW) {
                    status_aktuallisieren();
                    if (Status_alt != Status) {Status_alt = Status; Status_Aenderung = "ja";} else Status_Aenderung = "nein";
                    if (transmit_state == "ja" && Status_Aenderung == "ja") {set_CUxD();}
                  }
                }
            
                void schliesser(){
                  int sensorVal = digitalRead(switch_R1);
                  if (sensorVal == LOW && Status == "0") {turn_on(); delay(200);}
                  if (sensorVal == LOW && Status == "1") {turn_off(); delay(200);}
                  if (sensorVal == HIGH) {
                    status_aktuallisieren();
                    if (Status_alt != Status) {Status_alt = Status; Status_Aenderung = "ja";} else Status_Aenderung = "nein";
                    if (transmit_state == "ja" && Status_Aenderung == "ja") {set_CUxD();}
                  }
                }
            
                void loop() {
                  if ( (WiFi.status() != WL_CONNECTED) || (transmit_state_R1 != "ja")  ) {transmit_state = "nein";} else {transmit_state = "ja";}
                  if (Taster == "oeffner") {oeffner();}
                  else if (Taster == "schliesser") {schliesser();}
            
                  server.handleClient(); // auf HTTP-Anfragen warten
            
                   if (virtual_CCU == "ja") {server_2();}
            
                }</esp8266webserver.h></esp8266wifi.h>
            

            1526_unbenann14t.png

            HP Microserver Gen8, RPI-4, IoBroker,

            1 Antwort Letzte Antwort
            0
            • ruhr70R Offline
              ruhr70R Offline
              ruhr70
              schrieb am zuletzt editiert von
              #6

              Super! Danke!

              Eine Verständnisfrage:

              Gibt es einen Grund für den "Umweg" über CUxD?

              Musst Du den Schalter auch in der CCU haben?

              Ansonsten würde es doch reichen, alles in ioBroker zu machen. D.h. ioBorker steuer direkt den Wemos (ioBroker -> Wemos) und nicht ioBroker -> CUxD -> Wemos.

              Adapter: Fritzbox, Unify Circuit
              Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

              1 Antwort Letzte Antwort
              0
              • DutchmanD Offline
                DutchmanD Offline
                Dutchman
                Developer Most Active Administrators
                schrieb am zuletzt editiert von
                #7

                @ruhr70:

                Super! Danke!

                Eine Verständnisfrage:

                Gibt es einen Grund für den "Umweg" über CUxD?

                Musst Du den Schalter auch in der CCU haben?

                Ansonsten würde es doch reichen, alles in ioBroker zu machen. D.h. ioBorker steuer direkt den Wemos (ioBroker -> Wemos) und nicht ioBroker -> CUxD -> Wemos. `

                Genau die gleiche frage hatte ich auch, fuer mein domoticz script (welches ich in de naesten tagen hier publischen werden) machen ich es auch direkt per iObroker.

                (und nochmal danke an @ruhr70 der mir bei ein par script sachen hierin geholfen hat ! :))

                Vorgehensweise:

                • Fuer die device erstellen ich einen state mit boolean wert true/false (AN/AUS)

                • Per javascript lese ich alle states unter dieser object reihe und bei andaerung schicke ich den befehl per HTTP.

                Hier mal die vorlage was ich benutze dafuer, die variabelen:

                979_variable_433mhz.jpg

                Das script (ist noch in DEV)

                // Trigger on all state changes within Domoticz Devices
                on({id: /^javascript\.\d\.domoticz\.Devices\.\d+\.STATE$/ , change: "ne"}, function (obj) {
                  var objArr  = obj.id.match(/(^.+)\.(.+)\.(.+)$/, ""); //Devide in + Device + CMD
                  var device  = objArr[2]; 
                  var URL = 'http://192.168.1.152';
                  var port = '8080';
                
                //Verify which action is required based on state value and send action by HTTP command
                    log(getState('domoticz.Devices.' + device + ".STATE").val);
                  if (getState('domoticz.Devices.' + device + ".STATE").val === true || getState('domoticz.Devices.' + device + ".STATE").val == '1') {
                    try {
                      require("request")( URL + ':' + port + '/json.htm?type=command¶m=switchlight&idx=' + device + '&switchcmd=On');
                    } catch (e) { console.error(e); }
                    console.log("request: " + URL + ':' + port + '/json.htm?type=command¶m=switchlight&idx=' + device + '&switchcmd=On');
                  } else {
                    try {
                      require("request")(URL + ':' + port + '/json.htm?type=command¶m=switchlight&idx=' + device + '&switchcmd=Off');
                    } catch (e) { console.error(e); }
                    console.log("request: " + URL + ':' + port + '/json.htm?type=command¶m=switchlight&idx=' + device + '&switchcmd=Off');
                  }
                });
                
                

                Function des scriptes:

                • Ueberwache alle states unter devices domotics

                • Triggere bij update

                • lese die ID aus (mit andere worten die device) fuer welches de state geaendert ist

                • Generiere den HTTP befehld zum schalten auf basis der variabele

                Vorteil hieran ist das alles direkt im iObroker liegt und ich keine umwege ueber CUxD machen muss.

                Eventueel etwas uebersehen wodurch die loesung doch angenehmer ist per CUxD ?

                Greetz,

                Dutch

                1 Antwort Letzte Antwort
                0
                • K Offline
                  K Offline
                  knopers1
                  schrieb am zuletzt editiert von
                  #8

                  @ruhr70:

                  Super! Danke!

                  Eine Verständnisfrage:

                  Gibt es einen Grund für den "Umweg" über CUxD?

                  Musst Du den Schalter auch in der CCU haben?

                  Ansonsten würde es doch reichen, alles in ioBroker zu machen. D.h. ioBorker steuer direkt den Wemos (ioBroker -> Wemos) und nicht ioBroker -> CUxD -> Wemos. `

                  Hallo ruhr70

                  es gibt nur einen Grung für mich… Ich steuere Teilweise auch noch aus der CCU heraus... Teil läuft aber unter IOBroker mit Blokly :mrgreen:

                  Für mich ist es besser, wenn die Sachen auch unter CCU sind.

                  HP Microserver Gen8, RPI-4, IoBroker,

                  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

                  660

                  Online

                  32.7k

                  Benutzer

                  82.4k

                  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