diff --git a/scripts/ultimo_zaehlerstand_eingabe.form.json b/scripts/ultimo_zaehlerstand_eingabe.form.json new file mode 100644 index 0000000..e59cd93 --- /dev/null +++ b/scripts/ultimo_zaehlerstand_eingabe.form.json @@ -0,0 +1,150 @@ +{ + "title": "Ultimo-Zählerstand Eingabe", + "fields": [ + { + "name": "sensor_selection", + "widget": "typeahead", + "label": "Zähler suchen", + "hint_text": "Geben Sie den Zählernamen oder eine Nummer ein", + "validators": [ + { + "type": "required", + "error_text": "Bitte wählen Sie einen Zähler aus" + } + ] + }, + { + "name": "variable_unit", + "widget": "dropdown", + "label": "Messgröße und Einheit", + "hint_text": "Wählen Sie die gewünschte Variable und Einheit", + "options": [ + { + "value": "ACTIVE_ENERGY_DELIVERED_9|WH", + "label": "Aktive Energie Abgabe (Wh)" + }, + { + "value": "ACTIVE_ENERGY_ABSORBED_9|WH", + "label": "Aktive Energie Bezug (Wh)" + }, + { + "value": "ENERGY_INST_VAL|WH", + "label": "Energie Momentanwert (Wh)" + }, + { + "value": "ENERGY_DAY_VAL|WH", + "label": "Energie Tageswert (Wh)" + } + ], + "initial_value": "ACTIVE_ENERGY_DELIVERED_9|WH", + "validators": [ + { + "type": "required" + } + ] + }, + { + "name": "input_method", + "widget": "segmented_control", + "label": "Eingabemethode", + "options": [ + { + "value": "batch", + "label": "Batch (mehrere Monate)" + }, + { + "value": "single", + "label": "Einzelwert" + } + ], + "initial_value": "batch" + }, + { + "name": "ultimo_readings_text", + "widget": "text_field", + "label": "Ultimo-Stände (Textformat)", + "hint_text": "Format: 31.12.2025: 60,645 MWh oder 28.2.2026: 68,771 MWh", + "text_field_config": { + "max_lines": 10, + "keyboard_type": "multiline" + }, + "helper_text": "Ein Eintrag pro Zeile im Format: DD.MM.YYYY: Wert Einheit", + "conditional": { + "field_name": "input_method", + "operator": "equals", + "value": "batch", + "action": "show" + }, + "validators": [ + { + "type": "required", + "error_text": "Bitte geben Sie mindestens einen Ultimo-Stand ein" + } + ] + }, + { + "name": "single_date", + "widget": "date_time_picker", + "label": "Datum und Uhrzeit", + "date_config": { + "input_type": "both", + "format": "dd.MM.yyyy HH:mm" + }, + "conditional": { + "field_name": "input_method", + "operator": "equals", + "value": "single", + "action": "show" + }, + "validators": [ + { + "type": "required" + } + ] + }, + { + "name": "single_value", + "widget": "text_field", + "label": "Zählerstand", + "hint_text": "z.B. 68,771 oder 68.771", + "text_field_config": { + "keyboard_type": "number" + }, + "conditional": { + "field_name": "input_method", + "operator": "equals", + "value": "single", + "action": "show" + }, + "validators": [ + { + "type": "required" + }, + { + "type": "numeric", + "error_text": "Bitte geben Sie einen gültigen Zahlenwert ein" + } + ] + } + ], + "submit_label": "Zählerstände erfassen", + "layout": "sections", + "sections": [ + { + "title": "Zähler auswählen", + "field_names": [ + "sensor_selection", + "variable_unit" + ] + }, + { + "title": "Eingabe", + "field_names": [ + "input_method", + "ultimo_readings_text", + "single_date", + "single_value" + ] + } + ] +} \ No newline at end of file