| 1785 | } |
| 1786 | |
| 1787 | bool DisplayManager_::indicatorParser(uint8_t indicator, const char *json) |
| 1788 | { |
| 1789 | |
| 1790 | if (strcmp(json, "") == 0 || strcmp(json, "{}") == 0) |
| 1791 | { |
| 1792 | switch (indicator) |
| 1793 | { |
| 1794 | case 1: |
| 1795 | ui->setIndicator1State(false); |
| 1796 | ui->setIndicator1Fade(0); |
| 1797 | ui->setIndicator1Blink(0); |
| 1798 | MQTTManager.setIndicatorState(1, ui->indicator1State, ui->indicator1Color); |
| 1799 | break; |
| 1800 | case 2: |
| 1801 | ui->setIndicator2State(false); |
| 1802 | ui->setIndicator2Fade(0); |
| 1803 | ui->setIndicator2Blink(0); |
| 1804 | MQTTManager.setIndicatorState(2, ui->indicator2State, ui->indicator2Color); |
| 1805 | break; |
| 1806 | case 3: |
| 1807 | ui->setIndicator3State(false); |
| 1808 | ui->setIndicator3Fade(0); |
| 1809 | ui->setIndicator3Blink(0); |
| 1810 | MQTTManager.setIndicatorState(3, ui->indicator3State, ui->indicator3Color); |
| 1811 | break; |
| 1812 | default: |
| 1813 | break; |
| 1814 | } |
| 1815 | return true; |
| 1816 | } |
| 1817 | |
| 1818 | DynamicJsonDocument doc(128); |
| 1819 | DeserializationError error = deserializeJson(doc, json); |
| 1820 | if (error) |
| 1821 | return false; |
| 1822 | |
| 1823 | if (doc.containsKey("color")) |
| 1824 | { |
| 1825 | auto color = doc["color"]; |
| 1826 | |
| 1827 | uint32_t col = getColorFromJsonVariant(color, TEXTCOLOR_888); |
| 1828 | |
| 1829 | if (col > 0) |
| 1830 | { |
| 1831 | switch (indicator) |
| 1832 | { |
| 1833 | case 1: |
| 1834 | ui->setIndicator1State(true); |
| 1835 | ui->setIndicator1Color(col); |
| 1836 | break; |
| 1837 | case 2: |
| 1838 | ui->setIndicator2State(true); |
| 1839 | ui->setIndicator2Color(col); |
| 1840 | break; |
| 1841 | case 3: |
| 1842 | ui->setIndicator3State(true); |
| 1843 | ui->setIndicator3Color(col); |
| 1844 | break; |
no test coverage detected