Ich würde gerne diesen LBS verwenden, um den Status verschiedener AP, die über den CAPSMAN verwaltet werden, zu erkennen, ob das CAP-Interface auf diesem AP aktiv ist. Die Aktivierung bzw. Deaktivierung läuft über ein Skript, das auf dem jeweiligen AP ausgeführt wird. Getriggert werden die Skripte bereits über diesen LBS an E9. Ich habe bisher nichts brauchbares gefunden wie ich an E13 den Status des CAP auslesen kann.
Ich setze in den Skripten eine globale Variable true/false, um den Status des WLAN so herauszubekommen.
Über den Befehl an E13
LTE|/system/script/environment|name|cgi|value
bekomme ich keine Antwort an A10. Abfragen nach ethernet interfaces funktionieren über E13 -> A10
Über das MikroTik-Terminal bekomme ich mit
/system/script/environment print
die globale Variable mit Wert angezeigt.
Kann mir hier jemand weiterhelfen? Wie habt ihr so etwas gelöst?
Ankündigung
Einklappen
Keine Ankündigung bisher.
MikroTik über LBS steuern | Edomi
Einklappen
X
-
Ehrlich gesagt würde ich hierfür den HostCheck LBS verwenden. Selbst ein ARP-PING gibt keine Sicherheit, dass der Rechner auch verfügbar ist.Zitat von MVZ jonofe Beitrag anzeigenIch würde gerne eine Rückmeldung in edomi erhalten, ob bestimmte Geräte (NAS, VDR etc.) online sind bzw. ob diese nach WOL verfügbar sind.
Statt ARP also besser ICMP oder noch besser ein Application-Ping, dann weisst du nicht nur, dass der Server AN ist, sondern auch ob der entsprechende Port verfügbar ist (z.B. Port 80/443 bei einem Webserver, oder Port 139, 445 bei einem NAS mit SMB/CIFS). Alles davon unterstützt der HostCheck LBS.
Zuletzt geändert von jonofe; 04.03.2022, 15:11.
Einen Kommentar schreiben:
-
Mein Spieltrieb mit diesem tollen LBS hat mir nun eine neue Herausforderung beschert.
Ich würde gerne eine Rückmeldung in edomi erhalten, ob bestimmte Geräte (NAS, VDR etc.) online sind bzw. ob diese nach WOL verfügbar sind. Zuerst hatte ich die MAC Adressen ebenfalls in E15 eingetragen; da die Geräte aber kabelgebunden sind, kann dies natürlich nicht funktionieren.
Ich habe mich dann auf die Suche gemacht und meine Recherche hat folgendes ergeben:
Über das Winbox-Terminal funktioniert die gewünschte Rückmeldung bereits, so daß ich hoffentlich auf einem gangbaren Weg bin.Code::if ([:len [/ip arp find mac-address="XX:XX:XX:XX:XX:XX"]] > 0) do={:put "1";} else={:put "0";}
Seit einigen Stunden probiere ich nun aber erfolglos, diese Abfrage mit dem LBS zum Laufen zu bekommen. Ich komme hier irgendwie nicht weiter.
Vielleicht kannst Du mir, jonofe, oder ein anderer Experte hier (noch einmal) weiterhelfen oder einen Hinweis geben.
Wie füttere ich den LBS, so dass ich 1 (An) oder 0 (Aus) zurück bekomme?
Danach ist mein Ziel, mehrere MAC-Adressen abzufragen (analog zu E15 mit CapsMan).
Danke im Voraus.
Schöne Grüße
mvz
Einen Kommentar schreiben:
-
Um die manuelle Eingabe zu umgehen, wollte ich einen QR Code zur Verfügung stellen. Damit sollte dies einfach möglich sein. Ist aber sicherlich Geschmacksache.
An die automatisch Generierung des Passwortes außerhalb des MikroTik LBS habe ich auch schon gedacht, weiß aber nicht nicht, wie ich dies am besten bewerkstelligen kann. Einen LBS zum Generieren eines Passworts anhand entsprechender Parameter (Länge) konnte ich nicht finden.
Welche Möglichkeiten würde es denn hier geben?
Einen Kommentar schreiben:
-
Nein, den musst du dir vorher in EDOMI generieren.Zitat von MVZ Beitrag anzeigenIst dies darüber auch möglich? Und wenn ja, wie?
Das kann man z.B. über den PHP-Function LBS mit dem folgenden Code an E2:
substr(md5(time()), 0, $E1);
den man dann mit der gewünschten Passwortlänge an E1 triggert.
Und mit nem String-Verbinder-LBS dann den kompletten Befehl für den E9 des Mikrotik LBS erzeugen.
Einen Kommentar schreiben:
-
Unabhängig von Mikrotik - den String (das Passwort) zufällig generieren und dann den Befehl zusammenbauen.
Ein täglich änderndes Passwort wird viel Frust erzeugen weil deine Gäste jedes mal erst das alte löschen müssen um ein neues einzugeben.
Einen Kommentar schreiben:
-
Genau, darüber hatte ich es auch getestet. Wie aber kann ich mir dabei das Passwort zufüllig erzeugen lassen?
Ist dies darüber auch möglich? Und wenn ja, wie?
Einen Kommentar schreiben:
-
Das geht über E9 mit dem Befehl, den du schon zitiert hast:Zitat von MVZ jonofe saegefisch saegefisch jonofe Beitrag anzeigenIch hoffe, ich habe keine existierende Lösung oder sonstiges übersehen. Dann seht es mir bitte nach.
/caps-man security set passphrase=<new_password> <SSID>
Einen Kommentar schreiben:
-
Seit einige Tagen bin ich auch glücklicher Besitzer eines MikroTik Routers RB3011 und befinde ich mich auf einer steilen Lernkurve bezüglich Netzwerk und VLANs.
Daher zunächst ein dickes Dankeschön an jonofe für den LBS. Über diesen bin ich beim Suchen beim RB3011 gelandet. Ein genauso dickes Dankeschön geht an saegefisch für die Bereitstellung der Skripte, ohne die ich wahrscheinlich schon aufgegeben hätte.
Nachdem nun meine VLANs stehen, würde ich gerne meine Idee weiterverfolgen, Gästen einen täglich sich ändernden WLAN Schlüssel zur Verfügung zu stellen.
Ich hoffe, ich habe beim Lesen der über 30 Seiten keinen Hinweis übersehen, aber es scheint mit dem aktuellen LBS nicht möglich zu sein, sich automatisch einen WLAN Schlüssel erzeugen zu lassen – vorausgesetzt, man verwendet die Skripte von saegefisch. Hier gibt es nach Skript nur ein Wifi Security Profile (E8) „default“, welches nicht als Unterscheidungsmerkmal für die unterschiedlichen SSIDs genutzt werden kann. Somit ist ein Ändern des Passwortes "nur" für Gäste – aus meiner Sicht – aktuell mir dem LBS nicht möglich.
In der Konfiguration anhand des Skripts lege ich unter CAPsMAN und Security Configuration für jedes WLAN das Kennwort unter Passphrase fest. Und hier müsste man, meiner Meinung nach, ansetzen. Dieses konnte ich nämlich über CLI mit "/caps-man security set „sec-100-gast“ passphrase=12345678" erfolgreich ändern.
jonofe : da meine Programmierkenntnisse nicht ausreichen, wollte ich fragen, ob Du vielleicht den LBS anpassen könntest, so dass auch über CAPs Security Configurations Passwörter geändert werden können. Könntest Du Dir dies bitte einmal anschauen? Automatisch generiertes Passwort etc. sollte bestehen bleiben.
Vielen Dank im Voraus.
Ich hoffe, ich habe keine existierende Lösung oder sonstiges übersehen. Dann seht es mir bitte nach.
Schöne Grüße
mvz
Angehängte Dateien
Einen Kommentar schreiben:
-
Wenn E16 nicht getriggert wird, dann wird E17 gar nicht verwendet und somit ist es dann egal was an E17 anliegt.Zitat von givemeone Beitrag anzeigenWenn ich precence aktuell gar nicht nutze, soll ich dann E17 sehr groß oder auf 0 stellen?
Aktuell ist es bei mir auf default.
Einen Kommentar schreiben:
-
Vielen Dank für die Antwort.
Ich benutze einen Pentium Silver, also ähnlich einem NUC als Stromspar-Server mit nvram.
Eigentlich recht potent, mit 4 cores. Aktuell verarbeitet er >100.000 selects pro sekunde, jedoch sind einige
davon ja reine ramDBs.
Ich triggere den Baustein gar nicht. in E1 wird einmalig 1 gesetzt für Start, mehr mache ich nicht!
E16 ist nicht verbunden!
Wenn ich precence aktuell gar nicht nutze, soll ich dann E17 sehr groß oder auf 0 stellen?
Aktuell ist es bei mir auf default.
Ja, es laufen aktuell genau 2 Prozesse, für die 2 aktivierten LBSe.
Das mit dem usleep werde ich mir genauer ansehen und berichten! Danke!
sG Joe
Einen Kommentar schreiben:
-
Ich kann mir das Verhalten nicht wirklich erklären. Der EXEC Baustein wird eigentlich nur aktiv, wenn ein Eingang getriggert wird.Zitat von givemeone Beitrag anzeigenAm MySQL kommen extrem viele (grob jede ms eine neue?!?) Abfrage an.
Wenn dies nicht der Fall ist, lässt sich seine Ausführung auf folgendes reduzieren
Du kannst natürlich hier das usleep(100000) (0,1 Sekunden) erhöhen und schauen wie sich die Last verändert?PHP-Code:while (getSysInfo(1)) {
if ($E = logic_getInputsQueued($id)) {
//
// Dieser Bereich wird nur nach Update eines Eingangs durchlaufen.
//
}
usleep(100000);
}
Eigentlich können die DB Abfragen nur vom getSysInfo(1) oder logic_getInputsQueued($id) kommen, sofern du nicht den LBS ständig im ms-Bereich triggerst.
Kannst du mal sicherheitshalber prüfen, ob je LBS auch nur ein EXEC Skript läuft?
Welche Hardware setzt du denn ein?Code:ps auxw | grep 19001059
Wenn du bei allen MT-LBS E16 im Sekundentakt triggerst, dann könnte ich mir das beschriebene Verhalten ggf. erklären, aber dann hilft vermutlich nur ein leistungsfähigerer DB Server.
Einen Kommentar schreiben:

Einen Kommentar schreiben: