Anfänger Fusbodenheizung Rechenproblem

Hallo,
Hab ein kleines problem dass die Fusbodenheizung nicht das macht was sie soll bzw speziell der Mischer

Also er macht jetzt immer alle 10 sec → 0,5 sec ansteuerung für mischer auf (Beide Relais)
Mit der rechnung sollte der regler eig ist soll mit hysterese berücksichtigen, wenn ich solltemp auf isttemp stell sollte ja eig kein relais anziehen zwecks hysterese , tut er aber leider, vll könnt ihr mir da weiterhelfen.
Die Temperatur kommt von ein Dallas 18D20 fühler mit float.

Hyst ist 2

{
  if (millis() > MischenA + MischenAtime) {
         digitalWrite(Mischer_1, HIGH);           
         digitalWrite(Mischer_AUF, HIGH);

                }
                      
  {
          
  if (FbHeizung == HIGH) 
  {
   
  //------> MISCHEN Anfang
  WartenA = millis();    //alles 10 Sekunden die Temperaturen vergleichen
       if (WartenA - WartenB > 10000)   {


         if (vlFbHeizung > (tempsoll + hyst)) {    // Mischer zu - Temperatur runter
             MischenA = millis();    
             MischenAtime = ((vlFbHeizung - tempsoll) * 500);   
             digitalWrite(Mischer_1, LOW);
              }
           
            

          if (vlFbHeizung < (tempsoll - hyst)) {    // Mischer auf - Temperatur erhoehen 
             MischenA = millis();    
             MischenAtime = ((tempsoll - vlFbHeizung) * 500);   
                digitalWrite(Mischer_1, LOW);
                digitalWrite(Mischer_AUF, LOW);

           }
          WartenB = millis();  
       } //--------MISCHEN Ende-----------------
    }      //Loop Ende
  }