-
Notifications
You must be signed in to change notification settings - Fork 6
mkuserpanelconf
Die Konfigurationen der Bedienfelder (Userpanels) sind, bei entsprechenden Stueckzahlen und Menue-Verschachtelungstiefen, nicht einfach zu pflegen. Man muss die Verkettung der einzelnen Seiten untereinander manuell eintragen, was sehr fehlertraechtig ist.
Daher gibt es jetzt das Script mkuserpanelconf. Damit lassen sich XML-Dateien, welche das Menu-Layout beschreiben, in fertige Config-Files konvertieren. Es ist ein primitiver Include-Mechanismus verfuegbar, welcher es ermoeglicht, gleiche Menu-Zweige in mehreren Bedienfeldern zu verwenden.
Eine beschreibende XML-Datei sieht beispielsweise so aus:
`<bedienfeld>`
`<userpanel_shortcuts>`
set F1 200
set F2 202
set F3 201
set F4 102
set F5 255
set F6 255
set F7 255
set F8 255
`</userpanel_shortcuts>`
`<page id="1" type="screensaver_page">`
`<page id="2" type="dir_page">`
set name Heizungen
#include 102-heizung-werkstatt
#include 100-heizung-hobby
`</page>`
`<page id="4" type="dir_page">`
set name Rollaeden
#include 140-rolladen-alle-runter
#include 141-rolladen-alle-hoch
`</page>`
`<page id="6" type="dir_page">`
set name Lampen
#include 200-alle-lichter-aus.xml
`</page>`
`<page id="8" type="dir_page">`
set name Sonstiges
#include 201-fenster_monitor_page.xml
#include 202-garagentor-taster.xml
`</page>`
`</page>`
`</bedienfeld>`
Das Topelement ist ein bedienfeld, welches Elemente wie userpanel_shortcuts oder - die eigentlichen Menu-Seiten - page Elemente enthaelt.
Die ID kann frei vergeben werden, muss jedoch (in jedem Bedienfeld, nicht in der ganzen Installation) eindeutig sein.
Das type Attribut muss gleich dem EDS Objekt, das man manuell anlegen wuerde, gesetzt sein.
Die einzelnen EDS-Felder werden im Text zwischen dem oeffnenden und schliessenden page Tag angegeben und vom mkuserpanelconf 1:1 uebernommen.
Es entspricht praktisch 1:1 dem gleichnamigen EDS Objekt, welches als Speicher-Platz fuer die F1-F4 Shortcuts dient.
Die ueber eine Include-Direktive angegebenen Dateien enthalten im Normalfall weitere (verschachtelte) page Elemente, z.B. die Datei 102-heizung-werkstatt:
`<page id="102" type="dir_page">`
set name Werkstatt
`<page id="103" type="heiz_page">`
set name Werkstatt
set heiz_id 2
`</page>`
`</page>`
Das Erzeugen ist einfach:
mkuserpanelconf userpanel-450.xml
Es entsteht eine Datei userpanel-450.cf, welche man direkt mit telican in das Bedienfeld einspielen kann. Alle Pages sind nun hoffentlich korrekt (weil automatisiert) verlinkt.
Hat man viele Bedienfelder und ist faul (wer ist das nicht?), dann kann man die mkuserpanelconf-Aufrufe in ein Makefile schreiben und muss dann nach einer Aenderung nur noch make aufrufen.
-
Tutorials
-
FAQ
-
Referenz
- Konzepte
- Hardware
- Software/PC
- Software/Firmware
- Patches
- EDS - EEPROM Data System
- HCAN Protokoll
- HCAN Protokoll - Referenz