Skip to content

mkuserpanelconf

hcanIngo edited this page Dec 19, 2015 · 1 revision

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.

page

id

Die ID kann frei vergeben werden, muss jedoch (in jedem Bedienfeld, nicht in der ganzen Installation) eindeutig sein.

type

Das type Attribut muss gleich dem EDS Objekt, das man manuell anlegen wuerde, gesetzt sein.

Felder

Die einzelnen EDS-Felder werden im Text zwischen dem oeffnenden und schliessenden page Tag angegeben und vom mkuserpanelconf 1:1 uebernommen.

userpanel_shortcuts

Es entspricht praktisch 1:1 dem gleichnamigen EDS Objekt, welches als Speicher-Platz fuer die F1-F4 Shortcuts dient.

Includes

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>`

Erzeugen der Bedienfeld-Konfiguration

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.

Clone this wiki locally