mirror of
https://github.com/house-of-abbey/GarminHomeAssistant.git
synced 2025-10-31 23:48:13 +00:00
Using a picker object to configure the picker now, deriving display format from steps.
This commit is contained in:
@@ -630,7 +630,6 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
(item as HomeAssistantToggleMenuItem).updateToggleState(data[i.toString() + "t"]);
|
||||
}
|
||||
if (item instanceof HomeAssistantNumericMenuItem) {
|
||||
// (item as HomeAssistantNumericMenuItem).updateNumericState("22");
|
||||
(item as HomeAssistantNumericMenuItem).updateNumericState(data[i.toString() + "n"].toString());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,15 +68,6 @@ class HomeAssistantNumericMenuItem extends HomeAssistantMenuItem {
|
||||
mLabel = label;
|
||||
mHomeAssistantService = haService;
|
||||
|
||||
var val = data.get("display_format");
|
||||
if (val != null) {
|
||||
mFormatString = val.toString();
|
||||
}
|
||||
else {
|
||||
mFormatString = "%.1f";
|
||||
}
|
||||
|
||||
|
||||
HomeAssistantMenuItem.initialize(
|
||||
label,
|
||||
template,
|
||||
@@ -170,9 +161,13 @@ class HomeAssistantNumericMenuItem extends HomeAssistantMenuItem {
|
||||
function getNumericTemplate() as Lang.String? {
|
||||
var entity_id = mData.get("entity_id");
|
||||
if (entity_id != null) {
|
||||
return "{{state_attr('" + entity_id.toString() + "','" + mData.get("attribute").toString() +"')}}";
|
||||
}
|
||||
return null;
|
||||
if (mData.get("attribute")!=null)
|
||||
{
|
||||
return "{{state_attr('" + entity_id.toString() + "','" + mData.get("attribute").toString() +"')}}";
|
||||
}
|
||||
return "";
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
function updateNumericState(data as Lang.String or Lang.Dictionary or Null) as Void {
|
||||
@@ -181,7 +176,6 @@ class HomeAssistantNumericMenuItem extends HomeAssistantMenuItem {
|
||||
return;
|
||||
} else if(data instanceof Lang.String) {
|
||||
mValue=data;
|
||||
|
||||
} else {
|
||||
// Catch possible error
|
||||
mValue="0";
|
||||
|
||||
@@ -47,6 +47,7 @@ class HomeAssistantView extends WatchUi.Menu2 {
|
||||
var content = items[i].get("content") as Lang.String?;
|
||||
var entity = items[i].get("entity") as Lang.String?;
|
||||
var tap_action = items[i].get("tap_action") as Lang.Dictionary?;
|
||||
var picker = items[i].get("picker") as Lang.Dictionary?; // optional for numeric items
|
||||
var service = items[i].get("service") as Lang.String?; // Deprecated schema
|
||||
var confirm = false as Lang.Boolean?;
|
||||
var pin = false as Lang.Boolean?;
|
||||
@@ -132,7 +133,7 @@ class HomeAssistantView extends WatchUi.Menu2 {
|
||||
entity,
|
||||
content,
|
||||
service,
|
||||
data,
|
||||
picker,
|
||||
{
|
||||
:exit => exit,
|
||||
:confirm => confirm,
|
||||
|
||||
@@ -44,11 +44,15 @@ class HomeAssistantNumericFactory extends WatchUi.PickerFactory {
|
||||
if (val != null) {
|
||||
mStep = val.toString().toFloat();
|
||||
}
|
||||
val = data.get("display_format");
|
||||
if (val != null) {
|
||||
mFormatString = val.toString();
|
||||
}
|
||||
|
||||
if (mStep < 0.01) {
|
||||
mFormatString="%.3f";
|
||||
} else if (mStep < 0.1) {
|
||||
mFormatString="%2f";
|
||||
} else if (mStep < 1) {
|
||||
mFormatString="%.1f";
|
||||
} else {
|
||||
mFormatString="%d";
|
||||
}
|
||||
}
|
||||
|
||||
//! Get the index of a number item
|
||||
|
||||
Reference in New Issue
Block a user