Care API (Gesamtsteuerung)
Zur Care API gibt es eine kleines PDF, das die Grundlagen von dessen Socket.io API dokumentiert. Das heißt hier sind erstmal nur nicht dort dokumentierte Funktionen. Zum Debugging kann man in einem Browser, der WebSockets debuggen kann (z.B. Chrome), schauen was passiert, wenn man Aktionen auf der Care API Weboberfläche ausführt.
Achtung: Der SensFloor verwendet eine alte Version von Socket.io (Versionen 2.x), die nur mit Clients mit passender Version kompatibel sind.
rooms-state
Über dieses Event kann man wohl regelmäßig den Raum-Status empfangen. Die Daten schauen zum Beispiel so aus:
[
{
activeAlarms: [],
address: "192.168.178.22:8000",
autoEnableTimeLeft: 3586,
connected: true,
enabled: true,
falls: 0,
floor: 1,
hostname: "c8a000ae",
lastActivity: 1652447893968,
lastFall: 1652434557773,
moving: 1, // Anzahl sich bewegender Personen
name: "Room 1",
on: true,
pastAlarms: [{index: 0, alarmNumber: 1, type: "fall", activationTime: 1652434557715, unattended: true}],
recalibrating: false,
room: 1,
sensfloor: true,
static: 0, // Anzahl sich nicht bewegender Personen
unattendedFall: true,
updateView: true,
}
]
state-new
Über dieses Event kann man Statusänderungen für Räume empfangen. Man erhält zum Beispiel folgende Daten:
{
activity: true, // Ob sich Personen auf dem SensFloor befinden
alarm: false,
connected: true,
enabled: true, // Ob der SensFloor an sich an ist (ist auch true falls nur temporär disabled)
recalibrating: false, // Ob der SensFloor gerade rekalibriert
roomName: "Room 1",
roomNumber: 1,
sensfloor: true,
tempDisabled: false, // Ob der SensFloor gerade temporär aus ist (schaltet sich nach einiger Zeit selbst wieder ein)
}
Schaltet man den SensFloor ein, läuft am Anfang kurz eine Rekalibrierung, währenddessen ist enabled
allerdings schon auf true. tempDisabled
(falls davor gesetzt) bleibt aber true, bis die Kalibrierung vorbei ist.
enable
Ein Event, um den SensFloor temporär auszuschalten, oder wieder einzuschalten. Für den einzigen Raum bei uns geht das so:
client.emit("enable", "1", "1", true/false)
state
Ein Event, um den SensFloor dauerhaft ein-/auszuschalten. Für den einzigen Raum bei uns geht das so:
client.emit("state", "1", "1", true/false)