+ Antworten
Seite 2 von 9 ErsteErste 1 2 3 4 ... LetzteLetzte
Ergebnis 11 bis 20 von 82
  1. #11
    Registriert seit
    Aug 2016
    Beiträge
    2,968

    Hallo ihr beiden,

    danke für die Hinweise.
    Aber ich glaube das HomeKit Modul muss allgemein dann noch etwas überarbeitet werden.
    Trotz das paresy mir mit den Best Practice zur PHP-Modul Erstellung Arbeit bereitet, freue ich mich daüber, dann hat man einen Leitfaden und wird gezwungen alles richtig zu machen. Gerade ich werde dadurch bestimmt noch einiges über IPS lernen.

    Grüße,
    Kai
    IPS 5.2, auf Tinkerboard und RPI, piVCCU, Homematic & Homematic IP, diverse Tasmota Geräte, Shelly, GHoma, LG HomBot, Sonos, Tvheadend, HomeKit, AppleTV
    Einfach mal rein schauen: IP-Symcon Discord Channel

  2. #12
    Registriert seit
    Feb 2005
    Ort
    Lübeck
    Beiträge
    21,682

    Ich habe den Beitrag mal in den öffentlichen Bereich verschoben!

    paresy

  3. #13
    Registriert seit
    Feb 2005
    Ort
    Lübeck
    Beiträge
    21,682

    @Nall Chan: Hm. Das mit dem I/O ist eine gute F rage. Evtl. könnte man "Abhängigkeiten" einbauen. Jedoch ist das Auflösen von Abhängigkeiten, sobald bestimmte Versionen erfordert werden ein sehr schwer berechenbares Problem...

    paresy

  4. #14
    Registriert seit
    Nov 2014
    Beiträge
    560

    Verstehe ich das richtig, dass ich in SendDataToParent / SendDataToChildren am Anfang erstmal auf KR_READY prüfen muss? Und falls nicht return false?
    1011101010111010

  5. #15
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    9,369

    Was heißt am Anfang?
    Du weißt ja wann du diese Funktionen aufrufen willst und das passiert ja eigentlich nicht beim starten von IPS.
    Außer du rufst sie im Create (geht eh nicht) oder in ApplyChanges auf (z.B. Anmelden an Hardware etc).
    Dort wäre somit der erste Punkt zum prüfen auf KR_Ready.
    Andere Funktionen wie RequestAction oder andere Public Methoden werden ja nicht beim starten ausgeführt.
    Michael
    on Win7VM (ESXi): I5, 24GB RAM, HW-RAID5, 3xSat | HW: CCU + 123 Geräte (506ch), EM1000, CUL, 1Wire, XBee, ELRO 433MHz, FritzBox Cable, Android Phone + Tablet, Samsung C-Serie TV +SamyGo-Ext, Onkyo NR| SW: IPS, Apache2(mod_ssl/PHP), MySQL, hMailServer, PRTG, Rising AV, Piwik, RoundCube, Wordpress, WinLIRC, WHS2011, MediaPortal, XBMC

  6. #16
    Registriert seit
    Nov 2014
    Beiträge
    560

    Ich habe das Dokument so verstanden, dass ich in den zwei Methoden immer auf KR_READY prüfen soll. Mit am Anfang meinte ich am Anfang der Methode, also ganz oben :-)


    Basti

    Nein sie werden vorher nicht aufgerufen und in ApplyChanges prüfe ich.
    1011101010111010

  7. #17
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    9,369

    Das hier?
    ... sollte somit immer überprüft werden, ob der Kernel Runlevel gleich KR_READY ist. ...
    ...
    Diese Einschränkung betrifft ebenfalls den Datenfluss, sodass keine SendDataToParent / SendDataToChildren Funktionen verwendet werden dürfen.
    Wie du es machst, ist deine Sache.
    Nur das sie nicht verwendet dürfen steht da.
    Du weißt doch am besten wann wie und wo sie in deinem Modul aufgerufen werden.
    Klar kannst du einfach vorher jedesmal prüfen, elegant ist das aber nicht
    Michael
    on Win7VM (ESXi): I5, 24GB RAM, HW-RAID5, 3xSat | HW: CCU + 123 Geräte (506ch), EM1000, CUL, 1Wire, XBee, ELRO 433MHz, FritzBox Cable, Android Phone + Tablet, Samsung C-Serie TV +SamyGo-Ext, Onkyo NR| SW: IPS, Apache2(mod_ssl/PHP), MySQL, hMailServer, PRTG, Rising AV, Piwik, RoundCube, Wordpress, WinLIRC, WHS2011, MediaPortal, XBMC

  8. #18
    Registriert seit
    Feb 2017
    Beiträge
    1,415

    Es muss nicht immer auf KR_READY geprüft werden. Das muss nur dann gemacht werden, wenn du mit anderen Instanzen auf irgendeine Art kommunizieren möchtest. Sofern du innerhalb deiner eigenen Instanz bleibst, musst du nichts prüfen.

    Der Hintergrund ist einfach, dass beim Starten von IP-Symcon alle Instanzen in "zufälliger" Reihenfolge erstellt werden. Und da beim Erstellen einer Instanz die Funktionen Create und ApplyChanges aufgerufen werden, kann es sein, dass die andere Instanz noch gar nicht existiert. Das umgehst du, indem du auf KR_READY prüfst. Denn wenn KR_READY gesetzt ist, ist der Kernel bereit und alle Instanzen wurden bereits erfolgreich erstellt.

  9. #19
    Registriert seit
    Nov 2014
    Beiträge
    560

    Alles klar, danke :-)
    1011101010111010

  10. #20
    Registriert seit
    Nov 2016
    Beiträge
    123

    Zitat Zitat von paresy Beitrag anzeigen
    Anbei einige Ansätze die wir über die letzten Monate gesammelt haben. Wenn Fragen zu den einzelnen Punkten bestehen, beantworten wir diese gerne. Gerne bauen wir auch noch Ausnahmen ein, wenn diese erforderlich sind.

    Wir freuen uns auf eure Meinungen und Anregungen!

    Best Practice zur PHP-Modul Erstellung

    paresy
    Hallo Paresy,

    tolle Sache - werde meine "Modulchen" mal prüfen ;-)

    Wie wäre es mit zentralen Tools hier im Forum oder so für

    • GUID-Generator
    • Prefix-Generator


    Damit diese eindeutig wären?

    Grüsse,

    Mike

Ähnliche Themen

  1. PHP Entwicklungsumgebung / Best Practice
    Von AndyKrause im Forum Skripte, PHP, SQL
    Antworten: 19
    Letzter Beitrag: 16.06.19, 08:51
  2. Alexa & IPS/PHP: best practice?
    Von aag im Forum Amazon Alexa
    Antworten: 11
    Letzter Beitrag: 15.05.17, 13:16
  3. Unterstützung zur Erstellung von Demoskripten
    Von andrge im Forum Schaufenster
    Antworten: 0
    Letzter Beitrag: 11.08.14, 16:49
  4. Anfänger braucht Hilfe zur Skript erstellung
    Von Michael19781 im Forum Skripte, PHP, SQL
    Antworten: 30
    Letzter Beitrag: 27.02.13, 17:57
  5. Frage zur Graph Erstellung
    Von rallofax im Forum IP-Symcon WIIPS
    Antworten: 2
    Letzter Beitrag: 07.01.09, 00:37