diff --git a/source/HomeAssistantNumericMenuItem.mc b/source/HomeAssistantNumericMenuItem.mc index e04fdd7..af590ca 100644 --- a/source/HomeAssistantNumericMenuItem.mc +++ b/source/HomeAssistantNumericMenuItem.mc @@ -154,7 +154,13 @@ class HomeAssistantNumericMenuItem extends HomeAssistantMenuItem { } else if(data instanceof Lang.Float) { var f = data as Lang.Float; setSubLabel(f.format(mFormatString)); - } else { + } else if(data instanceof Lang.Number) { + var f = data.toFloat() as Lang.Float; + setSubLabel(f.format(mFormatString)); + } else if (data instanceof Lang.String){ + setSubLabel(data); + } + else { // The template must return a Float, or the item cannot be formatted locally without error. setSubLabel(WatchUi.loadResource($.Rez.Strings.TemplateError) as Lang.String); } diff --git a/source/HomeAssistantView.mc b/source/HomeAssistantView.mc index ec058d9..eb33985 100644 --- a/source/HomeAssistantView.mc +++ b/source/HomeAssistantView.mc @@ -275,7 +275,7 @@ class HomeAssistantViewDelegate extends WatchUi.Menu2InputDelegate { var mPickerFactory = new HomeAssistantNumericFactory(haItem.getData()); - var mPicker = new HomeAssistantNumericPicker(mPickerFactory,haItem);//{:pattern => [mPickerFactory}); + var mPicker = new HomeAssistantNumericPicker(mPickerFactory,haItem); var mPickerDelegate = new HomeAssistantNumericPickerDelegate(mPicker); WatchUi.pushView(mPicker,mPickerDelegate,WatchUi.SLIDE_LEFT); } else if (item instanceof HomeAssistantGroupMenuItem) { diff --git a/source/factory/HomeAssistantNumericFactory.mc b/source/factory/HomeAssistantNumericFactory.mc index 8f16b6f..32c8645 100644 --- a/source/factory/HomeAssistantNumericFactory.mc +++ b/source/factory/HomeAssistantNumericFactory.mc @@ -65,7 +65,7 @@ class HomeAssistantNumericFactory extends WatchUi.PickerFactory { public function getDrawable(index as Number, selected as Boolean) as Drawable? { var value = getValue(index); var text = "No item"; - if (value instanceof Float) { + if (value instanceof Lang.Float) { text = value.format(mFormatString); } return new WatchUi.Text({:text=>text, :color=>Graphics.COLOR_WHITE,