Ankündigung

Einklappen
Keine Ankündigung bisher.

Triggern bei Datum und Uhrzeit: Makro dhtime()

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    Die Makro - Expansion hat "einige" lustige Eigenschaften:

    das Makro
    :begin WebLokalVar(ButtonID, PageID, Icon, Variable)
    :info $Eine lokale Anzeige einer Variablen per Webserver$
    :shortinfo $Einfache Anzeige im Webserver$

    if change(Variable) or change(Icon) then {
    pdisplay(ButtonID,convert(Variable,$$c20),Icon,DIS PLAY,GREEN, PageID)
    } endif
    :end​
    funktioniert mit dem Aufruf
    WebLokalVar(12,UrlaubPageID,HOLIDAY,$Urlaub$)
    erwartungsgemäß - wenn du aber das Makro mit
    WebLokalVar(12,UrlaubPageID,HOLIDAY,$Urlaub )$)
    aufrufst, dann expandiert es zu
    Gültig bis Position: {0} STOP--> if change($Urlaub )$)) or change(HOLIDAY) then { pdisplay(12,convert($Urlaub )$),$$c20),HOLIDAY,DISPLAY,GREEN, UrlaubPageID) } endif ID:4 EibParser wurde mit Fehler beendet.
    kann man jetzt lustig finden - oder auch nicht

    EPIX
    ...und möge der Saft mit euch sein...
    Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

    Kommentar


      #17
      Ich denke, die Makro Expansion ist durchaus rudimentär. So kann man mit #define und #ifdef arbeiten, wie im Handbuch für das Debugging beschrieben. Ein

      Code:
      #define HOST 192.168.1.47
      führt aber nicht dazu, dass man HOST verwenden kann.

      Genauso die Frage, warum man Makros nicht direkt in Programmen (direkt zu Beginn) definieren kann oder nicht in Programmen mit #define arbeiten kann, um nur einzelne Programme zu debuggen.

      Der Code im EibStudio ist doch da... Ein paar der "hätten sie nicht noch...?".

      Dennoch denke ich nicht, dass das von mir geschilderte Problem etwas mit der Einfachheit der Makro Expansion zu tun hat. Mein Eindruck ist, dass mein dhtime()-Makro eine nicht vor(her)gesehene Nutzung der Makros ist...
      KNX, openHAB 4.3, EibPC²

      Kommentar

      Lädt...
      X