QRCodeMit hilfe dieses Moduls, kann auf einfache Weise eine URL generiert werden, mit der vom Dienstleister TEC-IT ein QRCode abgerufen werden kann.
Ein Device dieses Moduls kann außerdem den QRCode auch selbst direkt in FHEMWEB darstellen und auch anderen Devices (bspw. weblink) als HTML zur Verfügung stellen.
HINWEIS: Es ist ohne schriftliche Genehmigung des Diensteanbieters nicht erlaubt, mehr als 30 QRCode-Abrufe pro Minute durchzuführen.
Siehe dazu auch die Nutzungsbedingungen von TEC-IT (http://qrcode.tec-it.com/de#TOS)
Define define <name> QRCode
Set set <name> update
Führt eine Aktualisierung der QRCode-Url durch.
AttributesQRCode-URL-relevante AttributeDie folgenden Attribute sind für die Erzeugung der Abruf-URL relevant und haben somit direkten Einfluß auf die Erzeugung des QRCode-Images.
Für diese Attribute wird bei Änderung, standardmäßig ein automatisches Udate der QRCode-URL durchgeführt. Dies kann durch setzen des Attirbutes qrNoAutoUpdate (s.w.u.) deaktiviert werden.
- qrData
Dieses Attribut legt die Daten fest, die im QRCode kodiert werden sollen.
Ist dieses Attribut nicht gesetzt, wird beim update eine entsprechende Fehlermeldung erzeugt.
- qrSize
Dieses Attribut legt die Größe fest, in der das QRCode-Image erstellt werden soll.
Mögliche Ausprägungen sind small, medium (default), large.
- qrResolutionDPI
Dieses Attribut legt die Auflösung fest, in der das QRCode-Image erstellt werden soll.
Mögliche Werte liegen zwischen 96 und 600 (Default ist 300dpi)
- qrColor
Dieses Attribut legt die Vordergrundfarbe fest, in der das QRCode-Image erstellt werden soll.
Der Wert ist ein RGB-Farbwert in Hexadezimaler schreibweise (Bspw. FF0000 für rot)
Default ist 000000 (schwarz)
- qrBackColor
Dieses Attribut legt die Hintergrundfarbe fest, in der das QRCode-Image erstellt werden soll.
Der Wert ist ein RGB-Farbwert in Hexadezimaler schreibweise (Bspw. 0000FF für blau)
Default ist FFFFFF (weiß).
- qrTransparent
Dieses Attribut legt fest, ob der Hintergrund transparent sein soll.
Mögliche Werte sind True für transparenten Hintergrund und False für nicht-transparenten Hintergrund (default)
- qrQuietZone
Über diesen Wert kann eine Ruhe-Zone, also ein Rand um den eigentlichen QRCode festgelegt werden.
Dies ermöglicht ggf. ein erleichtertes Erfassen des QRCodes beim Scannen.
Mögliche Werte sind positive numerische Werte. Default ist 0, wenn das Attribut nicht gesetzt ist.
- qrQuietUnit
Über diesen Wert kann die Maßeinheit für das Festlegen einer Ruhe-Zone eingestellt werden.
Mögliche Ausprägungen sind mm (default), in (=inch), mil (=mils), mod (=Module) oder px (=Pixel).
- qrCodepage
Über diesen Wert kann die Zeichentabelle für die QRCode-Erzeugung festgelegt werden.
Mögliche Werte sind UTF8 (default), Cyrillic oder Ansi
- qrErrorCorrection
Über diesen Wert kann Fehlerkorrektur für die QRCode-Erzeugung festgelegt werden.
Mögliche Werte sind L (default), M,Q oder H
darstellungsrelevante AttributeDie folgenden Attribute haben nur Einfluß auf das Verhalten und die Darstellung in FHEMWEB in der Deatailansicht des QRCode-Devices, bzw. beim Abruf der HTML-Daten mittels QRCode_getHtml (s.u.)
Im Fehlerfall wird weder der QRCode, noch qrDisplayText dargestellt, sondern eine entsprechend Fehlermeldung stattdessen eingeblendet.
- qrDisplayWidth
Breite des Images bei der Darstellung in FHEMWEB in der Detailübersicht
Default ist 200
- qrDisplayHeight
Höhe des Images bei der Darstellung in FHEMWEB in der Detailübersicht
Default ist 200
- qrDisplayData
Wenn dieses Attribut gesetzt ist, wird unterhalb des QRCodes der Datenteil als einfacher Text dargestellt.
- qrDisplayNoImage
Wenn dieses Attribut gesetzt ist, der QRCode nicht in der Detailansicht dargestellt.
- qrDisplayText
Hier kann ein beliebiger Text eingetragen werden, der unterhalb des QRCodes eingeblendet werden soll.
- qrDisplayNoText
Ist dieses Attribut gesetzt, so wird der, im Attribut qrDisplayText eingetragene Text nicht eingeblendet, auch ohne das Attribut qrDisplayText zu löschen.
- qrNoAutoUpdate
Ist dieses Attribut gesetzt, so wird bei Änderung eines für die QRCode-Erzeugung relevanten Attributs kein automatisches Update der QRCode-URL durchgeführt.
Erzeugte Readings
- data
Dieses Reading enthält die vom QRCode zu kodierenden Daten.
Das ist im Normalfall der Inhalt aus dem Attribut qrData.
Im Fehlerfall steht hier stattdessen der entsprechende Fehlertext.
- qrcode_url
Dies ist die durch set update erzeugte URL, die für den Abruf des QRCode-Image verwendet wird.
- state
Status des QRCode-Device.
Das ist entweder defined, oder der Zeitpunkt des letzten set update, bzw. auto-update
Enthaltene Funktionen Es gibt im Modul noch eine Funktion, die auch für andere Anwendungsfälle einsetzbar ist, wie bspw. in einem weblink
QRCode_getHtml($;$$)
Die Funktion gibt den HTML-Code zurück, wie er auch für die Darstellung im QRCode-Device in der Detail-Ansicht verwendet wird.
Parameter:
- QRCodeDevice
Hier ist der Name des QRCode-Devices anzugeben, dessen HTML-Code abgerufen werden soll.
- noImage (Optional)
Entspricht dem Attribut qrDisplayNoImage
Wenn dieser Parameter angezeigt wird, wird also keine Referenz auf QRCode-Image im HTML-Code erzeugt.
- noText (Optional)
Entspricht dem Attribut qrDisplayNoText
Wenn dieser Parameter angezeigt wird, wird also Benutzerdefinierter Text unterhalb des QRCode im HTML-Code erzeugt.
Beispiel: QRCode_getHtml('MyQRCode',1,0)
Damit wird der HTML-Code für das (QRCode-)Device MyQRCode abgerufen, das nur das Image enthält,aber nicht den Benutzerdefinierten text.
... und hier noch der Screenshot.