Skip to end of metadata
Go to start of metadata

%miniservers = LoxBerry::System::get_miniservers();

 Die Funktion get_miniservers liefert einen mehrdimensionalen Hash mit der gesamten Konfiguration aller Miniserver zurück.  

Die Parameter jedes Miniservers können mit vordefinierten Variablen abgefragt werden.

Hash-VariableInhalt
NameName des Miniservers
IPAddressIP-Adresse des Miniservers
PortWeb-Port des Miniservers
AdminAdministrativer Benutzer des Miniservers (URL-encoded)
PassPasswort des administrativen Benutzers (URL-encoded)
CredentialsAdmin:Pass (URL-encoded)
Admin_RAWAdministrativer Benutzer des Miniservers (nicht URL-encoded)
Pass_RAWPasswort des administrativen Benutzers (nicht URL-encoded)
Credentials_RAWAdmin:Pass (nicht URL-encoded)
NoteHinterlegte Notiz
UseCloudDNS 
CloudURL 
CloudURLFTPPortSollte nicht verwendet werden, sondern get_ftpport.
SecureGateway1 wenn dieser Miniserver das Verschlüsselungs-Gateway verwenden soll
EncryptResponse1 wenn die REST-Antwort des Miniservers ebenfalls verschlüsselt werden soll

Beim Zugriff auf die Anmeldedaten können damit, je nach Einsatzzweck, Admin und Pass, gleich kombiniert die Variable Credentials, oder im Falle, dass die Anmeldedaten nicht URL-encoded sein dürfen, die RAW-Varianten eingesetzt werden.

Loxone CloudDNS

get_miniservers liefert bei IPAddress und Port immer die richtigen Daten zurück, egal ob der Miniserver lokal, oder mit CloudDNS eingerichtet ist. IPAddress und Port entspricht bei einem CloudDNS-Miniserver dann der externen IP und Port. Das Plugin muss sich daher nicht speziell um CloudDNS-Miniserver kümmern.

Verwendung

use LoxBerry::System;
 
my %miniservers;
%miniservers = LoxBerry::System::get_miniservers();
 
if (! %miniservers) {
	exit(1); # Keine Miniserver vorhanden
}

print "Anzahl deiner Miniserver: " . keys(%miniservers);
 
print "Miniserver Nr. 1 heißt $miniservers{1}{Name} und hat die IP $miniservers{1}{IPAddress}.";
 
foreach my $ms (sort keys %miniservers) {
	print "Der Miniserver Nr. $ms heißt $miniservers{$ms}{Name} und hat die IP $miniservers{$ms}{IPAddress}.";
}

Prüfen, ob Einträge vorhanden sind

Um Fehlfunktionen deines Plugins zu vermeiden, solltest du prüfen, ob get_miniservers Werte zurückgeliefert hat, oder ein bestimmter Miniserver verfügbar ist.

Prüfen, ob überhaupt Miniserver konfiguriert sind

Das kann beispielsweise bei einem Auswahldialog oder in einem Script hilfreich sein.

Wenn dein Plugin auf die Konfiguration von mindestens einem Miniserver angewiesen ist, kann diese Prüfung auch hilfreich sein, um im GUI gleich eine auffällige Meldung zu bringen, dass zuerst ein Miniserver konfiguriert werden soll.

%miniservers = LoxBerry::System::get_miniservers();
if (! %miniservers) {
	print "Keine Miniserver konfiguriert.";
	exit(1); # Keine Miniserver vorhanden
}

Prüfen. ob eine bestimmter Miniserver vorhanden ist

Die Prüfung auf einen bestimmten Miniserver ist insbesondere interessant, wenn der Benutzer im GUI einen Miniserver ausgewählt hat. Im Script solltest du dann prüfen, ob der gewählte Miniserver überhaupt (noch) vorhanden ist.

%miniservers = LoxBerry::System::get_miniservers();
if (! %miniservers{1}) {
	print "Miniserver 1 nicht vorhanden";
	exit(1);
}
  • No labels