Diese Library enthält verschiedene Module für Netzwerkanwendungen.
Inhalt
[li]DHCP-Sniffer (Dokumentation)[/li]Überwacht ob ein bestimmtest Netzwerkgerät einen DHCP-Request sendet. (z.B. Handy betritt WLAN, Dashbutton wurde betätigt usw.)
[li]WebSocket-Client (Dokumentation)[/li]Implementierung eines Clients mit Websocket Protokoll in IPS.
[li]WebSocket-Server (Dokumentation)[/li]Implementierung eines Server mit Websocket Protokoll in IPS.
[li]Client-Splitter (Dokumentation)[/li]Implementierung eines Splitters für ServerSocket und WebSocket-Server.
[li]WebSocket-Server Demo-Modul (Dokumentation)[/li]Demo für den Datenaustausch mit dem WebSocket-Server.
Voraussetzungen
[ul]
[li]IPS ab Version 4.3[/li][/ul]
Installation
Über das Modul-Control folgende URL hinzufügen.
git://github.com/Nall-chan/IPSNetwork.git
Bei kommerzieller Nutzung (z.B. als Errichter oder Integrator) wenden Sie sich bitte an den Autor.
[ul]
[li]Bereitstellung von Lokale Dateien.[/li][li]Bereitstellung von im lokalen Netzwerk per http/https/ftp erreichbaren Dateien.[/li][li]Unterstützt Basic & Digist Authentification für die Quellen.[/li][li]Überschreiben und erweitern von Get-Parametern ist möglich.[/li][/ul] 2. Voraussetzungen
[ul]
[li]IPS 4.3 oder höher[/li][/ul] 3. Software-InstallationDieses Modul ist Bestandteil der IPSNetwork-Library.
IPS 5.0:
Bei privater Nutzung: Über das ‚Module-Control‘ in IPS folgende URL hinzufügen.
git://github.com/Nall-chan/IPSNetwork.git
Bei kommerzieller Nutzung (z.B. als Errichter oder Integrator) wenden Sie sich bitte an den Autor. 4. Einrichten der Instanz in IP-SymconDas Modul ist im Dialog ‚Instanz hinzufügen‘ unter den Kern-Instanzen zu finden.
Folgende Parameter sind in der Instanz zu konfigurieren:
Konfigurationsseite:
Werte pro Spalte:
|
|
|Hook|string|/hook/|URI des Webhook. Muss mit /hook/ anfangen.|
[TR=„bgcolor: #F6F8FA“]
[TD=„align: center“]Url[/TD]
[TD=„align: center“]string[/TD]
[TD=„align: center“]http://[/TD]
[TD=„align: center“]URL zur Quelle. Kann auch https oder eine lokale Datei sein.[/TD]
[/TR]|forceDL|bool|false|Zwingt Browser die gelieferten Daten als Datei zu speichern und nicht darzustellen.|
[TR=„bgcolor: #F6F8FA“]
[TD=„align: center“]allowGet[/TD]
[TD=„align: center“]bool[/TD]
[TD=„align: center“]true[/TD]
[TD=„align: center“]Erlaubt das Erweitern und Überscheiben von Parametern durch den Hook.[/TD]
[/TR]|weakSSL|bool|false|Deaktiviert die SSL Prüfung. Zum Beispiel für selbst-signierte Zertifikate.|
nochmal vielen Dank für das super Modul.
Es läuft einfach perfekt.
Den Server habe ich zwar noch nicht getestet, mir fehlt dafür noch der Anwendungsfall, aber der Client funktioniert super!
wollte deinen Websocket Client nutzen um mit volumio zu kommunizieren, das nutzt wohl den socket.io als Websocket Layer.
Leider funktioniert das nicht, ich bekomme keine Verbindung. Firewall u.s.w. kann ich ausschliessen.
Ja habe ich, meins macht es
Die Gültigkeit ist eigentlich nur für Geräte wichtig welche nie das Netz verlassen.
Nach der Hälfte der Zeit müssen sie ihren Lease verlängern. Wenn der DHCP nicht Antwort haben sie also noch Schonfrist bis Ende der Gültigkeit.
Wenn aber ein Gerät eine Verbindung zu einen Netzwerk herstellt, muss es zumindest den Request senden auch wenn es dabei seien alte IP wieder anfordert.
Ich Werte auch nicht aus, was der Client anfordert, nur das er es macht.
Die Verlängerung des lease sollte auch zielgerichtet an die IP des DHCP-SERVER gehen und nicht zu einem neuen Event führen. Aber das kann je nach Gerät/OS durchaus auch anders sein.
Die Variable kann verschiedene Funktionen darstellen, Event (nur Refresh mit true), Impuls (nur kurze true Flanke) oder Toggle.
Das natürlich nur das einbuchen und nicht das ausbuchen aus einem WLAN erkannt wird, liegt in der Natur der Sache.
Und für DashButtons ist es auch praktisch.
Michael
Und bei Mobilgeräten werde ich den Trigger nutzen, um schneller die Anwesenheit zu erkennen. Aktuell ping ich alle 60 Sekunden, der DHCP Request Trigger würde die „sofortige“ Anwesenheitserkennung ermöglichen.
könntest du bitte irgendwas einbauen, dass der Websocket Client nicht immer ein Error ausspuckt, wenn der Server offline ist? Weil es gibt auch Geräte die schalten den Websocket Client aus. Kann gerne eine Extra Checkbox sein.
Er verhält sich wie der normale ClientSocket in IPS.
Du musst es dann selber steuern.
Das geht z.B. über das EventControl in IPS und einem Script welches mit IPS_SetProperty(ID des Wsc, ‚Open‘,false);
die Instanz schließt.
Also kann ich den Fehler nicht unterdrücken, weil alles soweit tadellos funktioniert.
Bekomme bloß die Meldung das der Websocket Server offline ist.(Verbindung verloren)
Ist er wieder on geht auch sofort wieder alles.
Leider stelle ich aber erst fest, dass der Websocket Server aus ist wenn er aus ist und könnte den Websocket Client dann mit
IPS_SetProperty(ID des Wsc, ‚Open‘,false);
auschalten. Er würde mir dann aber trozdem noch eine Fehlermeldung ausspucken.
???
Wenn die Verbindung verloren geht, muss der Websocket-Client in Fehlerzustand gehen. Und darauf kann man im EventControl und auch in PHP-Modulen entsprechen horchen und reagieren.
Auch richtig, wenn man inaktive oder fehlerhafte Instanz anspricht z.b. per Datenaustausch (Modul, RegVar) oder Script (WSC_SendText) dann gibt es einen Fehler. Wie auch bei anderen IPS IO/Splitter Instanzen.