+ Antworten
Ergebnis 1 bis 5 von 5
  1. #1
    Registriert seit
    Sep 2014
    Ort
    Limeshain (Hessen)
    Beiträge
    5,424

    Standard Problem mit SendDataToParent bei Modul-Update

    Abend!

    Ich schon wieder

    Habe in meinem aktuellen Modul ein Problem beim Modul-Update festgestellt...
    ...während das Modul-Update läuft funktioniert der I/O nicht, aber leider werden beim Modul-Update erst die Device-Instanzen aktualisiert, welche ein ApplyChanges ausführen und dabei Daten an den I/O loswerden wollen und da auch eine sinnvolle Antwort erwarten/brauchen - was aber nicht funktioniert, weil der I/O ja nicht bereit ist.

    Jetzt dachte ich, dass ich ganz schlau einfach eine kleine while-Schleife einbaue...aber war nichts Denn während er in der while-Schleife hängt, macht er im Hintergrund wohl nicht mit dem Update vom I/O weiter.
    Log-Ausgabe zeigt mir dann an, dass er erst von Device-Instanz 1 seine 4 Wiederholungen erfolglos macht und auf Fehler geht, dann von Device-Instanz 2 die 4 Wiederholungen versucht und auf Fehler geht - danach aktualisiert sich der I/O - und dann funktionieren die Device-Instanzen auch wieder.
    Aber beim ApplyChanges der Device-Instanzen werden z.B.Variablenprofile mit den Daten vom Cloud-Server (die der I/O liefern soll) aktualisiert usw - was aber dann beim Modul-Update in die Hose geht

    Wie könnte ich das Problem lösen? Die Reihenfolge wie die Instanzen aktualisiert werden sollen einzustellen wäre toll, aber das ist wohl nicht möglich. Oder werden die nach dem Alphabet aktualisiert? Dann wäre eine unschöne aber mögliche Lösung den den Ordner "_Device" in "_ZDevice" zu ändern?!

    EDIT: Das der I/O beim Modul-Update nicht funktioniert verstehe ich ja noch, aber müsste der I/O dann als Status nicht was anderes als 102 haben? Ich prüfe aber direkt vor dem SendDataToParent, ob der I/O den Status 102 hat und da kommt das Modul noch erfolgreich drüber und danach schlägt SendDataToParent mit einem FALSE fehl

    Vielen Dank im Voraus und Grüße,
    Chris
    Geändert von Bayaro (10.12.18 um 21:00 Uhr)
    IP-Symcon Module >> www.bayaro.net << Verfügbare Module: BatterieMonitor, BundesligaTabelle, Enigma2BY, HeizölPreise, Helios, Horoskop, HostMonitor, IPSInformations, MELCloud, Müllabfuhr, PJLink, RSS, TankerkönigSpritpreise, xREL
    IPS Unlimited, ~1200 Scripte, ~7000 Variablen

  2. #2
    Registriert seit
    Feb 2005
    Ort
    Lübeck
    Beiträge
    24,539

    Kannst du mal ein Mini Beispiel machen, dass den Fehler zeigt? Der I/O wird ja nicht aktualisiert und sollte sollte der auch beim Update problemlos laufen. Was für einen I/O hast du denn in Benutzung?

    paresy

  3. #3
    Registriert seit
    Sep 2014
    Ort
    Limeshain (Hessen)
    Beiträge
    5,424

    Hmmm...eher schwer :-\

    Den IO habe ich selbst geschrieben und der wird im Modul mitgeliefert - deshalb wird er beim Modul-Update auch aktualisiert.
    Im IO kann man Zugangsdaten für einen Cloud-Server eintragen und der IO hält dann die Verbindung mit dem Cloud-Server und alle Geräte-Instanzen reden über den IO mit dem Cloud-Server.

    Was mir eben noch aufgefallen ist - ein paar Sekunden nach dem Update schickt die IO Instanz an die Device-Instanzen ein Status 102. Was für mich eigentlich bedeutet, dass der IO keinen 102 hatte beim Update - was ich auch erwarten würde. Aber meine Prüfung kurz vor dem SendDataToParent vom IO sagt auch 102. Vmtl ist das alles in einem sehr engen Zeitfenster und geht deshalb in die Hose

    Schönen Abend und Grüße,
    Chris
    IP-Symcon Module >> www.bayaro.net << Verfügbare Module: BatterieMonitor, BundesligaTabelle, Enigma2BY, HeizölPreise, Helios, Horoskop, HostMonitor, IPSInformations, MELCloud, Müllabfuhr, PJLink, RSS, TankerkönigSpritpreise, xREL
    IPS Unlimited, ~1200 Scripte, ~7000 Variablen

  4. #4
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    10,769

    Nein das ist korrekt. Die Annahme daß der Status vorher anders war ist falsch.
    Er sendet ein 102 beim Applychanges, da du ja vermutlich einen SetStatus 102 dort setzt. Dabei ist es egal welchen Status die Instanz vorher hatte (inkl. 102).
    Das ist dann die Meldung (an z.b. registrierte Childs) das er jetzt betriebsbereit ist und z.b. deine Childs ihre Aktualisierung starten können.
    Der Status ist immer eine Aktualisierung, keine Änderung.
    Michael
    on Win10VM (ESXi): I7, 32GB RAM, HW-RAID5, 2xSat | HW: pivccu + ca.130 Geräte (ca.550ch), EM1000, CUL, 1Wire, FritzBox Cable, Android Phone + Tablet, Onkyo NR| SW: IPS, Apache2(mod_ssl/PHP), MySQL, hMailServer, PRTG, RoundCube, Win2016 Ess., MediaPortal, Kodi

  5. #5
    Registriert seit
    Sep 2014
    Ort
    Limeshain (Hessen)
    Beiträge
    5,424

    @ Nall-chan: Stimmt...ich setze im ApplyChanges vom IO ein 102, wenn alles ok ist - das geht dann natürlich an die Childs.

    Ich könnte als Lösung für mein Problem beim MessageSink vom IO mit 102 in der Geräte-Instanz ein ApplyChanges auslösen, allerdings wären das dann beim Update 2 x ApplyChanges in der Geräte-Instanz. Einmal beim Update von der Geräte-Instanz selbst und ein paar Sekunden später dann nochmal, wenn der IO sein 102 an die Geräte-Intanzen schickt...hmmmm...
    Was besseres fällt mir aktuell nicht ein :-\

    Leider ist die Kommunikation vom Modul mit dem Cloud-Server relativ komplex (ich brauche verschiedene API-Abfragen um beim ApplyChanges Variablen-Profile zu setzen/aktualisieren und um noch einige andere Dinge anzustellen).

    Einen Buffer mit Timestamp machen, der ein ApplyChanges innerhalb von X Sekunden "blockt" (zur "Entprellung") finde ich eher doof, weil dann der User nicht schnell Sachen in der Geräte-Instanz umstellen könnte.

    Mal eine Nacht drüber schlafen... Gn8
    -Chris-
    IP-Symcon Module >> www.bayaro.net << Verfügbare Module: BatterieMonitor, BundesligaTabelle, Enigma2BY, HeizölPreise, Helios, Horoskop, HostMonitor, IPSInformations, MELCloud, Müllabfuhr, PJLink, RSS, TankerkönigSpritpreise, xREL
    IPS Unlimited, ~1200 Scripte, ~7000 Variablen

Ähnliche Themen

  1. Modul Update schlägt fehl bei lokal geändertem Modul
    Von bumaas im Forum Allgemeine Diskussion
    Antworten: 15
    Letzter Beitrag: 13.03.19, 14:05
  2. Problem Modul Update / Installation
    Von Sven im Forum Allgemeine Diskussion
    Antworten: 1
    Letzter Beitrag: 29.03.18, 09:57
  3. Fehler bei Modul-Update
    Von Alexandro im Forum Entwicklung mit PHP-SDK/Delphi-SDK
    Antworten: 2
    Letzter Beitrag: 09.03.18, 19:57
  4. Modul Update Problem
    Von wibo050447 im Forum PHP-Module
    Antworten: 1
    Letzter Beitrag: 04.01.17, 09:58

Stichworte