Форматирование значений свойств
Добавлено: Ср окт 24, 2018 12:01 am
Подскажите, пожалуйста, возможно ли настроить форматирование значений свойств объекта. Т.е. например какое-то свойство имеет значение 4432725 в каких-то условных попугаях, которое я хочу чтобы в интерфейсе отображалось в виде "4м, 43см и 27мм", или, допустим "4.42м".
Моя ситуация: полтора года назад установил majordomo, сделал устройство считывающее значения счетчиков - газа и электричества: esp8266 читает, декодирует и пишет в MQTT.
Majordomo, в свою очередь, читает значения и ежеминутно аккуратно складывает в базу. Но пишет значения в максимально сыром виде: электричество пишет с коэфициентом 0.1 Ватта (т.е., например текущее сырое значение = 74757756, что соответсвует 7475 kW), а газ с коэфициентом 0.01 м3 (т.е. текущее значение 524331 соответсвует 5243 м3). Также настроил я сохранение в базу кучи разных дельт для построения графиков: есть ежеминутные значения, есть ежедневные, есть изменения за минуту, за час, за день, за месяц, за год.
И вот, имею я в базе кучу накопленых данных за полтора года, которые можно красиво рисовать и анализировать.
Но незадача - только взялся я за графики, и собственно отображение текущих значений, как обнаружил что не могу найти способ как произвести автоматическое преобразование моих скоэффициентнутых значений. В итоге глядя на график я могу только видеть динамику, но понять реальное значение - надо напрягаться.
Вот пару примеров с электричеством:
https://www.dropbox.com/s/63yevhyiqq36m ... 1.png?dl=0
https://www.dropbox.com/s/l205ix6pk31m2 ... 2.png?dl=0
Собственно вопрос: есть ли возможность сделать все красиво?
Если решать в лоб - то можно сделать кастомную страницу, которая будет форматировать как надо, и кастомный график (не нашел как сделать тонкую настройку легенды в highcharts модуле).
Однако хотелось бы какое-то более элегантное решение, чтобы форматирование применялось автоматически, и можно было положить форматированное свойство на разные страницы/менюшки без дополнительного кода на этих самых страницах.
Например что-то вроде такого (и аналогичное для каждой дельты что есть у меня):
https://www.dropbox.com/s/twalzpqlmlebs ... 3.png?dl=0
Однако данный вариант не работает.
Собтсвенно в этом вопрос к гуру - как можно добиться того что мне надо с наименьшими затратами?
Моя ситуация: полтора года назад установил majordomo, сделал устройство считывающее значения счетчиков - газа и электричества: esp8266 читает, декодирует и пишет в MQTT.
Majordomo, в свою очередь, читает значения и ежеминутно аккуратно складывает в базу. Но пишет значения в максимально сыром виде: электричество пишет с коэфициентом 0.1 Ватта (т.е., например текущее сырое значение = 74757756, что соответсвует 7475 kW), а газ с коэфициентом 0.01 м3 (т.е. текущее значение 524331 соответсвует 5243 м3). Также настроил я сохранение в базу кучи разных дельт для построения графиков: есть ежеминутные значения, есть ежедневные, есть изменения за минуту, за час, за день, за месяц, за год.
И вот, имею я в базе кучу накопленых данных за полтора года, которые можно красиво рисовать и анализировать.
Но незадача - только взялся я за графики, и собственно отображение текущих значений, как обнаружил что не могу найти способ как произвести автоматическое преобразование моих скоэффициентнутых значений. В итоге глядя на график я могу только видеть динамику, но понять реальное значение - надо напрягаться.
Вот пару примеров с электричеством:
https://www.dropbox.com/s/63yevhyiqq36m ... 1.png?dl=0
https://www.dropbox.com/s/l205ix6pk31m2 ... 2.png?dl=0
Собственно вопрос: есть ли возможность сделать все красиво?
Если решать в лоб - то можно сделать кастомную страницу, которая будет форматировать как надо, и кастомный график (не нашел как сделать тонкую настройку легенды в highcharts модуле).
Однако хотелось бы какое-то более элегантное решение, чтобы форматирование применялось автоматически, и можно было положить форматированное свойство на разные страницы/менюшки без дополнительного кода на этих самых страницах.
Например что-то вроде такого (и аналогичное для каждой дельты что есть у меня):
https://www.dropbox.com/s/twalzpqlmlebs ... 3.png?dl=0
Однако данный вариант не работает.
Собтсвенно в этом вопрос к гуру - как можно добиться того что мне надо с наименьшими затратами?