+ Antworten
Ergebnis 1 bis 9 von 9
  1. #1
    Registriert seit
    Oct 2008
    Beiträge
    1,033

    Standard Suche nach Lösung "gegen" Socket-Fehlermeldungen von "untergeordneten Devices"

    Hat man UPNP fähige Geräte im Netz und will denen ab und an via IP Befehle schicken, benutzt man den Client Socket.

    Nun haben diese Geräte die Eigenschaft, dass man sie z.B. während Urlaubszeiten ausschaltet.

    Ergbnis:
    Alle paar Sekunden einen Eintrag im LOG, dass Socket #xyz nicht geöffnet werden konnte.

    Hat jemand das Problem auch? Wie gelöst?

    Danke für Hinweise
    jwka

  2. #2
    Registriert seit
    Aug 2005
    Ort
    Fürstenfeldbruck-Aich (Bayern)
    Beiträge
    4,048

    Die Geräte sind doch sicher im Netz pingbar. Ich würde bei Nichterreichen einfach den Socket deaktivieren.

    Evtl. hast Du dazu vielleicht eine An- Abwesenheitsvariable die Du zum de- aktivieren nutzen könntest.
    Gruß
    Werner

    Komponenten:: Homematic(CCU) 250DP, EATON-MOELLER, 1-Wire, WMRS200, 15" Touchdisplay
    Software::
    IPS V4.x, iMobile, WebFront, Logitech Media Server 7.8.x, SONOS
    Hardware:: IPS-Server: ESXi 6.x, Windows 10 Ent, 4 Kerne, 8GB RAM

  3. #3
    Registriert seit
    Oct 2008
    Beiträge
    1,033

    Klar geht das (teilweise)

    Es wird halt alles immer komplexer und komplexer mit den Zusammenhängen und den zu organisierenden Scripten.

    Nach Rückkehr muss man deaktivierte Instanzen wieder aktivieren etc. etc. Ping ist auch nicht der letzte Schluss, denn nicht alle "dummen" Devices kennen Ping also muss man weiter differenzieren.

    Wenn das Problem auch noch andere haben, könnte man vielleicht Paresy dazu überreden, Instanzen eine weitere Property zu verpassen, die dann die IPS-Checks "staffelt":

    Am Anfang häufig - wie bisher, dann stündlich, 2x täglich, täglich etc.

    und evtl. einen System-Event spendieren "check Instances", der dann z.B. von einem "wieder-zuhause-Sscript" getriggert werden könnte, was dann auch eine Meldung ausgeben kann: "Bitte xyz wieder einschalten".

    Wenn ich halt der einzige bin ...

    jwka

  4. #4
    Registriert seit
    Apr 2010
    Ort
    Oberbayern
    Beiträge
    4,839

    und evtl. einen System-Event spendieren "check Instances", der dann z.B. von einem "wieder-zuhause-Sscript" getriggert werden könnte, was dann auch eine Meldung ausgeben kann: "Bitte xyz wieder einschalten".
    Statusänderungen einer Instanz kannst Du doch über den Event-Handler auf ein Skript triggern lassen.
    Grüsse, Kronos.
    Wenn am Anfang alles schief geht, nenne es Version 1.0
    IPS 5.3 auf Server 2016 / HM mit CCU2 (RaspberryMatic) + LAN-Adapter + LAN- & Wired Gateway, 241 Geräte / XBee Pro (Roomba) / RoboRock S50 / RGB-W 868 / MiLight / EKM 868 / AKM / ein Rudel Squeezeboxen+Pi / EM24DIN+VS102 / AM 220 AC / PlugWise / VU+ / ALL4x00 / LevelJet / IRTRans / Echos diverse / viel zu wenig Zeit


    Einfach mal rein schauen: IPS-Chat

  5. #5
    Registriert seit
    Oct 2008
    Beiträge
    1,033

    Bitte die Reihenfolge beachten.

    Ich will nicht etwas auswerten, was sich "zufällig eingestellt" hat. Ich möchte die Erkennung, die zu Deinem beschriebenen Event führt, steuern (und sofort auswerten) können - quasi ein "wie ist denn jetzt gerade der Zustand?"

    Im Moment ist das m.E. nicht möglich. Ich bekomme nur entweder den Zustand der letzten Überwachung (was je nach Einstellungen ne Weile her sein kann) und das muss ich auch in einer Loop über alle Instanzen programmieren, oder "zufällig irgendwann" einen Event.


    Ich hätte sozusagen gerne eine "aktuelle Abfrage". Return könnte ein Array sein mit ID => Status.

    Wenn Du aber so ne Lösung schon hast, bitte her damit. Gucke ich mir gerne an.

    Danke.
    jwka
    Geändert von jwka (02.06.12 um 11:59 Uhr)

  6. #6
    Registriert seit
    Apr 2010
    Ort
    Oberbayern
    Beiträge
    4,839

    Wenn ich z.b. einen Connector für einen Verstärker habe und ich den ein- bzw. ausschalte dann ist die Statusänderung dieser Instanz alles andere als zufällig. Damit setze ich z.b. die Bedienelemente des Verstärker im Webfront auf "hidden" bzw. einen Skripttimer für Statusabfragen auf inaktiv.

    Wenn der Initiator aber nicht die Socket-Instanz sein soll dann kannst Du doch auch in deinem Skript - bleiben wir mal bei dem Beispiel- welches Befehle an die UPnP-Geräte schickt den Status der jeweiligen Instanz abfragen. Ist diese Online geht der Befehl raus, wenn nicht dann halt nicht.

    Oder habe ich Deine Problemstellung nicht verstanden?
    Grüsse, Kronos.
    Wenn am Anfang alles schief geht, nenne es Version 1.0
    IPS 5.3 auf Server 2016 / HM mit CCU2 (RaspberryMatic) + LAN-Adapter + LAN- & Wired Gateway, 241 Geräte / XBee Pro (Roomba) / RoboRock S50 / RGB-W 868 / MiLight / EKM 868 / AKM / ein Rudel Squeezeboxen+Pi / EM24DIN+VS102 / AM 220 AC / PlugWise / VU+ / ALL4x00 / LevelJet / IRTRans / Echos diverse / viel zu wenig Zeit


    Einfach mal rein schauen: IPS-Chat

  7. #7
    Registriert seit
    Oct 2008
    Beiträge
    1,033

    Ich glaube, wir schauen auf dieselbe Sache einfach aus verschiedenen Blickwinkeln.

    Oder ich verstehe vielleicht Deine Antworten nicht, kann auch sein.

    Mein Blickwinkel ist die Minimierung von Überwachungs-Aufgaben.

    Also: Es ist klar, dass man mit Aufwand das auch alles selbst tracken und handeln kann. Der Aufwand besteht dann eben darin, dass man den Event-Handler für jede neue (i/o)Instanz Pflegen muss, sich ein ein- und ausschalte Script bauen muss, die Stati in Variablen Puffern muss etc.

    Wenn ich dann auch noch das "zufällige" wiedereinschalten (ohne zusätzliche Interaktion über IPS) handeln will, muss ich die ausgeschalteten Instanzen regelmässig selbst wieder versuchen, in Betrieb zu nehmen etc. - Nimm z.B. mal zwei oder drei Stunden Stromfreischalten eines Zimmers, weil man "kurz" was verklemmen will.


    Im Grund möchte ich ja nur zwei Dinge geringfügig ändern:

    1.) die "überflüssig vielen" Log Einträge reduzieren, die entstehen "wenn man nix macht"
    2.) EINE (einzige) Abfrage stellen können, um den aktuellen (und soeben abgefragten) Status aller Instanzen zurück zu bekommen

    Das würde m.E. den Aufwand deutlich minimieren.

    jwka
    Geändert von jwka (02.06.12 um 12:23 Uhr)

  8. #8
    Registriert seit
    Apr 2010
    Ort
    Oberbayern
    Beiträge
    4,839

    Da habe ich zwar noch keine Allgemeinlösung fertig - aber machbar sollte das relativ einfach sein.

    Wenn es Dir um die I/O-Instanzen geht dann sollten die Child-IDs der Rubrik abfragbar sein. Wenn Du die hast kannst Du deren Stati abfragen, in ein Array schreiben und auswerten wie es Dir beliebt.
    Grüsse, Kronos.
    Wenn am Anfang alles schief geht, nenne es Version 1.0
    IPS 5.3 auf Server 2016 / HM mit CCU2 (RaspberryMatic) + LAN-Adapter + LAN- & Wired Gateway, 241 Geräte / XBee Pro (Roomba) / RoboRock S50 / RGB-W 868 / MiLight / EKM 868 / AKM / ein Rudel Squeezeboxen+Pi / EM24DIN+VS102 / AM 220 AC / PlugWise / VU+ / ALL4x00 / LevelJet / IRTRans / Echos diverse / viel zu wenig Zeit


    Einfach mal rein schauen: IPS-Chat

  9. #9
    Registriert seit
    Aug 2005
    Ort
    Fürstenfeldbruck-Aich (Bayern)
    Beiträge
    4,048

    kronos Ansatz wäre für mich auch der schnellste und die am einfachsten umzusetzende Möglichkeit mit denen wir anscheinend auskommen.
    Gruß
    Werner

    Komponenten:: Homematic(CCU) 250DP, EATON-MOELLER, 1-Wire, WMRS200, 15" Touchdisplay
    Software::
    IPS V4.x, iMobile, WebFront, Logitech Media Server 7.8.x, SONOS
    Hardware:: IPS-Server: ESXi 6.x, Windows 10 Ent, 4 Kerne, 8GB RAM

Ähnliche Themen

  1. Von Newbie für Newbies: Register Variablen
    Von jwka im Forum Skripte, PHP, SQL
    Antworten: 18
    Letzter Beitrag: 26.11.12, 21:02
  2. IPSServer Dienst hängt nach Standby
    Von josp666 im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 10
    Letzter Beitrag: 13.09.10, 14:23
  3. Fehler Client Socket und Speicher
    Von coolice im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 2
    Letzter Beitrag: 17.09.09, 12:38