diff --git a/src/contents/ui/main.qml b/src/contents/ui/main.qml
index 1706804687d75326f99977d0ea60fe2136ae3338..8e862251ac2dede05162c6810f5e87508f0989c3 100644
--- a/src/contents/ui/main.qml
+++ b/src/contents/ui/main.qml
@@ -145,7 +145,7 @@ Kirigami.ApplicationWindow {
                                 Charts.ChartView {
                                     id: chart
                                     antialiasing: true
-                                    backgroundColor: Kirigami.Theme.buttonBackgroundColor
+                                    backgroundColor: Kirigami.Theme.backgroundColor
                                     titleColor: Kirigami.Theme.textColor
                                     legend.visible: false
                                     anchors.fill: parent
@@ -169,8 +169,10 @@ Kirigami.ApplicationWindow {
                                             id: valueAx
                                             labelFormat: "%d "+units
                                             labelsColor: Kirigami.Theme.textColor
-                                            min: yMin
-                                            max: yMax
+                                            Component.onCompleted: {
+                                                valueAx.min = yMin;
+                                                valueAx.max = yMax;
+                                            }
                                         }
                                         color: model.lineColor
                                         name: model.title
@@ -188,6 +190,7 @@ Kirigami.ApplicationWindow {
                                             //Readjust graphs to show date range from earliest item.
                                             dateAx.max = new Date();
                                             dateAx.min = qiflora.model.data(qiflora.model.index(0,0));
+                                            valueAx.max = qiflora.model.maxValue(modelCol)*1.25;
                                         }
                                     }
                             }
diff --git a/src/main.cpp b/src/main.cpp
index 3da592704a0da88c3697489ced88a2979601ecd1..0a7ab95bf2333205e949954b98a3998fd1c8cf46 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -30,7 +30,7 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
     
 
     QQmlApplicationEngine engine;
-    qmlRegisterType<BluetoothDevices>();
+    qmlRegisterAnonymousType<BluetoothDevices>("",1);
     qmlRegisterType<MiFlora>("org.eyecreate.qiflora",1,1,"QiFlora");
     engine.rootContext()->setContextProperty(QStringLiteral("appAboutData"), QVariant::fromValue(aboutData));
     engine.load(QUrl(QStringLiteral("qrc:///main.qml")));
diff --git a/src/miflora/florahistory.cpp b/src/miflora/florahistory.cpp
index 50b1f8bb23cdc669faecd9606e15ae27f35e95ec..3257e24cfe1c58af6232b653d4ede655c411a8f3 100644
--- a/src/miflora/florahistory.cpp
+++ b/src/miflora/florahistory.cpp
@@ -55,6 +55,14 @@ int FloraHistory::rowCount(const QModelIndex& parent) const
 void FloraHistory::addData(QDateTime time, float temperature, quint32 brightness, quint8 moisture, quint16 conductivity)
 {
     beginInsertRows(QModelIndex(),tableData.size(),tableData.size());
+    if( tableData.size() == 0 ) {
+        maxData = {time, temperature, brightness, moisture, conductivity};
+    } else {
+        if( maxData.temperature < temperature ) maxData.temperature = temperature;
+        if( maxData.brightness < brightness ) maxData.brightness = brightness;
+        if( maxData.moisture < moisture ) maxData.moisture = moisture;
+        if( maxData.conductivity < conductivity ) maxData.conductivity = conductivity;
+    }
     tableData.append(flora_data{time, temperature, brightness, moisture, conductivity});
     endInsertRows();
 }
@@ -65,4 +73,21 @@ void FloraHistory::clear()
     emit layoutChanged();
 }
 
+QVariant FloraHistory::maxValue(int Column )
+{
+    if( Column == 1 ) {
+        return QVariant( std::round( maxData.temperature*10/10 ));
+    } else if( Column == 2 ) {
+        return QVariant( maxData.brightness );
+    } else if( Column == 3 ) {
+        return QVariant( maxData.moisture );
+    } else if( Column == 4 ) {
+        return QVariant( maxData.conductivity );
+    } else if( Column == 5 ) {
+        return QVariant( std::round( (maxData.temperature*1.8+32)*10/10 ));
+    } else {
+        return QVariant();
+    }
+}
+
 
diff --git a/src/miflora/florahistory.h b/src/miflora/florahistory.h
index 93cf3ba285f0a542d063dd5d19e66812103f214f..52ba15d60973afe173f364c73722fffbe5d543ab 100644
--- a/src/miflora/florahistory.h
+++ b/src/miflora/florahistory.h
@@ -41,6 +41,8 @@ public:
     
     void addData(QDateTime time, float temperature, quint32 brightness, quint8 moisture, quint16 conductivity);
     
+    Q_INVOKABLE QVariant maxValue(int Column);
+    
 private:
     struct flora_data {
         QDateTime time;
@@ -51,6 +53,7 @@ private:
         
     };
     QList<flora_data> tableData;
+    flora_data maxData;
 
 };
 
diff --git a/src/miflora/miflora.cpp b/src/miflora/miflora.cpp
index 40f7c3961772d8291e982f3efd03e4ceff6c1454..923ab08237ae151c05ac52935098e7b1c66e6589 100644
--- a/src/miflora/miflora.cpp
+++ b/src/miflora/miflora.cpp
@@ -71,7 +71,7 @@ void MiFlora::foundDevice ( const QBluetoothDeviceInfo& device )
 
 QQmlListProperty<BluetoothDevices> MiFlora::getDeviceList()
 {
-    return QQmlListProperty<BluetoothDevices>(this, devices);
+    return QQmlListProperty<BluetoothDevices>(this, &devices);
 }
 
 void MiFlora::logControllerError ( QLowEnergyController::Error err )
@@ -175,10 +175,10 @@ void MiFlora::historyServiceCharRead(QLowEnergyCharacteristic readChar, QByteArr
         connect(historyService, &QLowEnergyService::characteristicRead, this, &MiFlora::historyServiceCharReadData);
         disconnect(historyService, &QLowEnergyService::characteristicWritten, this, &MiFlora::historyServiceCharWritten);
         connect(historyService, &QLowEnergyService::characteristicWritten, this, &MiFlora::historyServiceCharWrittenData);
-        //Take size given and start by giving the last 48 numbers(if that many) to represent the last day of data. TODO: look to have amount of time be configurable.
+        //Take size given and start by giving the last 24 numbers(if that many) to represent the last day of data. TODO: look to have amount of time be configurable.
         lastHistoryEntry = 0;
-        if(size > 48) {
-            currentHistoryEntry = 48;
+        if(size > historySize) {
+            currentHistoryEntry = historySize;
         } else {
             currentHistoryEntry = size;
         }
diff --git a/src/miflora/miflora.h b/src/miflora/miflora.h
index a7aea5bb54895e80b17b869553666018a567d28e..912855debd238476ffcad092d9d2be339fa9fc53 100644
--- a/src/miflora/miflora.h
+++ b/src/miflora/miflora.h
@@ -96,7 +96,8 @@ private:
     const QByteArray magicBytes = QByteArray::fromHex("a01f");
     const QByteArray historyReadInit = QByteArray::fromHex("a00000");
     
-
+    const quint16 historySize = 24;
+    
     float temp = 0.0;
     quint32 bright = 0;
     quint8 moisture = 0;