Gegeben ist eine Auswahl aus 3 I/O. Seriell, Client, Virtual.
Hierfür muss ich jetzt in der module.json die Guid eintragen.?
Die genannten I/O haben ja eine für RX/TX vorgegebene Guid. Diese trage ich ein in „implemented“ ?
Für „parentRequirements“ generiere ich mir eine eigene. ?
Setze dann im Modul ein
$this->ConnectParent("{meine generierte GUID}");
Soweit richtig oder total falsch?
Zusatz Frage: mit ForceParent sollte doch eigentlich die Kommunikation zwischen I/O und Modul automatisch vorhanden sein. ohne irgendwelche Einträge in der Module.json?
ClientSocket egal was der User später umstellt, du willst also immer einen ClientSocket.
Wer mit wem? Verstehe die Frage nicht.
Solange die GUIDs für den Datenfluss nicht passen, wird gar nix verbunden.
? Worauf bezieht sich das?
Der Unterschied ist einfach, Force erzwingt immer ein Modul was du angibst.
Auch wenn der User dann z.b. einen SerielPort verbindet, ist das spätestens nach einem Neustart wieder ein ClientSocket (in dein Fall).
Connect verbindet nur zu einen Parent wenn noch keiner verbunden ist.
Ist aber nicht zu empfehlen, da du sonst an irgendeinem fremden IO hängst (ist gedacht wenn sich ein Device an einen speziellen Splitter hängen soll, welcher schon vorhanden ist).
RequireParent wäre ist beste Wahl.
Damit hast du einen neuen Parent beim erstellen. Und Änderungen von Usern werden behalten.
Michael
Ne nicht logmessage.
(Das wäre $this->LogMessage oder SendDebug für wichtige User Infos ersteres, zum debuggen letzteres).
Aber Echo, var_dump, Print usw…
Oder auch Fehlermeldungen und halt die Zeilenumbrüche/Leerzeilen.
Michael
Ja die müssen immer passen!
Sonst passiert nix, oder halt Fehler.
Du brauchst, auch wenn du nur Empfang willst, immer beide Richtungen in der modul.json.
Also implemented (empfangen) und parentRequirements (senden zum Parent).
Michael
Fehler beseitgt und keine Meldung mehr von der Instanz.
Entspricht dann doch was man erwarten könnte. Entweder RX oder TX. mit GUID. Macht auch Sinn.
Der Live Test über die Schnittstellen steht aber noch aus. Im Moment nur über Virtual I/O.
Mal sehn, wenn ich fertig bin werde ich mal ein kleines Beispiel für I/O mit nur empfangen machen. Ist doch Standart und täglich zu lesen ob als Script oder Modul.
Ich kauf mir lieber ein Buch für 100€ und hab alles zusammen als 2 Tage durch die Infowüste zu robben und alles zusammensuchen zu müssen.
Zumal, sollte man sich entscheiden was was macht und nicht könnte auch passen.(in Bezug auf die Doku):mad:
Für jemanden der sein täglich Brot damit verdient, mag das ja passen nur für Hobbyartisten wo ich auch dazu zähle ist das machmal verdammt schwer zu verstehen.
Wenn du dein Buch geschrieben hast, kannst du es veröffentlichen?
Ich bin da damals auch immer dran gescheitert. (Nochmal vielen Dank an Michael, der auch mir damals alles immer erklärt hat!:D)
Mittlerweile kopiere ich mir das immer nur noch und passe es an und um ehrlich zu sein weiß ich auch gerade nicht mehr, ob ich es noch verstanden habe.