1-wire kostengünstig an Homematic

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

g60vx
Beiträge: 170
Registriert: 16.04.2015, 21:48
Hat sich bedankt: 12 Mal

Re: 1-wire kostengünstig an Homematic

Beitrag von g60vx » 01.05.2018, 23:12

Hallo,
du kannst mal deinen zusammengesetzten HTML Code überprüfen.
Erstmal händisch über den Browser versuchen ein Wrapper Device zu beschreiben, wenn das funktioniert ist die CUxD Seite schon mal i.O.
Dann die Ausgabe der Meldung mit
//Serial.println(meldung);
einkommentieren und im Serialmonitor mit deinem Browserversuch abgleichen, da müsste der Fehler sein.

Benutzeravatar
Nitram101
Beiträge: 76
Registriert: 20.02.2017, 18:00
Wohnort: Moormerland

Re: 1-wire kostengünstig an Homematic

Beitrag von Nitram101 » 02.05.2018, 19:11

Irgendwie mache ich einen Fehler beim anlegen des wrapper devices. :cry:

Remfield
Beiträge: 3
Registriert: 24.12.2018, 16:50

Re: 1-wire kostengünstig an Homematic

Beitrag von Remfield » 24.12.2018, 17:10

Hallo ich neu hier und habe nicht viel Erfahrung im Sketch.

Ich habe alles 1 zu 1 übernommen und Temperaturen werden auch eingelesen, man kann sie auch durch Eingabe der IP-Adresse des Wemos D1
abrufen, nur die Daten landen nicht in den genau so angelegten Systemvariablen der CCU2.

Systemvariablen so wie unten eingetragen (als Zahl) angelegt, und trotzdem landet es nich in der CCU2
IP Adresse der CCU2 auch OK

Verzweiflung

Kann hier jemand helfen ?

************************************************************************************************

Code: Alles auswählen


    #include <OneWire.h>
    #include <ESP8266WiFi.h>
    #include <WiFiClient.h>
    #include <ESP8266WebServer.h>
    #include <Umlaute.h>

    
    // DS18S20 Temperaturchip i/o
    OneWire ds(D1);  // an pin D1

    //Hier die Adressen von den Sensoren eingeben



    #define Warmwasser_Mitte       "28 FF B5 1A B2 17 5 B8"  //Dies sind nur Beispiele, Wichtig hier keine Umlaute verwenden
    #define Vorlauf_Heizung_Heinz  "28 FF 2F 49 B2 17 5 E2"
    #define Vorlauf_Heizung_Mama   "28 FF 79 D0 B2 17 4 C7"
    #define Holzofen               "28 FF 67 CF B2 17 4 BB"
    #define Aussentemperatur       "28 FF FC 15 B2 17 5 38"
    #define Gefriertruhe_Mama       "10 71 64 B5 2 8 0 73"
    #define Gefriertruhe_Heinz      "10 B5 DE B4 2 8 0 4D"
    #define Reserve1               ""
    #define Reserve2               ""
    #define Reserve3               ""


    #define SENSOR1  Warmwasser_Mitte  //Dies sind nur Beispiele, Wichtig hier keine Umlaute verwenden
    #define SENSOR2  Vorlauf_Heizung_Heinz 
    #define SENSOR3  Vorlauf_Heizung_Mama
    #define SENSOR4  Holzofen  
    #define SENSOR5  Aussentemperatur
    #define SENSOR6  Gefriertruhe_Mama
    #define SENSOR7  Gefriertruhe_Heinz
    #define SENSOR8  Reserve1
    #define SENSOR9  Reserve2
    #define SENSOR10 Reserve3

    // Einstellungen für Messungen und Meldungen
    #define ZEITINTERVALL_MESSUNGEN 10       //Abfragezyklus der Sensoren in Sekunden
    #define ZEITINTERVALL_MELDUNGEN 10       //Sendeintervall an die Homematic in Sekunden
    #define DELTA_TEMPERATURSCHWELLWERT 1    //Temperaturdifferenz zum senden an die Homematic in °C


    // ******* Netzwerkeinstellungen, bitte anpassen! *******
    const char* ssid = "xxxxxxxxx"; // SSID des vorhandenen WLANs
    const char* password = "xxxxxxxxx"; // Passwort für das vorhandene WLAN
    IPAddress gateway(192,168,2,1); // IP-Adresse des WLAN-Gateways
    IPAddress subnet(255,255,255,0); // Subnetzmaske
    IPAddress ip(192,168,2,159); // feste IP-Adresse für den WeMos
    const char* host = "192.168.2.88"; // IP-Adresse der CCU
    ESP8266WebServer server(80); // Webserver initialisieren auf Port 80
// convert String object from UTF8 String to Extended ASCII


    void MeldeWert(char* Sensor, float Temp)
    {
      String strSensor;
      if(Contains(Sensor,"Sensor1")) strSensor = "Warmwasser_Mitte";      //hier dürfen auch Umlaute (ä,ü,ö) verwendet werden, das sind die Systemvariablen für die Homematic
      if(Contains(Sensor,"Sensor2")) strSensor = "Vorlauf_Heizung_Heinz";       //hier dürfen auch Umlaute (ä,ü,ö) verwendet werden, das sind die Systemvariablen für die Homematic
      if(Contains(Sensor,"Sensor3")) strSensor = "Vorlauf_Heizung_Mama";       //hier dürfen auch Umlaute (ä,ü,ö) verwendet werden, das sind die Systemvariablen für die Homematic
      if(Contains(Sensor,"Sensor4")) strSensor = "Holzofen";      //hier dürfen auch Umlaute (ä,ü,ö) verwendet werden, das sind die Systemvariablen für die Homematic
      if(Contains(Sensor,"Sensor5")) strSensor = "Aussentemperatur";     //hier dürfen auch Umlaute (ä,ü,ö) verwendet werden, das sind die Systemvariablen für die Homematic
      if(Contains(Sensor,"Sensor6")) strSensor = "Gefriertruhe_Mama";    //hier dürfen auch Umlaute (ä,ü,ö) verwendet werden, das sind die Systemvariablen für die Homematic
      if(Contains(Sensor,"Sensor7")) strSensor = "Gefriertruhe_Heinz";              //hier dürfen auch Umlaute (ä,ü,ö) verwendet werden, das sind die Systemvariablen für die Homematic
      if(Contains(Sensor,"Sensor8")) strSensor = "Reserve1";              //hier dürfen auch Umlaute (ä,ü,ö) verwendet werden, das sind die Systemvariablen für die Homematic
      if(Contains(Sensor,"Sensor9")) strSensor = "Reserve2";              //hier dürfen auch Umlaute (ä,ü,ö) verwendet werden, das sind die Systemvariablen für die Homematic
      if(Contains(Sensor,"Sensor10")) strSensor = "Reserve3";             //hier dürfen auch Umlaute (ä,ü,ö) verwendet werden, das sind die Systemvariablen für die Homematic
      strSensor = utf8ascii(strSensor);
      Serial.println("StrSensor: " + strSensor + " und " + "Sensor: " + Sensor);
      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;
      }           
   [color=#FF0000]   
   
       meldung = meldung + "GET /eriwan.exe?befehl=dom.GetObject('" + strSensor +"').State('" + Temp + "')";
                  
       client.println(meldung); // Daten an CCU melden

[/color]     
    }

// Muster   antwort = antwort + "GET /eriwan.exe?antwort1=dom.GetObject('wemos01feucht').State('" + feucht + "')";


    char ConnectString[255] = "";
    String Antwort = "";
    unsigned long deltaMessungSekunden = ZEITINTERVALL_MESSUNGEN; //Zeitintervall (Sekunden) nach dem eine Messung erfolgt
    unsigned long deltaMeldungSekunden = ZEITINTERVALL_MELDUNGEN; // Zeitintervall (Sekunden) nach dem eine CCU-Meldung erfolgt (0 bedeutet nie)
    unsigned long jetztMillis = 0;
    unsigned long deltaMessungMillis = deltaMessungSekunden * 1000, letzteMessungMillis = 0;
    unsigned long deltaMeldungMillis = deltaMeldungSekunden * 1000, letzteMeldungMillis = 0;
    String antwort = "", meldung = "";
    float deltaTemp = DELTA_TEMPERATURSCHWELLWERT; // Temperaturaenderung (*C) bei der eine CCU-Meldung erfolgt (0 bedeutet nie)
    float temp = 0, tempCCU = 0;
    float NewTemp[10] =  {-255,-255,-255,-255,-255,-255,-255,-255,-255,-255};
    float OldTemp[10] = {-255,-255,-255,-255,-255,-255,-255,-255,-255,-255};


    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 WLANVerbindung()
    {
      // WLAN-Verbindung herstellen
      WiFi.config(ip, gateway, subnet); // auskommentieren, falls eine dynamische IP bezogen werden soll
      WiFi.begin(ssid, password);
      Serial.print("Verbindungsaufbau");


      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("");

      sprintf(ConnectString, "</br></br>Verbunden mit: %s </br>Signalstaerke: %d dBm  </br></br>", ssid, rssi);

      server.on("/", Hauptseite);
      // HTTP-Server starten
      server.begin();
    }

    void setup(void)
    {
      // inputs/outputs initialisieren
      // seriellen port starten
      Serial.begin(9600);
      //ListSensors();
      WLANVerbindung();
    }
    bool Contains(String s, String search)
    {
      int max = s.length() - search.length();

      for (int i = 0; i <= max; i++) {
      if (s.substring(i) == search) return true; // or i
      }

      return false; //or -1
    }



    void ListSensors(void)
    {         
      int count=0,i=0;
      byte addr[8];
      float Temp = 0.0;

      char Adress[10][255] = {"","","","","","","","","",""};
      while(ds.search(addr))
      {
        sprintf(Adress[count], "");
        for( i = 0; i < 8; i++)
        {
          sprintf(Adress[count], "%s %X", Adress[count],addr[i]);
        }
        count++;
      }
      Antwort += "Gefundene Sensoren \n</br>";
      Serial.print("\nGefundene Sensoren\n");
      for(count = 0; count<10;count++)
      {
        if(strcmp(Adress[count], ""))
        {
          Antwort += Adress[count];
          Serial.print(Adress[count]);
          Antwort += " Wert: ";
          Serial.print(" Wert: ");
          Temp = GetRoomTemperature(Adress[count], true);
          Antwort += Temp;
          Serial.print(Temp);
          Antwort += "\n</br>";
          Serial.print("\n");
        }
      }

      Antwort += "</br>";
      Serial.print("\n");
      Antwort += "Definierte Sensoren:\n</br>";
      Serial.print("Definierte Sensoren:\n");
     
      for(count = 0; count<10;count++)
      {
        if(Contains(Adress[count], SENSOR1) && strcmp(Adress[count], "") && strcmp(SENSOR1, ""))
        {
          Antwort += "SENSOR1: ";
          Serial.print("SENSOR1: ");
          Antwort += Adress[count];
          Serial.print(Adress[count]);
          Antwort += " Wert: ";
          Serial.print(" Wert: ");
          Temp = GetRoomTemperature(Adress[count], true);
          Antwort += Temp;
          Serial.print(Temp);
          Antwort += "\n</br>";
          Serial.print("\n"); 
          //MeldeWert("Sensor1", Temp);
         
          OldTemp[0] = NewTemp[0];     
          NewTemp[0] = Temp;
          if(OldTemp[0] == -255) OldTemp[0] = Temp;
        }
        else if(Contains(Adress[count], SENSOR2) && strcmp(Adress[count], "") && strcmp(SENSOR2, ""))
        {
          Antwort += "SENSOR2: ";
          Serial.print("SENSOR2: ");
          Antwort += Adress[count];
          Serial.print(Adress[count]);
          Antwort += " Wert: ";
          Serial.print(" Wert: ");
          Temp = GetRoomTemperature(Adress[count], true);
          Antwort += Temp;
          Serial.print(Temp);
          Antwort += "\n</br>";
          Serial.print("\n"); 
          //MeldeWert("Sensor2", Temp);
          OldTemp[1] = NewTemp[1];
          NewTemp[1] = Temp;
          if(OldTemp[1] == -255) OldTemp[1] = Temp;
        }
        else if(Contains(Adress[count], SENSOR3) && strcmp(Adress[count], "") && strcmp(SENSOR3, ""))
        {
          Antwort += "SENSOR3: ";
          Serial.print("SENSOR3: ");
          Antwort += Adress[count];
          Serial.print(Adress[count]);
          Antwort += " Wert: ";
          Serial.print(" Wert: ");
          Temp = GetRoomTemperature(Adress[count], true);
          Antwort += Temp;
          Serial.print(Temp);
          Antwort += "\n</br>";
          Serial.print("\n"); 
          //MeldeWert("Sensor3", Temp);   
          OldTemp[2] = NewTemp[2];
          NewTemp[2] = Temp;       
          if(OldTemp[2] == -255) OldTemp[2] = Temp;     
        }         
        else if(Contains(Adress[count], SENSOR4) && strcmp(Adress[count], "") && strcmp(SENSOR4, ""))
        {
          Antwort += "SENSOR4: ";
          Serial.print("SENSOR4: ");
          Antwort += Adress[count];
          Serial.print(Adress[count]);
          Antwort += " Wert: ";
          Serial.print(" Wert: ");
          Temp = GetRoomTemperature(Adress[count], true);
          Antwort += Temp;
          Serial.print(Temp);
          Antwort += "\n</br>";
          Serial.print("\n");     
          //MeldeWert("Sensor4", Temp);   
          OldTemp[3] = NewTemp[3];
          NewTemp[3] = Temp; 
          if(OldTemp[3] == -255) OldTemp[3] = Temp;       
        }         
        else if(Contains(Adress[count], SENSOR5) && strcmp(Adress[count], "") && strcmp(SENSOR5, ""))
        {
          Antwort += "SENSOR5: ";
          Serial.print("SENSOR5: ");
          Antwort += Adress[count];
          Serial.print(Adress[count]);
          Antwort += " Wert: ";
          Serial.print(" Wert: ");
          Temp = GetRoomTemperature(Adress[count], true);
          Antwort += Temp;
          Serial.print(Temp);
          Antwort += "\n</br>";
          Serial.print("\n");
          //MeldeWert("Sensor5", Temp);
          OldTemp[4] = NewTemp[4];
          NewTemp[4] = Temp;       
          if(OldTemp[4] == -255) OldTemp[4] = Temp;         
        }
        else if(Contains(Adress[count], SENSOR6) && strcmp(Adress[count], "") && strcmp(SENSOR6, ""))
        {
          Antwort += "SENSOR6: ";
          Serial.print("SENSOR6: ");
          Antwort += Adress[count];
          Serial.print(Adress[count]);
          Antwort += " Wert: ";
          Serial.print(" Wert: ");
          Temp = GetRoomTemperature(Adress[count], true);
          Antwort += Temp;
          Serial.print(Temp);
          Antwort += "\n</br>";
          Serial.print("\n");     
          //MeldeWert("Sensor6", Temp); 
          OldTemp[5] = NewTemp[5];
          NewTemp[5] = Temp;     
          if(OldTemp[5] == -255) OldTemp[5] = Temp;       
        }
        else if(Contains(Adress[count], SENSOR7) && strcmp(Adress[count], "") && strcmp(SENSOR7, ""))
        {
          Antwort += "SENSOR7: ";
          Serial.print("SENSOR7: ");
          Antwort += Adress[count];
          Serial.print(Adress[count]);
          Antwort += " Wert: ";
          Serial.print(" Wert: ");
          Temp = GetRoomTemperature(Adress[count], true);
          Antwort += Temp;
          Serial.print(Temp);
          Antwort += "\n</br>";
          Serial.print("\n");   
          //MeldeWert("Sensor7", Temp); 
          OldTemp[6] = NewTemp[6]; 
          NewTemp[6] = Temp;     
          if(OldTemp[6] == -255) OldTemp[6] = Temp;     
        }
        else if(Contains(Adress[count], SENSOR8) && strcmp(Adress[count], "") && strcmp(SENSOR8, ""))
        {
          Antwort += "SENSOR8: ";
          Serial.print("SENSOR8: ");
          Antwort += Adress[count];
          Serial.print(Adress[count]);
          Antwort += " Wert: ";
          Serial.print(" Wert: ");
          Temp = GetRoomTemperature(Adress[count], true);
          Antwort += Temp;
          Serial.print(Temp);
          Antwort += "\n</br>";
          Serial.print("\n");
          //MeldeWert("Sensor8", Temp);
          OldTemp[7] = NewTemp[7];
          NewTemp[7] = Temp;
          if(OldTemp[7] == -255) OldTemp[7] = Temp;               
        }
        else if(Contains(Adress[count], SENSOR9) && strcmp(Adress[count], "") && strcmp(SENSOR9, ""))
        {
          Antwort += "SENSOR9: ";
          Serial.print("SENSOR9: ");
          Antwort += Adress[count];
          Serial.print(Adress[count]);
          Antwort += " Wert: ";
          Serial.print(" Wert: ");
          Temp = GetRoomTemperature(Adress[count], true);
          Antwort += Temp;
          Serial.print(Temp);
          Antwort += "\n</br>";
          Serial.print("\n");
          //MeldeWert("Sensor9", Temp);
          OldTemp[8] = NewTemp[8];   
          NewTemp[8] = Temp;   
          if(OldTemp[8] == -255) OldTemp[8] = Temp;           
        }
        else if(Contains(Adress[count], SENSOR10) && strcmp(Adress[count], "") && strcmp(SENSOR10, ""))
        {
          Antwort += "SENSOR10: ";
          Serial.print("SENSOR10: ");
          Antwort += Adress[count];
          Serial.print(Adress[count]);
          Antwort += " Wert: ";
          Serial.print(" Wert: ");
          Temp = GetRoomTemperature(Adress[count], true);
          Antwort += Temp;
          Serial.print(Temp);
          Antwort += "\n</br>";
          Serial.print("\n");   
          //MeldeWert("Sensor10", Temp); 
          OldTemp[9] = NewTemp[9];   
          NewTemp[9] = Temp;       
          if(OldTemp[9] == -255) OldTemp[9] = Temp;   
        }     
      }

      Antwort += "</br>";
      Serial.print("\n");
      Antwort += "Nicht definierte Sensoren:\n</br>";
      Serial.print("Nicht definierte Sensoren:\n");

      for(count = 0; count<10;count++)
      {
        //Serial.print(Adress[count]);
        if(!(Contains(Adress[count], SENSOR1) && strcmp(SENSOR1, "")) &&
        !(Contains(Adress[count], SENSOR2) && strcmp(SENSOR2, "")) &&
        !(Contains(Adress[count], SENSOR3) && strcmp(SENSOR3, "")) &&
        !(Contains(Adress[count], SENSOR4) && strcmp(SENSOR4, "")) &&
        !(Contains(Adress[count], SENSOR5) && strcmp(SENSOR5, "")) &&
        !(Contains(Adress[count], SENSOR6) && strcmp(SENSOR6, "")) &&
        !(Contains(Adress[count], SENSOR7) && strcmp(SENSOR7, "")) &&
        !(Contains(Adress[count], SENSOR8) && strcmp(SENSOR8, "")) &&
        !(Contains(Adress[count], SENSOR9) && strcmp(SENSOR9, "")) &&
        !(Contains(Adress[count], SENSOR10) && strcmp(SENSOR10, "")))           
        {
          if(strcmp(Adress[count], ""))
          {
            Antwort += Adress[count];
            Serial.print(Adress[count]);
            Antwort += " Wert: ";
            Serial.print(" Wert: ");
            Temp = GetRoomTemperature(Adress[count], true);
            Antwort += Temp;
            Serial.print(Temp);
            Antwort += "\n</br>";
            Serial.print("\n");
          }
        }
      }
    letzteMessungMillis = jetztMillis;
      ds.reset_search();
    }
       
    void Hauptseite()
    {
      Antwort = "";
      

      Antwort += "<meta http-equiv='refresh' content='60'/>";
      ListSensors();
      Antwort += ConnectString;
      //Antwort += "</body></html>";     

      server.send ( 300, "text/html", Antwort );
      delay(100);

      //server.send(300, "text/plain", Antwort); 
      //delay(150);
    }

    float GetRoomTemperature(char adress[255], bool doreset)
    {
      int HighByte, LowByte, TReading, SignBit, Tc_100, Whole, Fract;
      byte i,present = 0, data[12], addr[8];
      char stradd[255];
      while(ds.search(addr))
      {     
        sprintf(stradd, "");
        //Serial.print("\nR=");
        for( i = 0; i < 8; i++)
        {
          sprintf(stradd, "%s %X", stradd,addr[i]);     
        }
        ds.reset();
        ds.select(addr);
        ds.write(0x44,1);         // start Konvertierung, mit power-on am Ende

        delay(50);     // 750ms sollten ausreichen
        // man sollte ein ds.depower() hier machen, aber ein reset tut das auch

        present = ds.reset();
        ds.select(addr);   
        ds.write(0xBE);         // Wert lesen

        for ( i = 0; i < 9; i++)
        {         
          // 9 bytes
          data[i] = ds.read();
        }

        if(Contains(stradd, adress))
        {
          LowByte = data[0];
          HighByte = data[1];
          TReading = (HighByte << 8) + LowByte;
          SignBit = TReading & 0x8000;  // test most sig bit

          if (SignBit) // negative
          {
          TReading = (TReading ^ 0xffff) + 1; // 2's comp
          }     
          Tc_100 = (6 * TReading) + TReading / 4;     // mal (100 * 0.0625) oder 6.25
          /* Für DS18S20 folgendes verwenden Tc_100 = (TReading*100/2);    */       
          /* Für Kabelsensor ???   Tc_100 = (6 * TReading) + TReading / 4; */
          
          Whole = Tc_100 / 100;  // Ganzzahlen und Brüche trennen
          Fract = Tc_100 % 100;     

          if (SignBit) // negative Werte ermitteln
          {
          //Serial.print("-");
          }

          
          if(doreset)ds.reset_search();
          return (float)Whole+((float)Fract/100);
        }
      }
    }
    char Sensor[16];
    void loop(void)
    {
      server.handleClient(); // auf HTTP-Anfragen warten
     
      jetztMillis = millis();
     
      // neue Messung falls Zeitintervall erreicht
      if(jetztMillis - letzteMessungMillis > deltaMessungMillis)
      {
        ListSensors();
      }
     
      for(int c = 0; c <10;c++)
      {
        if(deltaTemp != 0 && abs(OldTemp[c]- NewTemp[c]) > deltaTemp)
        {
          Serial.print("Temperatur änderung bei Sensor: ");
          Serial.print(c+1);
          Serial.print(" erreicht.");
          OldTemp[c] = NewTemp[c]; 
          sprintf(Sensor, "Sensor%d", c+1);
          MeldeWert(Sensor, NewTemp[c]);       
        }     
      }
     
      // neue Meldung an die CCU falls Zeitintervall erreicht
      if(!deltaMeldungMillis == 0 && jetztMillis - letzteMeldungMillis > deltaMeldungMillis)
      {
        Serial.print(zeitstempel() + "  Zeitintervall erreicht: \n");
        letzteMeldungMillis = jetztMillis;
        //melde_CCU();
       
        for(int c = 0; c <10;c++)
        {
          sprintf(Sensor, "Sensor%d", c+1);
          MeldeWert(Sensor, NewTemp[c]);   
        }     
      }
    }
    
Zuletzt geändert von Remfield am 26.12.2018, 10:38, insgesamt 1-mal geändert.

ChristianM
Beiträge: 236
Registriert: 02.03.2013, 16:28
Danksagung erhalten: 1 Mal

Re: 1-wire kostengünstig an Homematic

Beitrag von ChristianM » 24.12.2018, 18:12

Was hast du denn genau in den Systemvariablen der CCU eingetragen ?

Benutzeravatar
Sammy
Beiträge: 9172
Registriert: 09.09.2008, 20:47
Hat sich bedankt: 15 Mal
Danksagung erhalten: 174 Mal

Re: 1-wire kostengünstig an Homematic

Beitrag von Sammy » 25.12.2018, 10:33

Oben den Post bitte unbedingt editieren und den Code in Code-Tags posten. So will sich das keiner ansehen!

Gruß Sammy
Links: CCU-Logik, Tipps für Anfänger, WebUI-Doku, Expertenparameter, virtuelle Aktorkanäle
Inventur vom 22.01.14: 516 Kanäle in 165 Geräten, 132 Programme, 270 Direkte Verknüpfungen
Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!

Remfield
Beiträge: 3
Registriert: 24.12.2018, 16:50

Re: 1-wire kostengünstig an Homematic

Beitrag von Remfield » 25.12.2018, 19:49

Hallo ,

danke für die Antwort, die Systemvariablen habe ich in der CCU2 wie folgt angelegt:

Warmwasser_Mitte
Vorlauf_Heizung_Heinz
Vorlauf_Heizung_Mama
Holzofen
Aussentemperatur
Gefriertruhe_Mama
Gefriertruhe_Heinz
Reserve1
Reserve2
Reserve3

Alle Systemvariablen sind als Type "Zahl" angelegt

Zur Info:

Wenn ich über den Browser die IP Adresse des Wemos eingebe spuckt der folgendes aus: (Sind zum Test nur 4 Sensoren angeschlossen)

*******************************************************************
Gefundene Sensoren
10 B5 DE B4 2 8 0 4D Wert: 2.75
28 FF 79 D0 B2 17 4 C7 Wert: 21.31
28 FF B5 1A B2 17 5 B8 Wert: 21.87
28 FF 2F 49 B2 17 5 E2 Wert: 21.06

Definierte Sensoren:
SENSOR7: 10 B5 DE B4 2 8 0 4D Wert: 2.75
SENSOR3: 28 FF 79 D0 B2 17 4 C7 Wert: 21.31
SENSOR1: 28 FF B5 1A B2 17 5 B8 Wert: 21.87
SENSOR2: 28 FF 2F 49 B2 17 5 E2 Wert: 21.06

Nicht definierte Sensoren:


Verbunden mit: Hubertus-Privat
Signalstaerke: 31 dBm
************************************************************************

Benutzeravatar
Sammy
Beiträge: 9172
Registriert: 09.09.2008, 20:47
Hat sich bedankt: 15 Mal
Danksagung erhalten: 174 Mal

Re: 1-wire kostengünstig an Homematic

Beitrag von Sammy » 25.12.2018, 20:23

Sammy hat geschrieben:
25.12.2018, 10:33
Oben den Post bitte unbedingt editieren und den Code in Code-Tags posten. So will sich das keiner ansehen!

Gruß Sammy
Links: CCU-Logik, Tipps für Anfänger, WebUI-Doku, Expertenparameter, virtuelle Aktorkanäle
Inventur vom 22.01.14: 516 Kanäle in 165 Geräten, 132 Programme, 270 Direkte Verknüpfungen
Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!

ChristianM
Beiträge: 236
Registriert: 02.03.2013, 16:28
Danksagung erhalten: 1 Mal

Re: 1-wire kostengünstig an Homematic

Beitrag von ChristianM » 25.12.2018, 23:12

Wie sehen denn die Einstellungen in der Firewall der Homematic aus ?

Remfield
Beiträge: 3
Registriert: 24.12.2018, 16:50

Re: 1-wire kostengünstig an Homematic

Beitrag von Remfield » 26.12.2018, 12:25

Das sind meine Einstellungen in der Firewall der CCU2

************ Einstellungen Firewall CCU ********************

HomeMatic XML-RPC API: Vollzugriff

Remote HomeMatic-Script API: Vollzugriff

IP-Adressen für den eingeschränkten Zugriff:
192.168.0.1;
192.168.0.0/16;
10.192.0.0/12


***********************************************************************

ChristianM
Beiträge: 236
Registriert: 02.03.2013, 16:28
Danksagung erhalten: 1 Mal

Re: 1-wire kostengünstig an Homematic

Beitrag von ChristianM » 26.12.2018, 13:43

Schon etwas komisch,
lade dir doch mal das Fehlerprotokoll runter, vielleicht steht da ja noch etwas drin

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“