diff --git a/Tests/Mieming/host_esp32Wroom/client/lib/SentecSensors/SentecSensors.cpp b/Tests/Mieming/host_esp32Wroom/client/lib/SentecSensors/SentecSensors.cpp
index dd1536f37067afc7e4dccb66783ea7d116af0709..73f9ce623678c393d97d6730f9a721e27eef9d68 100644
--- a/Tests/Mieming/host_esp32Wroom/client/lib/SentecSensors/SentecSensors.cpp
+++ b/Tests/Mieming/host_esp32Wroom/client/lib/SentecSensors/SentecSensors.cpp
@@ -317,29 +317,31 @@ String RainGaugeSensor::getPrecipitationStr()
     return getValueStr((float)(precipitation / 10.0));
 }
 
-word SoilMoistureSensor::getMoistureTemp()
+float SoilMoistureSensor::getMoistureTemp()
 {
     readRegister(0, 2); // start register at 0, read 2 variables (vwc, soil temp)
-    moistureRaw = word(answerFrame[3], answerFrame[4]);
+    moistureRaw = (answerFrame[3] << 8) + answerFrame[4];
+    // TODO: neg. temp check
     if (answerFrame[5] < 0x80)
     {
-        temperatureRaw = word(answerFrame[5], answerFrame[6]);
+        temperatureRaw = (answerFrame[5] << 8) +  answerFrame[6];
     }
     else
     {
-        temperatureRaw = word(answerFrame[5], answerFrame[6]) - 65536;
+        temperatureRaw = (answerFrame[5]<<8) + answerFrame[6] - 65536;
     }
+    Serial.begin(115200);
     Serial.print("Soil moisture: ");
     Serial.print((moistureRaw - moistureOffset) / 10.0, 1);
     Serial.println(" %");
     Serial.print("Temperature: ");
     Serial.print((temperatureRaw - temperatureOffset) / 10.0 , 1);
     Serial.println(" °C");
-    return temperatureRaw;
+    return (temperatureRaw - temperatureOffset) / 10.0;
 }
 
-word SoilMoistureSensor::getMoisture(){
-   return moistureRaw - moistureOffset;
+float SoilMoistureSensor::getMoisture(){
+   return (moistureRaw - moistureOffset) / 10.0;
 }
 
 String SoilMoistureSensor::getMoistureStr()
diff --git a/Tests/Mieming/host_esp32Wroom/client/lib/SentecSensors/SentecSensors.h b/Tests/Mieming/host_esp32Wroom/client/lib/SentecSensors/SentecSensors.h
index 4000525ae0bf9ee052574a4eb3f08034473c834f..f2a130254e4457a6a300b454c5a5ad43a04f2865 100644
--- a/Tests/Mieming/host_esp32Wroom/client/lib/SentecSensors/SentecSensors.h
+++ b/Tests/Mieming/host_esp32Wroom/client/lib/SentecSensors/SentecSensors.h
@@ -60,17 +60,17 @@ class SoilMoistureSensor : public SentecSensorRS485
 public:
     using SentecSensorRS485::SentecSensorRS485;
     // vwc: volumetric water content [%]
-    word moistureRaw = 0;
+    uint16_t moistureRaw = 0;
     int moistureOffset = 0;
     // soil temperature [deg C]
     int temperatureRaw = 0;
     int temperatureOffset = 0;
 
-    word getMoistureTemp();
-    word getMoisture();
+    float getMoistureTemp();
+    float getMoisture();
     String getMoistureStr();
     String getTemperatureStr();
 };
 
 
-#endif
\ No newline at end of file
+#endif
diff --git a/Tests/Mieming/host_esp32Wroom/client/lib/espnow/src/ESPNow.cpp b/Tests/Mieming/host_esp32Wroom/client/lib/espnow/src/ESPNow.cpp
index 28eedfb4ca218230fba60d353e867261bc46a8c3..81d1195752ca4d17328cae4a556c8eb07247bdaa 100644
--- a/Tests/Mieming/host_esp32Wroom/client/lib/espnow/src/ESPNow.cpp
+++ b/Tests/Mieming/host_esp32Wroom/client/lib/espnow/src/ESPNow.cpp
@@ -64,11 +64,11 @@ void on_data_recv(const uint8_t *mac, const uint8_t *incomingData, int len)
 			received_msg.epoch_seconds); // see https://www.esp32.com/viewtopic.php?t=9965, maybe this needs an offset
 			Serial.println(Time::getInstance().getEpochSeconds());
 			if (!preferences.isKey("host")) {
-			preferences.putBytes("host", received_msg.host, sizeof(received_msg.host));
-			ESP_LOGI(TAG, "host MAC address saved to flash");
+				preferences.putBytes("host", received_msg.host, sizeof(received_msg.host));
+				ESP_LOGI(TAG, "host MAC address saved to flash");
 
-			// add host to peers
-			add_host_to_peers(received_msg);
+				// add host to peers
+				add_host_to_peers(received_msg);
 			}
 		}
 		case hostChange:{
@@ -80,10 +80,17 @@ void on_data_recv(const uint8_t *mac, const uint8_t *incomingData, int len)
 				esp_now_del_peer(old);
 			}
 			// add new host
+			preferences.putBytes("host", received_msg.host, sizeof(received_msg.host));
+			ESP_LOGI(TAG, "Host Mac address saved to flash:");
+			for(int i=0; i<6; i++){
+				Serial.print(received_msg.host[i], HEX);
+				Serial.print(":");
+			}
+			Serial.println();
 			add_host_to_peers(received_msg);
 		}
 		default:{
-			return;
+			break;
 		}
 	}
 	preferences.end();
@@ -110,7 +117,6 @@ esp_err_t espnow_setup()
 	hostInfo.encrypt = false;
 	esp_now_add_peer(&hostInfo);
 
-	preferences.clear();
 	esp_now_register_recv_cb(on_data_recv);
 	esp_now_register_send_cb(on_data_sent);
 
diff --git a/Tests/Mieming/host_esp32Wroom/client/lib/rs485/rs485.cpp b/Tests/Mieming/host_esp32Wroom/client/lib/rs485/rs485.cpp
index 7778d02e7cfedb81e1e2c816e90899ac5afe8db3..e41bca60c307f861c73eb81a40066c3090641f95 100644
--- a/Tests/Mieming/host_esp32Wroom/client/lib/rs485/rs485.cpp
+++ b/Tests/Mieming/host_esp32Wroom/client/lib/rs485/rs485.cpp
@@ -8,7 +8,7 @@
 #define POWER_SWITCH_PIN_12V 12
 #define POWER_SWITCH_PIN_5V 13
 
-// Configer sensors
+// Configure sensors
 SoftwareSerial RS485Serial(TXPin, RXPin);
 SolarRadiationSensor solarSensor(&RS485Serial, 1, RE_DE_PIN);
 RainGaugeSensor rainGauge = RainGaugeSensor(&RS485Serial, 2, RE_DE_PIN);         // Give 2 Sensor Adress 2
@@ -35,33 +35,43 @@ out_data_rs485 Forte_RS485::readData()
 	// Wait for sensors to power up
 	// TODO minimize delay
 	delay(500);
-
-	data.solarRadiation = solarSensor.getSolarRadiation();
-	data.moisture = soilSensor4.getMoisture();
-	data.moisture_temperature = soilSensor3.getMoistureTemp();
-	data.moisture_temperature = soilSensor4.getMoistureTemp();
-	data.moisture_temperature = soilSensor5.getMoistureTemp();
-	data.precipitation = rainGauge.getInstantaneousPrecipitation();
+	out_data_rs485 output;
+	output.solarRadiation = solarSensor.getSolarRadiation();
+	output.soilTemperature3 = soilSensor3.getMoistureTemp();
+	output.soilTemperature4 = soilSensor4.getMoistureTemp();
+	output.soilTemperature5 = soilSensor5.getMoistureTemp();
+	output.soilMoisture3 = soilSensor3.getMoisture();
+	output.soilMoisture4 = soilSensor4.getMoisture();
+	output.soilMoisture5 = soilSensor5.getMoisture();
+	output.precipitation = rainGauge.getInstantaneousPrecipitation();
 	digitalWrite(POWER_SWITCH_PIN_12V, LOW);
 	digitalWrite(POWER_SWITCH_PIN_5V, LOW);
 
 	gpio_hold_en((gpio_num_t)POWER_SWITCH_PIN_12V);
 	gpio_hold_en((gpio_num_t)POWER_SWITCH_PIN_5V);
-	return data;
+	return output;
 }
 
 std::list<Message> Forte_RS485::buildMessages()
 {
 	std::list<Message> messages;
-	MeasurementData moisture {data.moisture,0,{},measurementTypeToString.at(MeasurementType::MOISTURE)};
-	MeasurementData moisture_temperature {data.moisture_temperature,0,{},measurementTypeToString.at(MeasurementType::MOISTURE_TEMPERATURE)};
-	MeasurementData solarRadiation {data.solarRadiation,0,{},measurementTypeToString.at(MeasurementType::SOLARRADIATION)};
-	MeasurementData precipation {data.precipitation,0,{},measurementTypeToString.at(MeasurementType::PRECIPITATION)};
-	messages.emplace_back(Message{moisture ,sensorInformation, 0});
-	messages.emplace_back(Message{moisture_temperature ,sensorInformation, 0});
-	messages.emplace_back(Message{solarRadiation ,sensorInformation, 0});
-	messages.emplace_back(Message{precipation,sensorInformation, 0});
-	ESP_LOGE(sensorInformation.getSensorName().c_str(), "test");
+	out_data_rs485 output = readData();
+	MeasurementData solarRadiation {output.solarRadiation, measurementTypeToString.at(MeasurementType::SOLAR_RADIATION)};
+	MeasurementData soilTemp3{output.soilTemperature3, measurementTypeToString.at(MeasurementType::SOIL_TEMPERATURE_3)};
+	MeasurementData soilTemp4 {output.soilTemperature4, measurementTypeToString.at(MeasurementType::SOIL_TEMPERATURE_4)};
+	MeasurementData soilTemp5 {output.soilTemperature5, measurementTypeToString.at(MeasurementType::SOIL_TEMPERATURE_5)};
+	MeasurementData soilMoisture3 {output.soilMoisture3, measurementTypeToString.at(MeasurementType::SOIL_MOISTURE_3)};
+	MeasurementData soilMoisture4 {output.soilMoisture4, measurementTypeToString.at(MeasurementType::SOIL_MOISTURE_4)};
+	MeasurementData soilMoisture5 {output.soilMoisture5, measurementTypeToString.at(MeasurementType::SOIL_MOISTURE_5)};
+
+	messages.emplace_back(Message{solarRadiation,sensorInformation, Time::getInstance().getEpochSeconds()});
+	messages.emplace_back(Message{soilTemp3,sensorInformation, Time::getInstance().getEpochSeconds()});
+	messages.emplace_back(Message{soilTemp4,sensorInformation, Time::getInstance().getEpochSeconds()});
+	messages.emplace_back(Message{soilTemp5,sensorInformation, Time::getInstance().getEpochSeconds()});
+	messages.emplace_back(Message{soilMoisture3,sensorInformation, Time::getInstance().getEpochSeconds()});
+	messages.emplace_back(Message{soilMoisture4,sensorInformation, Time::getInstance().getEpochSeconds()});
+	messages.emplace_back(Message{soilMoisture5,sensorInformation, Time::getInstance().getEpochSeconds()});
+
 	return messages;
 }
 
diff --git a/Tests/Mieming/host_esp32Wroom/client/lib/rs485/rs485.hpp b/Tests/Mieming/host_esp32Wroom/client/lib/rs485/rs485.hpp
index 6950c41cafca0ae928bfbf21d89314e8b6fb5190..0bac7654280994dcbef1d242f2dce10e19952aab 100644
--- a/Tests/Mieming/host_esp32Wroom/client/lib/rs485/rs485.hpp
+++ b/Tests/Mieming/host_esp32Wroom/client/lib/rs485/rs485.hpp
@@ -5,29 +5,20 @@
 // RTC (I2C)
 #include "RTClib.h"
 #include "Message.hpp"
-#include "Protocol.hpp"
-#include "SensorInformation.hpp"
-#include "SentecSensors.h"
 #include "ForteSensor.hpp"
+#include "SentecSensors.h"
 
 struct out_data_rs485{
-    word solarRadiation;
-    word moisture;
-    word moisture_temperature;
-    word precipitation;
+    float solarRadiation;
+    float soilMoisture3;
+    float soilTemperature3;
+    float soilMoisture4;
+    float soilTemperature4;
+    float soilMoisture5;
+    float soilTemperature5;
+    float precipitation;
 };
 
-/*
-class Forte_RS485 : public ForteSensor<out_data_rs485> {
-
-    public:
-	    void setup();
-	    out_data_rs485 read_data();
-    
-    private:
-     out_data_rs485 data;
-};
-*/
 class Forte_RS485 : public ForteSensor <out_data_rs485> {
   public:
 	void setup() override;
@@ -37,15 +28,27 @@ class Forte_RS485 : public ForteSensor <out_data_rs485> {
 
   private:
     const SensorInformation sensorInformation{"RS485", Protocol::RS485};
-	out_data_rs485 data;
 
-    enum class MeasurementType { MOISTURE,MOISTURE_TEMPERATURE,SOLARRADIATION,PRECIPITATION};
+    enum class MeasurementType { 
+        SOLAR_RADIATION,
+        SOIL_MOISTURE_3,
+        SOIL_TEMPERATURE_3,
+        SOIL_MOISTURE_4,
+        SOIL_TEMPERATURE_4,
+        SOIL_MOISTURE_5,
+        SOIL_TEMPERATURE_5,
+        PRECIPITATION
+      };
+
     std::map<MeasurementType, const char *> measurementTypeToString = {
-	    {MeasurementType::MOISTURE, "MOISTURE"},
-	    {MeasurementType::MOISTURE_TEMPERATURE, "MOISTURE_TEMPERATURE"},
-        {MeasurementType::SOLARRADIATION, "SOLARRADIATION"},
-        {MeasurementType::PRECIPITATION, "PRECIPATION"}
+	    {MeasurementType::SOLAR_RADIATION, "SOLAR_RADIATION"},
+	    {MeasurementType::SOIL_MOISTURE_3, "SOIL_MOISTURE_3"},
+      {MeasurementType::SOIL_TEMPERATURE_3, "SOIL_TEMPERATURE_3"},
+      {MeasurementType::SOIL_MOISTURE_4, "SOIL_MOISTURE_4"},
+      {MeasurementType::SOIL_TEMPERATURE_4, "SOIL_TEMPERATURE_4"},
+	    {MeasurementType::SOIL_MOISTURE_5, "SOIL_MOISTURE_5"},
+      {MeasurementType::SOIL_TEMPERATURE_5, "SOIL_TEMPERATURE_5"},
+      {MeasurementType::PRECIPITATION, "PRECIPATION"}
         };
 };
-
 #endif 
\ No newline at end of file
diff --git a/Tests/Mieming/host_esp32Wroom/client/src/main.cpp b/Tests/Mieming/host_esp32Wroom/client/src/main.cpp
index 2397d19834c3fe16fb6726d163b5eaf084299337..22392e6335b86634baa4215c3e924413699bf52f 100644
--- a/Tests/Mieming/host_esp32Wroom/client/src/main.cpp
+++ b/Tests/Mieming/host_esp32Wroom/client/src/main.cpp
@@ -8,33 +8,18 @@
 
 
 Forte_RS485 rs485;
+
 void setup()
 {
 	rs485.setup();
-espnow_setup();
-
-	out_data_rs485 data_rs485 = rs485.readData();
-
-	Serial.println("***********************************************************");
-	Serial.print("Moisture: ");
-	Serial.println(data_rs485.moisture);
-	Serial.print("Moisture Temperature: ");
-	Serial.println(data_rs485.moisture_temperature);
-	Serial.print("Solar: ");
-	Serial.println(data_rs485.solarRadiation);
-	Serial.print("Rain mm: ");
-	Serial.println(data_rs485.precipitation);
-
-	// send the data
-	// moistere 1
-	// moisture_temperature 2
-	// solarRadiation 3
-	// precipitation 4
-try {
+	espnow_setup();	
+}
+
+void loop() {
+	try {
 
 		auto messages = rs485.buildMessages();
 		
-		
 		for (const Message &message : messages) {
 			if(message.send() != ESP_OK){
 				RtcMemory::store(message.getMessageAsMinifiedJsonString());
@@ -55,5 +40,3 @@ try {
   esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR);
   esp_deep_sleep_start();
 }
-
-void loop() {}