Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Anfrage Queue oder Presets #22

Open
mee0n opened this issue Apr 19, 2017 · 4 comments
Open

Anfrage Queue oder Presets #22

mee0n opened this issue Apr 19, 2017 · 4 comments
Assignees
Milestone

Comments

@mee0n
Copy link

mee0n commented Apr 19, 2017

Hallo @ChriD ,

irgendwo hatte ich mal aufgeschnappt das die Befehle die man an den raumserver sendet von einer Queue aufgefangen werden. Ich weiß nur nicht ob du die Queue schon implementierst oder erst das Raumfeld-System. Ich weiß nicht ob das tatsächlich so ist, denn ich hatte schon immer Schwierigkeiten mit dem Timing.
Ich steuere einige Abläufe über ein SmartHome-System namens "domoticz". Hier habe ich Abläufe in lua-scripts geschrieben um beispielsweise ein automatisiertes "Aufwachen mit Musik via Bewegungserkennung" umzusetzen. Dort bin ich auf das Problem gestoßen, dass ich nicht einfach alle Befehle hintereinander wegfeuern konnte. Ich musste mir künstliche Leerlaufzeiten zwischen den Befehlen einfallen lassen, damit das System korrekt initialisiert.
Ist es nun also möglich, eine solche Queue, falls nicht schon vorhanden, zu implementieren?
Gab es nicht "früher" auch eine Möglichkeit Presets zu hinterlegen die eine Sammlung von Anfragen enthält, welche man dann per HTTP anfragen kann?

Gruß
mee0n

@ChriD
Copy link
Owner

ChriD commented Apr 19, 2017

Nun, das ist nicht so trivial.
Das Problem an der ganzen Geschichte ist, dass ich z.B. beim Zonen erstellen, die Info nicht habe wann jetzt das Raumfeld System soweit ist das die Zone bereit ist. Das ist leider bei allen Requests der Fall.
Im Falle der Zonenerstellung müsste ich also warten bis sich die Zonenkonfiguration geändert hat und dann darf erst der Request returnen.
Daran ändert auch eine globale Queue nichts. Die globale Queue hätte nur den einen Nutzen das sich 2 Clients nicht gegenseitig verwirren.

Hierzu gibt es im Kernel einen Issue
ChriD/node-raumkernel#22
Ich denke das ich für ein paar requests diese Lösung umsetzen werde.
Die request vom lua-scripts aber müssten aber dann trotzdem mit "sync" option (oder wie auch immer das im lua heißt) ausgeführt werden

@ChriD ChriD self-assigned this Apr 19, 2017
@ChriD ChriD added this to the future milestone Apr 19, 2017
@mee0n
Copy link
Author

mee0n commented Apr 19, 2017

@ChriD
Okay, dann weiß ich Bescheid. Wie war das noch mit den Presets?

@ChriD
Copy link
Owner

ChriD commented Apr 19, 2017

Okay, dann weiß ich Bescheid. Wie war das noch mit den Presets?

Die gibts noch nicht im neuen raumserver. Die presets haben einfach requests nacheinander ausgeführt, also ganz genau so, als wenn man es manuell im browser machen würde (also du hast in deinem lua script ja eigentlich schon ein preset)

@mee0n
Copy link
Author

mee0n commented Apr 19, 2017

Alles klar.
Ja. Das dachte ich mir auch schon so, dass es nur nacheinander ausgeführte Requests sind. Aber ich verwende ja den raumserver nicht ausschließlich über lua-scripts; deswegen die Nachfrage. :)

ChriD added a commit that referenced this issue Apr 23, 2017
ChriD added a commit that referenced this issue Apr 30, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants